Krita Source Code Documentation
Loading...
Searching...
No Matches
KDEPrivate::KisKAboutKdeDialog Class Reference

Standard "About KDE" dialog box. More...

#include <kaboutkdedialog_p.h>

+ Inheritance diagram for KDEPrivate::KisKAboutKdeDialog:

Public Member Functions

 KisKAboutKdeDialog (QWidget *parent=0)
 

Private Attributes

Private *const d
 

Detailed Description

Standard "About KDE" dialog box.

This class provides the standard "About KDE" dialog box that is used in KisKHelpMenu. Normally you should not use this class directly, but rather the KisKHelpMenu class or even better just subclass your toplevel window from KisKMainWindow. If you do the latter, the help menu and thereby this dialog box is available through the KisKMainWindow::helpMenu() function.

Author
Urs Wolfer uwolfer @ kde.org

Definition at line 32 of file kaboutkdedialog_p.h.

Constructor & Destructor Documentation

◆ KisKAboutKdeDialog()

KDEPrivate::KisKAboutKdeDialog::KisKAboutKdeDialog ( QWidget * parent = 0)
explicit

Constructor. Creates a fully featured "About KDE" dialog box. Note that this dialog is made modeless in the KisKHelpMenu class so the users may expect a modeless dialog.

Parameters
parentThe parent of the dialog box. You should use the toplevel window so that the dialog becomes centered.

Definition at line 32 of file kaboutkdedialog_p.cpp.

