X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBEditingDialog.py;h=6ed7e621c3fab625c664c3666fb58e2709a3aae7;hb=d9d95af77b73deb9a3a923a2dbf4013602770ebd;hp=121a4ed2cbba1e218adfd8b025b3129ded4e575f;hpb=fa2df519d5976cfffc2364bb9b86e68eef24a6e9;p=bertos.git diff --git a/wizard/BEditingDialog.py b/wizard/BEditingDialog.py index 121a4ed2..6ed7e621 100644 --- a/wizard/BEditingDialog.py +++ b/wizard/BEditingDialog.py @@ -39,7 +39,10 @@ import os from PyQt4.QtCore import * from PyQt4.QtGui import * -from bertos_utils import loadBertosProject, bertosVersion +from bertos_utils import loadBertosProject, bertosVersion, getToolchainName, createBertosProject +from BToolchainPage import BToolchainPage +from BVersionPage import BVersionPage +import qvariant_converter import BModulePage class BEditingDialog(QDialog): @@ -47,6 +50,7 @@ class BEditingDialog(QDialog): def __init__(self, parent=None): QDialog.__init__(self, parent) self.setupUi() + self.connectSignals() self.module_page.reloadData() def setupUi(self): @@ -70,28 +74,56 @@ class BEditingDialog(QDialog): def setupMenu(self): self.menu = QMenu(self.tr("Advanced options")) - self.setupToolchainMenu() - self.menu.addMenu(self.toolchain_menu) - self.setupVersionMenu() - self.menu.addMenu(self.version_menu) - - def setupToolchainMenu(self): - self.toolchain_menu = QMenu(self.tr("select toolchain")) - action_group = QActionGroup(self.toolchain_menu) - for toolchain in sorted(self.toolchains()): - action = self.toolchain_menu.addAction(toolchain) - action_group.addAction(action) - action.setCheckable(True) - action.setChecked(True if unicode(action.text()) == self.currentToolchain()["path"] else False) - - def setupVersionMenu(self): - self.version_menu = QMenu(self.tr("select BeRTOS version")) - action_group = QActionGroup(self.version_menu) - for version in sorted([bertosVersion(v) for v in self.versions()]): - action = self.version_menu.addAction(version) - action_group.addAction(action) - action.setCheckable(True) - action.setChecked(True if unicode(action.text()) == self.currentVersion() else False) + self.change_toolchain = QAction(self.tr("Change toolchain"), self) + self.change_bertos_version = QAction(self.tr("Change BeRTOS version"), self) + self.menu.addAction(self.change_toolchain) + self.menu.addAction(self.change_bertos_version) + + def connectSignals(self): + self.connect(self.change_toolchain, SIGNAL("triggered(bool)"), self.changeToolchain) + self.connect(self.change_bertos_version, SIGNAL("triggered(bool)"), self.changeBertosVersion) + self.connect(self.apply_button, SIGNAL("clicked()"), self.apply) + self.connect(self.cancel_button, SIGNAL("clicked()"), self.reject) + + def changeToolchain(self): + dialog = QDialog() + layout = QVBoxLayout() + toolchain_page = BToolchainPage() + toolchain_page.reloadData() + layout.addWidget(toolchain_page) + button_layout = QHBoxLayout() + button_layout.addStretch() + cancel_button = QPushButton(self.tr("Cancel")) + button_layout.addWidget(cancel_button) + ok_button = QPushButton(self.tr("Ok")) + button_layout.addWidget(ok_button) + dialog.connect(cancel_button, SIGNAL("clicked()"), dialog.reject) + layout.addLayout(button_layout) + dialog.setLayout(layout) + dialog.connect(ok_button, SIGNAL("clicked()"), dialog.accept) + dialog.exec_() + + def changeBertosVersion(self): + dialog = QDialog() + layout = QVBoxLayout() + version_page = BVersionPage() + version_page.reloadData() + layout.addWidget(version_page) + button_layout = QHBoxLayout() + button_layout.addStretch() + cancel_button = QPushButton(self.tr("Cancel")) + button_layout.addWidget(cancel_button) + ok_button = QPushButton(self.tr("Ok")) + button_layout.addWidget(ok_button) + dialog.connect(cancel_button, SIGNAL("clicked()"), dialog.reject) + layout.addLayout(button_layout) + dialog.setLayout(layout) + dialog.connect(ok_button, SIGNAL("clicked()"), dialog.accept) + dialog.exec_() + + def apply(self): + createBertosProject(self.module_page.project(), edit=True) + self.accept() def toolchains(self): return self.module_page.toolchains()