Add comment for each method and class
[bertos.git] / wizard / BFolderPage.py
index a14dda2f5d000e8c358b77d5904d2a29ad5fc853..a6fdc7a15284b561d7dae3eaf6b57b878be10238 100644 (file)
@@ -18,6 +18,10 @@ import bertos_utils
 from const import *
 
 class BFolderPage(BWizardPage):
+    """
+    Initial page of the wizard. Permit to select the project name and the directory
+    where the project will be created.
+    """
     
     def __init__(self):
         BWizardPage.__init__(self, UI_LOCATION + "/dir_select.ui")
@@ -27,34 +31,53 @@ class BFolderPage(BWizardPage):
         self._connectSignals()
 
     def _setupUi(self):
+        """
+        Sets up the user interface.
+        """
         self.pageContent.warningLabel.setVisible(False)
     
     def _initializeAttributes(self):
-        self._projectName = ""
-        self._destinationFolder = os.path.expanduser("~")
-        self.pageContent.directoryEdit.setText(self._destinationFolder)
+        """
+        Initializes the page attributes to the default values.
+        """
+        self._project_name = ""
+        self._destination_folder = os.path.expanduser("~")
+        self.pageContent.directoryEdit.setText(self._destination_folder)
     
     def _connectSignals(self):
+        """
+        Connects the signals to the related slots.
+        """
         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):
-        self._projectName = str(name).replace(" ", "_")
+        """
+        Slot called when the project name is changed manually by the user.
+        """
+        self._project_name = str(name).replace(" ", "_")
         self._setProjectPath()
     
     def _directoryChanged(self, directory):
-        self._destinationFolder = str(directory)
+        """
+        Slot called when the project folder is changed manually by the user.
+        """
+        self._destination_folder = 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)
-            if os.path.exists(self._destinationFolder + self._projectName):
+        """
+        Analyzes the page attributes and generates the path string.
+        """
+        if self._destination_folder != "" and self._project_name <> "":
+            if not self._destination_folder.endswith(os.sep):
+                self._destination_folder += "/"
+            self.pageContent.projectPath.setText(QDir.toNativeSeparators(self._destination_folder + self._project_name))
+            if os.path.exists(self._destination_folder + self._project_name):
                 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>"))
+                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("")
@@ -65,11 +88,17 @@ class BFolderPage(BWizardPage):
         self.emit(SIGNAL("completeChanged()"))
     
     def _selectDirectory(self):
+        """
+        Slot called when the project folder is changed using the file dialog.
+        """
         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):
+        """
+        Overload of the QWizardPage isComplete method.
+        """
         if self.pageContent.projectPath.text() != "None":
             self._projectInfoStore("PROJECT_PATH", unicode(self.pageContent.projectPath.text()))
             return True