diff --git a/config.py b/config.py index 1bef650..9d88080 100644 --- a/config.py +++ b/config.py @@ -3,12 +3,15 @@ from __future__ import print_function -from collections import OrderedDict +import collections as col import json +import os import sys -from PyQt4 import QtCore, QtGui, uic - +try: + from PySide import QtCore, QtGui, QtUiTools +except ImportError: + from PyQt4 import QtCore, QtGui, uic # Python 3 compatibility try: @@ -22,18 +25,27 @@ class Config(QtGui.QDialog): Parses the configuration the user applies """ - def __init__(self): - super(Config, self).__init__() + def __init__(self, *args, **kwargs): + super(Config, self).__init__(*args, **kwargs) + self.modal = True - self.config = OrderedDict() + self.config = col.OrderedDict() - self.ui = uic.loadUi("config.ui") - self.ui.show() + try: + self.ui = QtUiTools.QUiLoader().load("config.ui") + except NameError: + self.ui = uic.loadUi("config.ui") - btn = self.ui.buttonBox.button( + btn_box = self.ui.buttonBox + ok_btn = btn_box.button( QtGui.QDialogButtonBox.Ok ) - btn.clicked.connect(self.accept) + ok_btn.clicked.connect(self.accept) + + def show(self): + self.ui.show() + self.ui.activateWindow() + self.ui.raise_() def accept(self): table = self.ui.tableWidget @@ -50,12 +62,17 @@ def accept(self): "", "*.json" ) + # PySide gives us a tuple. + # The actual filename is first + if isinstance(filename, tuple): + filename = filename[0] with open(filename, "w") as f: json.dump(self.config, f, indent=True) def main(*argv): app = QtGui.QApplication(sys.argv) window = Config() + window.show() return app.exec_() if __name__ == "__main__": diff --git a/config.ui b/config.ui index 63ed4f9..aca09e1 100644 --- a/config.ui +++ b/config.ui @@ -130,7 +130,7 @@ - + <b>Lab Data Configuration Generator</b>