diff --git a/src/controller.cpp b/src/controller.cpp index eaeee1a0..ee0aa589 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -75,6 +74,8 @@ void Controller::createTrayIcon() { m_trayIcon->setToolTip("Flameshot"); m_trayIcon->setContextMenu(m_trayIconMenu); m_trayIcon->setIcon(QIcon(":img/flameshot.svg")); + connect(m_trayIcon, &QSystemTrayIcon::activated, + this, &Controller::trayIconActivated); } // initDefaults inits the global config in the very first run of the program @@ -109,6 +110,12 @@ void Controller::initDefaults() { } } +void Controller::trayIconActivated(QSystemTrayIcon::ActivationReason r) { + if (r == QSystemTrayIcon::Trigger) { + createCapture(); + } +} + // creation of a new capture void Controller::createCapture() { if (!m_captureWindow) { diff --git a/src/controller.h b/src/controller.h index b0130d1f..4948aa43 100644 --- a/src/controller.h +++ b/src/controller.h @@ -20,6 +20,7 @@ #include #include +#include class QMenu; class QSystemTrayIcon; @@ -41,6 +42,7 @@ public slots: private slots: void showMessage(QString); void initDefaults(); + void trayIconActivated(QSystemTrayIcon::ActivationReason r); private: void createActions();