on xenial help sign in
implement SimulateUserActivity()
11c5dd3Lukáš Tinkl
plugins/Unity/Session/dbusunitysessionservice.cpp+20−10
@@ -144,6 +144,16 @@ public:
144 return 0;
144 return 0;
145 }
145 }
146
146
147+ void setIdleHint(bool idle)
148+ {
149+ QDBusMessage msg = QDBusMessage::createMethodCall(LOGIN1_SERVICE,
150+ logindSessionPath,
151+ LOGIN1_SESSION_IFACE,
152+ "SetIdleHint");
153+ msg << idle;
154+ QDBusConnection::systemBus().asyncCall(msg);
155+ }
156+
147private Q_SLOTS:
157private Q_SLOTS:
148 void onPropertiesChanged(const QString &iface, const QVariantMap &changedProps, const QStringList &invalidatedProps)
158 void onPropertiesChanged(const QString &iface, const QVariantMap &changedProps, const QStringList &invalidatedProps)
149 {
159 {
@@ -168,16 +178,6 @@ private Q_SLOTS:
168 }
178 }
169 }
179 }
170
180
171− void setIdleHint(bool idle)
172− {
173− QDBusMessage msg = QDBusMessage::createMethodCall(LOGIN1_SERVICE,
174− logindSessionPath,
175− LOGIN1_SESSION_IFACE,
176− "SetIdleHint");
177− msg << idle;
178− QDBusConnection::systemBus().asyncCall(msg);
179− }
180−
181Q_SIGNALS:
181Q_SIGNALS:
182 void screensaverActiveChanged(bool active);
182 void screensaverActiveChanged(bool active);
183};
183};
@@ -423,6 +423,11 @@ quint32 DBusGnomeScreensaverWrapper::GetActiveTime() const
423 return d->screensaverActiveTime();
423 return d->screensaverActiveTime();
424}
424}
425
425
426+void DBusGnomeScreensaverWrapper::SimulateUserActivity()
427+{
428+ d->setIdleHint(false);
429+}
430+
426
431
427DBusScreensaverWrapper::DBusScreensaverWrapper()
432DBusScreensaverWrapper::DBusScreensaverWrapper()
428 : UnityDBusObject("/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver")
433 : UnityDBusObject("/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver")
@@ -459,4 +464,9 @@ quint32 DBusScreensaverWrapper::GetSessionIdleTime() const
459 return QDateTime::fromMSecsSinceEpoch(d->idleSinceUSecTimestamp()/1000).secsTo(QDateTime::currentDateTime());
464 return QDateTime::fromMSecsSinceEpoch(d->idleSinceUSecTimestamp()/1000).secsTo(QDateTime::currentDateTime());
460}
465}
461
466
467+void DBusScreensaverWrapper::SimulateUserActivity()
468+{
469+ d->setIdleHint(false);
470+}
471+
462#include "dbusunitysessionservice.moc"
472#include "dbusunitysessionservice.moc"
plugins/Unity/Session/dbusunitysessionservice.h+4
@@ -296,6 +296,8 @@ public Q_SLOTS:
296 */
296 */
297 Q_SCRIPTABLE quint32 GetActiveTime() const;
297 Q_SCRIPTABLE quint32 GetActiveTime() const;
298
298
299+ Q_SCRIPTABLE void SimulateUserActivity();
300+
299Q_SIGNALS:
301Q_SIGNALS:
300 void ActiveChanged(bool active);
302 void ActiveChanged(bool active);
301};
303};
@@ -335,6 +337,8 @@ public Q_SLOTS:
335 */
337 */
336 Q_SCRIPTABLE quint32 GetSessionIdleTime() const;
338 Q_SCRIPTABLE quint32 GetSessionIdleTime() const;
337
339
340+ Q_SCRIPTABLE void SimulateUserActivity();
341+
338Q_SIGNALS:
342Q_SIGNALS:
339 void ActiveChanged(bool active);
343 void ActiveChanged(bool active);
340};
344};