X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCreationPage.py;h=3f9748445066c037a3f857b36ab450724e32889d;hb=747ba554790ad832c0508b1f79242ba1d493d849;hp=f3e0a115ece1410ecbeca31bf2be4d01b2eb1561;hpb=39cfcb3a18a672e4a5b07710597d074175dad593;p=bertos.git diff --git a/wizard/BCreationPage.py b/wizard/BCreationPage.py index f3e0a115..3f974844 100644 --- a/wizard/BCreationPage.py +++ b/wizard/BCreationPage.py @@ -9,6 +9,8 @@ # Author: Lorenzo Berni # +import os + from PyQt4.QtGui import * from BWizardPage import * @@ -23,34 +25,78 @@ class BCreationPage(BWizardPage): self.setTitle(self.tr("Create the BeRTOS project")) self._setupUi() self._connectSignals() + self._completed = False def _setupUi(self): - self._confirmGroup = QWidgetGroup(self.pageContent.summaryTree, + self._confirm_group = QWidgetGroup(self.pageContent.summaryTree, self.pageContent.createButton) - self._workingGroup = QWidgetGroup(self.pageContent.spinnerLabel) - self._workingGroup.setVisible(False) - self._finalGroup = QWidgetGroup(self.pageContent.iconLabel, + self._final_group = QWidgetGroup(self.pageContent.iconLabel, self.pageContent.textLabel) - self._finalGroup.setVisible(False) + self._final_group.setVisible(False) + summary = self.pageContent.summaryTree + summary.setHeaderHidden(True) + summary.setColumnCount(1) + + def reloadData(self): + self._completed = False + self._setupUi() + self.pageContent.summaryTree.clear() + top_level = [] + folder_title = QTreeWidgetItem(QStringList([self.tr("Project folder")])) + folder_item = QTreeWidgetItem(folder_title, QStringList([os.path.normpath(self._projectInfoRetrieve("PROJECT_PATH"))])) + top_level.append(folder_title) + version_title = QTreeWidgetItem(QStringList([self.tr("BeRTOS version")])) + sources_path = self._projectInfoRetrieve("SOURCES_PATH") + version = QTreeWidgetItem(version_title, QStringList([self.tr("version: ") + bertos_utils.bertosVersion(sources_path)])) + source_path = QTreeWidgetItem(version_title, QStringList([self.tr("path: ") + os.path.normpath(sources_path)])) + top_level.append(version_title) + cpu_title = QTreeWidgetItem(QStringList([self.tr("CPU")])) + cpu_name = QTreeWidgetItem(cpu_title, QStringList([self.tr("cpu name: ") + self._projectInfoRetrieve("CPU_NAME")])) + top_level.append(cpu_title) + toolchain_title = QTreeWidgetItem(QStringList([self.tr("Toolchain")])) + toolchain_info = self._projectInfoRetrieve("TOOLCHAIN") + if "target" in toolchain_info.keys(): + toolchain_target = QTreeWidgetItem(toolchain_title, QStringList([self.tr("target: " + toolchain_info["target"])])) + if "version" in toolchain_info.keys(): + toolchain_target = QTreeWidgetItem(toolchain_title, QStringList([self.tr("version: " + "GCC " + toolchain_info["version"] + " (" + toolchain_info["build"] + ")")])) + toolchain_path = QTreeWidgetItem(toolchain_title, QStringList([self.tr("path: " + os.path.normpath(toolchain_info["path"]))])) + top_level.append(toolchain_title) + module_title = QTreeWidgetItem(QStringList([self.tr("Modules")])) + configurations = self._projectInfoRetrieve("CONFIGURATIONS") + module_categories = {} + for module, information in self._projectInfoRetrieve("MODULES").items(): + if information["enabled"]: + if information["category"] not in module_categories.keys(): + module_categories[information["category"]] = [] + moduleItem = QTreeWidgetItem(QStringList([module + " - " + information["description"]])) + module_categories[information["category"]].append(moduleItem) + if len(information["configuration"]) > 0: + for property, data in configurations[information["configuration"]].items(): + # If the final char of the brief is a dot (".") removes it. + brief = data["brief"] + if brief[-1] == ".": + brief = brief[:-1] + configuration_item = QTreeWidgetItem(moduleItem, QStringList([brief + ": " + data["value"]])) + for key, value in module_categories.items(): + category_item = QTreeWidgetItem(module_title, QStringList([key])) + category_item.addChildren(value) + top_level.append(module_title) + self.pageContent.summaryTree.insertTopLevelItems(0, top_level) def _connectSignals(self): self.connect(self.pageContent.createButton, SIGNAL("clicked(bool)"), self._createProject) def _createProject(self): - self._confirmGroup.setVisible(False) - #self._workingGroup.setVisible(True) - #self._movie = QMovie("images/load_spinner.gif") - #print self._movie.isValid() - #self.pageContent.spinnerLabel.setMovie(self._movie) - #self._movie.start() + QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) + self._confirm_group.setVisible(False) bertos_utils.createBertosProject(self.wizard().project()) - #del self._movie - #self._workingGroup.setVisible(False) - self._finalGroup.setVisible(True) + self._final_group.setVisible(True) + self._completed = True + QApplication.restoreOverrideCursor() self.emit(SIGNAL("completeChanged()")) def isComplete(self): - return self._finalGroup.isVisible() + return self._completed class QWidgetGroup(QObject): """