diff --git a/ksmserver/KSMServerInterface.h b/ksmserver/KSMServerInterface.h index e6d48f22..270099e7 100644 --- a/ksmserver/KSMServerInterface.h +++ b/ksmserver/KSMServerInterface.h @@ -32,7 +32,7 @@ class KSMServerInterface : public QObject Q_CLASSINFO("D-Bus Interface", "org.kde.KSMServerInterface") public Q_SLOTS: - Q_SCRIPTABLE void logout(int, int, int ); + Q_SCRIPTABLE void logout(int, int ); Q_SCRIPTABLE QStringList sessionList(); Q_SCRIPTABLE QString currentSession(); diff --git a/ksmserver/org.kde.KSMServerInterface.xml b/ksmserver/org.kde.KSMServerInterface.xml index 9dad1301..da4512c9 100644 --- a/ksmserver/org.kde.KSMServerInterface.xml +++ b/ksmserver/org.kde.KSMServerInterface.xml @@ -4,7 +4,6 @@ - diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp index 00f7b1c9..029e66b4 100644 --- a/ksmserver/server.cpp +++ b/ksmserver/server.cpp @@ -193,8 +193,7 @@ void KSMSaveYourselfRequestProc ( the_server->shutdown( fast ? KWorkSpace::ShutdownConfirmNo : KWorkSpace::ShutdownConfirmDefault, - KWorkSpace::ShutdownTypeDefault, - KWorkSpace::ShutdownModeDefault ); + KWorkSpace::ShutdownTypeDefault ); } else if ( !global ) { SmsSaveYourself( smsConn, saveType, false, interactStyle, fast ); SmsSaveComplete( smsConn ); @@ -716,7 +715,7 @@ void KSMServer::cleanUp() FreeAuthenticationData(numTransports, authDataEntries); - KDisplayManager().shutdown( shutdownType, shutdownMode ); + KDisplayManager().shutdown( shutdownType ); } @@ -1026,22 +1025,22 @@ void KSMServer::setupShortcuts() void KSMServer::defaultLogout() { - shutdown(KWorkSpace::ShutdownConfirmYes, KWorkSpace::ShutdownTypeDefault, KWorkSpace::ShutdownModeDefault); + shutdown(KWorkSpace::ShutdownConfirmYes, KWorkSpace::ShutdownTypeDefault); } void KSMServer::logoutWithoutConfirmation() { - shutdown(KWorkSpace::ShutdownConfirmNo, KWorkSpace::ShutdownTypeNone, KWorkSpace::ShutdownModeDefault); + shutdown(KWorkSpace::ShutdownConfirmNo, KWorkSpace::ShutdownTypeNone); } void KSMServer::haltWithoutConfirmation() { - shutdown(KWorkSpace::ShutdownConfirmNo, KWorkSpace::ShutdownTypeHalt, KWorkSpace::ShutdownModeDefault); + shutdown(KWorkSpace::ShutdownConfirmNo, KWorkSpace::ShutdownTypeHalt); } void KSMServer::rebootWithoutConfirmation() { - shutdown(KWorkSpace::ShutdownConfirmNo, KWorkSpace::ShutdownTypeReboot, KWorkSpace::ShutdownModeDefault); + shutdown(KWorkSpace::ShutdownConfirmNo, KWorkSpace::ShutdownTypeReboot); } #include "moc_server.cpp" diff --git a/ksmserver/server.h b/ksmserver/server.h index 2366b341..2080aa72 100644 --- a/ksmserver/server.h +++ b/ksmserver/server.h @@ -90,8 +90,7 @@ public: void restoreSession( const QString &sessionName ); void startDefaultSession(); void shutdown( KWorkSpace::ShutdownConfirm confirm, - KWorkSpace::ShutdownType sdtype, - KWorkSpace::ShutdownMode sdmode ); + KWorkSpace::ShutdownType sdtype ); virtual void suspendStartup( const QString &app ); virtual void resumeStartup( const QString &app ); @@ -171,7 +170,7 @@ private: // public dcop interface public Q_SLOTS: //public dcop interface - void logout( int, int, int ); + void logout( int, int ); bool canShutdown(); QString currentSession(); void saveCurrentSession(); @@ -205,7 +204,6 @@ private: QMap< QString, int > startupSuspendCount; KWorkSpace::ShutdownType shutdownType; - KWorkSpace::ShutdownMode shutdownMode; bool clean; KSMClient* clientInteracting; @@ -224,7 +222,6 @@ private: QWidget* logoutEffectWidget; KWorkSpace::ShutdownConfirm pendingShutdown_confirm; KWorkSpace::ShutdownType pendingShutdown_sdtype; - KWorkSpace::ShutdownMode pendingShutdown_sdmode; // sequential startup int appsToStart; diff --git a/ksmserver/shutdown.cpp b/ksmserver/shutdown.cpp index 29b460ec..16201e4e 100644 --- a/ksmserver/shutdown.cpp +++ b/ksmserver/shutdown.cpp @@ -73,15 +73,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include -void KSMServer::logout( int confirm, int sdtype, int sdmode ) +void KSMServer::logout( int confirm, int sdtype ) { - // KDE5: remove me - if (sdtype == KWorkSpace::ShutdownTypeLogout) - sdtype = KWorkSpace::ShutdownTypeNone; - shutdown( (KWorkSpace::ShutdownConfirm)confirm, - (KWorkSpace::ShutdownType)sdtype, - (KWorkSpace::ShutdownMode)sdmode ); + (KWorkSpace::ShutdownType)sdtype); } bool KSMServer::canShutdown() @@ -94,7 +89,7 @@ bool KSMServer::canShutdown() } void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, - KWorkSpace::ShutdownType sdtype, KWorkSpace::ShutdownMode sdmode ) + KWorkSpace::ShutdownType sdtype ) { pendingShutdown.stop(); if( dialogActive ) @@ -109,7 +104,6 @@ void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, pendingShutdown.start( 1000 ); pendingShutdown_confirm = confirm; pendingShutdown_sdtype = sdtype; - pendingShutdown_sdmode = sdmode; } return; } @@ -138,8 +132,6 @@ void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, cg.readEntry( "shutdownType", (int)KWorkSpace::ShutdownTypeNone ); choose = true; } - if (sdmode == KWorkSpace::ShutdownModeDefault) - sdmode = KWorkSpace::ShutdownModeInteractive; dialogActive = true; if ( !logoutConfirmed ) { @@ -159,7 +151,6 @@ void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, inhibitCookie = Solid::PowerManagement::beginSuppressingSleep(); shutdownType = sdtype; - shutdownMode = sdmode; // shall we save the session on logout? saveSession = ( cg.readEntry( "loginMode", "restorePreviousLogout" ) == "restorePreviousLogout" ); @@ -214,7 +205,7 @@ void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, void KSMServer::pendingShutdownTimeout() { - shutdown( pendingShutdown_confirm, pendingShutdown_sdtype, pendingShutdown_sdmode ); + shutdown( pendingShutdown_confirm, pendingShutdown_sdtype ); } void KSMServer::saveCurrentSession() diff --git a/libs/kworkspace/kdisplaymanager.cpp b/libs/kworkspace/kdisplaymanager.cpp index 4bccb1de..1139a83c 100644 --- a/libs/kworkspace/kdisplaymanager.cpp +++ b/libs/kworkspace/kdisplaymanager.cpp @@ -106,31 +106,26 @@ bool KDisplayManager::canShutdown() return false; } -void KDisplayManager::shutdown(KWorkSpace::ShutdownType shutdownType, - KWorkSpace::ShutdownMode shutdownMode) +void KDisplayManager::shutdown(KWorkSpace::ShutdownType shutdownType) { - if (shutdownType == KWorkSpace::ShutdownTypeNone || shutdownType == KWorkSpace::ShutdownTypeLogout) { + if (shutdownType == KWorkSpace::ShutdownTypeNone) { return; } - const bool interactive = ( - shutdownMode == KWorkSpace::ShutdownModeInteractive - || shutdownMode == KWorkSpace::ShutdownModeForceNow - ); if (d->m_login1.isValid()) { if (shutdownType == KWorkSpace::ShutdownTypeReboot) { - d->m_login1.call("Reboot", interactive); + d->m_login1.call("Reboot", true); } else if (shutdownType == KWorkSpace::ShutdownTypeHalt) { - d->m_login1.call("PowerOff", interactive); + d->m_login1.call("PowerOff", true); } return; } if (d->m_consolekit.isValid()) { if (shutdownType == KWorkSpace::ShutdownTypeReboot) { - d->m_consolekit.call("Reboot", interactive); + d->m_consolekit.call("Reboot", true); } else if (shutdownType == KWorkSpace::ShutdownTypeHalt) { - d->m_consolekit.call("PowerOff", interactive); + d->m_consolekit.call("PowerOff", true); } return; } diff --git a/libs/kworkspace/kdisplaymanager.h b/libs/kworkspace/kdisplaymanager.h index 1f543628..b9b406f1 100644 --- a/libs/kworkspace/kdisplaymanager.h +++ b/libs/kworkspace/kdisplaymanager.h @@ -46,8 +46,7 @@ public: ~KDisplayManager(); bool canShutdown(); - void shutdown(KWorkSpace::ShutdownType shutdownType, - KWorkSpace::ShutdownMode shutdownMode); + void shutdown(KWorkSpace::ShutdownType shutdownType); bool isSwitchable(); void newSession(); diff --git a/libs/kworkspace/kworkspace.cpp b/libs/kworkspace/kworkspace.cpp index d57b61df..1734181a 100644 --- a/libs/kworkspace/kworkspace.cpp +++ b/libs/kworkspace/kworkspace.cpp @@ -164,16 +164,15 @@ static void cleanup_sm() } #endif -void requestShutDown(ShutdownConfirm confirm, ShutdownType sdtype, ShutdownMode sdmode) +void requestShutDown(ShutdownConfirm confirm, ShutdownType sdtype) { #ifdef Q_WS_X11 /* use ksmserver's dcop interface if necessary */ if ( confirm == ShutdownConfirmYes || - sdtype != ShutdownTypeDefault || - sdmode != ShutdownModeDefault ) + sdtype != ShutdownTypeDefault ) { org::kde::KSMServerInterface ksmserver("org.kde.ksmserver", "/KSMServer", QDBusConnection::sessionBus()); - ksmserver.logout((int)confirm, (int)sdtype, (int)sdmode); + ksmserver.logout((int)confirm, (int)sdtype); return; } @@ -186,14 +185,11 @@ void requestShutDown(ShutdownConfirm confirm, ShutdownType sdtype, ShutdownMode #endif } -bool canShutDown( ShutdownConfirm confirm, - ShutdownType sdtype, - ShutdownMode sdmode ) +bool canShutDown( ShutdownConfirm confirm, ShutdownType sdtype ) { #ifdef Q_WS_X11 if ( confirm == ShutdownConfirmYes || - sdtype != ShutdownTypeDefault || - sdmode != ShutdownModeDefault ) + sdtype != ShutdownTypeDefault ) { org::kde::KSMServerInterface ksmserver("org.kde.ksmserver", "/KSMServer", QDBusConnection::sessionBus()); QDBusReply reply = ksmserver.canShutdown(); @@ -209,42 +205,6 @@ bool canShutDown( ShutdownConfirm confirm, #endif } -static QTime smModificationTime; -void propagateSessionManager() -{ -#ifdef Q_WS_X11 - QByteArray fName = QFile::encodeName(KStandardDirs::locateLocal("tmp", "KSMserver")); - QString display = QString::fromLocal8Bit( ::getenv(DISPLAY) ); - // strip the screen number from the display - display.remove(QRegExp("\\.[0-9]+$")); - int i; - while( (i = display.indexOf(':')) >= 0) - display[i] = '_'; - while( (i = display.indexOf('/')) >= 0) - display[i] = '_'; - - fName += '_'; - fName += display.toLocal8Bit(); - QByteArray smEnv = ::getenv("SESSION_MANAGER"); - bool check = smEnv.isEmpty(); - if ( !check && smModificationTime.isValid() ) { - QFileInfo info( fName ); - QTime current = info.lastModified().time(); - check = current > smModificationTime; - } - if ( check ) { - QFile f( fName ); - if ( !f.open( QIODevice::ReadOnly ) ) - return; - QFileInfo info ( f ); - smModificationTime = QTime( info.lastModified().time() ); - const QByteArray b = f.readLine().trimmed(); - f.close(); - ::setenv( "SESSION_MANAGER", b.constData(), true ); - } -#endif -} - } // end namespace #include "moc_kworkspace_p.cpp" diff --git a/libs/kworkspace/kworkspace.h b/libs/kworkspace/kworkspace.h index fb86ebc2..17c81b4c 100644 --- a/libs/kworkspace/kworkspace.h +++ b/libs/kworkspace/kworkspace.h @@ -62,53 +62,23 @@ namespace KWorkSpace /** * Log out and halt the machine. */ - ShutdownTypeHalt = 2, - /** - * Temporary brain damage. Don't use. Same as ShutdownTypeNone - */ - // KDE5: kill this - ShutdownTypeLogout = 3 - }; - - /** - * The possible values for the @p sdmode parameter of requestShutDown(). - */ - // KDE5: this seems fairly useless - enum ShutdownMode { - /** - * Select previous mode or the default if it's the first time. - */ - ShutdownModeDefault = -1, - /** - * Shut down, if no sessions are active. Otherwise do nothing. - */ - ShutdownModeTryNow = 1, - /** - * Force shutdown. Kill any possibly active sessions. - */ - ShutdownModeForceNow = 2, - /** - * Pop up a dialog asking the user what to do if sessions are still active. - */ - ShutdownModeInteractive = 3 + ShutdownTypeHalt = 2 }; /** * Asks the session manager to shut the session down. * - * Using @p confirm == ShutdownConfirmYes or @p sdtype != ShutdownTypeDefault or - * @p sdmode != ShutdownModeDefault causes the use of ksmserver's DCOP - * interface. The remaining two combinations use the standard XSMP and - * will work with any session manager compliant with it. + * Using @p confirm == ShutdownConfirmYes or @p sdtype != ShutdownTypeDefault + * causes the use of ksmserver's D-Bus interface. The remaining two + * combinations use the standard XSMP and will work with any session manager + * compliant with it. * * @param confirm Whether to ask the user if he really wants to log out. * ShutdownConfirm * @param sdtype The action to take after logging out. ShutdownType - * @param sdmode If/When the action should be taken. ShutdownMode */ - KWORKSPACE_EXPORT void requestShutDown( ShutdownConfirm confirm = ShutdownConfirmDefault, - ShutdownType sdtype = ShutdownTypeDefault, - ShutdownMode sdmode = ShutdownModeDefault ); + KWORKSPACE_EXPORT void requestShutDown(ShutdownConfirm confirm = ShutdownConfirmDefault, + ShutdownType sdtype = ShutdownTypeDefault); /** * Used to check whether a requestShutDown call with the same arguments @@ -121,25 +91,8 @@ namespace KWorkSpace * configuration may prevent the user from requesting a shutdown or * reboot. */ - KWORKSPACE_EXPORT bool canShutDown( ShutdownConfirm confirm = ShutdownConfirmDefault, - ShutdownType sdtype = ShutdownTypeDefault, - ShutdownMode sdmode = ShutdownModeDefault ); - - /** - * Propagates the network address of the session manager in the - * SESSION_MANAGER environment variable so that child processes can - * pick it up. - * - * If SESSION_MANAGER isn't defined yet, the address is searched in - * $HOME/.KSMserver. - * - * This function is called by clients that are started outside the - * session ( i.e. before ksmserver is started), but want to launch - * other processes that should participate in the session. Examples - * are kdesktop or kicker. - */ - KWORKSPACE_EXPORT void propagateSessionManager(); - + KWORKSPACE_EXPORT bool canShutDown(ShutdownConfirm confirm = ShutdownConfirmDefault, + ShutdownType sdtype = ShutdownTypeDefault); } #endif