aboutsummaryrefslogtreecommitdiff
path: root/src-qt5
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-09-21 15:10:03 -0400
committerKen Moore <ken@ixsystems.com>2017-09-21 15:10:03 -0400
commit3f9e6a1de6bcc9b35f88c0216cb7d50d0241b119 (patch)
tree56e2646b7d044bbf28c805380b449045ee190cac /src-qt5
parentFix up the application of theme settings from the system config file. (diff)
downloadlumina-3f9e6a1de6bcc9b35f88c0216cb7d50d0241b119.tar.gz
lumina-3f9e6a1de6bcc9b35f88c0216cb7d50d0241b119.tar.bz2
lumina-3f9e6a1de6bcc9b35f88c0216cb7d50d0241b119.zip
Fix up the loading of the theme settings before the session is started in Lumina 1, and also fix the pkg plist so it includes the qss files.
Diffstat (limited to 'src-qt5')
-rw-r--r--src-qt5/core/lumina-desktop/LSession.cpp5
-rw-r--r--src-qt5/core/lumina-desktop/LSession.h31
-rw-r--r--src-qt5/core/lumina-desktop/main.cpp1
3 files changed, 20 insertions, 17 deletions
diff --git a/src-qt5/core/lumina-desktop/LSession.cpp b/src-qt5/core/lumina-desktop/LSession.cpp
index 2a1ec783..44f657c0 100644
--- a/src-qt5/core/lumina-desktop/LSession.cpp
+++ b/src-qt5/core/lumina-desktop/LSession.cpp
@@ -387,11 +387,12 @@ void LSession::checkWindowGeoms(){
void LSession::checkUserFiles(){
//internal version conversion examples:
// [1.0.0 -> 1000000], [1.2.3 -> 1002003], [0.6.1 -> 6001]
- QString OVS = sessionsettings->value("DesktopVersion","0").toString(); //Old Version String
+ QSettings sset("lumina-desktop", "sessionsettings");
+ QString OVS = sset.value("DesktopVersion","0").toString(); //Old Version String
bool changed = LDesktopUtils::checkUserFiles(OVS);
if(changed){
//Save the current version of the session to the settings file (for next time)
- sessionsettings->setValue("DesktopVersion", this->applicationVersion());
+ sset.setValue("DesktopVersion", LDesktopUtils::LuminaDesktopVersion());
}
}
diff --git a/src-qt5/core/lumina-desktop/LSession.h b/src-qt5/core/lumina-desktop/LSession.h
index 0d69df84..43cddac7 100644
--- a/src-qt5/core/lumina-desktop/LSession.h
+++ b/src-qt5/core/lumina-desktop/LSession.h
@@ -39,7 +39,7 @@
#define SYSTEM_TRAY_CANCEL_MESSAGE 2
/*class MenuProxyStyle : public QProxyStyle{
-public:
+public:
int pixelMetric(PixelMetric metric, const QStyleOption *option=0, const QWidget *widget=0) const{
if(metric==PM_SmallIconSize){ return 22; } //override QMenu icon size (make it larger)
else{ return QProxyStyle::pixelMetric(metric, option, widget); } //use the current style for everything else
@@ -51,6 +51,8 @@ class LSession : public LSingleApplication{
public:
LSession(int &argc, char **argv);
~LSession();
+
+ static void checkUserFiles();
//Functions to be called during startup
void setupSession();
@@ -63,7 +65,7 @@ public:
bool registerStartButton(QString ID);
void unregisterStartButton(QString ID);
- //Special functions for XCB event filter parsing only
+ //Special functions for XCB event filter parsing only
// (DO NOT USE MANUALLY)
void RootSizeChange();
void WindowPropertyEvent();
@@ -73,37 +75,37 @@ public:
void WindowConfigureEvent(WId);
void WindowDamageEvent(WId);
void WindowSelectionClearEvent(WId);
-
+
//System Access
//Return a pointer to the current session
static LSession* handle(){
return static_cast<LSession*>(LSession::instance());
}
-
+
static void LaunchApplication(QString cmd);
QFileInfoList DesktopFiles();
-
+
QRect screenGeom(int num);
-
+
AppMenu* applicationMenu();
void systemWindow();
SettingsMenu* settingsMenu();
LXCB *XCB; //class for XCB usage
-
+
QSettings* sessionSettings();
QSettings* DesktopPluginSettings();
-
+
//Keep track of which non-desktop window should be treated as active
WId activeWindow(); //This will return the last active window if a desktop element is currently active
-
+
//Temporarily change the session locale (nothing saved between sessions)
void switchLocale(QString localeCode);
-
+
//Play System Audio
void playAudioFile(QString filepath);
//Window Adjustment Routine (due to Fluxbox not respecting _NET_WM_STRUT)
void adjustWindowGeom(WId win, bool maximize = false);
-
+
private:
//WMProcess *WM;
QList<LDesktop*> DESKTOPS;
@@ -136,9 +138,9 @@ private:
QFileInfoList desktopFiles;
void CleanupSession();
-
+
int VersionStringToNumber(QString version);
-
+
public slots:
void StartLogout();
void StartShutdown(bool skipupdates = false);
@@ -161,7 +163,6 @@ private slots:
void removeTrayWindow(WId);
//Internal simplification functions
- void checkUserFiles();
void refreshWindowManager();
void updateDesktops();
void registerDesktopWindows();
@@ -189,7 +190,7 @@ signals:
void DesktopFilesChanged();
void MediaFilesChanged();
void WorkspaceChanged();
-
+
};
#endif
diff --git a/src-qt5/core/lumina-desktop/main.cpp b/src-qt5/core/lumina-desktop/main.cpp
index b2bfa9be..c272f263 100644
--- a/src-qt5/core/lumina-desktop/main.cpp
+++ b/src-qt5/core/lumina-desktop/main.cpp
@@ -76,6 +76,7 @@ int main(int argc, char ** argv)
setenv("QT_QPA_PLATFORMTHEME", "lthemeengine", 1);
unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR"); //causes pixel-specific scaling issues with the desktop - turn this on after-the-fact for other apps
//Startup the session
+ LSession::checkUserFiles(); //make sure to create any config files before creating the QApplication
LSession a(argc, argv);
if(!a.isPrimaryProcess()){ return 0; }
//Setup the log file
bgstack15