+ def directoryChanged(self, directory):
+ """
+ Slot called when the project folder is changed manually by the user.
+ """
+ try:
+ directory = unicode(directory).encode("ascii")
+ except UnicodeEncodeError:
+ directory = self._destination_folder
+ self.pageContent.directoryEdit.setText(directory)
+ self._destination_folder = directory
+ self.setProjectPath()
+
+ def selectDirectory(self):
+ """
+ Slot called when the project folder is changed using the file dialog.
+ """
+ directory = unicode(QFileDialog.getExistingDirectory(self, self.tr("Open Directory"), self.pageContent.directoryEdit.text(), QFileDialog.ShowDirsOnly))
+ if len(directory) > 0:
+ self.pageContent.directoryEdit.setText(QDir.toNativeSeparators(directory))
+
+ ####
+
+ @property
+ def next_page(self):
+ """
+ Contains the next page class.
+ """
+ if self.pageContent.customButton.isChecked():
+ return BCpuPage
+ else:
+ return BBoardPage
+
+ 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":
+ from win32com.shell import shell, shellcon
+ self._destination_folder = shell.SHGetFolderPath(0, shellcon.CSIDL_PERSONAL, 0, 0)
+ del shell
+ del shellcon
+ else:
+ self._destination_folder = os.path.expanduser("~")
+ self.pageContent.directoryEdit.setText(self._destination_folder)