diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-29 19:35:39 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-29 19:35:39 +0300 |
commit | 6e4fa81733239da4f48d979d3c755ecf71c226a3 (patch) | |
tree | 039076018f1830e8c6882cb75480791bf5905e00 /mesongui.py | |
parent | 3f921ea6a54c790f42f28f536fd3636e38d1dcea (diff) | |
download | meson-6e4fa81733239da4f48d979d3c755ecf71c226a3.zip meson-6e4fa81733239da4f48d979d3c755ecf71c226a3.tar.gz meson-6e4fa81733239da4f48d979d3c755ecf71c226a3.tar.bz2 |
Set up directories with launcher.
Diffstat (limited to 'mesongui.py')
-rwxr-xr-x | mesongui.py | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/mesongui.py b/mesongui.py index d322899..e2e5731 100755 --- a/mesongui.py +++ b/mesongui.py @@ -21,6 +21,7 @@ from PyQt5.QtWidgets import QApplication, QMainWindow, QHeaderView from PyQt5.QtWidgets import QComboBox, QCheckBox from PyQt5.QtCore import QAbstractItemModel, QModelIndex, QVariant, QTimer import PyQt5.QtCore +import PyQt5.QtWidgets class PathModel(QAbstractItemModel): def __init__(self, coredata): @@ -372,10 +373,47 @@ class MesonGui(): def save(self, foo): pickle.dump(self.coredata, open(self.coredata_file, 'wb')) +class Starter(): + def __init__(self, sdir): + uifile = 'mesonstart.ui' + self.ui = uic.loadUi(uifile) + self.ui.source_entry.setText(sdir) + self.ui.show() + self.dialog = PyQt5.QtWidgets.QFileDialog() + if len(sdir) == 0: + self.dialog.setDirectory(os.getcwd()) + else: + self.dialog.setDirectory(sdir) + self.ui.source_browse_button.clicked.connect(self.src_browse_clicked) + self.ui.build_browse_button.clicked.connect(self.build_browse_clicked) + self.ui.cross_browse_button.clicked.connect(self.cross_browse_clicked) + + def src_browse_clicked(self): + self.dialog.setFileMode(2) + if self.dialog.exec(): + self.ui.source_entry.setText(self.dialog.selectedFiles()[0]) + + def build_browse_clicked(self): + self.dialog.setFileMode(2) + if self.dialog.exec(): + self.ui.build_entry.setText(self.dialog.selectedFiles()[0]) + + def cross_browse_clicked(self): + self.dialog.setFileMode(1) + if self.dialog.exec(): + self.ui.cross_entry.setText(self.dialog.selectedFiles()[0]) + if __name__ == '__main__': app = QApplication(sys.argv) - if len(sys.argv) != 2: - print(sys.argv[0], "<build dir>") + if len(sys.argv) == 1: + arg = "" + elif len(sys.argv) == 2: + arg = sys.argv[1] + else: + print(sys.argv[0], "<build or source dir>") sys.exit(1) - gui = MesonGui(sys.argv[1]) + if os.path.exists(os.path.join(arg, 'meson-private/coredata.dat')): + gui = MesonGui(arg) + else: + runner = Starter(arg) sys.exit(app.exec_()) |