diff options
author | Ken Moore <ken@pcbsd.org> | 2015-04-28 10:40:48 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2015-04-28 10:40:48 -0400 |
commit | 6d39518bed7e2cb8f135a78b1064855602e17767 (patch) | |
tree | 6f435af9f2c43f8dc035b8ded4c313e65d349784 /lumina-desktop/LSession.cpp | |
parent | Final fix for the new panel window-reactivation routine: only re-activate the... (diff) | |
download | lumina-6d39518bed7e2cb8f135a78b1064855602e17767.tar.gz lumina-6d39518bed7e2cb8f135a78b1064855602e17767.tar.bz2 lumina-6d39518bed7e2cb8f135a78b1064855602e17767.zip |
Update the system window a bit and how it is used in the session. Now there is only a single system window per session, and it is simply shown/hidden as necesary. This allow it to become visible *much* faster than creating the window from scratch every time.
Diffstat (limited to 'lumina-desktop/LSession.cpp')
-rw-r--r-- | lumina-desktop/LSession.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lumina-desktop/LSession.cpp b/lumina-desktop/LSession.cpp index 4ad6d1a1..9fbd01bf 100644 --- a/lumina-desktop/LSession.cpp +++ b/lumina-desktop/LSession.cpp @@ -41,6 +41,7 @@ LSession::LSession(int &argc, char ** argv) : QApplication(argc, argv){ //this->setAttribute(Qt::AA_UseHighDpiPixmaps); //allow pixmaps to be scaled up as well as down //this->setStyle( new MenuProxyStyle); //QMenu icon size override SystemTrayID = 0; VisualTrayID = 0; + sysWindow = 0; TrayDmgEvent = 0; TrayDmgError = 0; cleansession = true; @@ -111,6 +112,8 @@ void LSession::setupSession(){ appmenu = new AppMenu(); if(DEBUG){ qDebug() << " - Init SettingsMenu:" << timer->elapsed();} settingsmenu = new SettingsMenu(); + if(DEBUG){ qDebug() << " - Init SystemWindow:" << timer->elapsed();} + sysWindow = new SystemWindow(); //Now setup the system watcher for changes qDebug() << " - Initialize file system watcher"; @@ -495,8 +498,11 @@ QSettings* LSession::sessionSettings(){ } void LSession::systemWindow(){ - SystemWindow win; - win.exec(); + if(sysWindow==0){ sysWindow = new SystemWindow(); } + else{ sysWindow->updateWindow(); } + sysWindow->show(); + /*SystemWindow win; + win.exec();*/ LSession::processEvents(); } |