diff options
-rw-r--r-- | src-qt5/core/libLumina/LuminaXDG.cpp | 1 | ||||
-rw-r--r-- | src-qt5/core/lumina-desktop/AppMenu.cpp | 13 | ||||
-rw-r--r-- | src-qt5/core/lumina-desktop/AppMenu.h | 3 |
3 files changed, 9 insertions, 8 deletions
diff --git a/src-qt5/core/libLumina/LuminaXDG.cpp b/src-qt5/core/libLumina/LuminaXDG.cpp index 338bfd15..c53fa2ef 100644 --- a/src-qt5/core/libLumina/LuminaXDG.cpp +++ b/src-qt5/core/libLumina/LuminaXDG.cpp @@ -35,6 +35,7 @@ void XDGDesktopList::updateList(){ QStringList found, newfiles; //for avoiding duplicate apps (might be files with same name in different priority directories) QStringList oldkeys = files.keys(); bool appschanged = false; + lastCheck = QDateTime::currentDateTime(); //Variables for internal loop use only (to prevent re-initializing variable on every iteration) bool ok; QString path; QDir dir; QStringList apps; XDGDesktop dFile; for(int i=0; i<appDirs.length(); i++){ diff --git a/src-qt5/core/lumina-desktop/AppMenu.cpp b/src-qt5/core/lumina-desktop/AppMenu.cpp index ad3a2695..f1b16daa 100644 --- a/src-qt5/core/lumina-desktop/AppMenu.cpp +++ b/src-qt5/core/lumina-desktop/AppMenu.cpp @@ -12,8 +12,8 @@ AppMenu::AppMenu(QWidget* parent) : QMenu(parent){ appstorelink = LOS::AppStoreShortcut(); //Default application "store" to display (AppCafe in TrueOS) controlpanellink = LOS::ControlPanelShortcut(); //Default control panel APPS.clear(); - watcher = new QFileSystemWatcher(this); - connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(watcherUpdate()) ); + //watcher = new QFileSystemWatcher(this); + //connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(watcherUpdate()) ); //QTimer::singleShot(200, this, SLOT(start()) ); //Now start filling the menu start(); //do the initial run during session init so things are responsive immediately. connect(QApplication::instance(), SIGNAL(LocaleChanged()), this, SLOT(watcherUpdate()) ); @@ -32,14 +32,15 @@ QHash<QString, QList<XDGDesktop> >* AppMenu::currentAppHash(){ // PRIVATE //=========== void AppMenu::updateAppList(){ - watcher->removePaths(watcher->directories()); + //watcher->removePaths(watcher->directories()); //Make sure the title/icon are updated as well (in case of locale/icon change) this->setTitle(tr("Applications")); this->setIcon( LXDG::findIcon("system-run","") ); //Now update the lists this->clear(); APPS.clear(); - QList<XDGDesktop> allfiles = LXDG::systemDesktopFiles(); + XDGDesktopList *sysApps = LXDG:: systemAppsList(); + QList<XDGDesktop> allfiles = sysApps->apps(false,false); //only valid, non-hidden apps APPS = LXDG::sortDesktopCats(allfiles); APPS.insert("All", LXDG::sortDesktopNames(allfiles)); lastHashUpdate = QDateTime::currentDateTime(); @@ -112,7 +113,7 @@ void AppMenu::updateAppList(){ } this->addMenu(menu); } - watcher->addPaths(LXDG::systemApplicationDirs()); + // watcher->addPaths(LXDG::systemApplicationDirs()); emit AppMenuUpdated(); } @@ -121,7 +122,7 @@ void AppMenu::updateAppList(){ //================= void AppMenu::start(){ //Setup the watcher - watcher->addPaths(LXDG::systemApplicationDirs()); + connect(LXDG:: systemAppsList(), SIGNAL(appsUpdated()), this, SLOT(watcherUpdate()) ); //Now fill the menu the first time updateAppList(); } diff --git a/src-qt5/core/lumina-desktop/AppMenu.h b/src-qt5/core/lumina-desktop/AppMenu.h index 42145e0c..7584de07 100644 --- a/src-qt5/core/lumina-desktop/AppMenu.h +++ b/src-qt5/core/lumina-desktop/AppMenu.h @@ -35,7 +35,7 @@ public: QDateTime lastHashUpdate; private: - QFileSystemWatcher *watcher; + //QFileSystemWatcher *watcher; QString appstorelink, controlpanellink; QList<QMenu> MLIST; QHash<QString, QList<XDGDesktop> > APPS; @@ -55,4 +55,3 @@ signals: }; #endif - |