mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-09-28 23:41:14 +12:00
Fullscreen locker blocks other screens. Giark gniark.
This commit is contained in:
parent
13c4cbbfbf
commit
a022a1d1b4
2 changed files with 17 additions and 12 deletions
|
@ -245,14 +245,3 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
def setDict(self, dct):
|
||||
self.currentDict = dct
|
||||
self.dictChanged.emit(dct)
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
if event.key() in [Qt.Key_Escape, Qt.Key_F11] and self._fullscreen:
|
||||
mainWindow().show()
|
||||
self.stack.setStyleSheet("")
|
||||
self.setGeometry(self._geometry)
|
||||
self.setParent(self._parent)
|
||||
self._parent.layout().insertWidget(1, self)
|
||||
self._fullscreen = False
|
||||
else:
|
||||
QWidget.keyPressEvent(self, event)
|
|
@ -20,6 +20,7 @@ class locker(QWidget, Ui_locker):
|
|||
self._btnText = None
|
||||
self._words = None
|
||||
self._target = None
|
||||
self._blackout = []
|
||||
|
||||
self.timer = QTimer(self)
|
||||
self.timer.setSingleShot(True)
|
||||
|
@ -37,6 +38,18 @@ class locker(QWidget, Ui_locker):
|
|||
self.btnLock.clicked.connect(self.lock)
|
||||
|
||||
def lock(self):
|
||||
# Block others screens
|
||||
desktop = qApp.desktop()
|
||||
self._blackout.clear()
|
||||
if desktop.screenCount() > 1:
|
||||
for d in range(desktop.screenCount()):
|
||||
if desktop.screenNumber(self) != d:
|
||||
w = QWidget()
|
||||
w.setStyleSheet("background: black;")
|
||||
w.move(desktop.screenGeometry(d).topLeft())
|
||||
w.showFullScreen()
|
||||
self._blackout.append(w)
|
||||
|
||||
if self.rbtnWordTarget.isChecked():
|
||||
self._target = self._words + self.spnWordTarget.value()
|
||||
|
||||
|
@ -51,6 +64,9 @@ class locker(QWidget, Ui_locker):
|
|||
self.lockChanged.emit(True)
|
||||
|
||||
def unlock(self):
|
||||
# Remove black screens
|
||||
self._blackout.clear()
|
||||
|
||||
self.setEnabled(True)
|
||||
self.btnLock.setText(self._btnText)
|
||||
self.timer.stop()
|
||||
|
|
Loading…
Reference in a new issue