#
# Copyright 2008 Develer S.r.l. (http://www.develer.com/)
#
-# $Id$
#
# Author: Lorenzo Berni <duplo@develer.com>
#
self.connect(self.pageContent.searchButton, SIGNAL("clicked()"), self.searchToolchain)
self.connect(self.pageContent.checkButton, SIGNAL("clicked()"), self.validateAllToolchains)
- def reloadData(self):
+ def reloadData(self, previous_id=None):
"""
Overload of the BWizard reloadData method.
"""
- self._clearList()
- self.setupUi()
- self._populateToolchainList()
- if len(self._valid_items) >= 1:
- self.pageContent.toolchainList.setCurrentItem(self._valid_items[0])
+ if previous_id is None or previous_id < self.wizard().currentId():
+ self._clearList()
+ self.setupUi()
+ self._populateToolchainList()
+ if len(self._valid_items) >= 1:
+ self.pageContent.toolchainList.setCurrentItem(self._valid_items[0])
####
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())
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):
"""