//=========================================== // 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 #include #include #include #include #include #include #include #include //#include // libLumina includes #include class AppMenu : public QMenu{ Q_OBJECT public: AppMenu(QWidget *parent = 0); ~AppMenu(); QHash > *currentAppHash(); QDateTime lastHashUpdate; private: QFileSystemWatcher *watcher; QString appstorelink, controlpanellink; QList MLIST; QHash > 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