X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBBoardPage.py;h=4553da77d2f67c92a72d4db5c374c4bc14ad118e;hb=f884c67ed85598875ef683987323fd6085e01e14;hp=848b0eeb07065cf7a55fa9a136c765eda1317fbc;hpb=e3892547e4cd75c1ec039e42ff7db425be9d7b72;p=bertos.git diff --git a/wizard/BBoardPage.py b/wizard/BBoardPage.py index 848b0eeb..4553da77 100644 --- a/wizard/BBoardPage.py +++ b/wizard/BBoardPage.py @@ -33,6 +33,8 @@ # Author: Lorenzo Berni # +import os + from PyQt4.QtCore import * from PyQt4.QtGui import * @@ -91,7 +93,7 @@ class BBoardPage(BWizardPage): """ Overload of the BWizardPage reloadData method. """ - pass + self._fillPresetTree() #### @@ -100,3 +102,26 @@ class BBoardPage(BWizardPage): #### + def _fillPresetTree(self): + self.pageContent.boardTree.clear() + self.project.loadProjectPresets() + preset_tree = self.project.info("PRESET_TREE") + for obj in preset_tree['children']: + self._createPresetNode(self.pageContent.boardTree, obj) + + def _createPresetNode(self, parent, obj): + item_name = obj['info'].get('name', obj['info']['filename']) + item = QTreeWidgetItem(parent, [item_name]) + item.setIcon(0, QIcon(self._getNodeIcon(obj))) + children_dict = obj['children'] + for child in children_dict: + self._createPresetNode(item, child) + + def _getNodeIcon(self, obj): + icon_file = os.path.join(obj['info']['path'], const.PREDEFINED_BOARD_ICON_FILE) + if os.path.exists(icon_file): + return icon_file + elif obj['children']: + return const.PREDEFINED_BOARD_DEFAULT_DIR_ICON + else: + return const.PREDEFINED_BOARD_DEFAULT_PROJECT_ICON