diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/forms/aboutdialog.cpp | 67 | ||||
-rw-r--r-- | src/forms/aboutdialog.h | 42 | ||||
-rw-r--r-- | src/forms/aboutdialog.ui | 105 | ||||
-rw-r--r-- | src/mainwindow.cpp | 15 |
4 files changed, 217 insertions, 12 deletions
diff --git a/src/forms/aboutdialog.cpp b/src/forms/aboutdialog.cpp new file mode 100644 index 0000000..1edaac4 --- /dev/null +++ b/src/forms/aboutdialog.cpp @@ -0,0 +1,67 @@ +/** LICENSE ******************************************************************** + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see <http://www.gnu.org/licenses/>. + ** + ******************************************************************************/ + +#include "aboutdialog.h" +#include "ui_aboutdialog.h" +#include "browser.h" + +AboutDialog::AboutDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::AboutDialog) +{ + setAttribute(Qt::WA_DeleteOnClose, true); + ui->setupUi(this); + + ui->icon->setPixmap(qApp->windowIcon().pixmap(72, 72)); + + QLabel *aboutLabel = new QLabel(this); + aboutLabel->setWordWrap(true); + aboutLabel->setText(tr("<h2>smolbote %1</h2>" + "<p><i>yet another Qute browser</i></p>" + "<p>Copyright (C) 2017 Xian Nox</p>" + "<p>This program comes with ABSOLUTELY NO WARRANTY. " + "This is free software, and you are welcome to redistribute it under the conditions set by the GNU GPLv3.</p>") + .arg(qApp->applicationVersion())); + ui->toolBox->addItem(aboutLabel, tr("About")); + + QLabel *detailsLabel = new QLabel(this); + detailsLabel->setWordWrap(true); + detailsLabel->setText(tr("<p>" + "Long version: %1<br>" + "Configuration: %2" + "</p>") + .arg(qApp->applicationLongVersion()) + .arg(sSettings->filePath())); + ui->toolBox->addItem(detailsLabel, tr("Details")); + + QLabel *libsLabel = new QLabel(this); + libsLabel->setWordWrap(true); + libsLabel->setText(tr("<ul>" + "<li>Qt %1</li>" + "<li>tinytoml</li>" + "</ul>") + .arg(qVersion())); + ui->toolBox->addItem(libsLabel, tr("Libraries")); +} + +AboutDialog::~AboutDialog() +{ + delete ui; +} diff --git a/src/forms/aboutdialog.h b/src/forms/aboutdialog.h new file mode 100644 index 0000000..aaa299a --- /dev/null +++ b/src/forms/aboutdialog.h @@ -0,0 +1,42 @@ +/** LICENSE ******************************************************************** + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see <http://www.gnu.org/licenses/>. + ** + ******************************************************************************/ + +#ifndef ABOUTDIALOG_H +#define ABOUTDIALOG_H + +#include <QDialog> + +namespace Ui { +class AboutDialog; +} + +class AboutDialog : public QDialog +{ + Q_OBJECT + +public: + explicit AboutDialog(QWidget *parent = 0); + ~AboutDialog(); + +private: + Ui::AboutDialog *ui; +}; + +#endif // ABOUTDIALOG_H diff --git a/src/forms/aboutdialog.ui b/src/forms/aboutdialog.ui new file mode 100644 index 0000000..60fd875 --- /dev/null +++ b/src/forms/aboutdialog.ui @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>AboutDialog</class> + <widget class="QDialog" name="AboutDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>550</width> + <height>320</height> + </rect> + </property> + <property name="windowTitle"> + <string>About</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QLabel" name="icon"> + <property name="minimumSize"> + <size> + <width>72</width> + <height>72</height> + </size> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QToolBox" name="toolBox"> + <property name="currentIndex"> + <number>-1</number> + </property> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Close</set> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>AboutDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>AboutDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bab0520..8eb5462 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -27,6 +27,7 @@ #include <QInputDialog> #include <QWebEngineDownloadItem> #include <QStatusBar> +#include "forms/aboutdialog.h" MainWindow::MainWindow(QUrl defaultUrl, QWidget *parent) : QMainWindow(parent), @@ -155,18 +156,8 @@ void MainWindow::closeEvent(QCloseEvent *event) void MainWindow::about() { - QMessageBox::about(this, tr("About"), tr("<h2>smolbote %1</h2>" - "<p><i>yet another Qute browser</i></p>" - "<p>Copyright (C) 2017 Xian Nox</p>" - "<p>This program comes with ABSOLUTELY NO WARRANTY. " - "This is free software, and you are welcome to redistribute it under the conditions set by the GNU GPLv3.</p>" - "<p>" - "Version: %2<br>" - "Configuration: %3" - "</p>") - .arg(qApp->applicationVersion()) - .arg(qApp->applicationLongVersion()) - .arg(sSettings->filePath())); + AboutDialog *dlg = new AboutDialog(this); + dlg->exec(); } void MainWindow::loadProfile(const QString &name) |