Add the complete implementation of the folder selection page
authorduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 17 Dec 2008 15:12:26 +0000 (15:12 +0000)
committerduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 17 Dec 2008 15:12:26 +0000 (15:12 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2058 38d2e660-2303-0410-9eaa-f027e97ec537

wizard/BFolderPage.py

index b98c5ee4e3132a23b2c8fab2e8a096c1b9625a16..5a0a9566e9392571e337793748e8ee8b61729cef 100644 (file)
@@ -9,6 +9,8 @@
 # Author: Lorenzo Berni <duplo@develer.com>
 #
 
+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