aboutsummaryrefslogtreecommitdiff
path: root/mesongui.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-09-29 19:35:39 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-09-29 19:35:39 +0300
commit6e4fa81733239da4f48d979d3c755ecf71c226a3 (patch)
tree039076018f1830e8c6882cb75480791bf5905e00 /mesongui.py
parent3f921ea6a54c790f42f28f536fd3636e38d1dcea (diff)
downloadmeson-6e4fa81733239da4f48d979d3c755ecf71c226a3.zip
meson-6e4fa81733239da4f48d979d3c755ecf71c226a3.tar.gz
meson-6e4fa81733239da4f48d979d3c755ecf71c226a3.tar.bz2
Set up directories with launcher.
Diffstat (limited to 'mesongui.py')
-rwxr-xr-xmesongui.py44
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_())