X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBEditingDialog.py;h=7b7589e6756aaf734dae343274657d2d71afd400;hb=77bdd98fcc3f80870fcdb92425f6eac61d5880a0;hp=e98edf861ce4329d2bd21c4d5e3c7ff81ea39848;hpb=d297296f0d4c05e5b80a23a5a60255351f636773;p=bertos.git diff --git a/wizard/BEditingDialog.py b/wizard/BEditingDialog.py index e98edf86..7b7589e6 100644 --- a/wizard/BEditingDialog.py +++ b/wizard/BEditingDialog.py @@ -84,6 +84,7 @@ class BEditingDialog(QDialog): layout.addLayout(button_layout) self.setLayout(layout) self.setWindowTitle(self.tr("Edit \"%1\" project").arg(os.path.basename(self.module_page.projectInfo("PROJECT_PATH")))) + self.setWindowIcon(QIcon(":/images/appicon.png")) def setupMenu(self): self.menu = QMenu(self.tr("Advanced options")) @@ -108,52 +109,13 @@ class BEditingDialog(QDialog): self.module_page.setProjectInfo("SELECTED_FREQ", frequency) def changeToolchain(self): - dialog = QDialog() - layout = QVBoxLayout() - toolchain_page = BToolchainPage() - current_toolchain = toolchain_page.projectInfo("TOOLCHAIN") - toolchain_page.reloadData() - # TODO: to be moved in BToolchainPage - for toolchain_row in range(toolchain_page.pageContent.toolchainList.count()): - toolchain = qvariant_converter.getStringDict(toolchain_page.pageContent.toolchainList.item(toolchain_row).data(Qt.UserRole)) - if toolchain["path"] == current_toolchain["path"]: - toolchain_page.pageContent.toolchainList.setCurrentRow(toolchain_row) - toolchain_page.selectionChanged() - break - 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.setWindowTitle(self.tr("Change toolchain")) + dialog = BToolchainDialog() if dialog.exec_(): - toolchain = qvariant_converter.getStringDict(toolchain_page.currentItem().data(Qt.UserRole)) - toolchain_page.setProjectInfo("TOOLCHAIN", toolchain) + toolchain = qvariant_converter.getStringDict(dialog.toolchain_page.currentItem().data(Qt.UserRole)) + dialog.toolchain_page.setProjectInfo("TOOLCHAIN", toolchain) 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) - current_version = version_page.projectInfo("SOURCES_PATH") - dialog.setWindowTitle(self.tr("Change BeRTOS version")) + dialog = BVersionDialog() if dialog.exec_(): version = qvariant_converter.getString(version_page.currentItem().data(Qt.UserRole)) if version != current_version: @@ -163,6 +125,7 @@ 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)) version_page.setProjectInfo("SOURCES_PATH", version) version_page.setProjectInfo("OLD_SOURCES_PATH", current_version) enabled_modules = bertos_utils.enabledModules(version_page.project()) @@ -180,12 +143,15 @@ class BEditingDialog(QDialog): version_page.setProjectInfo("CONFIGURATIONS", merged_configuration) bertos_utils.setEnabledModules(version_page.project(), enabled_modules) self.module_page.fillModuleTree() + qApp.restoreOverrideCursor() else: # Rollback version to the previous selected one. version_page.setProjectInfo("SOURCES_PATH", current_version) def apply(self): + qApp.setOverrideCursor(QCursor(Qt.WaitCursor)) createBertosProject(self.module_page.project(), edit=True) + qApp.restoreOverrideCursor() self.accept() def toolchains(self): @@ -206,6 +172,56 @@ class BEditingDialog(QDialog): def setCurrentVersion(self, version): self.module_page.setProjectInfo("SOURCES_PATH", version) +class BToolchainDialog(QDialog): + def __init__(self): + QDialog.__init__(self) + self.setWindowIcon(QIcon(":/images/appicon.png")) + layout = QVBoxLayout() + toolchain_page = BToolchainPage() + current_toolchain = toolchain_page.projectInfo("TOOLCHAIN") + toolchain_page.reloadData() + # TODO: to be moved in BToolchainPage + for toolchain_row in range(toolchain_page.pageContent.toolchainList.count()): + toolchain = qvariant_converter.getStringDict(toolchain_page.pageContent.toolchainList.item(toolchain_row).data(Qt.UserRole)) + if current_toolchain and toolchain["path"] == current_toolchain["path"]: + toolchain_page.pageContent.toolchainList.setCurrentRow(toolchain_row) + toolchain_page.selectionChanged() + break + self.toolchain_page = toolchain_page + 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) + self.connect(cancel_button, SIGNAL("clicked()"), self.reject) + layout.addLayout(button_layout) + self.setLayout(layout) + self.connect(ok_button, SIGNAL("clicked()"), self.accept) + self.setWindowTitle(self.tr("Change toolchain")) + +class BVersionDialog(QDialog): + def __init__(self): + QDialog.__init__(self) + self.setWindowIcon(QIcon(":/images/appicon.png")) + layout = QVBoxLayout() + version_page = BVersionPage() + version_page.reloadData() + self.version_page = version_page + 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) + self.connect(cancel_button, SIGNAL("clicked()"), self.reject) + layout.addLayout(button_layout) + self.setLayout(layout) + self.connect(ok_button, SIGNAL("clicked()"), self.accept) + current_version = version_page.projectInfo("SOURCES_PATH") + self.setWindowTitle(self.tr("Change BeRTOS version")) def main():