mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
kutils: do not use org.freedesktop.ScreenSaver in kidletime
the current org.freedesktop.ScreenSaver implementation actually uses kidletime internally Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
a31aa23230
commit
9b64878a8d
7 changed files with 16 additions and 93 deletions
|
@ -28,10 +28,6 @@ if (HAVE_XSCREENSAVER)
|
|||
set(kidletime_LIB_SRCS ${kidletime_LIB_SRCS}
|
||||
kidletime/xscreensaverbasedpoller.cpp
|
||||
)
|
||||
qt4_add_dbus_interface(kidletime_LIB_SRCS
|
||||
kidletime/org.freedesktop.ScreenSaver.xml
|
||||
screensaver_interface
|
||||
)
|
||||
endif()
|
||||
|
||||
if(HAVE_XSYNC)
|
||||
|
|
|
@ -173,22 +173,16 @@ void KIdleTimePrivate::loadSystem()
|
|||
}
|
||||
|
||||
// Priority order
|
||||
|
||||
#ifdef Q_WS_X11
|
||||
#ifdef HAVE_XSYNC
|
||||
#ifdef HAVE_XSCREENSAVER
|
||||
if (XSyncBasedPoller::instance()->isAvailable()) {
|
||||
poller = XSyncBasedPoller::instance();
|
||||
} else {
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_XSCREENSAVER
|
||||
if (poller.isNull()) {
|
||||
poller = new XScreensaverBasedPoller();
|
||||
}
|
||||
#else
|
||||
poller = XSyncBasedPoller::instance();
|
||||
#endif
|
||||
#else
|
||||
#ifdef HAVE_XSCREENSAVER
|
||||
poller = new XScreensaverBasedPoller();
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -214,7 +208,6 @@ void KIdleTimePrivate::unloadCurrentSystem()
|
|||
void KIdleTimePrivate::_k_resumingFromIdle()
|
||||
{
|
||||
Q_Q(KIdleTime);
|
||||
|
||||
if (catchResume) {
|
||||
emit q->resumingFromIdle();
|
||||
q->stopCatchingResumeEvent();
|
||||
|
@ -236,21 +229,23 @@ void KIdleTimePrivate::_k_timeoutReached(int msec)
|
|||
void KIdleTime::simulateUserActivity()
|
||||
{
|
||||
Q_D(KIdleTime);
|
||||
|
||||
if (!d->poller.isNull()) {
|
||||
d->poller.data()->simulateUserActivity();
|
||||
}
|
||||
}
|
||||
|
||||
int KIdleTime::idleTime() const
|
||||
{
|
||||
Q_D(const KIdleTime);
|
||||
|
||||
if (!d->poller.isNull()) {
|
||||
return d->poller.data()->forcePollRequest();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
QHash<int, int> KIdleTime::idleTimeouts() const
|
||||
{
|
||||
Q_D(const KIdleTime);
|
||||
|
||||
return d->associations;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
<node>
|
||||
<interface name="org.freedesktop.ScreenSaver">
|
||||
<signal name="ActiveChanged">
|
||||
<arg type="b"/>
|
||||
</signal>
|
||||
<method name="Lock">
|
||||
</method>
|
||||
<method name="SimulateUserActivity">
|
||||
</method>
|
||||
<method name="GetActive">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="GetActiveTime">
|
||||
<arg name="seconds" type="u" direction="out"/>
|
||||
</method>
|
||||
<method name="GetSessionIdleTime">
|
||||
<arg name="seconds" type="u" direction="out"/>
|
||||
</method>
|
||||
<method name="SetActive">
|
||||
<arg type="b" direction="out"/>
|
||||
<arg name="e" type="b" direction="in"/>
|
||||
</method>
|
||||
<method name="Inhibit">
|
||||
<arg name="application_name" type="s" direction="in"/>
|
||||
<arg name="reason_for_inhibit" type="s" direction="in"/>
|
||||
<arg name="cookie" type="u" direction="out"/>
|
||||
</method>
|
||||
<method name="UnInhibit">
|
||||
<arg name="cookie" type="u" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
|
@ -50,7 +50,7 @@ bool WidgetBasedPoller::setUpPoller()
|
|||
m_grabber->installEventFilter(this);
|
||||
m_grabber->setObjectName("KIdleGrabberWidget");
|
||||
|
||||
return additionalSetUp();
|
||||
return true;
|
||||
}
|
||||
|
||||
void WidgetBasedPoller::unloadPoller()
|
||||
|
@ -89,7 +89,6 @@ bool WidgetBasedPoller::eventFilter(QObject *object, QEvent *event)
|
|||
void WidgetBasedPoller::waitForActivity()
|
||||
{
|
||||
// This code was taken from Lithium/KDE4Powersave
|
||||
|
||||
m_grabber->show();
|
||||
m_grabber->grabMouse();
|
||||
m_grabber->grabKeyboard();
|
||||
|
|
|
@ -54,9 +54,6 @@ private slots:
|
|||
void waitForActivity();
|
||||
void releaseInputLock();
|
||||
|
||||
private:
|
||||
virtual bool additionalSetUp() = 0;
|
||||
|
||||
private:
|
||||
QTimer * m_pollTimer;
|
||||
QWidget * m_grabber;
|
||||
|
|
|
@ -18,15 +18,13 @@
|
|||
|
||||
#include "xscreensaverbasedpoller.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <QtGui/qx11info_x11.h>
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/scrnsaver.h>
|
||||
|
||||
XScreensaverBasedPoller::XScreensaverBasedPoller(QWidget *parent)
|
||||
: WidgetBasedPoller(parent), m_screenSaverIface( 0 )
|
||||
: WidgetBasedPoller(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -35,26 +33,6 @@ XScreensaverBasedPoller::~XScreensaverBasedPoller()
|
|||
{
|
||||
}
|
||||
|
||||
bool XScreensaverBasedPoller::additionalSetUp()
|
||||
{
|
||||
m_screenSaverIface = new OrgFreedesktopScreenSaverInterface("org.freedesktop.ScreenSaver", "/ScreenSaver",
|
||||
QDBusConnection::sessionBus(), this);
|
||||
|
||||
connect(m_screenSaverIface, SIGNAL(ActiveChanged(bool)), SLOT(screensaverActivated(bool)));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void XScreensaverBasedPoller::screensaverActivated(bool activated)
|
||||
{
|
||||
// We care only if it has been disactivated
|
||||
|
||||
if (!activated) {
|
||||
m_screenSaverIface->SimulateUserActivity();
|
||||
emit resumingFromIdle();
|
||||
}
|
||||
}
|
||||
|
||||
int XScreensaverBasedPoller::getIdleTime()
|
||||
{
|
||||
XScreenSaverInfo * mitInfo = 0;
|
||||
|
|
|
@ -21,8 +21,6 @@
|
|||
|
||||
#include "widgetbasedpoller.h"
|
||||
|
||||
#include "screensaver_interface.h"
|
||||
|
||||
class XScreensaverBasedPoller: public WidgetBasedPoller
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -34,15 +32,8 @@ public:
|
|||
public slots:
|
||||
void simulateUserActivity();
|
||||
|
||||
private:
|
||||
bool additionalSetUp();
|
||||
|
||||
private slots:
|
||||
void screensaverActivated(bool activated);
|
||||
int getIdleTime();
|
||||
|
||||
private:
|
||||
OrgFreedesktopScreenSaverInterface * m_screenSaverIface;
|
||||
};
|
||||
|
||||
#endif /* XSCREENSAVERBASEDPOLLER_H_ */
|
||||
|
|
Loading…
Add table
Reference in a new issue