+ def initializeAttributes(self):
+ """
+ Initializes the page attributes to the default values.
+ """
+ self._project_name = ""
+ stored_folder = self.defaultFolder()
+ if stored_folder != "":
+ self._destination_folder = stored_folder
+ elif os.name == "nt":
+ def _winGetSpecialFolder(csidl):
+ from ctypes import windll, create_unicode_buffer
+ MAX_PATH = 4096
+ buf = create_unicode_buffer(MAX_PATH)
+ if not windll.shell32.SHGetSpecialFolderPathW(0, buf, csidl, False):
+ raise WindowsError("cannot get special folder location")
+ return buf.value
+ CSIDL_PERSONAL = 5
+ self._destination_folder = _winGetSpecialFolder(CSIDL_PERSONAL)
+ else:
+ self._destination_folder = os.path.expanduser("~")
+ self.pageContent.directoryEdit.setText(self._destination_folder)
+
+ def setProjectPath(self):
+ """
+ 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 += os.sep
+ 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>"))
+ else:
+ self.pageContent.warningLabel.setVisible(False)
+ self.pageContent.warningLabel.setText("")