From 71737f70949bd25f9aa8bc4e7d03039ba83c6cb1 Mon Sep 17 00:00:00 2001 From: Kris Moore Date: Thu, 4 Sep 2014 11:42:13 -0400 Subject: Initial import of the lumina code from pcbsd git repo --- lumina-desktop/AppMenu.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 lumina-desktop/AppMenu.h (limited to 'lumina-desktop/AppMenu.h') diff --git a/lumina-desktop/AppMenu.h b/lumina-desktop/AppMenu.h new file mode 100644 index 00000000..13417dcb --- /dev/null +++ b/lumina-desktop/AppMenu.h @@ -0,0 +1,52 @@ +//=========================================== +// 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 + +// libLumina includes +#include + +class AppMenu : public QMenu{ + Q_OBJECT +public: + AppMenu(QWidget *parent = 0); + ~AppMenu(); + + QHash > *currentAppHash(); + +private: + QFileSystemWatcher *watcher; + QString appstorelink, controlpanellink; //default *.desktop file to use as the "store" + 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); +}; + +#endif + -- cgit