summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/gui/eip_status.py
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-10-03 15:07:47 -0300
committerTomás Touceda <chiiph@leap.se>2013-10-03 15:07:47 -0300
commitd0371ad6b83c8c4e1fdbf2cf99bff317832f0062 (patch)
tree6ed55d2ce618ebda7d56941c30840a1f500c79f9 /src/leap/bitmask/gui/eip_status.py
parente4d381e4235436c039951ff7af88af608ac18d3d (diff)
parent689c716b831047c8fe18945956e809b74e4250a3 (diff)
Merge remote-tracking branch 'kali/bug/fix-eip-switch-on' into develop
Diffstat (limited to 'src/leap/bitmask/gui/eip_status.py')
-rw-r--r--src/leap/bitmask/gui/eip_status.py44
1 files changed, 26 insertions, 18 deletions
diff --git a/src/leap/bitmask/gui/eip_status.py b/src/leap/bitmask/gui/eip_status.py
index f7408b13..946eaa4e 100644
--- a/src/leap/bitmask/gui/eip_status.py
+++ b/src/leap/bitmask/gui/eip_status.py
@@ -216,22 +216,6 @@ class EIPStatusWidget(QtGui.QWidget):
leap_assert_type(eip_status_menu, QtGui.QMenu)
self._eip_status_menu = eip_status_menu
- def set_eip_status(self, status, error=False):
- """
- Sets the global status label.
-
- :param status: status message
- :type status: str or unicode
- :param error: if the status is an erroneous one, then set this
- to True
- :type error: bool
- """
- leap_assert_type(error, bool)
- if error:
- status = "<font color='red'><b>%s</b></font>" % (status,)
- self.ui.lblEIPStatus.setText(status)
- self.ui.lblEIPStatus.show()
-
# EIP status ---
@property
@@ -249,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,9 +269,7 @@ class EIPStatusWidget(QtGui.QWidget):
:type error: bool
"""
leap_assert_type(error, bool)
-
self._eip_status = status
-
if error:
status = "<font color='red'>%s</font>" % (status,)
self.ui.lblEIPStatus.setText(status)
@@ -279,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)