From 7a6e7a6b51151ca0c221e004871fc1e4c5748124 Mon Sep 17 00:00:00 2001 From: duplo Date: Wed, 17 Dec 2008 15:12:26 +0000 Subject: [PATCH] Add the complete implementation of the folder selection page git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2058 38d2e660-2303-0410-9eaa-f027e97ec537 --- wizard/BFolderPage.py | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/wizard/BFolderPage.py b/wizard/BFolderPage.py index b98c5ee4..5a0a9566 100644 --- a/wizard/BFolderPage.py +++ b/wizard/BFolderPage.py @@ -9,6 +9,8 @@ # Author: Lorenzo Berni # +import os + from PyQt4.QtGui import * from BWizardPage import * import bertos_utils @@ -17,12 +19,39 @@ class BFolderPage(BWizardPage): def __init__(self): BWizardPage.__init__(self, "dir_select.ui") - self.setTitle(self.tr("Select the BeRTOS version needed")) - self._folder = "" + self.setTitle(self.tr("Select the project name")) + self._initializeAttributes() self._connectSignals() + + def _initializeAttributes(self): + self._projectName = "" + self._destinationFolder = "" def _connectSignals(self): - self.connect(self.pageContent.nameEdit, SIGNAL("textChanged(con QString)"), self._nameChanged) + self.connect(self.pageContent.nameEdit, SIGNAL("textChanged(const QString)"), self._nameChanged) + self.connect(self.pageContent.directoryEdit, SIGNAL("textChanged(const QString)"), self._directoryChanged) + self.connect(self.pageContent.directoryButton, SIGNAL("clicked()"), self._selectDirectory) def _nameChanged(self, name): - print "name changed" \ No newline at end of file + self._projectName = str(name).replace(" ", "_") + self._setProjectPath() + + def _directoryChanged(self, directory): + self._destinationFolder = str(directory) + self._setProjectPath() + + def _setProjectPath(self): + if self._destinationFolder <> "" and self._projectName <> "": + if not self._destinationFolder.endswith(os.sep): + self._destinationFolder += os.sep + self.pageContent.projectPath.setText(self._destinationFolder + self._projectName + "/") + else: + self.pageContent.projectPath.setText("None") + self.emit(SIGNAL("completeChanged()")) + + def _selectDirectory(self): + directory = QFileDialog.getExistingDirectory(self, self.tr("Open Directory"), "", QFileDialog.ShowDirsOnly) + self.pageContent.directoryEdit.setText(directory) + + def isComplete(self): + return self.pageContent.projectPath.text() != "None" \ No newline at end of file -- 2.25.1