12,925
回編集
編集の要約なし |
(→画面のロック) |
||
280行目: | 280行目: | ||
== 画面のロック == | == 画面のロック == | ||
QDBusモジュールを使用して、GNOMEスクリーンセーバーのD-Busインターフェースに接続して、Lockメソッドを呼び出してスクリーンをロックしている。<br> | |||
<br> | |||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
#include <QDBus> | |||
#include <QMessageBox> | |||
void Converter::lock() | void Converter::lock() | ||
{ | { | ||
QDBusInterface screensaver("org.gnome.ScreenSaver", "/org/gnome/ScreenSaver", "org.gnome.ScreenSaver"); | |||
{ | |||
if (!screensaver.isValid()) { | |||
QMessageBox::warning(this, "Error", "Unable to connect to GNOME ScreenSaver.", QMessageBox::Ok); | |||
return; | |||
} | |||
QDBusReply<void> reply = screensaver.call("Lock"); | |||
if (!reply.isValid()) { | |||
QMessageBox::warning(this, "Error", "Unable to lock computer: " + reply.error().message(), QMessageBox::Ok); | |||
} | } | ||
} | } |