diff options
-rw-r--r-- | lumina-config/PanelWidget.cpp | 2 | ||||
-rw-r--r-- | lumina-desktop/LPanel.cpp | 5 | ||||
-rw-r--r-- | lumina-desktop/panel-plugins/systemstart/StartMenu.cpp | 32 |
3 files changed, 30 insertions, 9 deletions
diff --git a/lumina-config/PanelWidget.cpp b/lumina-config/PanelWidget.cpp index 26c7d8e8..49b3d797 100644 --- a/lumina-config/PanelWidget.cpp +++ b/lumina-config/PanelWidget.cpp @@ -57,7 +57,7 @@ void PanelWidget::LoadSettings(QSettings *settings, int Dnum, int Pnum){ ui->spin_plength->setValue( settings->value( prefix+"lengthPercent",100).toInt() ); ui->spin_pxthick->setValue( settings->value( prefix+"height",30).toInt() ); ui->check_autohide->setChecked( settings->value(prefix+"hidepanel", false).toBool() ); - ui->group_customcolor->setChecked( settings->value(prefix+"customcolor",false).toBool() ); + ui->group_customcolor->setChecked( settings->value(prefix+"customColor",false).toBool() ); ui->label_color_sample->setWhatsThis( settings->value(prefix+"color","rgba(255,255,255,160)").toString()); ui->list_plugins->clear(); QStringList plugs = settings->value(prefix+"pluginlist",QStringList()).toStringList(); diff --git a/lumina-desktop/LPanel.cpp b/lumina-desktop/LPanel.cpp index 2eabc96e..b0ead2e0 100644 --- a/lumina-desktop/LPanel.cpp +++ b/lumina-desktop/LPanel.cpp @@ -188,13 +188,10 @@ void LPanel::UpdatePanel(bool geomonly){ this->move(hidepoint); //Could bleed over onto the screen right } } - //With QT5, we need to make sure to reset window properties on occasion - //LSession::handle()->XCB->SetDisableWMActions(this->winId()); //ensure no WM actions - //LSession::handle()->XCB->SetAsSticky(this->winId()); if(DEBUG){ qDebug() << " - Done with panel geometry"; } if(geomonly){ return; } //Now update the appearance of the toolbar - if(settings->value(PPREFIX+"customcolor", false).toBool()){ + if(settings->value(PPREFIX+"customColor", false).toBool()){ QString color = settings->value(PPREFIX+"color", "rgba(255,255,255,160)").toString(); QString style = "QWidget#LuminaPanelColor{ background: %1; border-radius: 3px; border: 1px solid %1; }"; style = style.arg(color); diff --git a/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp b/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp index 3c418ac5..661302dc 100644 --- a/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp +++ b/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp @@ -10,6 +10,7 @@ #include <LuminaOS.h> #include "../../LSession.h" +#include <QtConcurrent> #include "ItemWidget.h" //#define SSAVER QString("xscreensaver-demo") @@ -250,10 +251,7 @@ void StartMenu::UpdateApps(){ ItemWidget *it = new ItemWidget(ui->scroll_apps->widget(), cats[c], "chcat::::"+cats[c] ); if(!it->gooditem){ continue; } //invalid for some reason ui->scroll_apps->widget()->layout()->addWidget(it); - //connect(it, SIGNAL(NewShortcut()), this, SLOT(UpdateFavs()) ); - //connect(it, SIGNAL(RemovedShortcut()), this, SLOT(UpdateFavs()) ); connect(it, SIGNAL(RunItem(QString)), this, SLOT(LaunchItem(QString)) ); - //connect(it, SIGNAL(toggleQuickLaunch(QString, bool)), this, SLOT(UpdateQuickLaunch(QString, bool)) ); } }else{ //Show the "go back" button @@ -303,11 +301,37 @@ void StartMenu::UpdateFavs(){ favs.sort(); //Iterate over types of favorites QStringList rest = favs; + QStringList tmp; for(int type = 0; type<3; type++){ - QStringList tmp; if(type==0){ tmp = favs.filter("::::app::::"); } //apps first else if(type==1){ tmp = favs.filter("::::dir::::"); } //dirs next else{ tmp = rest; } //everything left over + if(type==1){ + //Need to run a special routine for sorting the apps (already in the widget) + // Since each app actually might have a different name listed within the file + QLayout *lay = ui->scroll_favs->widget()->layout(); + QStringList items; + for(int i=0; i<lay->count(); i++){ + items << lay->itemAt(i)->widget()->whatsThis().toLower(); + } + + items.sort(); + //qDebug() << " - Sorted Items:" << items; + for(int i=0; i<items.length(); i++){ + if(items[i].isEmpty()){ continue; } + //QLayouts are weird in that they can only add items to the end - need to re-insert almost every item + for(int j=0; j<lay->count(); j++){ + //Find this item + if(lay->itemAt(j)->widget()->whatsThis().toLower()==items[i]){ + //Found it - now move it if necessary + //qDebug() << "Found Item:" << items[i] << i << j; + lay->addItem( lay->takeAt(j) ); + break; + } + } + } + }//end of special app sorting routine + tmp.sort(); //Sort alphabetically by name (dirs/files) for(int i=0; i<tmp.length(); i++){ if(type<2){ rest.removeAll(tmp[i]); } if(!QFile::exists(tmp[i].section("::::",2,50))){ continue; } //invalid favorite - skip it |