X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBWizardPage.py;h=f6aeac67eeba83f9f7d1a3cdfa69a03b0d4fa058;hb=39e200e1f43474a96888f97e2271728c9605ccbe;hp=d53469551a41a7281dfdf225b7f1a56c3dd8b9ea;hpb=97903dc626136396587334b1d78f7623c91e9934;p=bertos.git diff --git a/wizard/BWizardPage.py b/wizard/BWizardPage.py index d5346955..f6aeac67 100644 --- a/wizard/BWizardPage.py +++ b/wizard/BWizardPage.py @@ -1,20 +1,47 @@ #!/usr/bin/env python # encoding: utf-8 # +# This file is part of BeRTOS. +# +# Bertos is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# As a special exception, you may use this file as part of a free software +# library without restriction. Specifically, if other files instantiate +# templates or use macros or inline functions from this file, or you compile +# this file and link it with other files to produce an executable, this +# file does not by itself cause the resulting executable to be covered by +# the GNU General Public License. This exception does not however +# invalidate any other reasons why the executable file might be covered by +# the GNU General Public License. +# # Copyright 2008 Develer S.r.l. (http://www.develer.com/) -# All rights reserved. # -# $Id:$ # # Author: Lorenzo Berni # +import os + from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4 import uic import qvariant_converter +import const + class BWizardPage(QWizardPage): """ Base class for all the wizard pages. It has the utility method used in all @@ -23,7 +50,7 @@ class BWizardPage(QWizardPage): def __init__(self, wizardGui, parent = None): QWizardPage.__init__(self, parent) - self.pageContent = uic.loadUi(wizardGui, None) + self.pageContent = uic.loadUi(os.path.join(const.DATA_DIR, wizardGui), None) layout = QVBoxLayout() layout.addWidget(self.pageContent) self.setLayout(layout) @@ -35,6 +62,12 @@ class BWizardPage(QWizardPage): Simple message box showing method. """ QMessageBox.critical(self, self.tr("Error occurred"), message, QMessageBox.Ok, QMessageBox.NoButton) + + def showMessage(self, title, message): + """ + Show an information message box with title and message. + """ + QMessageBox.information(self, title, message) ## BProject interaction methods ## @@ -51,6 +84,7 @@ class BWizardPage(QWizardPage): """ return QApplication.instance().project.info(key) + @property def project(self): """ Returns the BProject instance. @@ -73,6 +107,18 @@ class BWizardPage(QWizardPage): Value is a QVariant and neet to be converted in a standard type. """ return QApplication.instance().settings.value(QString(key), QVariant()) + + def plugins(self): + """ + Returns the list of actived plugins. + """ + return qvariant_converter.getStringList(self.settingsRetrieve("plugins")) + + def setPlugins(self, plugins): + """ + Stores the given list of actived plugins. + """ + self.settingsStore("plugins", qvariant_converter.convertStringList(plugins)) def versions(self): """ @@ -121,12 +167,24 @@ class BWizardPage(QWizardPage): Stores the toolchains in the QSettings. """ self.settingsStore("toolchains", qvariant_converter.convertBoolDict(toolchains)) + + def defaultFolder(self): + """ + Returns the default save folder stored in the QSettings. + """ + return qvariant_converter.getString(self.settingsRetrieve("folder")) + + def setDefaultFolder(self, folder): + """ + Stores the default save folder in the QSettings. + """ + self.settingsStore("folder", qvariant_converter.convertString(folder)) #### ## Methodo to be implemented in child classes when needed ## - def reloadData(self): + def reloadData(self, previous_id=None): """ Method called before the page is loaded. The pages that need to use this method have to implement it. @@ -149,4 +207,4 @@ class BWizardPage(QWizardPage): """ pass - #### \ No newline at end of file + ####