From d316986858df0b0f4a0c40f3fc5abb1b1aa9384b Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sat, 4 Apr 2020 16:51:13 +0200 Subject: [PATCH] Add version info --- .gitignore | 2 + app/SysTray-X/SysTray-X.pro | 3 +- app/SysTray-X/SysTray-X.qrc | 1 + app/SysTray-X/aboutdialog.ui | 138 +++++++++++++++++++++++ app/SysTray-X/files/icons/help-about.png | Bin 0 -> 3574 bytes app/SysTray-X/preferences.cpp | 44 ++++++++ app/SysTray-X/preferences.h | 59 ++++++++++ app/SysTray-X/systrayx.cpp | 24 ++++ app/SysTray-X/systrayx.h | 11 +- webext/background.js | 8 +- 10 files changed, 286 insertions(+), 4 deletions(-) create mode 100644 app/SysTray-X/aboutdialog.ui create mode 100644 app/SysTray-X/files/icons/help-about.png diff --git a/.gitignore b/.gitignore index d6d8d0b..2ecfc52 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ /SysTray-X /app/SysTray-X/.qmake.stash /app/SysTray-X/SysTray-X.pro.user.* +/bin +/bin-* diff --git a/app/SysTray-X/SysTray-X.pro b/app/SysTray-X/SysTray-X.pro index 2daff68..8caf52d 100644 --- a/app/SysTray-X/SysTray-X.pro +++ b/app/SysTray-X/SysTray-X.pro @@ -170,7 +170,8 @@ HEADERS += \ FORMS += \ debugwidget.ui \ - preferences.ui + preferences.ui \ + aboutdialog.ui # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin diff --git a/app/SysTray-X/SysTray-X.qrc b/app/SysTray-X/SysTray-X.qrc index 529b922..0be4112 100644 --- a/app/SysTray-X/SysTray-X.qrc +++ b/app/SysTray-X/SysTray-X.qrc @@ -10,5 +10,6 @@ files/icons/window-close.png files/icons/window-restore.png files/icons/mail-unread.png + files/icons/help-about.png diff --git a/app/SysTray-X/aboutdialog.ui b/app/SysTray-X/aboutdialog.ui new file mode 100644 index 0000000..53ca934 --- /dev/null +++ b/app/SysTray-X/aboutdialog.ui @@ -0,0 +1,138 @@ + + + AboutDialog + + + + 0 + 0 + 284 + 186 + + + + About SysTray-X + + + + + + + + SysTray-X Companion App by Ximi1970 + + + + + + + Version: + + + + + + + 0.0.1 + + + + + + + Build: + + + + + + + 0 + + + + + + + Hash: + + + + + + + 0 + + + + + + + Branch: + + + + + + + master + + + + + + + Qt::Horizontal + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close + + + + + + + + + buttonBox + accepted() + AboutDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + AboutDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/app/SysTray-X/files/icons/help-about.png b/app/SysTray-X/files/icons/help-about.png new file mode 100644 index 0000000000000000000000000000000000000000..29b62eac9be44b29431ac3f6c31949271508a62e GIT binary patch literal 3574 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 i-Syv5@BaW#H`~L0PG@-6N^!setIcon( QIcon( ":/files/icons/gtk-preferences.png" ) ); connect( m_pref_action, &QAction::triggered, m_pref_dialog, &PreferencesDialog::showNormal ); + m_about_action = new QAction(tr("&About"), this); + m_about_action->setIcon( QIcon( ":/files/icons/gtk-preferences.png" ) ); + connect( m_about_action, &QAction::triggered, this, &SysTrayX::slotAbout ); + m_quit_action = new QAction( tr("&Quit"), this ); m_quit_action->setIcon( QIcon( ":/files/icons/window-close.png" ) ); connect( m_quit_action, &QAction::triggered, this, &SysTrayX::slotShutdown ); @@ -181,6 +185,7 @@ void SysTrayX::createTrayIcon() m_tray_icon_menu->addAction( m_showhide_action ); m_tray_icon_menu->addSeparator(); m_tray_icon_menu->addAction( m_pref_action ); + m_tray_icon_menu->addAction( m_about_action ); m_tray_icon_menu->addSeparator(); m_tray_icon_menu->addAction( m_quit_action ); @@ -236,3 +241,22 @@ void SysTrayX::slotShutdown() */ QCoreApplication::quit(); } + + +/* + * Show the about dialog + */ +void SysTrayX::slotAbout() +{ + Ui::AboutDialog ui; + QDialog dialog; + + ui.setupUi( &dialog ); + + ui.version->setText( m_preferences->getVersion() ); + ui.build->setText( m_preferences->getBuild() ); + ui.hash->setText( m_preferences->getHash() ); + ui.branch->setText( m_preferences->getBranch() ); + + dialog.exec(); +} diff --git a/app/SysTray-X/systrayx.h b/app/SysTray-X/systrayx.h index efbd8d0..79c3823 100644 --- a/app/SysTray-X/systrayx.h +++ b/app/SysTray-X/systrayx.h @@ -5,6 +5,7 @@ * Local includes */ #include "ui_debugwidget.h" +#include "ui_aboutdialog.h" #include "preferences.h" /* @@ -87,6 +88,11 @@ class SysTrayX : public QObject */ void slotShutdown(); + /** + * @brief slotAbout. Hnadle about request from the menu. + */ + void slotAbout(); + private: /** @@ -127,9 +133,10 @@ class SysTrayX : public QObject /** * @brief m_xxxx_action. Pointer to the menu actions. */ - QAction* m_pref_action; - QAction* m_quit_action; QAction* m_showhide_action; + QAction* m_pref_action; + QAction* m_about_action; + QAction* m_quit_action; }; #endif // SYSTRAYX_H diff --git a/webext/background.js b/webext/background.js index 7d8e7c8..2c0968d 100644 --- a/webext/background.js +++ b/webext/background.js @@ -6,7 +6,9 @@ var SysTrayX = { pollInterval: "30" }, - platformInfo: undefined + platformInfo: undefined, + + version: 0 }; SysTrayX.Messaging = { @@ -357,6 +359,10 @@ async function start() { console.log("Arch: " + SysTrayX.platformInfo.arch); console.log("Nack-Arch: " + SysTrayX.platformInfo.nacl_arch); + // Get addon version + SysTrayX.version = browser.runtime.getManifest().version; + console.log("Addon version: "+SysTrayX.version); + // Init defaults before everything await getDefaultIcon();