diff options
| author | kali <kali@leap.se> | 2012-10-05 07:00:42 +0900 | 
|---|---|---|
| committer | kali <kali@leap.se> | 2012-10-05 07:00:42 +0900 | 
| commit | b9d1b57976984d1032b3abc810f462a80fdc55aa (patch) | |
| tree | 83603b14695aa09569496314892d567f88f632cc /src | |
| parent | a92ea6fcc5e2e10c6df6d41b52a5d98044317eba (diff) | |
focus fix for wizard
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/baseapp/mainwindow.py | 10 | ||||
| -rwxr-xr-x | src/leap/gui/firstrunwizard.py | 22 | 
2 files changed, 30 insertions, 2 deletions
| diff --git a/src/leap/baseapp/mainwindow.py b/src/leap/baseapp/mainwindow.py index 63242fd2..1accac30 100644 --- a/src/leap/baseapp/mainwindow.py +++ b/src/leap/baseapp/mainwindow.py @@ -26,6 +26,7 @@ class LeapWindow(QtGui.QMainWindow,      newLogLine = QtCore.pyqtSignal([str])      statusChange = QtCore.pyqtSignal([object]) +    mainappReady = QtCore.pyqtSignal([])      initReady = QtCore.pyqtSignal([])      def __init__(self, opts): @@ -57,13 +58,22 @@ class LeapWindow(QtGui.QMainWindow,              lambda status: self.onStatusChange(status))          self.timer.timeout.connect(              lambda: self.onTimerTick()) + +        # do frwizard and init signals +        self.mainappReady.connect(self.do_first_run_wizard_check)          self.initReady.connect(self.runchecks_and_eipconnect)          # ... all ready. go! +        # calls do_first_run_wizard_check +        self.mainappReady.emit() + +    def do_first_run_wizard_check(self): +        logger.debug('first run wizard check...')          if self.wizard_done:              self.initReady.emit()          else:              # need to run first-run-wizard +            logger.debug('running first run wizard')              from leap.gui.firstrunwizard import FirstRunWizard              wizard = FirstRunWizard(                  parent=self, diff --git a/src/leap/gui/firstrunwizard.py b/src/leap/gui/firstrunwizard.py index b93dc8e9..cc70daab 100755 --- a/src/leap/gui/firstrunwizard.py +++ b/src/leap/gui/firstrunwizard.py @@ -88,8 +88,11 @@ QLabel { color: red;  class FirstRunWizard(QtGui.QWizard):      def __init__(self, parent=None, providers=None, success_cb=None): -        super(FirstRunWizard, self).__init__(parent) +        super(FirstRunWizard, self).__init__( +            parent, +            QtCore.Qt.WindowStaysOnTopHint) +        # XXX hardcoded for tests          if not providers:              providers = ('springbok',)          self.providers = providers @@ -116,6 +119,16 @@ class FirstRunWizard(QtGui.QWizard):          # TODO: set style for MAC / windows ...          #self.setWizardStyle() +    def setWindowFlags(self, flags): +        logger.debug('setting window flags') +        QtGui.QWizard.setWindowFlags(self, flags) + +    def focusOutEvent(self, event): +        self.setFocus(True) +        self.activateWindow() +        self.raise_() +        self.show() +      def accept(self):          print 'chosen provider: ', self.get_provider()          print 'username: ', self.field('userName') @@ -219,8 +232,13 @@ class RegisterUserPage(QtGui.QWizardPage):          userNameLineEdit = QtGui.QLineEdit()          userNameLineEdit.cursorPositionChanged.connect(              self.reset_validation_status) +        userNameLabel.setBuddy(userNameLineEdit) +        # TODO +        # add validator +        # usernameRe = QRegexp(r"[]") +        # userNameLineEdit.setValidator( +        # QRegExpValidator(usernameRe, self))          self.userNameLineEdit = userNameLineEdit -        userNameLabel.setBuddy(self.userNameLineEdit)          userPasswordLabel = QtGui.QLabel("&Password:")          self.userPasswordLineEdit = QtGui.QLineEdit() | 
