Add some modules.
[bertos.git] / wizard / BCreationPage.py
index b58c83c524d0ec6f12fbc0e3e57445c2da5992e2..42a419cb22fcc1d144311e4e303bda5244ee84da 100644 (file)
@@ -9,6 +9,8 @@
 # Author: Lorenzo Berni <duplo@develer.com>
 #
 
+import os
+
 from PyQt4.QtGui import *
 
 from BWizardPage import *
@@ -25,16 +27,61 @@ class BCreationPage(BWizardPage):
         self._connectSignals()
         self._completed = False
     
-    def reloadData(self):
-        self._completed = False
-        self._setupUi()
-    
     def _setupUi(self):
         self._confirmGroup = QWidgetGroup(self.pageContent.summaryTree,
                                             self.pageContent.createButton)
         self._finalGroup = QWidgetGroup(self.pageContent.iconLabel,
                                             self.pageContent.textLabel)
         self._finalGroup.setVisible(False)
+        summary = self.pageContent.summaryTree
+        summary.setHeaderHidden(True)
+        summary.setColumnCount(1)
+    
+    def reloadData(self):
+        self._completed = False
+        self._setupUi()
+        self.pageContent.summaryTree.clear()
+        topLevel = []
+        folderTitle = QTreeWidgetItem(QStringList([self.tr("Project folder")]))
+        folderItem = QTreeWidgetItem(folderTitle, QStringList([os.path.normpath(self._projectInfoRetrieve("PROJECT_PATH"))]))
+        topLevel.append(folderTitle)
+        versionTitle = QTreeWidgetItem(QStringList([self.tr("BeRTOS version")]))
+        sources_path = self._projectInfoRetrieve("SOURCES_PATH")
+        version = QTreeWidgetItem(versionTitle, QStringList([self.tr("version: ") + bertos_utils.bertosVersion(sources_path)]))
+        sourcePath = QTreeWidgetItem(versionTitle, QStringList([self.tr("path: ") + os.path.normpath(sources_path)]))
+        topLevel.append(versionTitle)
+        cpuTitle = QTreeWidgetItem(QStringList([self.tr("CPU")]))
+        cpuName = QTreeWidgetItem(cpuTitle, QStringList([self.tr("cpu name: ") + self._projectInfoRetrieve("CPU_NAME")]))
+        topLevel.append(cpuTitle)
+        toolchainTitle = QTreeWidgetItem(QStringList([self.tr("Toolchain")]))
+        toolchainInfo = self._projectInfoRetrieve("TOOLCHAIN")
+        if "target" in toolchainInfo.keys():
+            toolchainTarget = QTreeWidgetItem(toolchainTitle, QStringList([self.tr("target: " + toolchainInfo["target"])]))
+        if "version" in toolchainInfo.keys():
+            toolchainTarget = QTreeWidgetItem(toolchainTitle, QStringList([self.tr("version: " + "GCC " + toolchainInfo["version"] + " (" + toolchainInfo["build"] + ")")]))
+        toolchainPath = QTreeWidgetItem(toolchainTitle, QStringList([self.tr("path: " + os.path.normpath(toolchainInfo["path"]))]))
+        topLevel.append(toolchainTitle)
+        moduleTitle = QTreeWidgetItem(QStringList([self.tr("Modules")]))
+        configurations = self._projectInfoRetrieve("CONFIGURATIONS")
+        moduleCategories = {}
+        for module, information in self._projectInfoRetrieve("MODULES").items():
+            if information["enabled"]:
+                if information["category"] not in moduleCategories.keys():
+                    moduleCategories[information["category"]] = []
+                moduleItem = QTreeWidgetItem(QStringList([module + " - " + information["description"]]))
+                moduleCategories[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]
+                        configurationItem = QTreeWidgetItem(moduleItem, QStringList([brief + ": " + data["value"]]))
+        for key, value in moduleCategories.items():
+            categoryItem = QTreeWidgetItem(moduleTitle, QStringList([key]))
+            categoryItem.addChildren(value)
+        topLevel.append(moduleTitle)
+        self.pageContent.summaryTree.insertTopLevelItems(0, topLevel)
     
     def _connectSignals(self):
         self.connect(self.pageContent.createButton, SIGNAL("clicked(bool)"), self._createProject)