summaryrefslogtreecommitdiffstats
path: root/opensuse/tdebase/ksmserver-suspend.diff
diff options
context:
space:
mode:
authorRobert Xu <robxu9@gmail.com>2011-11-10 18:04:39 -0500
committerRobert Xu <robxu9@gmail.com>2011-11-10 18:04:39 -0500
commit21fcfa3348213aa87f0e3aef62ca4720c6d31cb7 (patch)
tree2cfb64c59322628e613ed0895e3c3694d3abe6bd /opensuse/tdebase/ksmserver-suspend.diff
parent8667643bff14a60d8571c599efd3e48bed3e3b12 (diff)
downloadtde-packaging-21fcfa3348213aa87f0e3aef62ca4720c6d31cb7.tar.gz
tde-packaging-21fcfa3348213aa87f0e3aef62ca4720c6d31cb7.zip
initial commit to suse branch: eclipse integration
Diffstat (limited to 'opensuse/tdebase/ksmserver-suspend.diff')
-rw-r--r--opensuse/tdebase/ksmserver-suspend.diff233
1 files changed, 0 insertions, 233 deletions
diff --git a/opensuse/tdebase/ksmserver-suspend.diff b/opensuse/tdebase/ksmserver-suspend.diff
deleted file mode 100644
index ef7a88036..000000000
--- a/opensuse/tdebase/ksmserver-suspend.diff
+++ /dev/null
@@ -1,233 +0,0 @@
-Index: ksmserver/Makefile.am
-===================================================================
---- ksmserver/Makefile.am.orig
-+++ ksmserver/Makefile.am
-@@ -17,7 +17,7 @@
-
- SUBDIRS = .
-
--INCLUDES= -I$(top_srcdir)/kdmlib $(all_includes)
-+INCLUDES= -I$(top_srcdir)/kdmlib $(all_includes) $(DBUS_INCS)
-
- bin_PROGRAMS =
- lib_LTLIBRARIES =
-@@ -31,7 +31,7 @@ ksmserver_la_SOURCES = main.cpp server.c
- KSMServerInterface.skel server.skel
-
- ksmserver_la_LDFLAGS = $(all_libraries) -avoid-version -module
--ksmserver_la_LIBADD = ../kdmlib/libdmctl.la $(LIB_KDEUI)
-+ksmserver_la_LIBADD = ../kdmlib/libdmctl.la $(LIB_KDEUI) -llazy $(DBUS_LIBS)
-
- picsdir = $(kde_datadir)/ksmserver/pics
- pics_DATA = shutdownkonq.png
-@@ -44,7 +44,7 @@ updatedir = $(kde_datadir)/kconf_update
- EXTRA_PROGRAMS = testsh
- testsh_SOURCES = test.cpp
- testsh_LDFLAGS = $(all_libraries) $(KDE_RPATH)
--testsh_LDADD = $(LIB_KDEUI) shutdowndlg.lo ../kdmlib/libdmctl.la
-+testsh_LDADD = $(LIB_KDEUI) shutdowndlg.lo ../kdmlib/libdmctl.la -llazy $(DBUS_LIBS)
-
- messages:
- $(XGETTEXT) *.cpp -o $(podir)/ksmserver.pot
-Index: ksmserver/shutdowndlg.cpp
-===================================================================
---- ksmserver/shutdowndlg.cpp.orig
-+++ ksmserver/shutdowndlg.cpp
-@@ -38,17 +38,23 @@ Copyright (C) 2000 Matthias Ettrich <ett
- #include <kpixmapeffect.h>
- #include <kdialog.h>
- #include <kseparator.h>
-+#include <kmessagebox.h>
-
- #include <sys/types.h>
- #include <sys/utsname.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <dmctl.h>
-+#include <liblazy.h>
-
- #include <X11/Xlib.h>
-
- #include "shutdowndlg.moc"
-
-+#define DBUS_HAL_INTERFACE "org.freedesktop.Hal"
-+#define DBUS_HAL_SYSTEM_POWER_INTERFACE "org.freedesktop.Hal.Device.SystemPowerManagement"
-+#define HAL_UDI_COMPUTER "/org/freedesktop/Hal/devices/computer"
-+
- static const int max_faded = 2300;
- static const int slice = 20;
-
-@@ -215,8 +221,8 @@ KSMShutdownDlg::KSMShutdownDlg( QWidget*
- connect(btnLogout, SIGNAL(clicked()), SLOT(slotLogout()));
-
- if (maysd) {
--
-- // Shutdown
-+
-+ // Shutdown
- KPushButton* btnHalt = new KPushButton( KGuiItem( i18n("&Turn Off Computer"), "exit"), frame );
- QToolTip::add( btnHalt, i18n( "<qt><h3>Turn Off Computer</h3><p>Log out of the current session and turn off the computer</p></qt>" ) );
- btnHalt->setFont( btnFont );
-@@ -251,13 +257,58 @@ KSMShutdownDlg::KSMShutdownDlg( QWidget*
- else
- targets->insertItem( label, index );
- }
--
-+
- btnReboot->setPopup(targets);
- connect( targets, SIGNAL(activated(int)), SLOT(slotReboot(int)) );
- } else
- QToolTip::add( btnReboot, i18n( "<qt><h3>Restart Computer</h3><p>Log out of the current session and restart the computer</p></qt>" ) );
-- }
-
-+ int supported = -1;
-+ liblazy_hal_get_property_bool(HAL_UDI_COMPUTER, "power_management.can_suspend", &supported);
-+ if (supported == 1)
-+ suspend_ram = true;
-+ else
-+ suspend_ram = false;
-+ liblazy_hal_get_property_bool(HAL_UDI_COMPUTER, "power_management.can_standby", &supported);
-+ if (supported == 1)
-+ standby = true;
-+ else
-+ standby = false;
-+ liblazy_hal_get_property_bool(HAL_UDI_COMPUTER, "power_management.can_hibernate", &supported);
-+ if (supported == 1)
-+ suspend_disk = true;
-+ else
-+ suspend_disk = false;
-+
-+ if (liblazy_hal_is_caller_privileged("org.freedesktop.hal.power-management.hibernate") != 1)
-+ suspend_disk = false;
-+ if (liblazy_hal_is_caller_privileged("org.freedesktop.hal.power-management.suspend") != 1)
-+ suspend_ram = false;
-+ if (liblazy_hal_is_caller_privileged("org.freedesktop.hal.power-management.standby") != 1)
-+ standby = false;
-+
-+ int sum = standby + suspend_ram + suspend_disk;
-+ if ( sum ) {
-+ QButton *btnSuspend;
-+ if (sum > 1) {
-+ btnSuspend = new KSMDelayedPushButton( KGuiItem( i18n("&Suspend Computer"), "player_pause"), frame );
-+ QPopupMenu *suspends = new QPopupMenu(frame);
-+ if (suspend_disk)
-+ suspends->insertItem(i18n("Suspend to Disk"), 1);
-+ if (suspend_ram)
-+ suspends->insertItem(i18n("Suspend to RAM"), 2);
-+ if (standby)
-+ suspends->insertItem(i18n("Standby"), 3);
-+ connect(suspends, SIGNAL(activated(int)), SLOT(slotSuspend(int)));
-+ static_cast<KSMDelayedPushButton*>(btnSuspend)->setPopup(suspends);
-+ } else {
-+ btnSuspend = new KPushButton( KGuiItem( i18n("&Suspend Computer"), "player_pause"), frame );
-+ }
-+ btnSuspend->setFont( btnFont );
-+ buttonlay->addWidget( btnSuspend );
-+ connect(btnSuspend, SIGNAL(clicked()), SLOT(slotSuspend()));
-+ }
-+ }
- buttonlay->addStretch( 1 );
-
- // Separator
-@@ -270,6 +321,80 @@ KSMShutdownDlg::KSMShutdownDlg( QWidget*
-
- }
-
-+void KSMShutdownDlg::slotSuspend()
-+{
-+ int error = 0;
-+ int wake = 0;
-+ DBusMessage *reply;
-+
-+ if (suspend_disk)
-+ error = liblazy_dbus_system_send_method_call(DBUS_HAL_INTERFACE,
-+ HAL_UDI_COMPUTER,
-+ DBUS_HAL_SYSTEM_POWER_INTERFACE,
-+ "Hibernate",
-+ &reply,
-+ DBUS_TYPE_INVALID);
-+ else if (suspend_ram)
-+ error = liblazy_dbus_system_send_method_call(DBUS_HAL_INTERFACE,
-+ HAL_UDI_COMPUTER,
-+ DBUS_HAL_SYSTEM_POWER_INTERFACE,
-+ "Suspend",
-+ &reply,
-+ DBUS_TYPE_INT32,
-+ &wake,
-+ DBUS_TYPE_INVALID);
-+ else
-+ error = liblazy_dbus_system_send_method_call(DBUS_HAL_INTERFACE,
-+ HAL_UDI_COMPUTER,
-+ DBUS_HAL_SYSTEM_POWER_INTERFACE,
-+ "Standby",
-+ &reply,
-+ DBUS_TYPE_INVALID);
-+
-+ if (error)
-+ KMessageBox::error(this, i18n("Suspend failed"));
-+
-+ // possibly after resume :)
-+ reject();
-+}
-+
-+void KSMShutdownDlg::slotSuspend(int id)
-+{
-+ int error = 0;
-+ int wake = 0;
-+ DBusMessage *reply;
-+
-+ if (suspend_disk && id == 1) {
-+ error = liblazy_dbus_system_send_method_call(DBUS_HAL_INTERFACE,
-+ HAL_UDI_COMPUTER,
-+ DBUS_HAL_SYSTEM_POWER_INTERFACE,
-+ "Hibernate",
-+ &reply,
-+ DBUS_TYPE_INVALID);
-+ } else if (suspend_ram && id == 2)
-+ error = liblazy_dbus_system_send_method_call(DBUS_HAL_INTERFACE,
-+ HAL_UDI_COMPUTER,
-+ DBUS_HAL_SYSTEM_POWER_INTERFACE,
-+ "Suspend",
-+ &reply,
-+ DBUS_TYPE_INT32,
-+ &wake,
-+ DBUS_TYPE_INVALID);
-+ else if (standby && id == 3)
-+ error = liblazy_dbus_system_send_method_call(DBUS_HAL_INTERFACE,
-+ HAL_UDI_COMPUTER,
-+ DBUS_HAL_SYSTEM_POWER_INTERFACE,
-+ "Standby",
-+ &reply,
-+ DBUS_TYPE_INVALID);
-+ else
-+ return;
-+ if (error)
-+ KMessageBox::error(this, i18n("Suspend failed"));
-+
-+ // possibly after resume :)
-+ reject();
-+}
-
- void KSMShutdownDlg::slotLogout()
- {
-Index: ksmserver/shutdowndlg.h
-===================================================================
---- ksmserver/shutdowndlg.h.orig
-+++ ksmserver/shutdowndlg.h
-@@ -60,6 +60,8 @@ public slots:
- void slotHalt();
- void slotReboot();
- void slotReboot(int);
-+ void slotSuspend();
-+ void slotSuspend(int);
-
- protected:
- ~KSMShutdownDlg() {};
-@@ -70,6 +72,7 @@ private:
- QString m_bootOption;
- QPopupMenu *targets;
- QStringList rebootOptions;
-+ bool suspend_disk, suspend_ram, standby;
- };
-
- class KSMDelayedPushButton : public KPushButton