Mercurial > minori
comparison src/gui/dialog/about.cc @ 339:eac06513db86
dialog/about: add licenses button
otherwise we wouldn't be complying with most of the libraries
and external software we use
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Wed, 19 Jun 2024 14:02:11 -0400 |
parents | 92f63cf29faa |
children | 8d45d892be88 |
comparison
equal
deleted
inserted
replaced
338:f63dfa309380 | 339:eac06513db86 |
---|---|
1 #include "gui/dialog/about.h" | 1 #include "gui/dialog/about.h" |
2 #include "gui/dialog/licenses.h" | |
2 #include "core/json.h" | 3 #include "core/json.h" |
3 #include "core/session.h" | 4 #include "core/session.h" |
4 #include "core/strings.h" | 5 #include "core/strings.h" |
5 #include "gui/widgets/text.h" | 6 #include "gui/widgets/text.h" |
6 | 7 |
14 #include <QFont> | 15 #include <QFont> |
15 #include <QHBoxLayout> | 16 #include <QHBoxLayout> |
16 #include <QTextBrowser> | 17 #include <QTextBrowser> |
17 #include <QTextCharFormat> | 18 #include <QTextCharFormat> |
18 #include <QTextCursor> | 19 #include <QTextCursor> |
20 #include <QPushButton> | |
19 | 21 |
20 #include <curl/curl.h> | 22 #include <curl/curl.h> |
21 #ifdef WIN32 | 23 #ifdef WIN32 |
22 # include "sys/win32/dark_theme.h" | 24 # include "sys/win32/dark_theme.h" |
23 #endif | 25 #endif |
68 setMinimumSize(641, 325); | 70 setMinimumSize(641, 325); |
69 setWindowTitle(tr("About Minori")); | 71 setWindowTitle(tr("About Minori")); |
70 setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint); | 72 setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint); |
71 setAutoFillBackground(true); | 73 setAutoFillBackground(true); |
72 | 74 |
73 QHBoxLayout* layout = new QHBoxLayout(this); | 75 QVBoxLayout* layout = new QVBoxLayout(this); |
74 | 76 |
75 std::string html = fmt::format(about_template, session.version.to_string(), get_curl_version(), fugue_icons_version.to_string(), json_version.to_string(), pugixml_version.to_string(), semver_version.to_string(), utf8proc_version(), fmt_version.to_string()); | 77 std::string html = fmt::format(about_template, session.version.to_string(), get_curl_version(), fugue_icons_version.to_string(), json_version.to_string(), pugixml_version.to_string(), semver_version.to_string(), utf8proc_version(), fmt_version.to_string()); |
76 | 78 |
77 setBackgroundRole(QPalette::Base); | 79 setBackgroundRole(QPalette::Base); |
78 | 80 |
84 paragraph->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | 86 paragraph->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
85 paragraph->setHtml(Strings::ToQString(html)); | 87 paragraph->setHtml(Strings::ToQString(html)); |
86 | 88 |
87 layout->addWidget(paragraph); | 89 layout->addWidget(paragraph); |
88 } | 90 } |
91 | |
92 { | |
93 QPushButton *license = new QPushButton("&Licenses", this); | |
94 layout->addWidget(license, Qt::AlignRight); | |
95 connect(license, &QPushButton::clicked, this, []{ | |
96 LicensesWindow dialog; | |
97 dialog.exec(); | |
98 }); | |
99 } | |
89 } | 100 } |
90 | 101 |
91 void AboutWindow::showEvent(QShowEvent* event) { | 102 void AboutWindow::showEvent(QShowEvent* event) { |
92 QDialog::showEvent(event); | 103 QDialog::showEvent(event); |
93 #ifdef WIN32 | 104 #ifdef WIN32 |