summaryrefslogtreecommitdiffstats
path: root/src/trayicon.cpp
diff options
context:
space:
mode:
authorClaudio Maradonna <penguyman@stronzi.org>2018-05-01 17:44:34 +0200
committerClaudio Maradonna <penguyman@stronzi.org>2018-05-01 17:44:34 +0200
commit20f78f150f257f481fc0d49ec59b54ab822f5466 (patch)
tree36372626c5bfa90283336cae76f810a1e0f7f171 /src/trayicon.cpp
parent18cdb184367a73a439be37ba168a1ca9061fbe9d (diff)
Some TrayIcon refactor. Should the mainwindow know if is SystemTrayIsAvailable
Diffstat (limited to 'src/trayicon.cpp')
-rw-r--r--src/trayicon.cpp32
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() {