From f9e6898036e2521a695c27a87aeb90d71afbadaa Mon Sep 17 00:00:00 2001 From: Darrell Anderson Date: Fri, 8 Jun 2012 21:02:38 -0500 Subject: [PATCH] Add check box control to enable/disable the session exit (feedback) dialog box. This resolves bug report 681. (cherry picked from commit 8a61818a86d7d7f6b6332790d80b50a8b3a73146) --- kcontrol/smserver/kcmsmserver.cpp | 6 ++++++ kcontrol/smserver/smserverconfigdlg.ui | 17 +++++++++++++++++ ksmserver/shutdown.cpp | 14 +++++++------- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/kcontrol/smserver/kcmsmserver.cpp b/kcontrol/smserver/kcmsmserver.cpp index e1d22cf51..5ea993964 100644 --- a/kcontrol/smserver/kcmsmserver.cpp +++ b/kcontrol/smserver/kcmsmserver.cpp @@ -92,6 +92,9 @@ void SMServerConfig::load(bool useDefaults ) } dialog->excludeLineedit->setText( c->readEntry("excludeApps")); + c->setGroup("Logout"); + dialog->showLogoutStatusDialog->setChecked(c->readBoolEntry("showLogoutStatusDlg", true)); + delete c; emit changed(useDefaults); @@ -103,6 +106,7 @@ void SMServerConfig::save() c->setGroup("General"); c->writeEntry( "confirmLogout", dialog->confirmLogoutCheck->isChecked()); c->writeEntry( "offerShutdown", dialog->offerShutdownCheck->isChecked()); + TQString s = "restorePreviousLogout"; if ( dialog->emptySessionRadio->isChecked() ) s = "default"; @@ -117,6 +121,8 @@ void SMServerConfig::save() int(KApplication::ShutdownTypeReboot) : int(KApplication::ShutdownTypeNone)); c->writeEntry("excludeApps", dialog->excludeLineedit->text()); + c->setGroup("Logout"); + c->writeEntry( "showLogoutStatusDlg", dialog->showLogoutStatusDialog->isChecked()); c->sync(); delete c; diff --git a/kcontrol/smserver/smserverconfigdlg.ui b/kcontrol/smserver/smserverconfigdlg.ui index 171fec090..1b6b3c926 100644 --- a/kcontrol/smserver/smserverconfigdlg.ui +++ b/kcontrol/smserver/smserverconfigdlg.ui @@ -62,6 +62,17 @@ O&ffer shutdown options + + + showLogoutStatusDialog + + + Show logout stat&us dialog + + + Check this option if you want to see a dialog box showing the logout status. + + @@ -206,6 +217,12 @@ SMServerConfigDlg configChanged() + + showLogoutStatusDialog + toggled(bool) + SMServerConfigDlg + configChanged() + loginGroup clicked(int) diff --git a/ksmserver/shutdown.cpp b/ksmserver/shutdown.cpp index e2e2d7cb1..fd1406c3d 100644 --- a/ksmserver/shutdown.cpp +++ b/ksmserver/shutdown.cpp @@ -160,10 +160,10 @@ void KSMServer::shutdownInternal( KApplication::ShutdownConfirm confirm, if (sdmode == KApplication::ShutdownModeDefault) sdmode = KApplication::ShutdownModeInteractive; - // shall we show a nice fancy logout screen? - bool showFancyLogout = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("showFancyLogout", true); + // shall we show a logout status dialog box? + bool showLogoutStatusDlg = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("showLogoutStatusDlg", true); - if (showFancyLogout) { + if (showLogoutStatusDlg) { KSMShutdownIPFeedback::start(); } @@ -204,7 +204,7 @@ void KSMServer::shutdownInternal( KApplication::ShutdownConfirm confirm, // Set the real desktop background to black so that exit looks // clean regardless of what was on "our" desktop. - if (!showFancyLogout) { + if (!showLogoutStatusDlg) { TQT_TQWIDGET(kapp->desktop())->setBackgroundColor( Qt::black ); } state = Shutdown; @@ -244,7 +244,7 @@ void KSMServer::shutdownInternal( KApplication::ShutdownConfirm confirm, completeShutdownOrCheckpoint(); } else { - if (showFancyLogout) { + if (showLogoutStatusDlg) { KSMShutdownIPFeedback::stop(); } } @@ -494,8 +494,8 @@ void KSMServer::completeShutdownOrCheckpoint() if ( waitForPhase2 ) return; - bool showFancyLogout = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("showFancyLogout", true); - if (showFancyLogout && state != Checkpoint) { + bool showLogoutStatusDlg = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("showLogoutStatusDlg", true); + if (showLogoutStatusDlg && state != Checkpoint) { KSMShutdownIPFeedback::showit(); // hide the UGLY logout process from the user shutdownNotifierIPDlg = KSMShutdownIPDlg::showShutdownIP(); while (!KSMShutdownIPFeedback::ispainted()) {