From 8ff9d466e17e0d7af34643901ce901578eb6f991 Mon Sep 17 00:00:00 2001 From: Alison Watson Date: Fri, 14 Jun 2019 13:03:32 -0400 Subject: [PATCH] tycho: add license window --- source/tycho/CMakeLists.txt | 2 + source/tycho/cc_headers/menu.h | 1 + source/tycho/cc_source/menu.cc | 31 ++++++++++-- source/tycho/ui/about.ui | 59 +++++++++++++++++----- source/tycho/ui/license.ui | 91 ++++++++++++++++++++++++++++++++++ 5 files changed, 167 insertions(+), 17 deletions(-) create mode 100644 source/tycho/ui/license.ui diff --git a/source/tycho/CMakeLists.txt b/source/tycho/CMakeLists.txt index 9be20d5..6581abe 100644 --- a/source/tycho/CMakeLists.txt +++ b/source/tycho/CMakeLists.txt @@ -33,10 +33,12 @@ add_library( cc_source/projectview.cc resources/resources.qrc ui/about.ui + ui/license.ui ui/mapprops.ui ui/mapview.ui ui/menu.ui ui/points.ui + ui/projectview.ui ) set_target_properties( diff --git a/source/tycho/cc_headers/menu.h b/source/tycho/cc_headers/menu.h index b01c64f..22e103f 100644 --- a/source/tycho/cc_headers/menu.h +++ b/source/tycho/cc_headers/menu.h @@ -28,6 +28,7 @@ public slots: protected: void closeEvent(QCloseEvent *event) override; + void openLicense(QWidget *parent); private: ProjectView *activeProject() const; diff --git a/source/tycho/cc_source/menu.cc b/source/tycho/cc_source/menu.cc index e98dd6d..2c3e908 100644 --- a/source/tycho/cc_source/menu.cc +++ b/source/tycho/cc_source/menu.cc @@ -4,6 +4,7 @@ #include "project.h" #include "../ui/ui_menu.h" #include "../ui/ui_about.h" +#include "../ui/ui_license.h" #include #include @@ -56,11 +57,33 @@ void Menu::mapOpen() void Menu::openAbout() { QDialog dlg{this}; - Ui::About about{}; + Ui::About ui{}; - about.setupUi(&dlg); - about.labelVer->setText(tr(tychoVersion())); - about.labelAuthors->setText(tr(tychoAuthors()).replace(':', '\n')); + ui.setupUi(&dlg); + + ui.labelVer->setText(tr(tychoVersion())); + ui.labelAuthors->setText(tr(tychoAuthors()).replace(':', '\n')); + + connect(ui.btnLicense, &QPushButton::clicked, this, [&](){ + openLicense(&dlg); + }); + + dlg.exec(); +} + +void Menu::openLicense(QWidget *parent) +{ + QDialog dlg{parent}; + Ui::License ui{}; + + ui.setupUi(&dlg); + + ui.text->setPlainText(tychoLicenseText()); + + connect(ui.btnCopy, &QPushButton::clicked, this, [&]() { + ui.text->selectAll(); + ui.text->copy(); + }); dlg.exec(); } diff --git a/source/tycho/ui/about.ui b/source/tycho/ui/about.ui index 4b89b8b..5d52f72 100644 --- a/source/tycho/ui/about.ui +++ b/source/tycho/ui/about.ui @@ -9,13 +9,16 @@ 0 0 - 669 - 281 + 675 + 287 About Tycho + + + true @@ -66,11 +69,41 @@ Tycho is public domain software under the CC0 license. - - - QDialogButtonBox::Close - - + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + License Info + + + + + + + + + + Close + + + + + + + @@ -81,18 +114,18 @@ Tycho is public domain software under the CC0 license. - buttonBox - rejected() + btnClose + clicked() About - reject() + accept() - 479 + 622 256 - 334 - 140 + 337 + 143 diff --git a/source/tycho/ui/license.ui b/source/tycho/ui/license.ui new file mode 100644 index 0000000..540c5f1 --- /dev/null +++ b/source/tycho/ui/license.ui @@ -0,0 +1,91 @@ + + + License + + + Qt::WindowModal + + + + 0 + 0 + 600 + 400 + + + + Dialog + + + true + + + + + + true + + + true + + + true + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Copy + + + + + + + Close + + + + + + + + + + + + + + btnClose + clicked() + License + accept() + + + 548 + 374 + + + 299 + 199 + + + + +