/** load the application */ void kweather::loadPrefs(){ kdDebug(12004) << "Loading Prefs" << endl; TDEConfig *kcConfig = config(); kcConfig->reparseConfiguration(); if (!kcConfig->hasGroup ("General Options") ) mFirstRun = true; kcConfig->setGroup("General Options"); logOn = kcConfig->readBoolEntry("logging", false); fileName = kcConfig->readPathEntry("log_file_name"); reportLocation = kcConfig->readEntry("report_location"); mViewMode = kcConfig->readNumEntry("smallview_mode", dockwidget::ShowAll); static TQColor black(TQt::black); mTextColor = kcConfig->readColorEntry("textColor", &black); }
bool TDERootSystemDevice::canReboot() { TDEConfig *config = TDEGlobal::config(); config->reparseConfiguration(); // config may have changed in the KControl module config->setGroup("General" ); bool mayrb = false; #ifdef WITH_CONSOLEKIT if (config->readBoolEntry( "offerShutdown", true )) { TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if (dbusConn.isConnected()) { TQT_DBusProxy consoleKitManager("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", dbusConn); if (consoleKitManager.canSend()) { // can reboot? TQValueList<TQT_DBusData> params; TQT_DBusMessage reply = consoleKitManager.sendWithReply("CanRestart", params); if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) { mayrb = reply[0].toBool(); } else { mayrb = false; } } else { mayrb = false; } } else { mayrb = false; } } #else // WITH_CONSOLEKIT // FIXME // Can we power down this system? // This should probably be checked via DCOP and therefore interface with TDM if (config->readBoolEntry( "offerShutdown", true )/* && DM().canShutdown()*/) { // FIXME mayrb = true; } #endif // WITH_CONSOLEKIT return mayrb; }
bool TDERootSystemDevice::setPowerState(TDESystemPowerState::TDESystemPowerState ps) { if ((ps == TDESystemPowerState::Standby) || (ps == TDESystemPowerState::Freeze) || (ps == TDESystemPowerState::Suspend) || (ps == TDESystemPowerState::Hibernate)) { TQString statenode = "/sys/power/state"; TQFile file( statenode ); if ( file.open( IO_WriteOnly ) ) { TQString powerCommand; if (ps == TDESystemPowerState::Standby) { powerCommand = "standby"; } if (ps == TDESystemPowerState::Freeze) { powerCommand = "freeze"; } if (ps == TDESystemPowerState::Suspend) { powerCommand = "mem"; } if (ps == TDESystemPowerState::Hibernate) { powerCommand = "disk"; } TQTextStream stream( &file ); stream << powerCommand; file.close(); return true; } #ifdef WITH_UPOWER { TQT_DBusConnection dbusConn; dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if ( dbusConn.isConnected() ) { if (ps == TDESystemPowerState::Suspend) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.UPower", "Suspend"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } else if (ps == TDESystemPowerState::Hibernate) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.UPower", "Hibernate"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } } } #endif // WITH_UPOWER #ifdef WITH_DEVKITPOWER { TQT_DBusConnection dbusConn; dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if ( dbusConn.isConnected() ) { if (ps == TDESystemPowerState::Suspend) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.DeviceKit.Power", "/org/freedesktop/DeviceKit/Power", "org.freedesktop.DeviceKit.Power", "Suspend"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } else if (ps == TDESystemPowerState::Hibernate) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.DeviceKit.Power", "/org/freedesktop/DeviceKit/Power", "org.freedesktop.DeviceKit.Power", "Hibernate"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } } } #endif // WITH_DEVKITPOWER #ifdef WITH_HAL { TQT_DBusConnection dbusConn; dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if ( dbusConn.isConnected() ) { if (ps == TDESystemPowerState::Suspend) { TQT_DBusProxy halPowerManagement( "org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device.SystemPowerManagement", dbusConn); TQValueList<TQT_DBusData> params; params << TQT_DBusData::fromInt32(0); TQT_DBusMessage reply = halPowerManagement.sendWithReply("Suspend", params); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } else if (ps == TDESystemPowerState::Hibernate) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer", "org.freedesktop.Hal.Device.SystemPowerManagement", "Hibernate"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } } } #endif // WITH_HAL #ifdef WITH_TDEHWLIB_DAEMONS { TQT_DBusConnection dbusConn; dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if ( dbusConn.isConnected() ) { if (ps == TDESystemPowerState::Standby) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.trinitydesktop.hardwarecontrol", "/org/trinitydesktop/hardwarecontrol", "org.trinitydesktop.hardwarecontrol.Power", "Standby"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } else if (ps == TDESystemPowerState::Freeze) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.trinitydesktop.hardwarecontrol", "/org/trinitydesktop/hardwarecontrol", "org.trinitydesktop.hardwarecontrol.Power", "Freeze"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } else if (ps == TDESystemPowerState::Suspend) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.trinitydesktop.hardwarecontrol", "/org/trinitydesktop/hardwarecontrol", "org.trinitydesktop.hardwarecontrol.Power", "Suspend"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } else if (ps == TDESystemPowerState::Hibernate) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.trinitydesktop.hardwarecontrol", "/org/trinitydesktop/hardwarecontrol", "org.trinitydesktop.hardwarecontrol.Power", "Hibernate"); TQT_DBusMessage reply = dbusConn.sendWithReply(msg); if (reply.type() == TQT_DBusMessage::ReplyMessage) { return true; } } } } #endif // WITH_TDEHWLIB_DAEMONS return false; } else if (ps == TDESystemPowerState::PowerOff) { #ifdef WITH_CONSOLEKIT TDEConfig *config = TDEGlobal::config(); config->reparseConfiguration(); // config may have changed in the KControl module config->setGroup("General" ); if (config->readBoolEntry( "offerShutdown", true )) { TQT_DBusConnection dbusConn; dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if ( dbusConn.isConnected() ) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", "Stop"); dbusConn.sendWithReply(msg); return true; } else { return false; } } else { return false; } #else // WITH_CONSOLEKIT // Power down the system using a DCOP command // Values are explained at http://lists.kde.org/?l=kde-linux&m=115770988603387 TQByteArray data; TQDataStream arg(data, IO_WriteOnly); arg << (int)0 << (int)2 << (int)2; if ( kapp->dcopClient()->send("ksmserver", "default", "logout(int,int,int)", data) ) { return true; } return false; #endif // WITH_CONSOLEKIT } else if (ps == TDESystemPowerState::Reboot) { #ifdef WITH_CONSOLEKIT TDEConfig *config = TDEGlobal::config(); config->reparseConfiguration(); // config may have changed in the KControl module config->setGroup("General" ); if (config->readBoolEntry( "offerShutdown", true )) { TQT_DBusConnection dbusConn; dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus); if ( dbusConn.isConnected() ) { TQT_DBusMessage msg = TQT_DBusMessage::methodCall( "org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", "Restart"); dbusConn.sendWithReply(msg); return true; } else { return false; } } else { return false; } #else // WITH_CONSOLEKIT // Power down the system using a DCOP command // Values are explained at http://lists.kde.org/?l=kde-linux&m=115770988603387 TQByteArray data; TQDataStream arg(data, IO_WriteOnly); arg << (int)0 << (int)1 << (int)2; if ( kapp->dcopClient()->send("ksmserver", "default", "logout(int,int,int)", data) ) { return true; } return false; #endif // WITH_CONSOLEKIT } else if (ps == TDESystemPowerState::Active) { // Ummm...we're already active... return true; } return false; }