X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBFolderPage.py;h=a6fdc7a15284b561d7dae3eaf6b57b878be10238;hb=ca1a17d62748010cd95a0012f67a9e80c6565d73;hp=a14dda2f5d000e8c358b77d5904d2a29ad5fc853;hpb=320721d8b6cab26650cbd91a4accb61f66ff0e62;p=bertos.git diff --git a/wizard/BFolderPage.py b/wizard/BFolderPage.py index a14dda2f..a6fdc7a1 100644 --- a/wizard/BFolderPage.py +++ b/wizard/BFolderPage.py @@ -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("Warning: the selected directory exists, it will be destroyed with all contained subdirectories and files...")) + self.pageContent.warningLabel.setText(self.tr("Warning: the selected directory exists, \ + it will be destroyed with all contained subdirectories and files...")) 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