diff options
author | Ken Moore <ken@pcbsd.org> | 2014-09-15 12:31:25 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2014-09-15 12:31:25 -0400 |
commit | 13c418eadd33bbbeb91146c0d3e3008fc1bcfe59 (patch) | |
tree | 9ac7d683e3557342c35feaf648e8bb4b3793ca57 | |
parent | Have lumina-fm save/remember the last-used size and open itself with that siz... (diff) | |
download | lumina-13c418eadd33bbbeb91146c0d3e3008fc1bcfe59.tar.gz lumina-13c418eadd33bbbeb91146c0d3e3008fc1bcfe59.tar.bz2 lumina-13c418eadd33bbbeb91146c0d3e3008fc1bcfe59.zip |
Update the Lumina user button a bit:
1) Add a new "All" category that is shown by default for listing applications.
2) Speed up the time to open the user menu by only reloading if more than 30 seconds have passed since the previous time it was opened.
-rw-r--r-- | lumina-desktop/AppMenu.cpp | 7 | ||||
-rw-r--r-- | lumina-desktop/panel-plugins/userbutton/UserWidget.cpp | 30 | ||||
-rw-r--r-- | lumina-desktop/panel-plugins/userbutton/UserWidget.h | 2 |
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); |