Resolve the codelite project generation bug
[bertos.git] / wizard / BOutputPage.py
index e233612e4e20069c9a3ebbda0e0af3b4012bf9c5..55418d664de7f98dfd2f4bdfd57a45773c2ac905 100644 (file)
@@ -4,7 +4,7 @@
 # Copyright 2009 Develer S.r.l. (http://www.develer.com/)
 # All rights reserved.
 #
-# $Id:$
+# $Id$
 #
 # Author: Lorenzo Berni <duplo@develer.com>
 #
@@ -15,9 +15,50 @@ from PyQt4.QtGui import *
 from BWizardPage import *
 import bertos_utils
 
+from const import *
 
 class BOutputPage(BWizardPage):
+    """
+    Page of the wizard that show a little summary of the previous decisions.
+    """
     
     def __init__(self):
-        BWizardPage.__init__(self, "output_select.ui")
+        BWizardPage.__init__(self, UI_LOCATION + "/output_select.ui")
         self.setTitle(self.tr("Choose the project output"))
+    
+    ## Overloaded BWizardPage methods. ##
+    
+    def connectSignals(self):
+        """
+        Connects the signals with the related slots.
+        """
+        self.connect(self.pageContent.codeliteCheckBox, SIGNAL("stateChanged(int)"), lambda checked: self.modeChecked(checked, "codelite"))
+    
+    def reloadData(self):
+        """
+        Overload of the BWizardPage reloadData method.
+        """
+        output = []
+        if self.pageContent.codeliteCheckBox.isChecked():
+            output.append("codelite")
+        else:
+            if "codelite" in output:
+                output.remove("codelite")
+        self.setProjectInfo("OUTPUT", output)
+    
+    ####
+    
+    ## Slots ##
+    
+    def modeChecked(self, checked, value):
+        """
+        Slot called when one of the mode checkbox is checked. It stores it.
+        """
+        output_list = self.projectInfo("OUTPUT")
+        if checked == Qt.Checked:
+            output_list.append(value)
+        else:
+            output_list.remove(value)
+        self.setProjectInfo("OUTPUT", output_list)
+
+    ####
\ No newline at end of file