X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBEditingDialog.py;h=075a739450653cee43375fb056d6ac4bccb86200;hb=f35b6066ecdeffcc8998dd566b5246bdcf43c548;hp=825fb1c67dbc4b0ae7a7912b5b7c819ae4a42af2;hpb=e8f7cd556a3b0678b3edf97250cd8ec293d251d5;p=bertos.git diff --git a/wizard/BEditingDialog.py b/wizard/BEditingDialog.py index 825fb1c6..075a7394 100644 --- a/wizard/BEditingDialog.py +++ b/wizard/BEditingDialog.py @@ -39,11 +39,14 @@ import os from PyQt4.QtCore import * from PyQt4.QtGui import * -from bertos_utils import loadBertosProject, bertosVersion, getToolchainName, createBertosProject +from bertos_utils import bertosVersion, getToolchainName, createBertosProject from BToolchainPage import BToolchainPage from BVersionPage import BVersionPage + +from BProject import BProject + import qvariant_converter -import BModulePage +from BModulePage import BModulePage import bertos_utils class BEditingDialog(QDialog): @@ -57,18 +60,18 @@ class BEditingDialog(QDialog): def setupUi(self): layout = QVBoxLayout() - self.module_page = BModulePage.BModulePage() + self.module_page = BModulePage() layout.addWidget(self.module_page) - frequency_layout = QHBoxLayout() - frequency_layout.addWidget(QLabel(self.tr("CPU frequency"))) - self.cpu_frequency_spinbox = QDoubleSpinBox() - self.cpu_frequency_spinbox.setSuffix("Hz") - self.cpu_frequency_spinbox.setRange(1, 1000000000) - self.cpu_frequency_spinbox.setSingleStep(1000) - self.cpu_frequency_spinbox.setDecimals(0) - frequency_layout.addWidget(self.cpu_frequency_spinbox) - frequency_layout.addStretch() - layout.addLayout(frequency_layout) + frequency_layout = QHBoxLayout() + frequency_layout.addWidget(QLabel(self.tr("CPU frequency"))) + self.cpu_frequency_spinbox = QDoubleSpinBox() + self.cpu_frequency_spinbox.setSuffix("Hz") + self.cpu_frequency_spinbox.setRange(1, 1000000000) + self.cpu_frequency_spinbox.setSingleStep(1000) + self.cpu_frequency_spinbox.setDecimals(0) + frequency_layout.addWidget(self.cpu_frequency_spinbox) + frequency_layout.addStretch() + layout.addLayout(frequency_layout) button_layout = QHBoxLayout() self.advanced_button = QToolButton() self.setupMenu() @@ -125,33 +128,38 @@ class BEditingDialog(QDialog): self.tr("Changing the BeRTOS version will destroy all the modification done on the BeRTOS sources"), QMessageBox.Ok | QMessageBox.Cancel ) == QMessageBox.Ok: - qApp.setOverrideCursor(QCursor(Qt.WaitCursor)) - dialog.version_page.setProjectInfo("SOURCES_PATH", version) - dialog.version_page.setProjectInfo("OLD_SOURCES_PATH", current_version) - enabled_modules = bertos_utils.enabledModules(dialog.version_page.project()) - old_configuration = dialog.version_page.projectInfo("CONFIGURATIONS") - dialog.version_page.project().loadSourceTree() - bertos_utils.loadModuleData(dialog.version_page.project()) - new_configuration = dialog.version_page.projectInfo("CONFIGURATIONS") - merged_configuration = {} - for conf in new_configuration: - if conf in old_configuration: - configuration = bertos_utils.updateConfigurationValues(new_configuration[conf], old_configuration[conf]) - else: - configuration = new_configuration[conf] - merged_configuration[conf] = configuration - dialog.version_page.setProjectInfo("CONFIGURATIONS", merged_configuration) - bertos_utils.setEnabledModules(dialog.version_page.project(), enabled_modules) - self.module_page.fillModuleTree() - qApp.restoreOverrideCursor() + try: + qApp.setOverrideCursor(QCursor(Qt.WaitCursor)) + dialog.version_page.setProjectInfo("SOURCES_PATH", version) + dialog.version_page.setProjectInfo("OLD_SOURCES_PATH", current_version) + enabled_modules = bertos_utils.enabledModules(dialog.version_page.project()) + old_configuration = dialog.version_page.projectInfo("CONFIGURATIONS") + dialog.version_page.project().loadSourceTree() + QApplication.instance().project.reloadCpuInfo() + QApplication.instance().project.loadModuleData() + new_configuration = dialog.version_page.projectInfo("CONFIGURATIONS") + merged_configuration = {} + for conf in new_configuration: + if conf in old_configuration: + configuration = bertos_utils.updateConfigurationValues(new_configuration[conf], old_configuration[conf]) + else: + configuration = new_configuration[conf] + merged_configuration[conf] = configuration + dialog.version_page.setProjectInfo("CONFIGURATIONS", merged_configuration) + bertos_utils.setEnabledModules(dialog.version_page.project(), enabled_modules) + self.module_page.fillModuleTree() + finally: + qApp.restoreOverrideCursor() else: # Rollback version to the previous selected one. dialog.version_page.setProjectInfo("SOURCES_PATH", current_version) def apply(self): - qApp.setOverrideCursor(QCursor(Qt.WaitCursor)) - createBertosProject(self.module_page.project(), edit=True) - qApp.restoreOverrideCursor() + try: + qApp.setOverrideCursor(QCursor(Qt.WaitCursor)) + createBertosProject(self.module_page.project(), edit=True) + finally: + qApp.restoreOverrideCursor() self.accept() def toolchains(self): @@ -231,7 +239,7 @@ def main(): print "Invalid usage: use project_file" sys.exit() app = QApplication([]) - app.project = loadBertosProject(project_file) + app.project = BProject(project_file) app.settings = QSettings("Develer", "Bertos Configurator") dialog = BEditingDialog() dialog.show()