aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lumina-desktop/AppMenu.cpp7
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserWidget.cpp30
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserWidget.h2
3 files changed, 25 insertions, 14 deletions
diff --git a/lumina-desktop/AppMenu.cpp b/lumina-desktop/AppMenu.cpp
index e2e5cede..c2d79c09 100644
--- a/lumina-desktop/AppMenu.cpp
+++ b/lumina-desktop/AppMenu.cpp
@@ -32,7 +32,9 @@ QHash<QString, QList<XDGDesktop> >* AppMenu::currentAppHash(){
void AppMenu::updateAppList(){
this->clear();
APPS.clear();
- APPS = LXDG::sortDesktopCats( LXDG::systemDesktopFiles() );
+ QList<XDGDesktop> allfiles = LXDG::systemDesktopFiles();
+ APPS = LXDG::sortDesktopCats(allfiles);
+ APPS.insert("All", LXDG::sortDesktopNames(allfiles));
//Now fill the menu
bool ok; //for checking inputs
//Add link to the file manager
@@ -54,7 +56,8 @@ void AppMenu::updateAppList(){
for(int i=0; i<cats.length(); i++){
//Make sure they are translated and have the right icons
QString name, icon;
- if(cats[i] == "Multimedia"){ name = tr("Multimedia"); icon = "applications-multimedia"; }
+ if(cats[i]=="All"){continue; } //skip this listing for the menu
+ else if(cats[i] == "Multimedia"){ name = tr("Multimedia"); icon = "applications-multimedia"; }
else if(cats[i] == "Development"){ name = tr("Development"); icon = "applications-development"; }
else if(cats[i] == "Education"){ name = tr("Education"); icon = "applications-education"; }
else if(cats[i] == "Game"){ name = tr("Games"); icon = "applications-games"; }
diff --git a/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp b/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp
index 8b49ed43..1571760b 100644
--- a/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp
+++ b/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp
@@ -75,7 +75,8 @@ UserWidget::UserWidget(QWidget* parent) : QWidget(parent), ui(new Ui::UserWidget
}else{
ui->tool_qtconfig->setVisible(false);
}
-
+ lastUpdate = QDateTime::currentDateTime().addSecs(-30); //make sure it refreshes
+ QTimer::singleShot(10,this, SLOT(UpdateMenu())); //make sure to load this once after initialization
}
UserWidget::~UserWidget(){
@@ -100,15 +101,19 @@ void UserWidget::ClearScrollArea(QScrollArea *area){
// PRIVATE SLOTS
//============
void UserWidget::UpdateMenu(){
- ui->tabWidget->setCurrentWidget(ui->tab_fav);
- ui->tool_fav_apps->setChecked(true);
- ui->tool_fav_dirs->setChecked(false);
- ui->tool_fav_files->setChecked(false);
- cfav = 0; //favorite apps
- updateFavItems();
- updateHome();
- updateAppCategories();
- updateApps();
+ if(QDateTime::currentDateTime() > lastUpdate.addSecs(30)){
+ //Only re-arrange/reload things if not rapidly re-run
+ ui->tabWidget->setCurrentWidget(ui->tab_fav);
+ ui->tool_fav_apps->setChecked(true);
+ ui->tool_fav_dirs->setChecked(false);
+ ui->tool_fav_files->setChecked(false);
+ cfav = 0; //favorite apps
+ updateFavItems();
+ updateHome();
+ updateAppCategories();
+ updateApps();
+ }
+ lastUpdate = QDateTime::currentDateTime();
}
void UserWidget::LaunchItem(QString cmd){
@@ -170,7 +175,8 @@ void UserWidget::updateAppCategories(){
cats.sort();
for(int i=0; i<cats.length(); i++){
QString name, icon;
- if(cats[i] == "Multimedia"){ name = tr("Multimedia"); icon = "applications-multimedia"; }
+ if(cats[i] == "All"){ name = tr("All"); icon = "application-x-executable"; }
+ else if(cats[i] == "Multimedia"){ name = tr("Multimedia"); icon = "applications-multimedia"; }
else if(cats[i] == "Development"){ name = tr("Development"); icon = "applications-development"; }
else if(cats[i] == "Education"){ name = tr("Education"); icon = "applications-education"; }
else if(cats[i] == "Game"){ name = tr("Games"); icon = "applications-games"; }
@@ -180,7 +186,7 @@ void UserWidget::updateAppCategories(){
else if(cats[i] == "Science"){ name = tr("Science"); icon = "applications-science"; }
else if(cats[i] == "Settings"){ name = tr("Settings"); icon = "preferences-system"; }
else if(cats[i] == "System"){ name = tr("System"); icon = "applications-system"; }
- else if(cats[i] == "Utility"){ name = tr("Utility"); icon = "applications-utilities"; }
+ else if(cats[i] == "Utility"){ name = tr("Utilities"); icon = "applications-utilities"; }
else{ name = tr("Unsorted"); icon = "applications-other"; }
ui->combo_app_cats->addItem( LXDG::findIcon(icon,""), name, cats[i] );
}
diff --git a/lumina-desktop/panel-plugins/userbutton/UserWidget.h b/lumina-desktop/panel-plugins/userbutton/UserWidget.h
index b9eaffbe..0b42bff8 100644
--- a/lumina-desktop/panel-plugins/userbutton/UserWidget.h
+++ b/lumina-desktop/panel-plugins/userbutton/UserWidget.h
@@ -15,6 +15,7 @@
#include <QHash>
#include <QVBoxLayout>
#include <QScrollArea>
+#include <QDateTime>
#include <LuminaXDG.h>
#include <LuminaOS.h>
@@ -40,6 +41,7 @@ public:
private:
Ui::UserWidget *ui;
QHash<QString, QList<XDGDesktop> > *sysapps;
+ QDateTime lastUpdate;
int cfav; //current favorite category
void ClearScrollArea(QScrollArea *area);
bgstack15