aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/libLumina/LuminaXDG.h
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/libLumina/LuminaXDG.h')
-rw-r--r--src-qt5/core/libLumina/LuminaXDG.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src-qt5/core/libLumina/LuminaXDG.h b/src-qt5/core/libLumina/LuminaXDG.h
index 644ec65a..376fc86a 100644
--- a/src-qt5/core/libLumina/LuminaXDG.h
+++ b/src-qt5/core/libLumina/LuminaXDG.h
@@ -18,6 +18,7 @@
#define _LUMINA_LIBRARY_XDG_H
#include <QFile>
+#include <QFileSystemWatcher>
#include <QDir>
#include <QFileInfo>
#include <QStringList>
@@ -72,20 +73,27 @@ public:
// ========================
// Data Structure for keeping track of known system applications
// ========================
-class XDGDesktopList{
+class XDGDesktopList : public QObject{
+ Q_OBJECT
public:
+ //Functions
+ XDGDesktopList(QObject *parent = 0, bool watchdirs = false);
+ ~XDGDesktopList();
+ //Main Interface functions
+ QList<XDGDesktop> apps(bool showAll, bool showHidden); //showAll: include invalid files, showHidden: include NoShow/Hidden files
+
//Administration variables (not typically used directly)
QDateTime lastCheck;
- QStringList newApps; //list of "new" apps found during the last check
+ QStringList newApps, removedApps; //list of "new/removed" apps found during the last check
QHash<QString, XDGDesktop> files; //<filepath>/<XDGDesktop structure>
- //Functions
- XDGDesktopList(){}
- ~XDGDesktopList(){}
- //Main Interface functions
+public slots:
void updateList(); //run the check routine
- QList<XDGDesktop> apps(bool showAll, bool showHidden); //showAll: include invalid files, showHidden: include NoShow/Hidden files
+private:
+ QFileSystemWatcher *watcher;
+signals:
+ void appsUpdated();
};
// ========================
bgstack15