summaryrefslogtreecommitdiffstats
path: root/src/client/toolbar/toolbar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/toolbar/toolbar.cpp')
-rw-r--r--src/client/toolbar/toolbar.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/client/toolbar/toolbar.cpp b/src/client/toolbar/toolbar.cpp
index 1f98a8b..f620609 100644
--- a/src/client/toolbar/toolbar.cpp
+++ b/src/client/toolbar/toolbar.cpp
@@ -113,6 +113,14 @@ void Toolbar::init()
_ui->btnManager->setVisible(_isManagerPc);
connect(_ui->btnManager, SIGNAL(clicked()), this, SLOT(onBtnManager()));
+ /* setup lock desktop button*/
+ SYSTEM_SETTINGS(conf);
+ bool showLock = conf.value("allowClientQuit").toBool();
+ if (showLock) {
+ connect(_ui->btnLockDesktop, SIGNAL(clicked()), this, SLOT(onBtnLockDesktop()));
+ } else {
+ _ui->btnLockDesktop->setVisible(false);
+ }
/* Connect the signals from vnc server */
connect(VncServer::instance(), SIGNAL(started(int, QString&, QString&)), this, SLOT(onVncServerIsRunning(int)));
@@ -123,6 +131,7 @@ void Toolbar::init()
move(primaryScreen.left() + (primaryScreen.width() - this->width())/2 , primaryScreen.top());
qDebug() << primaryScreen.left() << primaryScreen.top() << primaryScreen.right() << primaryScreen.bottom();
+
/* Setup hide timer */
_hideTimer.setInterval(500);
_hideTimer.setSingleShot(true);
@@ -454,3 +463,9 @@ void Toolbar::onBtnManager() {
_onWorkspace2 = !_onWorkspace2;
switchP.waitForFinished();
}
+
+void Toolbar::onBtnLockDesktop() {
+ QProcess lockP;
+ lockP.start("/bin/sh", QStringList() << "/opt/openslx/pvs2/lockDesktop.sh");
+ lockP.waitForFinished();
+}