aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-terminal/TrayIcon.h
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2016-04-25 13:08:12 -0400
committerKen Moore <moorekou@gmail.com>2016-04-25 13:08:12 -0400
commited5ecf7ea7a482b4649e66ecb35fbc60af680684 (patch)
treeacc0fa17d228259e847f55c678db9fb0a9b50f0c /src-qt5/desktop-utils/lumina-terminal/TrayIcon.h
parentMerge branch 'master' of github.com:pcbsd/lumina (diff)
downloadlumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.tar.gz
lumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.tar.bz2
lumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.zip
Rearrange the Lumina source tree quite a bit:
Now the utilites are arranged by category (core, core-utils, desktop-utils), so all the -utils may be excluded by a package system (or turned into separate packages) as needed.
Diffstat (limited to 'src-qt5/desktop-utils/lumina-terminal/TrayIcon.h')
-rw-r--r--src-qt5/desktop-utils/lumina-terminal/TrayIcon.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src-qt5/desktop-utils/lumina-terminal/TrayIcon.h b/src-qt5/desktop-utils/lumina-terminal/TrayIcon.h
new file mode 100644
index 00000000..961aaa90
--- /dev/null
+++ b/src-qt5/desktop-utils/lumina-terminal/TrayIcon.h
@@ -0,0 +1,59 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2015, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_UTILITIES_TERMINAL_TRAY_ICON_H
+#define _LUMINA_DESKTOP_UTILITIES_TERMINAL_TRAY_ICON_H
+// QT Includes
+#include <QApplication>
+#include <QSystemTrayIcon>
+#include <QMenu>
+#include <QTimer>
+#include <QSettings>
+
+#include <LuminaXDG.h>
+
+#include "TermWindow.h"
+
+class TrayIcon : public QSystemTrayIcon {
+ Q_OBJECT
+
+public:
+ TrayIcon();
+ ~TrayIcon();
+
+ //First run
+ void parseInputs(QStringList); //Note that this is only run on the primary process - otherwise it gets sent to the singleInstance slot below
+
+public slots:
+ void slotSingleInstance(QStringList inputs = QStringList());
+ void updateIcons();
+
+private:
+ bool termVisible;
+ TermWindow *TERM;
+ QMenu *ScreenMenu;
+ QStringList adjustInputs(QStringList);
+ QSettings *settings;
+private slots:
+ //Action Buttons
+ void startCleanup();
+ void stopApplication();
+ void ChangeTopBottom(bool ontop);
+ void ChangeScreen(QAction*);
+
+ //Tray Updates
+ void setupContextMenu();
+ void updateScreenMenu();
+ void TrayActivated(QSystemTrayIcon::ActivationReason);
+
+ //Slots for the window visibility
+ void ToggleVisibility();
+ void TermHidden();
+ void TermVisible();
+
+};
+
+#endif
bgstack15