X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBVersionPage.py;h=0f9173eede1e08acda7f01a727ce4185d1eaa62c;hb=57dfb183e24175bc782647d4e6aebe31063f3881;hp=98c73885dfc43230e068599506cbd4139f8bb3da;hpb=df3bd7f742da8c015304fa21e01eb966ff76a089;p=bertos.git diff --git a/wizard/BVersionPage.py b/wizard/BVersionPage.py index 98c73885..0f9173ee 100644 --- a/wizard/BVersionPage.py +++ b/wizard/BVersionPage.py @@ -28,7 +28,6 @@ # # Copyright 2008 Develer S.r.l. (http://www.develer.com/) # -# $Id$ # # Author: Lorenzo Berni # @@ -48,10 +47,11 @@ class BVersionPage(BWizardPage): to use. This page show some pieces of information about the version. """ - def __init__(self): + def __init__(self, edit=False): + self._edit = edit BWizardPage.__init__(self, UI_LOCATION + "/bertos_versions.ui") - self.setTitle(self.tr("Select the BeRTOS directory")) - self.setSubTitle(self.tr("The project created will be based on the BeRTOS version found")) + self.setTitle(self.tr("Select BeRTOS version")) + self.setSubTitle(self.tr("Your project will be created with the specified BeRTOS version")) ## Overloaded QWizardPage methods ## @@ -64,7 +64,7 @@ class BVersionPage(BWizardPage): # Remove the trailing slash if sources_path.endswith(os.sep): sources_path = sources_path[:-1] - self.setProjectInfo("SOURCES_PATH", sources_path) + self.setProjectInfo("BERTOS_PATH", sources_path) return True else: return False @@ -77,13 +77,13 @@ class BVersionPage(BWizardPage): """ Overload of the BWizardPage connectSignals method. """ - self.connect(self.pageContent.versionList, SIGNAL("itemSelectionChanged()"), self.rowChanged) + self.connect(self.pageContent.versionList, SIGNAL("currentItemChanged(QListWidgetItem *, QListWidgetItem*)"), self.rowChanged) self.connect(self.pageContent.addButton, SIGNAL("clicked()"), self.addVersion) self.connect(self.pageContent.removeButton, SIGNAL("clicked()"), self.removeVersion) # Fake signal connection for the update button self.connect(self.pageContent.updateButton, SIGNAL("clicked()"), self.updateClicked) - def reloadData(self): + def reloadData(self, previous_id=None): """ Overload of the BWizardPage reloadData method. """ @@ -117,7 +117,8 @@ class BVersionPage(BWizardPage): Slot called when the user remove a BeRTOS version. """ item = self.pageContent.versionList.takeItem(self.pageContent.versionList.currentRow()) - self.deleteVersion(qvariant_converter.getString(item.data(Qt.UserRole))) + if item: + self.deleteVersion(qvariant_converter.getString(item.data(Qt.UserRole))) self.emit(SIGNAL("completeChanged()")) def rowChanged(self): @@ -151,8 +152,8 @@ class BVersionPage(BWizardPage): """ Removes the given directory from the QSettings. """ - versions = self.versions() - versions.remove(directory) + versions = [os.path.normpath(path) for path in self.versions()] + versions.remove(os.path.normpath(directory)) self.setVersions(versions) def resetVersionList(self): @@ -184,15 +185,17 @@ class BVersionPage(BWizardPage): versions = set([]) if os.name == "nt": import winreg_importer - versions |= set(winreg_importer.getBertosDirs()) - versions |= set(self.versions()) - selected = self.projectInfo("SOURCES_PATH") + versions |= set([os.path.normpath(dir) for dir in winreg_importer.getBertosDirs()]) + versions |= set([os.path.normpath(dir) for dir in self.versions()]) + selected = self.projectInfo("BERTOS_PATH") for directory in versions: item = self.insertListElement(directory) if selected and selected == directory: self.setCurrentItem(item) if not selected: - self.setCurrentItem(self.latestVersionItem()) + latest_version_item = self.latestVersionItem() + if latest_version_item: + self.setCurrentItem(latest_version_item) def disableRemoveButton(self): """ @@ -210,9 +213,11 @@ class BVersionPage(BWizardPage): """ Returns the latest BeRTOS version founded. """ - latest_version_item = QTableWidgetItem("") + latest_version_item = None for index in range(self.pageContent.versionList.count()): item = self.pageContent.versionList.item(index) + if not latest_version_item: + latest_version_item = item version = item.text().split(" (")[0] latest = latest_version_item.text().split(" (")[0] if version != "UNKNOWN" and version > latest: @@ -236,7 +241,10 @@ class BVersionPage(BWizardPage): Return the path of the selected version. """ current = self.currentItem() - return qvariant_converter.getString(current.data(Qt.UserRole)) + if current: + return qvariant_converter.getString(current.data(Qt.UserRole)) + else: + return None def isDefaultVersion(self, version): """ @@ -246,4 +254,5 @@ class BVersionPage(BWizardPage): import winreg_importer if version in winreg_importer.getBertosDirs(): return True - return False \ No newline at end of file + return False +