aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LSession.cpp
diff options
context:
space:
mode:
authorKen Moore <ken@pcbsd.org>2014-10-10 15:10:19 -0400
committerKen Moore <ken@pcbsd.org>2014-10-10 15:10:19 -0400
commitf936d7d555972bb0f60d4f217356d7e43f231580 (patch)
tree87b602ce714d18b3230398b28d2f1b8def43512b /lumina-desktop/LSession.cpp
parentMake sure the directory catch for running lumina-fm happens at the end (in ca... (diff)
downloadlumina-f936d7d555972bb0f60d4f217356d7e43f231580.tar.gz
lumina-f936d7d555972bb0f60d4f217356d7e43f231580.tar.bz2
lumina-f936d7d555972bb0f60d4f217356d7e43f231580.zip
Large update to the Lumina project: provide full theming capabilities.
1) New libLumina classes: LuminaThemes.h 2) Single-line usage to add lumina theme usage to an application (already added to all the Lumina utilities) 3) Include a Lumina-default theme template, as well as a single color scheme (will add more later) 4) Will create a global Qt style for "lumina" so that this theme engine can be automatically applied to all Qt applications at a later date (want to make sure to beat this up and get it working reliably before turning it on for everything). Major Features: 1) Full Qt theme capabilities through Qt stylesheets (so they can be modified and applied on the fly). 2) Stylesheets are broken into a couple pieces: an "incomplete" stylesheet file (the theme template) with variables in place of colors, font size, and font family. A "color" file which variable->value definitions for the different colors. And a themesettings.cfg files which keeps track of the files/font settings. 3) Along with this, add the ability to specify the icon theme that is used as well, and make that automatically re-loaded as necessary. 4) Add the ability to read/set thes values in lumina-config. The lumina-config usage is still a bit rough: working on cleaning it up right now.
Diffstat (limited to 'lumina-desktop/LSession.cpp')
-rw-r--r--lumina-desktop/LSession.cpp24
1 files changed, 3 insertions, 21 deletions
diff --git a/lumina-desktop/LSession.cpp b/lumina-desktop/LSession.cpp
index 95272954..055c0a69 100644
--- a/lumina-desktop/LSession.cpp
+++ b/lumina-desktop/LSession.cpp
@@ -36,7 +36,7 @@ LSession::LSession(int &argc, char ** argv) : QApplication(argc, argv){
this->setEffectEnabled( Qt::UI_AnimateMenu, true);
this->setEffectEnabled( Qt::UI_AnimateCombo, true);
this->setEffectEnabled( Qt::UI_AnimateTooltip, true);
- this->setStyle( new MenuProxyStyle); //QMenu icon size override
+ //this->setStyle( new MenuProxyStyle); //QMenu icon size override
//LuminaSessionTrayID = 0;
}
@@ -55,8 +55,6 @@ LSession::~LSession(){
void LSession::setupSession(){
qDebug() << "Initializing Session";
- //Load the stylesheet
- loadStyleSheet();
//Setup the QSettings default paths
QSettings::setPath(QSettings::NativeFormat, QSettings::UserScope, QDir::homePath()+"/.lumina");
sessionsettings = new QSettings("LuminaDE", "sessionsettings");
@@ -159,8 +157,7 @@ void LSession::launchStartupApps(){
void LSession::watcherChange(QString changed){
qDebug() << "Session Watcher Change:" << changed;
- if(changed.endsWith("stylesheet.qss")){ loadStyleSheet(); }
- else if(changed.endsWith("fluxbox-init") || changed.endsWith("fluxbox-keys")){ refreshWindowManager(); }
+ if(changed.endsWith("fluxbox-init") || changed.endsWith("fluxbox-keys")){ refreshWindowManager(); }
else{ emit DesktopConfigChanged(); }
}
@@ -199,6 +196,7 @@ void LSession::checkUserFiles(){
else if(!QFile::exists(dset+"fluxbox-keys")){fluxcopy=true; }
else if(oldversion < 60){ fluxcopy=true; qDebug() << "Current fluxbox settings obsolete: Re-implementing defaults"; }
if(fluxcopy){
+ qDebug() << "Copying default fluxbox configuration files";
if(QFile::exists(dset+"fluxbox-init")){ QFile::remove(dset+"fluxbox-init"); }
if(QFile::exists(dset+"fluxbox-keys")){ QFile::remove(dset+"fluxbox-keys"); }
QFile::copy(":/fluxboxconf/fluxbox-init-rc", dset+"fluxbox-init");
@@ -217,22 +215,6 @@ void LSession::checkUserFiles(){
sessionsettings->setValue("DesktopVersion", this->applicationVersion());
}
-void LSession::loadStyleSheet(){
- QString ss = QDir::homePath()+"/.lumina/stylesheet.qss";
- if(!QFile::exists(ss)){ ss = LOS::LuminaShare()+"stylesheet.qss"; }
- if(!QFile::exists(ss)){ return; } //no default stylesheet on the system
- //Now read/apply the custom stylesheet
- QFile file(ss);
- if( file.open(QIODevice::ReadOnly | QIODevice::Text) ){
- QTextStream in(&file);
- QString sheet = in.readAll();
- file.close();
- //Now fix/apply the sheet
- sheet.replace("\n"," "); //make sure there are no newlines
- this->setStyleSheet(sheet);
- }
-}
-
void LSession::refreshWindowManager(){
WM->updateWM();
}
bgstack15