From 2a662f7898806857378540e270460b0c3212f1fd Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Tue, 24 Apr 2018 18:00:14 -0400 Subject: Fix up the audio chimes routines: 1. Ensure that reading the file to be used for the chime is done correctly. 2. Ensure that the session does not crash during cleanup if the exit chime could not be played. 3. Ensure that the default audio chime files are used if nothing else is specified/valid in the settings. --- src-qt5/core/lumina-desktop/LSession.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src-qt5/core/lumina-desktop/LSession.cpp') diff --git a/src-qt5/core/lumina-desktop/LSession.cpp b/src-qt5/core/lumina-desktop/LSession.cpp index fe399e40..5de7850a 100644 --- a/src-qt5/core/lumina-desktop/LSession.cpp +++ b/src-qt5/core/lumina-desktop/LSession.cpp @@ -205,7 +205,8 @@ void LSession::CleanupSession(){ if(vol>=0){ sessionsettings->setValue("last_session_state/audio_volume", vol); } bool playaudio = sessionsettings->value("PlayLogoutAudio",true).toBool(); if( playaudio ){ - QString sfile = sessionsettings->value("audiofiles/logout", LOS::LuminaShare()+"Logout.ogg").toString(); + QString sfile = sessionsettings->value("audiofiles/logout", "").toString(); + if(sfile.isEmpty() || !QFile::exists(sfile)){ sfile = LOS::LuminaShare()+"Logout.ogg"; } playAudioFile(sfile); } //Stop the background system tray (detaching/closing apps as necessary) @@ -242,7 +243,7 @@ void LSession::CleanupSession(){ // this will leave the wallpapers up for a few moments (preventing black screens) } //Now wait a moment for things to close down before quitting - if(playaudio){ + if(playaudio && mediaObj!=0){ //wait a max of 5 seconds for audio to finish bool waitmore = true; for(int i=0; i<100 && waitmore; i++){ @@ -312,7 +313,8 @@ void LSession::launchStartupApps(){ //Now play the login music since we are finished if(sessionsettings->value("PlayStartupAudio",true).toBool()){ - QString sfile = sessionsettings->value("audiofiles/login", LOS::LuminaShare()+"Login.ogg").toString(); + QString sfile = sessionsettings->value("audiofiles/login", "").toString(); + if(sfile.isEmpty() || !QFile::exists(sfile)){ sfile = LOS::LuminaShare()+"Login.ogg"; } playAudioFile(sfile); } //qDebug() << "[DESKTOP INIT FINISHED]"; -- cgit From 6c41b741d4c25ee1a9439d4b3779bccbb9f3fff3 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Fri, 27 Apr 2018 10:01:23 -0400 Subject: Cleanup the icon loading routines for battery status. This should make it generic enough to support all XDG icon themes. --- src-qt5/core/lumina-desktop/LSession.cpp | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'src-qt5/core/lumina-desktop/LSession.cpp') diff --git a/src-qt5/core/lumina-desktop/LSession.cpp b/src-qt5/core/lumina-desktop/LSession.cpp index 5de7850a..1e686e51 100644 --- a/src-qt5/core/lumina-desktop/LSession.cpp +++ b/src-qt5/core/lumina-desktop/LSession.cpp @@ -95,6 +95,64 @@ LSession::~LSession(){ } } +//Static function so everything can get the same icon name +QString LSession::batteryIconName(int charge, bool charging){ + int icon = -1; + if (charge > 90) { icon = 4; } + else if (charge > 70) { icon = 3; } + else if (charge > 20) { icon = 2; } + else if (charge > 5) { icon = 1; } + else if (charge > 0 ) { icon = 0; } + if(charging){ icon = icon+10; } + QStringList iconList; + switch (icon) { + case 0: + iconList << "battery-20" << "battery-020" << "battery-empty" << "battery-caution"; + break; + case 1: + iconList << "battery-40" << "battery-040" << "battery-low" << "battery-caution"; + break; + case 2: + iconList << "battery-60" << "battery-060" << "battery-good"; + break; + case 3: + iconList << "battery-80" << "battery-080" << "battery-good"; + break; + case 4: + iconList << "battery-100" << "battery-full"; + break; + case 10: + iconList << "battery-20-charging" << "battery-020-charging" << "battery-empty-charging" << "battery-caution-charging" + << "battery-charging-20" << "battery-charging-020" << "battery-charging-empty" << "battery-charging-caution"; + break; + case 11: + iconList << "battery-40-charging" << "battery-040-charging" << "battery-low-charging" << "battery-caution-charging" + << "battery-charging-40" << "battery-charging-040" << "battery-charging-low" << "battery-charging-caution"; + break; + case 12: + iconList << "battery-60-charging" << "battery-060-charging" << "battery-good-charging" + << "battery-charging-60" << "battery-charging-060" << "battery-charging-good"; + break; + case 13: + iconList << "battery-80-charging" << "battery-080-charging" << "battery-good-charging" + << "battery-charging-80" << "battery-charging-080" << "battery-charging-good"; + break; + case 14: + if(charge==100){ iconList << "battery-full-charged"; } + iconList << "battery-100-charging" << "battery-full-charging" + << "battery-charging-100" << "battery-charging-full"; + break; + default: + iconList << "battery-unknown" << "battery-missing"; + break; + } + iconList << "battery"; //generic battery icon + for(int i=0; i