port to Qt5
authorRalf Jung <post@ralfj.de>
Mon, 21 Sep 2015 15:03:51 +0000 (17:03 +0200)
committerRalf Jung <post@ralfj.de>
Mon, 21 Sep 2015 15:03:51 +0000 (17:03 +0200)
README.rst
qt_frontend.py

index 56ae9d28da4236b5a6b878989d72c001ea023d18..0e06f63a46d6943598b0cc20b9aaba5e85bf460c 100644 (file)
@@ -29,8 +29,8 @@ Simply run ``lilass`` to start the interactive mode. A window will pop up,
 allowing you to select which screens are enabled, their resolution, and how they 
 are positioned relatively to each other. The option ``--frontend`` (or ``-f``) 
 can be used to choose the frontend which opens the window. Currently, the 
 allowing you to select which screens are enabled, their resolution, and how they 
 are positioned relatively to each other. The option ``--frontend`` (or ``-f``) 
 can be used to choose the frontend which opens the window. Currently, the 
-frontends ``qt`` and ``zenity`` are available. LiLaSS attempts to choose an 
-adequate frontend automatically.
+frontends ``qt`` (using Qt5) and ``zenity`` are available. LiLaSS attempts to
+choose an adequate frontend automatically.
 
 The option ``--relative-position`` (``-r``) suppresses the interactive 
 configuration. Instead, the given given option (``left``, ``right``, ``above``, 
 
 The option ``--relative-position`` (``-r``) suppresses the interactive 
 configuration. Instead, the given given option (``left``, ``right``, ``above``, 
index 62e3b842054ce3760668ed8c263314e0d04835cd..6e41d551be0352f2741188a4431e976bd6b5391c 100644 (file)
@@ -19,9 +19,9 @@ from screen import RelativeScreenPosition, ScreenSetup
 
 try:
     # Be fine with PyQt4 not being installed
 
 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__()
         def __init__(self, situation):
             # set up main window
             super(PositionSelection, self).__init__()
@@ -95,7 +95,7 @@ try:
             self.posLabel2.setEnabled(bothEnabled)
             self.relPos.setEnabled(bothEnabled)
             # avoid having no screen
             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_()
         
         def run(self):
             self.exec_()
@@ -109,13 +109,13 @@ except ImportError:
 # Qt frontend
 class QtFrontend:
     def __init__(self):
 # 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):
         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()
     
     def setup(self, situation):
         return PositionSelection(situation).run()
@@ -123,7 +123,7 @@ class QtFrontend:
     @staticmethod
     def isAvailable():
         try:
     @staticmethod
     def isAvailable():
         try:
-            import PyQt4
+            import PyQt5
             return True
         except ImportError:
             return False
             return True
         except ImportError:
             return False