Correct typo
[bertos.git] / wizard / BFinalPage.py
index 9fd481d3d020abd0f13ffe6ef8624738feda5747..b8901d4eeaa60d2ef78d4a6e03eb8c85a0d65cc2 100644 (file)
@@ -40,14 +40,43 @@ class BFinalPage(BWizardPage):
             output = self.projectInfo("OUTPUT")
             import winreg_importer
             command_lines = winreg_importer.getCommandLines()
-            if "codelite" in output and "codelite" in command_lines:
-                self.pageContent.codeliteCheck.setVisible(True)
-            
+            layout = QVBoxLayout()
+            self._plugin_dict = {}
+            for plugin in output:
+                if plugin in command_lines:
+                    module = bertos_utils.loadPlugin(plugin)
+                    checked = len(output) == 1
+                    group, check  = self.createNewOutput(self, module.PLUGIN_NAME, module.PLUGIN_DESCRIPTION, checked)
+                    layout.addWidget(group)
+                    self._plugin_dict[check] = plugin
+            widget = QWidget()
+            widget.setLayout(layout)
+            if len(self._plugin_dict) > 0:
+                self.pageContent.scrollArea.setVisible(True)
+            self.pageContent.scrollArea.setWidget(widget)
     
     def setupUi(self):
         """
         Overload of the BWizardPage setupUi method.
         """
-        self.pageContent.codeliteCheck.setVisible(False)
+        self.pageContent.scrollArea.setVisible(False)
     
-    ####
\ No newline at end of file
+    ####
+    
+    def createNewOutput(self, name, description, checked=True, enabled=True):
+        """
+        Create a groupBox for the given pieces of information. Returns the
+        groupBox and the checkBox
+        """
+        check = QCheckBox(description)
+        if checked:
+            check.setCheckState(Qt.Checked)
+        else:
+            check.setCheckState(Qt.Unchecked)
+        groupLayout = QVBoxLayout()
+        groupLayout.addWidget(check)
+        group = QGroupBox(name)
+        group.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum)
+        group.setLayout(groupLayout)
+        group.setEnabled(enabled)
+        return group, check
\ No newline at end of file