diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-29 18:17:07 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-29 18:17:07 +0300 |
commit | 6a338a8247e137f13deaff2006c74943057c9f27 (patch) | |
tree | 4ff95d175d32cf7787e6ff6f97b8e9164ffc9fcf | |
parent | 5b31a35e493ea1d39d156b4d7b755760c25519ea (diff) | |
download | meson-6a338a8247e137f13deaff2006c74943057c9f27.zip meson-6a338a8247e137f13deaff2006c74943057c9f27.tar.gz meson-6a338a8247e137f13deaff2006c74943057c9f27.tar.bz2 |
Display options in a form.
-rwxr-xr-x | mesongui.py | 43 | ||||
-rw-r--r-- | mesonmain.ui | 4 |
2 files changed, 44 insertions, 3 deletions
diff --git a/mesongui.py b/mesongui.py index 694ef8c..b4ebc47 100755 --- a/mesongui.py +++ b/mesongui.py @@ -18,6 +18,7 @@ import sys, os, pickle, time, shutil import build, coredata, environment from PyQt5 import uic from PyQt5.QtWidgets import QApplication, QMainWindow, QHeaderView +from PyQt5.QtWidgets import QComboBox, QCheckBox from PyQt5.QtCore import QAbstractItemModel, QModelIndex, QVariant, QTimer import PyQt5.QtCore @@ -223,6 +224,42 @@ class CoreModel(QAbstractItemModel): def parent(self, index): return QModelIndex() +class OptionForm: + def __init__(self, cdata, form): + self.coredata = cdata + self.form = form + combo = QComboBox() + combo.addItem('plain') + combo.addItem('debug') + combo.addItem('release') + combo.setCurrentText(self.coredata.buildtype) + combo.currentTextChanged.connect(self.build_type_changed) + self.form.addRow('Build type', combo) + strip = QCheckBox("") + strip.stateChanged.connect(self.strip_changed) + self.form.addRow('Strip on install', strip) + coverage = QCheckBox("") + coverage.stateChanged.connect(self.coverage_changed) + self.form.addRow('Enable coverage', coverage) + + def build_type_changed(self, newtype): + print(newtype) + self.coredata.buildtype = newtype + + def strip_changed(self, newState): + if newState == 0: + ns = False + else: + ns = True + self.coredata.strip = ns + + def coverage_changed(self, newState): + if newState == 0: + ns = False + else: + ns = True + self.coredata.coverage = ns + class ProcessRunner(): def __init__(self, rundir, cmdlist): self.cmdlist = cmdlist @@ -275,6 +312,11 @@ class MesonGui(): self.build = pickle.load(open(self.build_file, 'rb')) self.build_dir = self.build.environment.build_dir self.src_dir = self.build.environment.source_dir + self.build_models() + self.options = OptionForm(self.coredata, self.ui.option_form) + self.ui.show() + + def build_models(self): self.path_model = PathModel(self.coredata) self.target_model = TargetModel(self.build) self.dep_model = DependencyModel(self.coredata) @@ -301,7 +343,6 @@ class MesonGui(): self.ui.install_button.clicked.connect(self.install) self.ui.clean_button.clicked.connect(self.clean) self.ui.save_button.clicked.connect(self.save) - self.ui.show() def fill_data(self): self.ui.project_label.setText(self.build.project) diff --git a/mesonmain.ui b/mesonmain.ui index 240aca4..209584b 100644 --- a/mesonmain.ui +++ b/mesonmain.ui @@ -118,7 +118,7 @@ <item row="5" column="0" colspan="2"> <widget class="QTabWidget" name="tabWidget"> <property name="currentIndex"> - <number>1</number> + <number>2</number> </property> <widget class="QWidget" name="core_tab"> <attribute name="title"> @@ -146,7 +146,7 @@ </attribute> <layout class="QGridLayout" name="gridLayout_4"> <item row="0" column="0"> - <widget class="QListView" name="option_view"/> + <layout class="QFormLayout" name="option_form"/> </item> </layout> </widget> |