Add some modules.
[bertos.git] / wizard / BFolderPage.py
index dc53d10c0d0f6c5e697b95835bf42228fd7d4fdf..e1af7e3278f8db5cbdb00de0675b4f8f67b3ba10 100644 (file)
@@ -15,14 +15,20 @@ from PyQt4.QtGui import *
 from BWizardPage import *
 import bertos_utils
 
+from const import *
+
 class BFolderPage(BWizardPage):
     
     def __init__(self):
-        BWizardPage.__init__(self, "dir_select.ui")
+        BWizardPage.__init__(self, UI_LOCATION + "/dir_select.ui")
         self.setTitle(self.tr("Select the project name"))
         self._initializeAttributes()
+        self._setupUi()
         self._connectSignals()
 
+    def _setupUi(self):
+        self.pageContent.warningLabel.setVisible(False)
+    
     def _initializeAttributes(self):
         self._projectName = ""
         self._destinationFolder = os.path.expanduser("~")
@@ -38,21 +44,30 @@ class BFolderPage(BWizardPage):
         self._setProjectPath()
     
     def _directoryChanged(self, directory):
-        self._destinationFolder = str(directory)
+        self._destinationFolder = str(QDir.toNativeSeparators(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)
+                self._destinationFolder += "/"
+            self.pageContent.projectPath.setText(QDir.toNativeSeparators(self._destinationFolder + self._projectName))
+            if os.path.exists(self._destinationFolder + self._projectName):
+                self.pageContent.warningLabel.setVisible(True)
+                self.pageContent.warningLabel.setText(self.tr("<font color='#FF0000'>Warning: the selected directory exists, \
+                    it will be destroyed with all contained subdirectories and files...</font>"))
+            else:
+                self.pageContent.warningLabel.setVisible(False)
+                self.pageContent.warningLabel.setText("")
         else:
             self.pageContent.projectPath.setText("None")
+            self.pageContent.warningLabel.setVisible(False)
+            self.pageContent.warningLabel.setText("")
         self.emit(SIGNAL("completeChanged()"))
     
     def _selectDirectory(self):
         directory = unicode(QFileDialog.getExistingDirectory(self, self.tr("Open Directory"), "", QFileDialog.ShowDirsOnly))
-        if len(directory) == "":
+        if len(directory) > 0:
             self.pageContent.directoryEdit.setText(directory)
     
     def isComplete(self):