From kde-commits Tue Jan 04 18:48:59 2011 From: =?utf-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Tue, 04 Jan 2011 18:48:59 +0000 To: kde-commits Subject: KDE/kdebase/workspace/plasma/desktop/applets/kickoff/core Message-Id: <20110104184859.B42303E1F3 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=129416758508832 SVN commit 1211726 by lunakl: follow kiosk settings for disabling logout and screen lock M +9 -0 leavemodel.cpp --- trunk/KDE/kdebase/workspace/plasma/desktop/applets/kickoff/core/leavemodel.cpp #1211725:1211726 @@ -24,6 +24,7 @@ #include // KDE +#include #include #include #include @@ -117,19 +118,25 @@ QStandardItem *sessionOptions = new QStandardItem(i18n("Session")); // Logout + if ( KAuthorized::authorizeKAction( "logout" ) ) { QStandardItem *logoutOption = createStandardItem("leave:/logoutonly"); sessionOptions->appendRow(logoutOption); + } // Lock + if ( KAuthorized::authorizeKAction( "lock_screen" ) ) { QStandardItem *lockOption = createStandardItem("leave:/lock"); sessionOptions->appendRow(lockOption); + } // Save Session + if ( KAuthorized::authorizeKAction( "logout" ) ) { KConfigGroup c(KSharedConfig::openConfig("ksmserverrc", KConfig::NoGlobals), "General"); if (c.readEntry("loginMode") == "restoreSavedSession") { QStandardItem *saveSessionOption = createStandardItem("leave:/savesession"); sessionOptions->appendRow(saveSessionOption); } + } // Switch User QStandardItem *switchUserOption = createStandardItem("leave:/switch"); @@ -141,6 +148,7 @@ //FIXME: the proper fix is to implement the KWorkSpace methods for Windows #ifndef Q_WS_WIN + if ( KAuthorized::authorizeKAction( "logout" ) ) { QSet< Solid::PowerManagement::SleepState > spdMethods = Solid::PowerManagement::supportedSleepStates(); if (spdMethods.contains(Solid::PowerManagement::StandbyState)) { QStandardItem *standbyOption = createStandardItem("leave:/standby"); @@ -173,6 +181,7 @@ systemOptions->appendRow(shutDownOption); addSystemSession = true; } + } #endif appendRow(sessionOptions);