summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/gui/eip_status.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2013-10-01 17:34:24 -0400
committerKali Kaneko <kali@leap.se>2013-10-03 13:14:34 -0400
commit689c716b831047c8fe18945956e809b74e4250a3 (patch)
treec1f3b1f82abe2d29a6232f6b4bda1d4404a44555 /src/leap/bitmask/gui/eip_status.py
parente9c84a3d2d9fd3a0457f256a908cb5bce9351682 (diff)
Disable EIP on/off button and action when login required.
Also adds an explicit should_autostart flag in config.
Diffstat (limited to 'src/leap/bitmask/gui/eip_status.py')
-rw-r--r--src/leap/bitmask/gui/eip_status.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/leap/bitmask/gui/eip_status.py b/src/leap/bitmask/gui/eip_status.py
index 6b1235a6..946eaa4e 100644
--- a/src/leap/bitmask/gui/eip_status.py
+++ b/src/leap/bitmask/gui/eip_status.py
@@ -233,6 +233,30 @@ class EIPStatusWidget(QtGui.QWidget):
"""
self.set_startstop_enabled(False)
+ @QtCore.Slot()
+ def disable_eip_start(self):
+ """
+ Triggered when a default provider_config has not been found.
+ Disables the start button and adds instructions to the user.
+ """
+ logger.debug('Hiding EIP start button')
+ # you might be tempted to change this for a .setEnabled(False).
+ # it won't work. it's under the claws of the state machine.
+ # probably the best thing would be to make a transitional
+ # transition there, but that's more involved.
+ self.eip_button.hide()
+ msg = self.tr("You must login to use Encrypted Internet")
+ self.eip_label.setText(msg)
+
+ @QtCore.Slot()
+ def enable_eip_start(self):
+ """
+ Triggered after a successful login.
+ Enables the start button.
+ """
+ logger.debug('Showing EIP start button')
+ self.eip_button.show()
+
# XXX disable (later) --------------------------
def set_eip_status(self, status, error=False):
"""
@@ -261,6 +285,8 @@ class EIPStatusWidget(QtGui.QWidget):
:param value: True for enabled, False otherwise
:type value: bool
"""
+ # TODO use disable_eip_start instead
+ # this should be handled by the state machine
leap_assert_type(value, bool)
self.ui.btnEipStartStop.setEnabled(value)
self._action_eip_startstop.setEnabled(value)