summaryrefslogtreecommitdiffstats
path: root/src/client/util/platform/blankscreen_X11.cpp
diff options
context:
space:
mode:
authorJonathan Bauer2017-11-15 10:05:29 +0100
committerJonathan Bauer2017-11-15 10:05:29 +0100
commita98536b9fbda7d7fb2ff78906c1a2d6331f33df2 (patch)
tree4cc26402b6f18228773f0b4301477ac8325342e8 /src/client/util/platform/blankscreen_X11.cpp
parent[client] Delay showBar by 750ms (diff)
downloadpvs2-a98536b9fbda7d7fb2ff78906c1a2d6331f33df2.tar.gz
pvs2-a98536b9fbda7d7fb2ff78906c1a2d6331f33df2.tar.xz
pvs2-a98536b9fbda7d7fb2ff78906c1a2d6331f33df2.zip
port to qt5
* got rid of the Win32/X11 differentiation * due to QT5, additional packages are needed to compile ** libqt5x11extras5-dev ** libqt5svg5-dev
Diffstat (limited to 'src/client/util/platform/blankscreen_X11.cpp')
-rw-r--r--src/client/util/platform/blankscreen_X11.cpp100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/client/util/platform/blankscreen_X11.cpp b/src/client/util/platform/blankscreen_X11.cpp
deleted file mode 100644
index ee644ca..0000000
--- a/src/client/util/platform/blankscreen_X11.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#include "blankscreen.h"
-
-#include <QApplication>
-#include <QProcess>
-#include <QDesktopWidget>
-#include <QTimer>
-
-#include <X11/Xlib.h>
-#include <X11/cursorfont.h>
-
-#include <cassert>
-#include <cstring>
-
-struct BlankScreen_Sysdep {
- Display *dpy;
-};
-
-BlankScreen::BlankScreen() : QDialog(NULL)
-{
- _sysdep = new BlankScreen_Sysdep;
- _sysdep->dpy = XOpenDisplay(NULL);
- if (_sysdep->dpy == NULL)
- return;
-
- setWindowFlags(Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint | Qt::FramelessWindowHint);
- setStyleSheet("background-color:#000");
-
- _locked = false;
- QTimer *upper = new QTimer(this);
- connect(upper, SIGNAL(timeout()), this, SLOT(timer_moveToTop()));
- upper->start(1111);
-}
-
-BlankScreen::~BlankScreen()
-{
- unlock();
- if (_sysdep->dpy != NULL) {
- XCloseDisplay(_sysdep->dpy);
- }
- delete _sysdep;
-}
-
-bool BlankScreen::lock(const QString& message)
-{
- if (_locked)
- return true;
- if (_sysdep->dpy == NULL)
- return false;
-
- _message = message;
-
- this->setGeometry(QApplication::desktop()->geometry());
- this->showFullScreen();
- this->activateWindow();
- this->raise();
-
- // grabbing of keyboard and mouse
- XGrabKeyboard(_sysdep->dpy, DefaultRootWindow(_sysdep->dpy) , false, GrabModeAsync, GrabModeAsync, CurrentTime);
- XGrabPointer(_sysdep->dpy, DefaultRootWindow(_sysdep->dpy) , false, 0, GrabModeAsync, GrabModeAsync, None, 0, CurrentTime);
-
-
- QProcess ungrabP;
- ungrabP.start("/bin/bash", QStringList() << "/opt/openslx/pvs2/kb-lock.sh");
- ungrabP.waitForFinished();
-
- _locked = true;
- return true;
-}
-
-bool BlankScreen::unlock()
-{
- this->hide();
- if (!_locked)
- return true;
- if (_sysdep->dpy == NULL)
- return false;
-
- // ungrabbing of keyboard and mouse
- XUngrabPointer(_sysdep->dpy, CurrentTime);
- XUngrabKeyboard(_sysdep->dpy, CurrentTime);
-
- XFlush(_sysdep->dpy);
-
- /* start the kb-unlock.sh script */
- QProcess regrabP;
- regrabP.start("/bin/bash", QStringList() << "/opt/openslx/pvs2/kb-unlock.sh");
- regrabP.waitForFinished();
-
- _locked = false;
- return true;
-}
-
-void BlankScreen::timer_moveToTop()
-{
- if (this->isHidden())
- return;
- activateWindow();
- raise();
-}