diff options
author | Ken Moore <ken@ixsystems.com> | 2017-01-04 16:44:55 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-01-04 16:44:55 -0500 |
commit | 25b2e77aa2395ba9143683a5ce1a27b99ee7a211 (patch) | |
tree | bbd732bb72689b9b46dfc619d3d0e1748f7e435b /src-qt5/core/lumina-desktop-unified/src-DE/AppMenu.h | |
parent | Tag version 1.2.1 on the master branch in preparation for new changes from th... (diff) | |
download | lumina-25b2e77aa2395ba9143683a5ce1a27b99ee7a211.tar.gz lumina-25b2e77aa2395ba9143683a5ce1a27b99ee7a211.tar.bz2 lumina-25b2e77aa2395ba9143683a5ce1a27b99ee7a211.zip |
Create a new "lumina-desktop-unified" core subproject (DO NOT USE)
This is just a staging area for the merging of the desktop, window manager, etc.. into a single unified application. It is highly fragmented right now and will not build *AT ALL* for a while.
Diffstat (limited to 'src-qt5/core/lumina-desktop-unified/src-DE/AppMenu.h')
-rw-r--r-- | src-qt5/core/lumina-desktop-unified/src-DE/AppMenu.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-desktop-unified/src-DE/AppMenu.h b/src-qt5/core/lumina-desktop-unified/src-DE/AppMenu.h new file mode 100644 index 00000000..5baaab7a --- /dev/null +++ b/src-qt5/core/lumina-desktop-unified/src-DE/AppMenu.h @@ -0,0 +1,58 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2014, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +// This menu auto-updates to keep the list of available applications +// current at all times - and can launch them as necessary +//=========================================== +#ifndef _LUMINA_DESKTOP_APP_MENU_H +#define _LUMINA_DESKTOP_APP_MENU_H + +// Qt includes +#include <QMenu> +#include <QFileSystemWatcher> +#include <QString> +#include <QList> +#include <QTimer> +#include <QDateTime> +#include <QHash> +#include <QAction> +#include <QSettings> +//#include <QProcess> + +// libLumina includes +#include <LuminaXDG.h> + +class AppMenu : public QMenu{ + Q_OBJECT +public: + AppMenu(QWidget *parent = 0); + ~AppMenu(); + + QHash<QString, QList<XDGDesktop*> > *currentAppHash(); + QDateTime lastHashUpdate; + +private: + //QFileSystemWatcher *watcher; + QString appstorelink, controlpanellink; + QList<QMenu> MLIST; + XDGDesktopList *sysApps; + QHash<QString, QList<XDGDesktop*> > APPS; + + void updateAppList(); //completely update the menu lists + +private slots: + void start(); //This is called in a new thread after initialization + void watcherUpdate(); + void launchStore(); + void launchControlPanel(); + void launchFileManager(); + void launchApp(QAction *act); + +signals: + void AppMenuUpdated(); +}; + +#endif |