From: duplo Date: Thu, 23 Sep 2010 14:26:43 +0000 (+0000) Subject: Order the toolchains: X-Git-Tag: 2.6.0~128 X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=fdf9de0d15d7189f399b68ddb44edf03123e1ca1;p=bertos.git Order the toolchains: * valid toolchains * valid toolchains but for different targets * non-valid toolchains This is an attempt to fix #173... NOTE: these lines are not yet tested with more than one toolchain... git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4273 38d2e660-2303-0410-9eaa-f027e97ec537 --- diff --git a/wizard/BToolchainPage.py b/wizard/BToolchainPage.py index 094ff601..d5339c40 100644 --- a/wizard/BToolchainPage.py +++ b/wizard/BToolchainPage.py @@ -229,12 +229,17 @@ class BToolchainPage(BWizardPage): new_data = qvariant_converter.getStringDict(self.pageContent.toolchainList.item(index).data(Qt.UserRole)) new_data.update(infos) item.setData(Qt.UserRole, qvariant_converter.convertStringDict(new_data)) - needed = self.projectInfo("CPU_INFOS") - if "target" in infos and infos["target"].find(needed["TOOLCHAIN"]) != -1: - item.setIcon(QIcon(":/images/ok.png")) - self._valid_items.append(item) - else: - item.setIcon(QIcon(":/images/warning.png")) + item.setIcon(QIcon(":/images/ok.png")) + self._valid_items.append(item) + if "version" in infos and "target" in infos: + item.setText("GCC " + infos["version"] + " - " + infos["target"].strip()) + + def _differentTargetItem(self, index, infos): + item = self.pageContent.toolchainList.item(index) + new_data = qvariant_converter.getStringDict(self.pageContent.toolchainList.item(index).data(Qt.UserRole)) + new_data.update(infos) + item.setData(Qt.UserRole, qvariant_converter.convertStringDict(new_data)) + item.setIcon(QIcon(":/images/warning.png")) if "version" in infos and "target" in infos: item.setText("GCC " + infos["version"] + " - " + infos["target"].strip()) @@ -252,11 +257,26 @@ class BToolchainPage(BWizardPage): filename = qvariant_converter.getStringDict(self.pageContent.toolchainList.item(i).data(Qt.UserRole))["path"] info = self._toolchain_manager.validateToolchain(filename) + valid = [] + different_target = [] + invalid = [] + # Add the item in the list with the appropriate associate data. + needed = self.projectInfo("CPU_INFOS") if info: - self._validItem(i, info) + if "target" in info and info["target"].find(needed["TOOLCHAIN"]) != -1: + valid.append(info) + else: + different_target.append(info) else: - self._invalidItem(i) + invalid.append(info) + + for i, info in enumerate(valid): + self._validItem(i, info) + for i, info in enumerate(different_target): + self._differentTargetItem(i + len(valid), info) + for i, info in enumerate(invalid): + self._invalidItem(i + len(valid) + len(different_target)) def isDefaultToolchain(self, toolchain): """