33 : QDialog(parent),
34 d(0)
35{
36 setWindowTitle(i18n("About KDE"));
37
38 KTitleWidget *titleWidget = new KTitleWidget(this);
39 titleWidget->setText(i18n("<html><font size=\"5\">KDE - Be Free!</font></html>"));
40#if KWIDGETSADDONS_VERSION_MAJOR > 5 || (KWIDGETSADDONS_VERSION_MAJOR == 5 && KWIDGETSADDONS_VERSION_MINOR >= 72)
41 titleWidget->setIcon(KisIconUtils::loadIcon(QStringLiteral("kde")), KTitleWidget::ImageLeft);
42#else
43 titleWidget->setPixmap(KisIconUtils::loadIcon(QStringLiteral("kde")).pixmap(48), KTitleWidget::ImageLeft);
44#endif
45
46
47 QLabel *about = new QLabel;
48 about->setMargin(10);
49 about->setAlignment(Qt::AlignTop);
50 about->setWordWrap(true);
51 about->setOpenExternalLinks(true);
52 about->setTextInteractionFlags(Qt::TextBrowserInteraction);
53 about->setText(i18n("<html>"
54 "<b>KDE</b> is a world-wide network of software engineers, artists, writers, translators and facilitators "
55 "who are committed to <a href=\"%1\">Free Software</a> development. "
56 "This community has created hundreds of Free Software applications as part of the KDE "
57 "frameworks, workspaces and applications.<br /><br />"
58 "KDE is a cooperative enterprise in which no single entity controls the "
59 "efforts or products of KDE to the exclusion of others. Everyone is welcome to join and "
60 "contribute to KDE, including you.<br /><br />"
61 "Visit <a href=\"%2\">%2</a> for "
62 "more information about the KDE community and the software we produce.</html>",
63 QStringLiteral("https://www.gnu.org/philosophy/free-sw.html"),
64 QStringLiteral("https://www.kde.org/")));
65
66 QLabel *report = new QLabel;
67 report->setMargin(10);
68 report->setAlignment(Qt::AlignTop);
69 report->setWordWrap(true);
70 report->setOpenExternalLinks(true);
71 report->setTextInteractionFlags(Qt::TextBrowserInteraction);
72 report->setText(i18n("<html>"
73 "Software can always be improved, and the KDE team is ready to "
74 "do so. However, you - the user - must tell us when "
75 "something does not work as expected or could be done better.<br /><br />"
76 "KDE has a bug tracking system. Visit "
77 "<a href=\"%1\">%1</a> or "
78 "use the \"Report Bug...\" dialog from the \"Help\" menu to report bugs.<br /><br />"
79 "If you have a suggestion for improvement then you are welcome to use "
80 "the bug tracking system to register your wish. Make sure you use the "
81 "severity called \"Wishlist\".</html>",
82 QStringLiteral("https://bugs.kde.org/")));
83
84 QLabel *join = new QLabel;
85 join->setMargin(10);
86 join->setAlignment(Qt::AlignTop);
87 join->setWordWrap(true);
88 join->setOpenExternalLinks(true);
89 join->setTextInteractionFlags(Qt::TextBrowserInteraction);
90 join->setText(i18n("<html>"
91 "You do not have to be a software developer to be a member of the "
92 "KDE team. You can join the national teams that translate "
93 "program interfaces. You can provide graphics, themes, sounds, and "
94 "improved documentation. You decide!"
95 "<br /><br />"
96 "Visit "
97 "<a href=\"%1\">%1</a> "
98 "for information on some projects in which you can participate."
99 "<br /><br />"
100 "If you need more information or documentation, then a visit to "
101 "<a href=\"%2\">%2</a> "
102 "will provide you with what you need.</html>",
103 QStringLiteral("https://community.kde.org/Get_Involved"),
104 QStringLiteral("https://techbase.kde.org/")));
105
106 QLabel *support = new QLabel;
107 support->setMargin(10);
108 support->setAlignment(Qt::AlignTop);
109 support->setWordWrap(true);
110 support->setOpenExternalLinks(true);
111 support->setTextInteractionFlags(Qt::TextBrowserInteraction);
112
113 QStringList supportText;
114 supportText << "<html>"
115 << i18n("<p>KDE software is and will always be available free of charge, however creating it is not free.<br /><br />"
116 "To support development the KDE community has formed the KDE e.V., a non-profit organization "
117 "legally founded in Germany. KDE e.V. represents the KDE community in legal and financial matters. "
118 "See <a href=\"%1\">%1</a>"
119 " for information on KDE e.V.</p>",
120 QStringLiteral("https://ev.kde.org/"))
121 << i18n("<p>KDE benefits from many kinds of contributions, including financial. "
122 "We use the funds to reimburse members and others for expenses "
123 "they incur when contributing. Further funds are used for legal "
124 "support and organizing conferences and meetings.</p>");
125 supportText << i18n("<p>We would like to encourage you to support our efforts with a "
126 "financial donation, using one of the ways described at "
127 "<a href=\"%1\">%1</a>.</p>",
128 QStringLiteral("https://www.kde.org/community/donations/"));
129 supportText << "<p>Thank you very much in advance for your support.</p></html>";
130 support->setText(supportText.join(""));
131
132 QTabWidget *tabWidget = new QTabWidget;
133 tabWidget->setUsesScrollButtons(false);
134 tabWidget->addTab(about, i18nc("About KDE", "&About"));
135 tabWidget->addTab(report, i18n("&Report Bugs or Wishes"));
136 tabWidget->addTab(join, i18n("&Join KDE"));
137
138#ifdef Q_OS_MACOS
139 // MACOS store version should not contain external links to donations
140 // support KDE tab has been seen as a call to action.
141 if (!KisMacosEntitlements().sandbox()) {
142#endif
143 tabWidget->addTab(support, i18n("&Support KDE"));
144#ifdef Q_OS_MACOS
145}
146#endif
147
148 QLabel *image = new QLabel;
149 image->setPixmap(QStringLiteral(":/kxmlgui5/aboutkde.png"));
150
151 QHBoxLayout *midLayout = new QHBoxLayout;
152 midLayout->addWidget(image);
153 midLayout->addWidget(tabWidget);
154
155 QDialogButtonBox *buttonBox = new QDialogButtonBox;
156 buttonBox->setStandardButtons(QDialogButtonBox::Close);
157 KGuiItem::assign(buttonBox->button(QDialogButtonBox::Close), KStandardGuiItem::close());
158 connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
159 connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
160
161 QVBoxLayout *mainLayout = new QVBoxLayout(this);
162 mainLayout->addWidget(titleWidget);
163 mainLayout->addLayout(midLayout);
164 mainLayout->addWidget(buttonBox);
165}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QIcon loadIcon(const QString &name)

References connect(), and KisIconUtils::loadIcon().

Member Data Documentation

◆ d

Private* const KDEPrivate::KisKAboutKdeDialog::d
private

Definition at line 49 of file kaboutkdedialog_p.h.


The documentation for this class was generated from the following files: