diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-08-08 14:36:50 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-08-08 14:36:50 -0500 |
commit | 960cc8392da291eaf6c90d2101b721f6c20488f3 (patch) | |
tree | 63ecdf7a203cd721c0652bad2023a3e9f53f995c /ksmserver | |
parent | 3a84ecae5ded7370a7dfee43f25dd21269d65a7c (diff) | |
download | tdebase-960cc8392da291eaf6c90d2101b721f6c20488f3.tar.gz tdebase-960cc8392da291eaf6c90d2101b721f6c20488f3.zip |
Update tdehw-based media manager for new mount API
Allow active VT to be queried from tdm
Only display media notification messages on active VT
Hide logout action buttons if logout process unstalls
Diffstat (limited to 'ksmserver')
-rw-r--r-- | ksmserver/shutdown.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/ksmserver/shutdown.cpp b/ksmserver/shutdown.cpp index cf849e757..cc6e8ab7c 100644 --- a/ksmserver/shutdown.cpp +++ b/ksmserver/shutdown.cpp @@ -260,6 +260,8 @@ void KSMServer::shutdownInternal( TDEApplication::ShutdownConfirm confirm, if (showLogoutStatusDlg) { shutdownNotifierIPDlg = KSMShutdownIPDlg::showShutdownIP(); if (shutdownNotifierIPDlg) { + connect(shutdownNotifierIPDlg, SIGNAL(abortLogoutClicked()), this, SLOT(cancelShutdown())); + connect(shutdownNotifierIPDlg, SIGNAL(skipNotificationClicked()), this, SLOT(forceSkipSaveYourself())); static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Notifying applications of logout request...")); notificationTimer.start( KSMSERVER_NOTIFICATION_MANUAL_OPTIONS_TIMEOUT, true ); } @@ -440,6 +442,10 @@ void KSMServer::saveYourselfDone( KSMClient* client, bool success ) } notificationTimer.stop(); + if (shutdownNotifierIPDlg) { + static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->hideNotificationActionButtons(); + } + updateLogoutStatusDialog(); } @@ -503,8 +509,6 @@ void KSMServer::updateLogoutStatusDialog() static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->hide(); notificationTimer.stop(); static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->hideNotificationActionButtons(); - disconnect(shutdownNotifierIPDlg, SIGNAL(abortLogoutClicked()), this, SLOT(cancelShutdown())); - disconnect(shutdownNotifierIPDlg, SIGNAL(skipNotificationClicked()), this, SLOT(forceSkipSaveYourself())); #endif if (nextClientToKill == "") { static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("An application is requesting attention, logout paused...")); @@ -677,8 +681,6 @@ void KSMServer::handleProtectionTimeout() notificationTimer.stop(); if (shutdownNotifierIPDlg) { static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->hideNotificationActionButtons(); - disconnect(shutdownNotifierIPDlg, SIGNAL(abortLogoutClicked()), this, SLOT(cancelShutdown())); - disconnect(shutdownNotifierIPDlg, SIGNAL(skipNotificationClicked()), this, SLOT(forceSkipSaveYourself())); static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Forcing interacting application termination").append("...")); } @@ -695,8 +697,6 @@ void KSMServer::notificationTimeout() { if (shutdownNotifierIPDlg) { // Display the buttons in the logout dialog - connect(shutdownNotifierIPDlg, SIGNAL(abortLogoutClicked()), this, SLOT(cancelShutdown())); - connect(shutdownNotifierIPDlg, SIGNAL(skipNotificationClicked()), this, SLOT(forceSkipSaveYourself())); static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->showNotificationActionButtons(); } } @@ -742,6 +742,10 @@ void KSMServer::completeShutdownOrCheckpoint() KSMShutdownIPFeedback::showit(); // hide the UGLY logout process from the user if (!shutdownNotifierIPDlg) { shutdownNotifierIPDlg = KSMShutdownIPDlg::showShutdownIP(); + if (shutdownNotifierIPDlg) { + connect(shutdownNotifierIPDlg, SIGNAL(abortLogoutClicked()), this, SLOT(cancelShutdown())); + connect(shutdownNotifierIPDlg, SIGNAL(skipNotificationClicked()), this, SLOT(forceSkipSaveYourself())); + } } while (!KSMShutdownIPFeedback::ispainted()) { tqApp->processEvents(); @@ -751,8 +755,6 @@ void KSMServer::completeShutdownOrCheckpoint() notificationTimer.stop(); if (shutdownNotifierIPDlg) { static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->hideNotificationActionButtons(); - disconnect(shutdownNotifierIPDlg, SIGNAL(abortLogoutClicked()), this, SLOT(cancelShutdown())); - disconnect(shutdownNotifierIPDlg, SIGNAL(skipNotificationClicked()), this, SLOT(forceSkipSaveYourself())); } // synchronize any folders that were requested for shutdown sync |