X-Git-Url: https://git.ralfj.de/lilass.git/blobdiff_plain/10076cc52cce774a9d16498db7115f07bfb08112..06344a9d0c2cbd40023d1db4ab966c0577234049:/qt_frontend.py diff --git a/qt_frontend.py b/qt_frontend.py index 62e3b84..b3ee61e 100644 --- a/qt_frontend.py +++ b/qt_frontend.py @@ -19,9 +19,9 @@ from screen import RelativeScreenPosition, ScreenSetup try: # Be fine with PyQt4 not being installed - from PyQt4 import QtCore, QtGui, uic + from PyQt5 import QtCore, QtWidgets, uic - class PositionSelection(QtGui.QDialog): + class PositionSelection(QtWidgets.QDialog): def __init__(self, situation): # set up main window super(PositionSelection, self).__init__() @@ -42,12 +42,22 @@ try: syncIfMirror(self.intRes, self.extRes) syncIfMirror(self.extRes, self.intRes) - # connect the update function, and make sure we are in a correct state + # connect the update function self.intEnabled.toggled.connect(self.updateEnabledControls) self.extEnabled.toggled.connect(self.updateEnabledControls) self.relPos.currentIndexChanged.connect(self.updateEnabledControls) + + # if situation has a lastSetup, use its values as initial state + if situation.lastSetup: + last = situation.lastSetup + self.intEnabled.setChecked(last.intResolution is not None) + self.extEnabled.setChecked(last.extResolution is not None) + if last.relPosition: + self.relPos.setCurrentIndex(last.relPosition.value-1) + + # make sure we are in a correct state self.updateEnabledControls() - + def getRelativeScreenPosition(self): idx = self.relPos.currentIndex() return self.relPos.itemData(idx) @@ -95,7 +105,7 @@ try: self.posLabel2.setEnabled(bothEnabled) self.relPos.setEnabled(bothEnabled) # avoid having no screen - self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(intEnabled or extEnabled) + self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setEnabled(intEnabled or extEnabled) def run(self): self.exec_() @@ -109,13 +119,13 @@ except ImportError: # Qt frontend class QtFrontend: def __init__(self): - from PyQt4 import QtGui - self.app = QtGui.QApplication(sys.argv) + from PyQt5 import QtWidgets + self.app = QtWidgets.QApplication(sys.argv) print("Qt loaded") def error(self, message): - from PyQt4 import QtGui - QtGui.QMessageBox.critical(None, 'Fatal error', message) + from PyQt5 import QtWidgets + QtWidgets.QMessageBox.critical(None, 'Fatal error', message) def setup(self, situation): return PositionSelection(situation).run() @@ -123,7 +133,7 @@ class QtFrontend: @staticmethod def isAvailable(): try: - import PyQt4 + import PyQt5 return True except ImportError: return False