#
# Copyright 2008 Develer S.r.l. (http://www.develer.com/)
#
-# $Id$
#
# Author: Lorenzo Berni <duplo@develer.com>
#
from BWizardPage import *
import bertos_utils
+from BCpuPage import BCpuPage
+from BBoardPage import BBoardPage
+
from const import *
class BFolderPage(BWizardPage):
self.setDefaultFolder(self._destination_folder)
if self.pageContent.projectPath.text() != "None":
self.setProjectInfo("PROJECT_PATH", unicode(self.pageContent.projectPath.text()))
+ self.setProjectInfo("PROJECT_NAME", os.path.basename(unicode(self.pageContent.projectPath.text())))
+ self.setProjectInfo("PROJECT_SRC_PATH", os.path.join(self.projectInfo("PROJECT_PATH"), self.projectInfo("PROJECT_NAME")))
+ self.setProjectInfo("PROJECT_SRC_PATH_FROM_MAKEFILE", self.projectInfo("PROJECT_NAME"))
+ self.setProjectInfo("PROJECT_HW_PATH", os.path.join(self.projectInfo("PROJECT_PATH"), self.projectInfo("PROJECT_NAME")))
+ self.setProjectInfo("PROJECT_HW_PATH_FROM_MAKEFILE", self.projectInfo("PROJECT_NAME"))
return True
else:
return False
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)
+ # self.connect(self.pageContent.customButton, SIGNAL("toggled(bool)"), self.isComplete)
####
"""
Slot called when the project folder is changed manually by the user.
"""
- self._destination_folder = unicode(QDir.toNativeSeparators(directory))
+ 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):
"""
directory = unicode(QFileDialog.getExistingDirectory(self, self.tr("Open Directory"), self.pageContent.directoryEdit.text(), QFileDialog.ShowDirsOnly))
if len(directory) > 0:
- self.pageContent.directoryEdit.setText(directory)
+ self.pageContent.directoryEdit.setText(QDir.toNativeSeparators(directory))
####
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
+ 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)