Warning, /graphics/krita/libs/libqml/plugins/components/NewsList.qml is written in an unsupported language. File is not indexed.
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2012 Arjen Hiemstra <ahiemstra@heimr.nl> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.3 0008 import org.krita.sketch 1.0 0009 0010 PageStack { 0011 id: base; 0012 clip: true; 0013 0014 initialPage: Page { 0015 ListView { 0016 anchors.fill: parent; 0017 id: listView; 0018 0019 delegate: ListItem { 0020 title: model.title; 0021 description: model.pubDate; 0022 0023 gradient: Gradient { 0024 GradientStop { position: 0; color: Settings.theme.color("components/newsList/listItem/start") } 0025 GradientStop { position: 0.4; color: Settings.theme.color("components/newsList/listItem/stop"); } 0026 } 0027 0028 onClicked: { 0029 base.push( detailsPage, 0030 { title: model.title, 0031 description: model.description, 0032 pubDate: model.pubDate}); 0033 } 0034 0035 Label { 0036 anchors.right: parent.right; 0037 anchors.rightMargin: Constants.GridWidth * 0.5; 0038 anchors.verticalCenter: parent.verticalCenter; 0039 0040 text: "More >"; 0041 color: Settings.theme.color("components/newsList/listItem/moreLink") 0042 0043 font.italic: true; 0044 } 0045 } 0046 0047 model: { 0048 if (KritaFeedRssModel.articleCount > 0) 0049 return KritaFeedRssModel 0050 else { 0051 return fallbackNewsModel 0052 } 0053 } 0054 0055 ScrollDecorator { } 0056 } 0057 } 0058 0059 ListModel { 0060 id: fallbackNewsModel; 0061 ListElement { 0062 title: "Welcome to Krita Sketch 1.0"; 0063 blogName: "The Krita Team"; 0064 description: "<div>Krita Sketch: Painting for Pro's on the Go</div> <p>With Krita Sketch you have all the power of Krita Desktop under your fingers. Paint with a stylus, rub with your fingers, zoom, pan, erase, select, filter and add layers. Sketch, speedpaint, polish and publish! Have fun and share!</p>"; 0065 link: ""; 0066 pubDate: "Today!"; 0067 } 0068 } 0069 0070 Component { 0071 id: detailsPage; 0072 0073 Page { 0074 0075 property string title; 0076 property string pubDate; 0077 property string description; 0078 0079 Flickable { 0080 anchors.fill: parent; 0081 anchors.leftMargin: Constants.DefaultMargin; 0082 anchors.rightMargin: Constants.DefaultMargin; 0083 anchors.bottomMargin: Constants.DefaultMargin; 0084 0085 contentWidth: width; 0086 contentHeight: contents.height; 0087 0088 Column { 0089 id: contents; 0090 width: parent.width; 0091 0092 Item { 0093 width: parent.width; 0094 height: Constants.GridHeight; 0095 0096 Label { 0097 anchors { 0098 top: parent.top; 0099 topMargin: Constants.DefaultMargin; 0100 } 0101 0102 text: title 0103 verticalAlignment: Text.AlignTop; 0104 color: Settings.theme.color("components/newsList/title") 0105 } 0106 0107 Label { 0108 anchors { 0109 bottom: parent.bottom; 0110 bottomMargin: Constants.DefaultMargin; 0111 } 0112 0113 text: pubDate; 0114 font.pixelSize: Constants.SmallFontSize; 0115 color: Settings.theme.color("components/newsList/date") 0116 verticalAlignment: Text.AlignBottom; 0117 } 0118 0119 0120 } 0121 0122 Label { 0123 width: parent.width; 0124 height: paintedHeight; 0125 0126 textFormat: Text.RichText; 0127 elide: Text.ElideNone; 0128 wrapMode: Text.WordWrap; 0129 horizontalAlignment: Text.AlignJustify; 0130 0131 text: description; 0132 color: Settings.theme.color("components/newsList/description") 0133 } 0134 0135 Label { 0136 text: "< Back"; 0137 font.pixelSize: Constants.SmallFontSize; 0138 color: Settings.theme.color("components/newsList/backLink") 0139 } 0140 } 0141 0142 MouseArea { 0143 anchors.fill: parent; 0144 onClicked: pageStack.pop(); 0145 } 0146 } 0147 } 0148 } 0149 0150 }