diff options
Diffstat (limited to 'src-qt5/core/libLumina/LuminaXDG.h')
-rw-r--r-- | src-qt5/core/libLumina/LuminaXDG.h | 22 |
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(); }; // ======================== |