Disable the remove button if the selected toolchain is one of the default toolchains
authorduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 22 Apr 2009 16:24:39 +0000 (16:24 +0000)
committerduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 22 Apr 2009 16:24:39 +0000 (16:24 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2638 38d2e660-2303-0410-9eaa-f027e97ec537

wizard/BToolchainPage.py

index 6c7bebd2784c497ddbd3963637232a6d0eabe587..5ce077898b1865382c658bcf38b2052d8a8f487b 100644 (file)
@@ -87,6 +87,10 @@ class BToolchainPage(BWizardPage):
             infos.update(qvariant_converter.getStringDict(self.pageContent.toolchainList.currentItem().data(Qt.UserRole)))
             self.pageContent.infoLabel.setText("GCC " + infos["version"] + " (" + infos["build"] + ")\nTarget: " + infos["target"] + "\nPath: " + os.path.normpath(infos["path"]))
             self.pageContent.infoLabel.setVisible(True)
+            if self.isDefaultToolchain(infos):
+                self.disableRemoveButton()
+            else:
+                self.enableRemoveButton()
             self.emit(SIGNAL("completeChanged()"))
 
     def addToolchain(self):
@@ -236,4 +240,28 @@ class BToolchainPage(BWizardPage):
             self._invalidItem(i)
         toolchains = self.toolchains()
         toolchains[filename] = True
-        self.setToolchains(toolchains)
\ No newline at end of file
+        self.setToolchains(toolchains)
+    
+    def isDefaultToolchain(self, toolchain):
+        """
+        Returns True if the given toolchain is one of the default toolchains.
+        """
+        if os.name == "nt":
+            import winreg_importer
+            stored_toolchains = [toolchain[0] for toolchain in winreg_importer.getBertosToolchains()]
+            if toolchain["path"] in stored_toolchains:
+                return True
+        return False
+    
+    def disableRemoveButton(self):
+        """
+        Disable the remove button.
+        """
+        self.pageContent.removeButton.setEnabled(False)
+    
+    def enableRemoveButton(self):
+        """
+        Enable the remove button.
+        """
+        self.pageContent.removeButton.setEnabled(True)
+        
\ No newline at end of file