X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBRoutePage.py;h=5b48a1745291be41c5f4d2e686d5fc2a159dc211;hb=b3275d403a59f8c2b042abcb7a6b168e50105061;hp=ccd0eff05a7a0f8073971fa6b0ccedf480f0494d;hpb=5d1e5edc913578444098feaaffc5756f9460f912;p=bertos.git diff --git a/wizard/BRoutePage.py b/wizard/BRoutePage.py index ccd0eff0..5b48a174 100644 --- a/wizard/BRoutePage.py +++ b/wizard/BRoutePage.py @@ -44,6 +44,7 @@ from BToolchainPage import BToolchainPage import const import qvariant_converter from bertos_utils import presetList +from toolchain_manager import ToolchainManager class BRoutePage(BWizardPage): """ @@ -62,6 +63,7 @@ class BRoutePage(BWizardPage): Overload of the QWizardPage isComplete method. """ self.setProjectInfo("EMPTY_MAIN", self.empty_main) + self.setProjectInfo("BASE_MODE", not self.advanced) return True def nextId(self): @@ -73,7 +75,27 @@ class BRoutePage(BWizardPage): if self.advanced: return self.wizard().pageIndex(BToolchainPage) else: - return self.wizard().pageIndex(BOutputPage) + cpu_info = self.projectInfo("CPU_INFOS") + if cpu_info: + target = cpu_info["TOOLCHAIN"] + # Try to find a suitable toolchain automatically + tm = ToolchainManager() + suitable_toolchains = tm.suitableToolchains(target) + if len(suitable_toolchains) == 1: + toolchain = suitable_toolchains.pop() + toolchain_info = tm._validateToolchain(toolchain) + toolchain_info["path"] = toolchain + self.setProjectInfo("TOOLCHAIN", toolchain_info) + return self.wizard().pageIndex(BOutputPage) + else: + return self.wizard().pageIndex(BToolchainPage) + else: + # It seems that the nextId method is called before the + # reloadData one (that is called after the page changing. + # + # TODO: fix this awful code lines + target = None + return self.wizard().pageIndex(BToolchainPage) #### @@ -90,6 +112,7 @@ class BRoutePage(BWizardPage): Overload of the BWizardPage connectSignals method. """ self.connect(self.pageContent.emptyCheckBox, SIGNAL("stateChanged(int)"), self, SIGNAL("completeChanged()")) + self.connect(self.pageContent.baseButton, SIGNAL("toggled(bool)"), self, SIGNAL("completeChanged()")) def reloadData(self): """