X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBStartPage.py;h=e8432bd60b72a68ead6ff05a07f740a52ee8f682;hb=002be776674998624dbf4abc7eb38b871f3a0da6;hp=8ee076e2b30ab139db7d22e94dce520dc71d1c55;hpb=64308a77301362c229de110ba08ead5500c05bbb;p=bertos.git diff --git a/wizard/BStartPage.py b/wizard/BStartPage.py index 8ee076e2..e8432bd6 100644 --- a/wizard/BStartPage.py +++ b/wizard/BStartPage.py @@ -10,22 +10,46 @@ # from BWizardPage import * +import bertos_utils class BStartPage(BWizardPage): def __init__(self): BWizardPage.__init__(self, "start.ui") self._connectSignals() - self.setTitle(self.tr("Create or edit a beRTOS project")) + self.setTitle(self.tr("Create or edit a BeRTOS project")) + self._initializeButtons() + self._setupUi() def _connectSignals(self): - self.connect(self.pageContent.newButton, SIGNAL("clicked()"), lambda: self.mutualExclusion("new")) - self.connect(self.pageContent.editButton, SIGNAL("clicked()"), lambda: self.mutualExclusion("edit")) - - def mutualExclusion(self, button): - if(button == "new"): - self.pageContent.newButton.setChecked(True) - self.pageContent.editButton.setChecked(False) - elif(button == "edit"): + self.connect(self.pageContent.newButton, SIGNAL("clicked()"), self.newProject) + self.connect(self.pageContent.editButton, SIGNAL("clicked()"), self.editProject) + + def _initializeButtons(self): + self.buttonGroup = QButtonGroup() + self.buttonGroup.addButton(self.pageContent.newButton) + self.buttonGroup.addButton(self.pageContent.editButton) + self.buttonGroup.setExclusive(True) + + def _setupUi(self): + self.pageContent.newDescription.setVisible(False) + self.pageContent.editDescription.setVisible(False) + + def isComplete(self): + return self.pageContent.newButton.isChecked() or self.pageContent.editButton.isChecked() + + def newProject(self): + filename = QFileDialog.getSaveFileName(self, self.tr("Destination directory"), "", "", "", QFileDialog.ShowDirsOnly) + if not filename.isEmpty(): + self.pageContent.newDescription.setText("(\"" + filename + "\")") + self.pageContent.newDescription.setVisible(True) + # TODO: It's better to create it at the end of the wizard... + bertos_utils.createBertosProject(filename) + self.emit(SIGNAL("completeChanged()")) + else: + self.pageContent.newDescription.setText("") + self.pageContent.newDescription.setVisible(False) self.pageContent.newButton.setChecked(False) - self.pageContent.editButton.setChecked(True) \ No newline at end of file + + def editProject(self): + self.pageContent.newButton.setChecked(False) \ No newline at end of file