Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAboutApplication Class Reference

#include <kis_about_application.h>

+ Inheritance diagram for KisAboutApplication:

Public Member Functions

 KisAboutApplication (QWidget *parent=nullptr)
 
- Public Member Functions inherited from KoDialog
QPushButton * button (ButtonCode id) const
 
QIcon buttonIcon (ButtonCode id) const
 
QString buttonText (ButtonCode id) const
 
QString buttonToolTip (ButtonCode id) const
 
QString buttonWhatsThis (ButtonCode id) const
 
ButtonCode defaultButton () const
 
QString helpLinkText () const
 
void incrementInitialSize (const QSize &size)
 
bool isButtonEnabled (ButtonCode id) const
 
 KoDialog (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
 
QWidget * mainWidget ()
 
QSize minimumSizeHint () const override
 
void setButtonFocus (ButtonCode id)
 
void setButtonGuiItem (ButtonCode id, const KGuiItem &item)
 
void setButtonIcon (ButtonCode id, const QIcon &icon)
 
void setButtons (ButtonCodes buttonMask)
 
void setButtonsOrientation (Qt::Orientation orientation)
 
void setButtonText (ButtonCode id, const QString &text)
 
void setButtonToolTip (ButtonCode id, const QString &text)
 
void setButtonWhatsThis (ButtonCode id, const QString &text)
 
void setDefaultButton (ButtonCode id)
 
void setEscapeButton (ButtonCode id)
 
void setInitialSize (const QSize &size)
 
void setMainWidget (QWidget *widget)
 
void showButton (ButtonCode id, bool state)
 
void showButtonSeparator (bool state)
 
QSize sizeHint () const override
 
 ~KoDialog () override
 

Additional Inherited Members

- Public Types inherited from KoDialog
enum  ButtonCode {
  None = 0x00000000 , Help = 0x00000001 , Default = 0x00000002 , Ok = 0x00000004 ,
  Apply = 0x00000008 , Try = 0x00000010 , Cancel = 0x00000020 , Close = 0x00000040 ,
  No = 0x00000080 , Yes = 0x00000100 , Reset = 0x00000200 , Details = 0x00000400 ,
  User1 = 0x00001000 , User2 = 0x00002000 , User3 = 0x00004000 , NoDefault = 0x00008000
}
 
enum  ButtonPopupMode { InstantPopup = 0 , DelayedPopup = 1 }
 
enum  CaptionFlag { NoCaptionFlags = 0 , AppNameCaption = 1 , ModifiedCaption = 2 , HIGCompliantCaption = AppNameCaption }
 
- Public Slots inherited from KoDialog
void delayedDestruct ()
 
void enableButton (ButtonCode id, bool state)
 
void enableButtonApply (bool state)
 
void enableButtonCancel (bool state)
 
void enableButtonOk (bool state)
 
void enableLinkedHelp (bool state)
 
bool isDetailsWidgetVisible () const
 
virtual void setCaption (const QString &caption)
 
virtual void setCaption (const QString &caption, bool modified)
 
void setDetailsWidget (QWidget *detailsWidget)
 
void setDetailsWidgetVisible (bool visible)
 
void setHelp (const QString &anchor, const QString &appname=QString())
 
void setHelpLinkText (const QString &text)
 
virtual void setPlainCaption (const QString &caption)
 
- Signals inherited from KoDialog
void aboutToShowDetails ()
 
void applyClicked ()
 
void buttonClicked (KoDialog::ButtonCode button)
 
void cancelClicked ()
 
void closeClicked ()
 
void defaultClicked ()
 
void finished ()
 
void helpClicked ()
 
void hidden ()
 
void layoutHintChanged ()
 
void noClicked ()
 
void okClicked ()
 
void resetClicked ()
 
void tryClicked ()
 
void user1Clicked ()
 
void user2Clicked ()
 
void user3Clicked ()
 
void yesClicked ()
 
- Static Public Member Functions inherited from KoDialog
static int groupSpacingHint ()
 
static QString makeStandardCaption (const QString &userCaption, QWidget *window=0, CaptionFlags flags=HIGCompliantCaption)
 
static int marginHint ()
 
static void resizeLayout (QLayout *lay, int margin, int spacing)
 
static void resizeLayout (QWidget *widget, int margin, int spacing)
 
static int spacingHint ()
 
- Protected Slots inherited from KoDialog
virtual void slotButtonClicked (int button)
 
- Protected Member Functions inherited from KoDialog
void closeEvent (QCloseEvent *e) override
 
void hideEvent (QHideEvent *) override
 
void keyPressEvent (QKeyEvent *) override
 
void showEvent (QShowEvent *e) override
 

Detailed Description

Definition at line 11 of file kis_about_application.h.

Constructor & Destructor Documentation

◆ KisAboutApplication()

KisAboutApplication::KisAboutApplication ( QWidget * parent = nullptr)

Definition at line 32 of file kis_about_application.cpp.

33 : KoDialog(parent)
34{
35 setWindowTitle(i18n("About Krita"));
37
38 WdgAboutApplication *wdgTab = new WdgAboutApplication(this);
39
40 KisSplashScreen *splash = new KisSplashScreen(true);
41 splash->setWindowFlags(Qt::Widget);
42 splash->displayLinks(true);
43
44 wdgTab->aboutTab->layout()->addWidget(splash);
45
46 QString authors = i18n("<html>"
47 "<head/>"
48 "<body>"
49 "<h1 align=\"center\">Created By</h1></p>"
50 "<p>");
51
52 QFile fileDevelopers(":/developers.txt");
53 Q_ASSERT(fileDevelopers.exists());
54 if (fileDevelopers.open(QIODevice::ReadOnly | QIODevice::Text)) {
55 QTextStream developersText(&fileDevelopers);
57 authors.append(developersText.readAll().split("\n", Qt::SkipEmptyParts).join(", "));
58 }
59 authors.append(".</p></body></html>");
60 wdgTab->lblAuthors->setText(authors);
61
62 // Translators
63 KAboutData aboutData(KAboutData::applicationData());
64 if (aboutData.translators().isEmpty()) {
65 aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"),
66 i18nc("EMAIL OF TRANSLATORS", "Your emails"));
67
68 }
69
70 QString translatorHtml = i18n(
71 "<html>"
72 "<head/>"
73 "<body>"
74 "<h1 align=\"center\"><b>Translators</b></h1>"
75 "<p><ul>");
76
77 Q_FOREACH (const KAboutPerson &person, aboutData.translators()) {
78 translatorHtml.append(QString("<li>%1</li>").arg(person.name()));
79 }
80
81 translatorHtml.append("<ul></p>");
82 translatorHtml.append(
83 i18n("<p>KDE is translated into many languages thanks to the work of the "
84 "translation teams all over the world.</p><p>For more information on KDE "
85 "internationalization visit <a href=\"http://l10n.kde.org\">http://l10n."
86 "kde.org</a></p>"));
87 translatorHtml.append("</body></html>");
88
89 wdgTab->lblTranslators->setText(translatorHtml);
90
91 QString sponsors = i18n(
92 "<html><head/><body>"
93 "<h1 align=\"center\">Development Fund</h1>"
94 "<p align=\"center\"> <a href=\"https://intel.com\"><img src=\":/intel.png\"></a> "
95 "<h2 align=\"center\">One Time Sponsors</h2>"
96 "<p align=\"center\"> <a href=\"https://www.unrealengine.com/en-US/megagrants\"><img src=\":/epic.png\"></a> "
97 "<p align=\"center\"> <a href=\"http://brokenrul.es/\"><img src=\":/broken_rules.png\"></a> "
98 "<p align=\"center\"> <a href=\"https://game-chuck.com/\"><img src=\":/gamechuck.png\"></a> "
99 "<p align=\"center\"> <a href=\"https://www.fosshub.com/Krita.html\"><img src=\":/fosshub.png\"></a> "
100 "<p align=\"center\"> <a href=\"http://www.asifa-hollywood.org/\"><img src=\":/asifa.png\"></a> "
101 "</body></html>");
102 wdgTab->lblKickstarter->setText(sponsors);
103
104 QString credits = i18n("<html>"
105 "<head/>"
106 "<body>"
107 "<h1 align=\"center\">Thanks To</h1>"
108 "<p>");
109
110 QFile fileCredits(":/credits.txt");
111 Q_ASSERT(fileCredits.exists());
112 if (fileCredits.open(QIODevice::ReadOnly | QIODevice::Text)) {
113 QTextStream creditsText(&fileCredits);
115
116 Q_FOREACH (const QString &credit, creditsText.readAll().split('\n', Qt::SkipEmptyParts)) {
117
118 if (credit.contains(":")) {
119 QList<QString> creditSplit = credit.split(':');
120 credits.append(creditSplit.at(0));
121 credits.append(" (<i>" + creditSplit.at(1) + "</i>)");
122 credits.append(", ");
123 }
124 }
125 credits.chop(2);
126 }
127 credits.append(i18n(".</p><p><i>For supporting Krita development with advice, icons, brush sets and more.</i></p></body></html>"));
128
129 wdgTab->lblCredits->setText(credits);
130
131 QString license = i18n("<html>"
132 "<head/>"
133 "<body>"
134 "<h1 align=\"center\"><b>Your Rights</b></h1>"
135 "<p>Krita is released under the GNU General Public License (version 3 or any later version).</p>"
136 "<p>This license grants people a number of freedoms:</p>"
137 "<ul>"
138 "<li>You are free to use Krita, for any purpose</li>"
139 "<li>You are free to distribute Krita</li>"
140 "<li>You can study how Krita works and change it</li>"
141 "<li>You can distribute changed versions of Krita</li>"
142 "</ul>"
143 "<p>The Krita Foundation and its projects on krita.org are <b>committed</b> to preserving Krita as free software.</p>"
144 "<h1 align=\"center\">Your artwork</h1>"
145 "<p>What you create with Krita is your sole property. All your artwork is free for you to use as you like.</p>"
146 "<p>That means that Krita can be used commercially, for any purpose. There are no restrictions whatsoever.</p>"
147 "<p>Krita’s GNU GPL license guarantees you this freedom. Nobody is ever permitted to take it away, in contrast "
148 "to trial or educational versions of commercial software that will forbid your work in commercial situations.</p>"
149 "<br/><hr/><pre>");
150
151 QFile licenseFile(":/LICENSE");
152 Q_ASSERT(licenseFile.exists());
153 if (licenseFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
154 QTextStream licenseText(&licenseFile);
156 license.append(licenseText.readAll());
157 }
158 license.append("</pre></body></html>");
159 wdgTab->lblLicense->setText(license);
160
161 QFile thirdPartyFile(":/libraries.txt");
162 if (thirdPartyFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
163 QTextStream thirdPartyText(&thirdPartyFile);
164 KisPortingUtils::setUtf8OnStream(thirdPartyText);
165
166 QString thirdPartyHtml = i18n("<html>"
167 "<head/>"
168 "<body>"
169 "<h1 align=\"center\"><b>Third-party Libraries used by Krita</b></h1>"
170 "<p>Krita is built on the following free software libraries:</p><p><ul>");
171
172 Q_FOREACH (const QString &lib, thirdPartyText.readAll().split('\n', Qt::SkipEmptyParts)) {
173
174 if (!lib.startsWith("#")) {
175 QStringList parts = lib.split(',');
176 if (parts.size() >= 3) {
177 thirdPartyHtml.append(QString("<li><a href=\"%2\">%1</a>: %3</li>").arg(parts[0], parts[1], parts[2]));
178 }
179 }
180 }
181 thirdPartyHtml.append("<ul></p></body></html>");
182 wdgTab->lblThirdParty->setText(thirdPartyHtml);
183 }
184
185 setMainWidget(wdgTab);
186 setMinimumSize(sizeHint());
187 Q_ASSERT(layout());
188 layout()->setSizeConstraint(QLayout::SetFixedSize);
189}
void displayLinks(bool show)
void setMainWidget(QWidget *widget)
Definition KoDialog.cpp:354
QSize sizeHint() const override
Definition KoDialog.cpp:377
void setButtons(ButtonCodes buttonMask)
Definition KoDialog.cpp:195
@ Close
Show Close-button. (this button closes the dialog)
Definition KoDialog.h:131
KoDialog(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
Definition KoDialog.cpp:176
void setUtf8OnStream(QTextStream &stream)

References KoDialog::Close, KisSplashScreen::displayLinks(), KoDialog::setButtons(), KoDialog::setMainWidget(), KisPortingUtils::setUtf8OnStream(), and KoDialog::sizeHint().


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