From d796821f8304306dbe088701724243b39e8eb358 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Mon, 16 Apr 2018 17:07:36 +0200 Subject: 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 --- lib/about/CMakeLists.txt | 15 +++++++ lib/about/aboutdialog.cpp | 68 ++++++++++++++++++++++++++++++ lib/about/aboutdialog.h | 31 ++++++++++++++ lib/about/aboutdialog.ui | 105 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 219 insertions(+) create mode 100644 lib/about/CMakeLists.txt create mode 100644 lib/about/aboutdialog.cpp create mode 100644 lib/about/aboutdialog.h create mode 100644 lib/about/aboutdialog.ui (limited to 'lib/about') 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 +#include + +// 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("

smolbote %1

" + "

yet another no-frills browser

").arg(qApp->applicationVersion())); + ui->toolBox->addItem(aboutLabel, tr("About")); + + auto *licenseLabel = new QLabel(this); + licenseLabel->setWordWrap(true); + licenseLabel->setText(tr("

Copyright 2017 - 2018 aqua

" + "

This program is free software, and you are welcome to use it under the conditions set by the GNU GPLv3:" + "

    " + "
  • the freedom to use the software for any purpose,
  • " + "
  • the freedom to change the software to suit your needs,
  • " + "
  • the freedom to share the software with anyone,
  • " + "
  • the freedom to share the changes you make, and
  • " + "
  • the responsibility to grant the same freedoms when sharing the software.
  • " + "
" + "

This is a short summary; you can find the full license text in LICENSE.md.

")); + ui->toolBox->addItem(licenseLabel, tr("License")); + + auto *detailsLabel = new QLabel(this); + detailsLabel->setWordWrap(true); + detailsLabel->setText(tr("

Compiled with " compiler "

" + "

    " + "
  • Qt " QT_VERSION_STR "
  • " + "
  • QtWebEngine " QTWEBENGINE_VERSION_STR "
  • " + "
  • Boost " BOOST_LIB_VERSION "
  • " + "

")); + 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 + +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 @@ + + + AboutDialog + + + + 0 + 0 + 500 + 600 + + + + About + + + + + + + + + 72 + 72 + + + + TextLabel + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + -1 + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close + + + + + + + + + + + buttonBox + accepted() + AboutDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + AboutDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + -- cgit v1.2.1