Kirigami-addons

AboutKDEPage.qml
1// SPDX-FileCopyrightText: 2022 Joshua Goins <josh@redstrate.com>
2// SPDX-License-Identifier: LGPL-2.0-or-later
3
4import QtQuick
5import QtQuick.Controls as QQC2
6import QtQuick.Window
7import QtQuick.Layouts
8import org.kde.kirigami as Kirigami
9import org.kde.coreaddons as Core
10
11/**
12 * @brief An "About KDE" page using Form components.
13 *
14 * This component consists of a full, internationalized "About KDE" page
15 * that can be instantiated directly without passing any properties.
16 *
17 * @since KirigamiAddons 0.11.0
18 *
19 * @inherit Kirigami.ScrollablePage
20 */
21FormCardPage {
22 id: page
23
24 title: i18nd("kirigami-addons6", "About KDE")
25
26 FormCard {
27 Layout.topMargin: Kirigami.Units.largeSpacing * 4
28
30 id: generalDelegate
31 Layout.fillWidth: true
32 background: null
33 contentItem: RowLayout {
34 spacing: Kirigami.Units.smallSpacing * 2
35
36 Kirigami.Icon {
37 Layout.preferredHeight: Kirigami.Units.iconSizes.huge
38 Layout.preferredWidth: height
39 Layout.maximumWidth: page.width / 3;
40 Layout.rightMargin: Kirigami.Units.largeSpacing
41 source: "kde"
42 }
43
44 ColumnLayout {
45 Layout.fillWidth: true
46 spacing: Kirigami.Units.smallSpacing
47
48 Kirigami.Heading {
49 Layout.fillWidth: true
50 text: i18nd("kirigami-addons6", "KDE")
51 wrapMode: Text.WordWrap
52 }
53
54 Kirigami.Heading {
55 Layout.fillWidth: true
56 level: 3
57 type: Kirigami.Heading.Type.Secondary
58 wrapMode: Text.WordWrap
59 text: i18nd("kirigami-addons6", "Be Free!")
60 }
61 }
62 }
63 }
64
66
68 text: i18nd("kirigami-addons6", "KDE is a world-wide community of software engineers, artists, writers, translators and creators who are committed to Free Software development. KDE produces the Plasma desktop environment, hundreds of applications, and the many software libraries that support them.\n\n\
69KDE is a cooperative enterprise: no single entity controls its direction or products. Instead, we work together to achieve the common goal of building the world's finest Free Software. Everyone is welcome to join and contribute to KDE, including you.")
70 textItem.wrapMode: Text.WordWrap
71 }
72
74
76 icon.name: "globe-symbolic"
77 text: i18nd("kirigami-addons6", "Homepage")
78 onClicked: Qt.openUrlExternally("https://kde.org/")
79 }
80 }
81
83 title: i18nd("kirigami-addons6", "Report bugs")
84 }
85
86 FormCard {
88 text: i18nd("kirigami-addons6", "Software can always be improved, and the KDE team is ready to do so. However, you - the user - must tell us when something does not work as expected or could be done better.\n\n\
89KDE has a bug tracking system. Use the button below to file a bug, or use the program's About page to report a bug specific to this application.\n\n\
90If you have a suggestion for improvement then you are welcome to use the bug tracking system to register your wish. Make sure you use the severity called \"Wishlist\".")
91 textItem.wrapMode: Text.WordWrap
92 }
93
95
97 readonly property string theUrl: {
98 if (Core.AboutData.bugAddress !== "submit@bugs.kde.org") {
99 return Core.AboutData.bugAddress
100 }
101 const elements = Core.AboutData.productName.split('/');
102 let url = `https://bugs.kde.org/enter_bug.cgi?format=guided&product=${elements[0]}&version=${Core.AboutData.version}`;
103 if (elements.length === 2) {
104 url += "&component=" + elements[1];
105 }
106 return url;
107 }
108
109 icon.name: "tools-report-bug-symbolic"
110 text: i18nd("kirigami-addons6", "Report a bug")
111 onClicked: Qt.openUrlExternally(theUrl)
112 enabled: theUrl.length > 0
113 }
114 }
115
116 FormHeader {
117 title: i18nd("kirigami-addons6", "Join us")
118 }
119
120 FormCard {
122 text: i18nd("kirigami-addons6", "You do not have to be a software developer to be a member of the KDE team. You can join the language teams that translate program interfaces. You can provide graphics, themes, sounds, and improved documentation. You decide!")
123 textItem.wrapMode: Text.WordWrap
124 }
125
126 FormDelegateSeparator { above: getInvolved }
127
129 id: getInvolved
130 text: i18nd("kirigami-addons6", "Get Involved")
131 icon.name: "system-user-list"
132 onClicked: Qt.openUrlExternally("https://community.kde.org/Get_Involved")
133 }
134
135 FormDelegateSeparator { above: devDoc; below: getInvolved }
136
138 id: devDoc
139 icon.name: 'applications-development-symbolic'
140 text: i18nd("kirigami-addons6", "Developer Documentation")
141 onClicked: Qt.openUrlExternally("https://develop.kde.org/")
142 }
143 }
144
145 FormHeader {
146 title: i18nd("kirigami-addons6", "Support us")
147 }
148
149 FormCard {
151 text: i18nd("kirigami-addons6", "KDE software is and will always be available free of charge, however creating it is not free.\n\n\
152To support development the KDE community has formed the KDE e.V., a non-profit organization legally founded in Germany. KDE e.V. represents the KDE community in legal and financial matters.\n\n\
153KDE benefits from many kinds of contributions, including financial. We use the funds to reimburse members and others for expenses they incur when contributing. Further funds are used for legal support and organizing conferences and meetings.\n\n\
154We would like to encourage you to support our efforts with a financial donation.\n\n\
155Thank you very much in advance for your support.")
156 textItem.wrapMode: Text.WordWrap
157 }
158
159 FormDelegateSeparator { above: ev }
160
162 id: ev
163
164 text: i18nd("kirigami-addons6", "KDE e.V")
165 icon.name: 'kde-symbolic'
166 onClicked: Qt.openUrlExternally("https://ev.kde.org/")
167 }
168
169 FormDelegateSeparator { above: donate; below: ev }
170
172 id: donate
173
174 text: i18nd("kirigami-addons6", "Donate")
175 icon.name: 'donate-symbolic'
176 onClicked: Qt.openUrlExternally("https://www.kde.org/donate")
177 }
178 }
179}
A base item for delegates to be used in a FormCard.
A Form delegate that corresponds to a clickable button.
A single card that follows a form style.
Definition FormCard.qml:35
A context-aware separator.
A header item for a form card.
A Form delegate that corresponds to a text label and a description.
QString i18nd(const char *domain, const char *text, const TYPE &arg...)
QAction * donate(const QObject *recvr, const char *slot, QObject *parent)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 27 2024 11:48:17 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.