diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-04-16 17:07:36 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-04-16 17:07:36 +0200 |
commit | d796821f8304306dbe088701724243b39e8eb358 (patch) | |
tree | 836c85aa421db5c495e2b36f6a02cea924b6d919 /lib/about | |
parent | Branch of Qt5.11 features (diff) | |
download | smolbote-d796821f8304306dbe088701724243b39e8eb358.tar.xz |
Multiple subwindows interface
Subwindows are similar to tab groups.
- Rewrote Browser and MainWindow, so they should be somewhat cleaner now
- Moved AboutDialog to lib/about
What's broken:
- loading bar
- search box
- address bar bookmark suggestions
- plugins
Diffstat (limited to 'lib/about')
-rw-r--r-- | lib/about/CMakeLists.txt | 15 | ||||
-rw-r--r-- | lib/about/aboutdialog.cpp | 68 | ||||
-rw-r--r-- | lib/about/aboutdialog.h | 31 | ||||
-rw-r--r-- | lib/about/aboutdialog.ui | 105 |
4 files changed, 219 insertions, 0 deletions
diff --git a/lib/about/CMakeLists.txt b/lib/about/CMakeLists.txt new file mode 100644 index 0000000..56cd646 --- /dev/null +++ b/lib/about/CMakeLists.txt @@ -0,0 +1,15 @@ +# Find includes in corresponding build directories +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +# Instruct CMake to run moc automatically when needed. +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) + +add_library(about + aboutdialog.cpp + aboutdialog.h + aboutdialog.ui +) + +target_link_libraries(about Qt5::Widgets) diff --git a/lib/about/aboutdialog.cpp b/lib/about/aboutdialog.cpp new file mode 100644 index 0000000..ff4200f --- /dev/null +++ b/lib/about/aboutdialog.cpp @@ -0,0 +1,68 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://neueland.iserlohn-fortress.net/smolbote.hg + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#include "aboutdialog.h" +#include "ui_aboutdialog.h" +#include <QtWebEngine/QtWebEngineVersion> +#include <boost/version.hpp> + +// compiler +// clang also defines __GNUC__, so we need to check for clang first +#if defined(__clang__) +#define compiler "Clang " __clang_version__ +#elif defined(__GNUC__) +#define compiler "GCC " __VERSION__ +#else +#define compiler "unknown compiler"; +#endif + +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)); + + auto *aboutLabel = new QLabel(this); + aboutLabel->setWordWrap(true); + aboutLabel->setText(tr("<h2>smolbote %1</h2>" + "<p><i>yet another no-frills browser</i></p>").arg(qApp->applicationVersion())); + ui->toolBox->addItem(aboutLabel, tr("About")); + + auto *licenseLabel = new QLabel(this); + licenseLabel->setWordWrap(true); + licenseLabel->setText(tr("<p>Copyright 2017 - 2018 aqua</p>" + "<p>This program is free software, and you are welcome to use it under the conditions set by the GNU GPLv3:" + "<ul>" + "<li> the freedom to use the software for any purpose,</li>" + "<li> the freedom to change the software to suit your needs,</li>" + "<li> the freedom to share the software with anyone,</li>" + "<li> the freedom to share the changes you make, and</li>" + "<li> the responsibility to grant the same freedoms when sharing the software.</li>" + "</ul>" + "<p>This is a short summary; you can find the full license text in LICENSE.md.</p>")); + ui->toolBox->addItem(licenseLabel, tr("License")); + + auto *detailsLabel = new QLabel(this); + detailsLabel->setWordWrap(true); + detailsLabel->setText(tr("<p>Compiled with " compiler "</p>" + "<p><ul>" + "<li>Qt " QT_VERSION_STR "</li>" + "<li>QtWebEngine " QTWEBENGINE_VERSION_STR "</li>" + "<li>Boost " BOOST_LIB_VERSION " </li>" + "</ul></p>")); + ui->toolBox->addItem(detailsLabel, tr("Details")); + +} + +AboutDialog::~AboutDialog() +{ + delete ui; +} diff --git a/lib/about/aboutdialog.h b/lib/about/aboutdialog.h new file mode 100644 index 0000000..265f3c9 --- /dev/null +++ b/lib/about/aboutdialog.h @@ -0,0 +1,31 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://neueland.iserlohn-fortress.net/smolbote.hg + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#ifndef SMOLBOTE_ABOUTDIALOG_H +#define SMOLBOTE_ABOUTDIALOG_H + +#include <QDialog> + +namespace Ui +{ +class AboutDialog; +} + +class AboutDialog : public QDialog +{ + Q_OBJECT + +public: + explicit AboutDialog(QWidget *parent = nullptr); + ~AboutDialog() override; + +private: + Ui::AboutDialog *ui; +}; + +#endif // SMOLBOTE_ABOUTDIALOG_H diff --git a/lib/about/aboutdialog.ui b/lib/about/aboutdialog.ui new file mode 100644 index 0000000..f7fe21e --- /dev/null +++ b/lib/about/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>500</width> + <height>600</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> |