diff options
Diffstat (limited to 'src-qt5/core/lumina-desktop-unified/src-desktop/src-widgets/ContextMenu.h')
-rw-r--r-- | src-qt5/core/lumina-desktop-unified/src-desktop/src-widgets/ContextMenu.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-desktop-unified/src-desktop/src-widgets/ContextMenu.h b/src-qt5/core/lumina-desktop-unified/src-desktop/src-widgets/ContextMenu.h new file mode 100644 index 00000000..b20087ef --- /dev/null +++ b/src-qt5/core/lumina-desktop-unified/src-desktop/src-widgets/ContextMenu.h @@ -0,0 +1,48 @@ +//=========================================== +// Lumina-desktop source code +// Copyright (c) 2012-2017, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#ifndef _LUMINA_DESKTOP_CONTEXT_MENU_H +#define _LUMINA_DESKTOP_CONTEXT_MENU_H + +#include <global-includes.h> + +class DesktopContextMenu : public QMenu{ + Q_OBJECT +public slots: + void SettingsChanged(DesktopSettings::File); + void UpdateMenu(bool fast = true); //re-create the menu + +private: + QLabel *workspaceLabel; + QWidgetAction *wkspaceact; + QMenu *appMenu, *winMenu; + bool usewinmenu; + + void AddWindowToMenu(NativeWindowObject*); + +public: + DesktopContextMenu(QWidget *parent = 0); + ~DesktopContextMenu(); + + void start(); //setup connections to global objects + +private slots: + void LaunchAction(QAction *act); + void LaunchApp(QAction *act); + + void showMenu(const QPoint&); + + void updateAppMenu(); + void updateWinMenu(); + +signals: + void LockSession(); + void showLeaveDialog(); + void LaunchStandardApplication(QString); + void LaunchApplication(QString); +}; + +#endif |