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.
33 : QDialog(parent),
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)
42#else
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
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
140
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)