""" Provider Info Page, used in First run Wizard """ from PyQt4 import QtCore from PyQt4 import QtGui from leap.gui.progress import ValidationPage from leap.gui.constants import APP_LOGO class ProviderInfoPage(ValidationPage): def __init__(self, parent=None): super(ProviderInfoPage, self).__init__(parent) self.setTitle("Provider Info") #self.setSubTitle("Available information about chosen provider.") self.setPixmap( QtGui.QWizard.LogoPixmap, QtGui.QPixmap(APP_LOGO)) def create_info_panel(self): displayName = QtGui.QLabel("") description = QtGui.QLabel("") enrollment_policy = QtGui.QLabel("") # XXX set stylesheet... # prettify a little bit. # bigger fonts and so on... self.displayName = displayName self.description = description self.enrollment_policy = enrollment_policy # this trick allows us to reparent QtCore.QObjectCleanupHandler().add(self.layout) layout = QtGui.QGridLayout() layout.addWidget(displayName, 0, 1) layout.addWidget(description, 1, 1) layout.addWidget(enrollment_policy, 2, 1) self.setLayout(layout) self.update() def show_provider_info(self): # XXX get multilingual objects # directly from the config object lang = "en" pconfig = self.wizard().providerconfig dn = pconfig.get('display_name') display_name = dn[lang] if dn else '' self.displayName.setText( "%s" % display_name) desc = pconfig.get('description') description_text = desc[lang] if desc else '' self.description.setText( "%s" % description_text) enroll = pconfig.get('enrollment_policy') if enroll: self.enrollment_policy.setText( 'enrollment policy: %s' % enroll) def _do_checks(self, update_signal=None): """ executes actual checks in a separate thread """ import time update_signal.emit("head_sentinel", 0) time.sleep(0.5) update_signal.emit("something", 10) time.sleep(0.5) update_signal.emit("done", 90) time.sleep(1) update_signal.emit("end_sentinel", 100) time.sleep(1) def _do_validation(self): """ called after _do_checks has finished (connected to checker thread finished signal) """ print 'validation...' self.progress.hide() self.stepsTableWidget.hide() self.create_info_panel() self.show_provider_info() def nextId(self): wizard = self.wizard() next_ = "providersetupvalidation" return wizard.get_page_index(next_)