diff options
author | Claudio Maradonna <penguyman@stronzi.org> | 2018-05-01 17:44:34 +0200 |
---|---|---|
committer | Claudio Maradonna <penguyman@stronzi.org> | 2018-05-01 17:44:34 +0200 |
commit | 20f78f150f257f481fc0d49ec59b54ab822f5466 (patch) | |
tree | 36372626c5bfa90283336cae76f810a1e0f7f171 /src/trayicon.cpp | |
parent | 18cdb184367a73a439be37ba168a1ca9061fbe9d (diff) |
Some TrayIcon refactor. Should the mainwindow know if is SystemTrayIsAvailable
Diffstat (limited to 'src/trayicon.cpp')
-rw-r--r-- | src/trayicon.cpp | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/src/trayicon.cpp b/src/trayicon.cpp index d08af611..d833f428 100644 --- a/src/trayicon.cpp +++ b/src/trayicon.cpp @@ -1,4 +1,5 @@ #include "trayicon.h" +#include "debughelper.h" #include <QAction> #include <QApplication> #include <QMainWindow> @@ -10,19 +11,27 @@ * @param parent */ TrayIcon::TrayIcon(QMainWindow *parent) { - parentwin = parent; + if (QSystemTrayIcon::isSystemTrayAvailable() == true) { + parentwin = parent; - createActions(); - createTrayIcon(); + createActions(); + createTrayIcon(); - sysTrayIcon->setIcon( - QIcon::fromTheme("qtpass-tray", QIcon(":/artwork/icon.png"))); + sysTrayIcon->setIcon( + QIcon::fromTheme("qtpass-tray", QIcon(":/artwork/icon.png"))); - sysTrayIcon->show(); + sysTrayIcon->show(); - QObject::connect(sysTrayIcon, - SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, - SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); + QObject::connect(sysTrayIcon, + SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, + SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); + + isAllocated = true; + } else { + dbg() << "No tray icon for this OS possibly also not show options?"; + + isAllocated = false; + } } /** @@ -37,6 +46,11 @@ void TrayIcon::setVisible(bool visible) { } /** + * @brief TrayIcon::getIsAllocated return if TrayIcon is allocated + */ +bool TrayIcon::getIsAllocated() { return isAllocated; } + +/** * @brief TrayIcon::createActions setup the signals. */ void TrayIcon::createActions() { |