- def _connectSignals(self):
- self.connect(self.pageContent.pathBox, SIGNAL("clicked()"), self._updateUi)
- self.connect(self.pageContent.customDirBox, SIGNAL("clicked()"), self._updateUi)
- self.connect(self.pageContent.searchButton, SIGNAL("clicked()"), self._toSearchSubpage)
- self.connect(self.pageContent.cancelButton, SIGNAL("clicked()"), self._toSelectionSubpage)
\ No newline at end of file
+ def removeToolchain(self):
+ if self.pageContent.toolchainList.currentRow() != -1:
+ item = self.pageContent.toolchainList.takeItem(self.pageContent.toolchainList.currentRow())
+ toolchain = qvariant_converter.getStringDict(item.data(Qt.UserRole))["path"]
+ toolchains = self.toolchains()
+ del toolchains[toolchain]
+ self.setToolchains(toolchains)
+
+ def searchToolchain(self):
+ search = BToolchainSearch.BToolchainSearch()
+ self.connect(search, SIGNAL("accepted()"), self._search)
+ search.exec_()
+
+ def validateAllToolchains(self):
+ for i in range(self.pageContent.toolchainList.count()):
+ self.validateToolchain(i)
+
+ def validateToolchain(self, i):
+ filename = qvariant_converter.getStringDict(self.pageContent.toolchainList.item(i).data(Qt.UserRole))["path"]
+ self._validationProcess = QProcess()
+ self._validationProcess.start(filename, ["-v"])
+ self._validationProcess.waitForStarted(1000)
+ if self._validationProcess.waitForFinished(200):
+ description = str(self._validationProcess.readAllStandardError())
+ infos = bertos_utils.getToolchainInfo(description)
+ if len(infos.keys()) >= 4:
+ self._validItem(i, infos)
+ else:
+ self._invalidItem(i)
+ else:
+ self._validationProcess.kill()
+ self._invalidItem(i)
+ toolchains = self.toolchains()
+ toolchains[filename] = True
+ self.setToolchains(toolchains)
+
+ def isComplete(self):
+ if self.pageContent.toolchainList.currentRow() != -1:
+ self._projectInfoStore("TOOLCHAIN",
+ qvariant_converter.getStringDict(self.pageContent.toolchainList.currentItem().data(Qt.UserRole))["path"])
+ return True
+ else:
+ return False
+
+ def reloadData(self):
+ self._clearList()
+ self._updateUi()
+ self._populateToolchainList()
\ No newline at end of file