summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Slimber/Qt/QtMenulet.h')
-rw-r--r--Slimber/Qt/QtMenulet.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/Slimber/Qt/QtMenulet.h b/Slimber/Qt/QtMenulet.h
index 19458b3..08bae0c 100644
--- a/Slimber/Qt/QtMenulet.h
+++ b/Slimber/Qt/QtMenulet.h
@@ -12,8 +12,10 @@
#include <QSystemTrayIcon>
#include <QObject>
#include <QPixmap>
+#include <QPointer>
#include "Slimber/Menulet.h"
+#include "Slimber/Qt/QtAboutDialog.h"
class QtMenulet : public QObject, public Menulet {
Q_OBJECT
@@ -33,7 +35,7 @@ class QtMenulet : public QObject, public Menulet {
}
void addAboutItem() {
- menu.addAction("About");
+ menu.addAction("About", this, SLOT(showAboutDialog()));
}
void addRestartItem() {
@@ -59,6 +61,14 @@ class QtMenulet : public QObject, public Menulet {
private slots:
void showAboutDialog() {
+ if (aboutDialog) {
+ aboutDialog->raise();
+ aboutDialog->activateWindow();
+ }
+ else {
+ aboutDialog = new QtAboutDialog();
+ aboutDialog->show();
+ }
}
void restart() {
@@ -68,4 +78,5 @@ class QtMenulet : public QObject, public Menulet {
private:
QMenu menu;
QSystemTrayIcon trayIcon;
+ QPointer<QtAboutDialog> aboutDialog;
};