aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2017-03-20 02:25:38 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2017-03-20 02:25:38 +0100
commit7a1d3ef7cc8884f7b4a6e6867b0627a0feb226ce (patch)
treec3faea4496a213696371ef3176d6edf644b68e50
parentUpdated BUILDING.md (diff)
downloadsmolbote-7a1d3ef7cc8884f7b4a6e6867b0627a0feb226ce.tar.xz
Added custom about box
-rw-r--r--smolbote.qbs19
-rw-r--r--src/forms/aboutdialog.cpp67
-rw-r--r--src/forms/aboutdialog.h42
-rw-r--r--src/forms/aboutdialog.ui105
-rw-r--r--src/mainwindow.cpp15
5 files changed, 232 insertions, 16 deletions
diff --git a/smolbote.qbs b/smolbote.qbs
index 829faaa..c4112de 100644
--- a/smolbote.qbs
+++ b/smolbote.qbs
@@ -53,15 +53,29 @@ Project {
files: [
"src/browser.cpp",
"src/browser.h",
- "src/main.cpp"
+ "src/main.cpp",
]
cpp.defines: {
+ if(project.deprecatedWarnings)
+ defines.push("QT_DEPRECATED_WARNINGS", "QT_DISABLE_DEPRECATED_BEFORE="+project.deprecatedBefore);
if(git.found)
defines.push('GIT_VERSION="'+git.version+'"', 'GIT_DESCRIBE="'+git.describe+'"');
return defines;
}
}
+ Group {
+ name: "window"
+ files: [
+ "src/mainwindow.cpp",
+ "src/mainwindow.h",
+ "src/mainwindow.ui",
+ "src/forms/aboutdialog.cpp",
+ "src/forms/aboutdialog.h",
+ "src/forms/aboutdialog.ui",
+ ]
+ }
+
files: [
"data/resources.qrc",
"src/blocker/blockermanager.cpp",
@@ -83,9 +97,6 @@ Project {
"src/forms/profiledialog.cpp",
"src/forms/profiledialog.h",
"src/forms/profiledialog.ui",
- "src/mainwindow.cpp",
- "src/mainwindow.h",
- "src/mainwindow.ui",
"src/settings.cpp",
"src/settings.h",
"src/webengine/downloaditemform.cpp",
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)