aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-09-29 18:17:07 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-09-29 18:17:07 +0300
commit6a338a8247e137f13deaff2006c74943057c9f27 (patch)
tree4ff95d175d32cf7787e6ff6f97b8e9164ffc9fcf
parent5b31a35e493ea1d39d156b4d7b755760c25519ea (diff)
downloadmeson-6a338a8247e137f13deaff2006c74943057c9f27.zip
meson-6a338a8247e137f13deaff2006c74943057c9f27.tar.gz
meson-6a338a8247e137f13deaff2006c74943057c9f27.tar.bz2
Display options in a form.
-rwxr-xr-xmesongui.py43
-rw-r--r--mesonmain.ui4
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>