aboutsummaryrefslogtreecommitdiff
path: root/src-qt5
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5')
-rw-r--r--src-qt5/core-utils/lumina-config/PanelWidget.cpp6
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_interface_desktop.cpp6
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_interface_panels.cpp6
-rw-r--r--src-qt5/core/libLumina/LuminaUtils.cpp66
-rw-r--r--src-qt5/core/lumina-desktop/LDesktop.cpp6
-rw-r--r--src-qt5/core/lumina-desktop/LDesktopPluginSpace.h3
-rw-r--r--src-qt5/core/lumina-desktop/LPanel.cpp5
7 files changed, 47 insertions, 51 deletions
diff --git a/src-qt5/core-utils/lumina-config/PanelWidget.cpp b/src-qt5/core-utils/lumina-config/PanelWidget.cpp
index 8b38f407..aff7bda3 100644
--- a/src-qt5/core-utils/lumina-config/PanelWidget.cpp
+++ b/src-qt5/core-utils/lumina-config/PanelWidget.cpp
@@ -42,7 +42,8 @@ PanelWidget::~PanelWidget(){
void PanelWidget::LoadSettings(QSettings *settings, int Dnum, int Pnum){
pnum = Pnum; dnum = Dnum; //save these for later
ui->label->setText( QString(tr("Panel %1")).arg(QString::number(Pnum+1) ) );
- QString prefix = "panel"+QString::number(Dnum)+"."+QString::number(Pnum)+"/";
+ QString screenID = QApplication::screens().at(Dnum)->name();
+ QString prefix = "panel_"+screenID+"."+QString::number(Pnum)+"/";
qDebug() << "Loading Panel Settings:" << prefix;
//Now load the settings into the GUI
int tmp = ui->combo_align->findData( settings->value(prefix+"pinLocation","center").toString().toLower() );
@@ -78,7 +79,8 @@ void PanelWidget::LoadSettings(QSettings *settings, int Dnum, int Pnum){
}
void PanelWidget::SaveSettings(QSettings *settings){//save the current settings
- QString prefix = "panel"+QString::number(dnum)+"."+QString::number(pnum)+"/";
+ QString screenID = QApplication::screens().at(dnum)->name();
+ QString prefix = "panel_"+screenID+"."+QString::number(pnum)+"/";
qDebug() << "Saving panel settings:" << prefix;
settings->setValue(prefix+"location", ui->combo_edge->currentData().toString() );
settings->setValue(prefix+"pinLocation", ui->combo_align->currentData().toString() );
diff --git a/src-qt5/core-utils/lumina-config/pages/page_interface_desktop.cpp b/src-qt5/core-utils/lumina-config/pages/page_interface_desktop.cpp
index fdcde804..f467db36 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_interface_desktop.cpp
+++ b/src-qt5/core-utils/lumina-config/pages/page_interface_desktop.cpp
@@ -31,7 +31,8 @@ page_interface_desktop::~page_interface_desktop(){
//================
void page_interface_desktop::SaveSettings(){
QSettings settings("lumina-desktop","desktopsettings");
- QString DPrefix = "desktop-"+QString::number(cscreen)+"/";
+ QString screenID = QApplication::screens().at(cscreen)->name();
+ QString DPrefix = "desktop-"+screenID+"/";
settings.setValue(DPrefix+"generateDesktopIcons", ui->check_desktop_autolaunchers->isChecked() );
QStringList plugs;
@@ -53,7 +54,8 @@ void page_interface_desktop::LoadSettings(int screennum){
emit HasPendingChanges(false);
emit ChangePageTitle( tr("Desktop Settings") );
QSettings settings("lumina-desktop","desktopsettings");
- QString DPrefix = "desktop-"+QString::number(cscreen)+"/";
+ QString screenID = QApplication::screens().at(cscreen)->name();
+ QString DPrefix = "desktop-"+screenID+"/";
ui->check_desktop_autolaunchers->setChecked(settings.value(DPrefix+"generateDesktopIcons",false).toBool() );
QStringList dplugs = settings.value(DPrefix+"pluginlist",QStringList()).toStringList();
diff --git a/src-qt5/core-utils/lumina-config/pages/page_interface_panels.cpp b/src-qt5/core-utils/lumina-config/pages/page_interface_panels.cpp
index 0e486bdd..7d0d3d8c 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_interface_panels.cpp
+++ b/src-qt5/core-utils/lumina-config/pages/page_interface_panels.cpp
@@ -30,7 +30,8 @@ page_interface_panels::~page_interface_panels(){
// PUBLIC SLOTS
//================
void page_interface_panels::SaveSettings(){
- QString DPrefix = "desktop-"+QString::number(cscreen)+"/";
+ QString screenID = QApplication::screens().at(cscreen)->name();
+ QString DPrefix = "desktop-"+screenID+"/";
settings->setValue(DPrefix+"panels", PANELS.length());
for(int i=0; i<PANELS.length(); i++){
PANELS[i]->SaveSettings(settings);
@@ -48,7 +49,8 @@ void page_interface_panels::LoadSettings(int screennum){
loading = true;
emit HasPendingChanges(false);
emit ChangePageTitle( tr("Desktop Settings") );
- QString DPrefix = "desktop-"+QString::number(cscreen)+"/";
+ QString screenID = QApplication::screens().at(cscreen)->name();
+ QString DPrefix = "desktop-"+screenID+"/";
int panelnumber = settings->value(DPrefix+"panels",-1).toInt();
//First clean any current panels
diff --git a/src-qt5/core/libLumina/LuminaUtils.cpp b/src-qt5/core/libLumina/LuminaUtils.cpp
index db165cf2..9fc4e6b0 100644
--- a/src-qt5/core/libLumina/LuminaUtils.cpp
+++ b/src-qt5/core/libLumina/LuminaUtils.cpp
@@ -17,6 +17,7 @@
#include <QRegExp>
#include <QFuture>
#include <QtConcurrent>
+#include <QScreen>
#include <LuminaOS.h>
#include <LuminaThemes.h>
@@ -897,50 +898,31 @@ bool LUtils::checkUserFiles(QString lastversion){
if(newversion || newrelease){
LUtils::upgradeFavorites(oldversion);
}
- //Convert any "userbutton" and "appmenu" panel plugins to the new "systemstart" plugin (0.8.7)
- /*if(oldversion <= 8007 && (newversion || newrelease) && nversion < 8008){
- QSettings dset(QSettings::UserScope, "LuminaDE","desktopsettings");
- QStringList plugKeys = dset.allKeys().filter("panel").filter("/pluginlist");
- for(int i=0; i<plugKeys.length(); i++){
- QStringList plugs = dset.value(plugKeys[i],QStringList()).toStringList();
- //Do the appmenu/userbutton -> systemstart conversion
- plugs = plugs.join(";;;;").replace("userbutton","systemstart").replace("appmenu","systemstart").split(";;;;");
- //Remove any system dashboard plugins
- plugs.removeAll("systemdashboard");
- //Now save that back to the file
- dset.setValue(plugKeys[i], plugs);
- }
- //Also remove any "desktopview" desktop plugin and enable the automatic desktop icons instead
- plugKeys = dset.allKeys().filter("desktop-").filter("/pluginlist");
- for(int i=0; i<plugKeys.length(); i++){
- QStringList plugs = dset.value(plugKeys[i], QStringList()).toStringList();
- QStringList old = plugs.filter("desktopview");
- bool found = !old.isEmpty();
- for(int j=0; j<old.length(); j++){ plugs.removeAll(old[j]); }
- if(found){
- dset.setValue(plugKeys[i],plugs); //save the modified plugin list
- //Also set the auto-generate flag on this desktop
- dset.setValue(plugKeys[i].section("/",0,0)+"/generateDesktopIcons", true);
+ //Convert from the old desktop numbering system to the new one (change occured with 1.0.1)
+ if(oldversion<=1000001){
+ QStringList DS = LUtils::readFile(dset);
+ QList<QScreen*> screens = QApplication::screens();
+ for(int i=0; i<DS.length(); i++){
+ if(!DS[i].startsWith("[")){ continue; }
+ if(DS[i].startsWith("[desktop-")){
+ bool ok = false;
+ int num = DS[i].section("desktop-",-1).section("]",0,0).toInt(&ok);
+ if(num>=0 && ok && num< screens.length()){
+ //This one needs to be converted
+ DS[i] = "[desktop-"+screens[num]->name()+"]";
+ }
+ }else if(DS[i].startsWith("[panel")){
+ bool ok = false;
+ int num = DS[i].section("panel",-1).section(".",0,0).toInt(&ok);
+ if(num>=0 && ok && num< screens.length()){
+ //This one needs to be converted
+ QString rest = DS[i].section(".",1,-1); //everything after the desktop number in the current setting
+ DS[i] = "[panel_"+screens[num]->name()+"."+rest;
+ }
}
}
- dset.sync();
- //Due to the grid size change for desktop plugins, need to remove any old plugin geometries
- if(QFile::exists(QDir::homePath()+"/.lumina/pluginsettings/desktopsettings.conf")){
- QFile::remove(QDir::homePath()+"/.lumina/pluginsettings/desktopsettings.conf");
- }
- }*/
-
- //Convert to the XDG autostart spec as necessary (Change occured with 0.8.5)
- /*if(QFile::exists(QDir::homePath()+"/.lumina/startapps") ){
- QStringList cmds = LUtils::readFile(QDir::homePath()+"/.lumina/startapps");
- for(int i=0; i<cmds.length(); i++){
- cmds[i] = cmds[i].remove("lumina-open").simplified(); //remove the file opener
- if(cmds[i].startsWith("#") || cmds[i].isEmpty()){ continue; } //invalid line
-
- LXDG::setAutoStarted(true, cmds[i]);
- }
- QFile::remove(QDir::homePath()+"/.lumina/startapps"); //delete the old file
- }*/
+ LUtils::writeFile(dset, DS, true);
+ }
//Check the fluxbox configuration files
dset = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/";
diff --git a/src-qt5/core/lumina-desktop/LDesktop.cpp b/src-qt5/core/lumina-desktop/LDesktop.cpp
index 980b3e5e..8258dbb6 100644
--- a/src-qt5/core/lumina-desktop/LDesktop.cpp
+++ b/src-qt5/core/lumina-desktop/LDesktop.cpp
@@ -12,11 +12,13 @@
#include "LWinInfo.h"
#include "JsonMenu.h"
+#include <QScreen>
+
#define DEBUG 0
LDesktop::LDesktop(int deskNum, bool setdefault) : QObject(){
-
- DPREFIX = "desktop-"+QString::number(deskNum)+"/";
+ QString screenID = QApplication::screens().at(deskNum)->name();
+ DPREFIX = "desktop-"+screenID+"/";
desktopnumber = deskNum;
desktop = QApplication::desktop();
defaultdesktop = setdefault; //(desktop->screenGeometry(desktopnumber).x()==0);
diff --git a/src-qt5/core/lumina-desktop/LDesktopPluginSpace.h b/src-qt5/core/lumina-desktop/LDesktopPluginSpace.h
index 92226680..44765029 100644
--- a/src-qt5/core/lumina-desktop/LDesktopPluginSpace.h
+++ b/src-qt5/core/lumina-desktop/LDesktopPluginSpace.h
@@ -183,6 +183,9 @@ private slots:
}
protected:
+ void paintEvent(QPaintEvent*){
+ //do nothing here - the main plugin area should *always* be invisible
+ }
//Need Drag and Drop functionality (internal movement)
void dragEnterEvent(QDragEnterEvent *ev){
if(ev->mimeData()->hasFormat(MIMETYPE) ){
diff --git a/src-qt5/core/lumina-desktop/LPanel.cpp b/src-qt5/core/lumina-desktop/LPanel.cpp
index bf063a31..b0abf498 100644
--- a/src-qt5/core/lumina-desktop/LPanel.cpp
+++ b/src-qt5/core/lumina-desktop/LPanel.cpp
@@ -6,6 +6,8 @@
//===========================================
#include "LPanel.h"
#include "LSession.h"
+#include <QScreen>
+
#include "panel-plugins/systemtray/LSysTray.h"
#define DEBUG 0
@@ -26,7 +28,8 @@ LPanel::LPanel(QSettings *file, int scr, int num, QWidget *parent) : QWidget(){
screennum = scr;
panelnum = num; //save for later
screen = LSession::desktop();
- PPREFIX = "panel"+QString::number(screennum)+"."+QString::number(num)+"/";
+ QString screenID = QApplication::screens().at(screennum)->name();
+ PPREFIX = "panel_"+screenID+"."+QString::number(num)+"/";
defaultpanel = (LSession::handle()->screenGeom(screennum).x()==0 && num==0);
horizontal=true; //use this by default initially
hidden = false; //use this by default
bgstack15