diff options
Diffstat (limited to 'ksmserver/server.cpp')
| -rw-r--r-- | ksmserver/server.cpp | 47 |
1 files changed, 41 insertions, 6 deletions
diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp index be5ed0bcc..b41adc551 100644 --- a/ksmserver/server.cpp +++ b/ksmserver/server.cpp @@ -69,12 +69,12 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <tdelocale.h> #include <tdeglobal.h> #include <tdeconfig.h> -#include <kstandarddirs.h> +#include <tdestandarddirs.h> #include <unistd.h> #include <tdeapplication.h> #include <kstaticdeleter.h> #include <tdetempfile.h> -#include <kprocess.h> +#include <tdeprocess.h> #include <dcopclient.h> #include <dcopref.h> @@ -514,8 +514,8 @@ static void sighandler(int sig) delete server; } - if (kapp) { - kapp->quit(); + if (tdeApp) { + tdeApp->quit(); } //::exit(0); } @@ -688,7 +688,9 @@ KSMServer::KSMServer( const TQString& windowManager, const TQString& windowManag connect( &protectionTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( protectionTimerTick() ) ); connect( &restoreTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( tryRestoreNext() ) ); connect( &shutdownTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( timeoutQuit() ) ); - connect( kapp, TQ_SIGNAL( shutDown() ), this, TQ_SLOT( cleanUp() ) ); + connect( tdeApp, TQ_SIGNAL( shutDown() ), this, TQ_SLOT( cleanUp() ) ); + + reconfigure(); } KSMServer::~KSMServer() @@ -697,6 +699,16 @@ KSMServer::~KSMServer() cleanUp(); } +void KSMServer::reconfigure() +{ + // respect lock on resume & disable suspend/hibernate settings + // from power-manager + TDEConfig cfg("power-managerrc"); + m_disableSuspend = cfg.readBoolEntry("disableSuspend", false); + m_disableHibernate = cfg.readBoolEntry("disableHibernate", false); + m_lockOnResume = cfg.readBoolEntry("lockOnResume", true); +} + void KSMServer::cleanUp() { if (clean) return; @@ -919,6 +931,29 @@ void KSMServer::storeSession() config->sync(); } +TQStringList KSMServer::suspendOptions() +{ + reconfigure(); + + TQStringList sopt; + +#ifdef WITH_TDEHWLIB + TDERootSystemDevice* rootDevice = hwDevices->rootSystemDevice(); + if (rootDevice->canFreeze() && !m_disableSuspend) + sopt << "freeze"; + + if (rootDevice->canSuspend() && !m_disableSuspend) + sopt << "suspend"; + + if (rootDevice->canHibernate() && !m_disableHibernate) + sopt << "hibernate"; + + if (rootDevice->canHybridSuspend() && !m_disableSuspend && !m_disableHibernate) + sopt << "hybridSuspend"; +#endif + + return sopt; +} TQStringList KSMServer::sessionList() { @@ -995,4 +1030,4 @@ bool KSMServer::defaultSession() const bool KSMServer::startupCompleted() { return m_startupCompleted; -} +}
\ No newline at end of file |
