From 0917f8fb1bdb7b77971c5770dc6ea7f1e89a9aaa Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 30 Oct 2013 15:03:14 -0300 Subject: Remove autostart eip option from settings panel. [Closes #4132] --- changes/feature-4132_remove-autostart-eip-setting | 2 + src/leap/bitmask/gui/eip_preferenceswindow.py | 36 --------- src/leap/bitmask/gui/ui/eippreferences.ui | 99 +++-------------------- 3 files changed, 11 insertions(+), 126 deletions(-) create mode 100644 changes/feature-4132_remove-autostart-eip-setting diff --git a/changes/feature-4132_remove-autostart-eip-setting b/changes/feature-4132_remove-autostart-eip-setting new file mode 100644 index 00000000..5f3e6b7d --- /dev/null +++ b/changes/feature-4132_remove-autostart-eip-setting @@ -0,0 +1,2 @@ + - Remove autostart eip option from settings panel, rely on last used + setting. Closes #4132. diff --git a/src/leap/bitmask/gui/eip_preferenceswindow.py b/src/leap/bitmask/gui/eip_preferenceswindow.py index 9f8c4ff4..e0c5d51f 100644 --- a/src/leap/bitmask/gui/eip_preferenceswindow.py +++ b/src/leap/bitmask/gui/eip_preferenceswindow.py @@ -50,7 +50,6 @@ class EIPPreferencesWindow(QtGui.QDialog): self.ui = Ui_EIPPreferences() self.ui.setupUi(self) self.ui.lblProvidersGatewayStatus.setVisible(False) - self.ui.lblAutoStartEIPStatus.setVisible(False) # Connections self.ui.cbProvidersGateway.currentIndexChanged[unicode].connect( @@ -59,40 +58,8 @@ class EIPPreferencesWindow(QtGui.QDialog): self.ui.cbGateways.currentIndexChanged[unicode].connect( lambda x: self.ui.lblProvidersGatewayStatus.setVisible(False)) - self.ui.cbProvidersEIP.currentIndexChanged[unicode].connect( - lambda x: self.ui.lblAutoStartEIPStatus.setVisible(False)) - - self.ui.cbAutoStartEIP.toggled.connect( - lambda x: self.ui.lblAutoStartEIPStatus.setVisible(False)) - - self.ui.pbSaveAutoStartEIP.clicked.connect(self._save_auto_start_eip) - self._add_configured_providers() - # Load auto start EIP settings - self.ui.cbAutoStartEIP.setChecked(self._settings.get_autostart_eip()) - default_provider = self._settings.get_defaultprovider() - idx = self.ui.cbProvidersEIP.findText(default_provider) - self.ui.cbProvidersEIP.setCurrentIndex(idx) - - def _save_auto_start_eip(self): - """ - SLOT - TRIGGER: - self.ui.cbAutoStartEIP.toggled - - Saves the automatic start of EIP user preference. - """ - default_provider = self.ui.cbProvidersEIP.currentText() - enabled = self.ui.cbAutoStartEIP.isChecked() - - self._settings.set_autostart_eip(enabled) - self._settings.set_defaultprovider(default_provider) - - self.ui.lblAutoStartEIPStatus.show() - logger.debug('Auto start EIP saved: {0} {1}.'.format( - default_provider, enabled)) - def _set_providers_gateway_status(self, status, success=False, error=False): """ @@ -120,16 +87,13 @@ class EIPPreferencesWindow(QtGui.QDialog): Add the client's configured providers to the providers combo boxes. """ self.ui.cbProvidersGateway.clear() - self.ui.cbProvidersEIP.clear() providers = self._settings.get_configured_providers() if not providers: - self.ui.gbAutomaticEIP.setEnabled(False) self.ui.gbGatewaySelector.setEnabled(False) return for provider in providers: self.ui.cbProvidersGateway.addItem(provider) - self.ui.cbProvidersEIP.addItem(provider) def _save_selected_gateway(self, provider): """ diff --git a/src/leap/bitmask/gui/ui/eippreferences.ui b/src/leap/bitmask/gui/ui/eippreferences.ui index cc77c82e..a3050683 100644 --- a/src/leap/bitmask/gui/ui/eippreferences.ui +++ b/src/leap/bitmask/gui/ui/eippreferences.ui @@ -7,7 +7,7 @@ 0 0 435 - 273 + 144 @@ -18,7 +18,7 @@ :/images/mask-icon.png:/images/mask-icon.png - + true @@ -33,7 +33,7 @@ - &Select provider: + Select &provider: cbProvidersGateway @@ -52,7 +52,7 @@ - Save this provider settings + &Save this provider settings @@ -69,7 +69,10 @@ - Select gateway: + Select &gateway: + + + cbGateways @@ -85,76 +88,9 @@ - - - - Automatic Encrypted Internet start - - - - - - Qt::LeftToRight - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - <font color='green'><b>Automatic EIP start saved!</b></font> - - - Qt::AlignCenter - - - - - - - Save auto start setting - - - - - - - Qt::LeftToRight - - - Enable Automatic start: - - - true - - - - - - - - <Select provider> - - - - - - cbAutoStartEIP - lblAutoStartEIPStatus - pbSaveAutoStartEIP - cbProvidersEIP - - - cbAutoStartEIP - cbProvidersEIP - pbSaveAutoStartEIP cbProvidersGateway cbGateways pbSaveGateway @@ -162,22 +98,5 @@ - - - cbAutoStartEIP - toggled(bool) - cbProvidersEIP - setEnabled(bool) - - - 180 - 53 - - - 238 - 53 - - - - + -- cgit v1.2.3 From 318b25373a271c12b3497125db620ab36c0db490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Wed, 30 Oct 2013 15:06:04 -0300 Subject: Properly stop imap at logout --- changes/VERSION_COMPAT | 3 +++ changes/bug_properly_stop_imap | 1 + src/leap/bitmask/services/mail/conductor.py | 23 ++++++++++++----------- 3 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 changes/bug_properly_stop_imap diff --git a/changes/VERSION_COMPAT b/changes/VERSION_COMPAT index cc00ecf7..b5e72ed5 100644 --- a/changes/VERSION_COMPAT +++ b/changes/VERSION_COMPAT @@ -8,3 +8,6 @@ # # BEGIN DEPENDENCY LIST ------------------------- # leap.foo.bar>=x.y.z + +leap.mail>=0.3.6 +leap.soledad>=0.4.2 \ No newline at end of file diff --git a/changes/bug_properly_stop_imap b/changes/bug_properly_stop_imap new file mode 100644 index 00000000..f2942bad --- /dev/null +++ b/changes/bug_properly_stop_imap @@ -0,0 +1 @@ +- Properly stop the imap daemon at logout. Fixes #4199. \ No newline at end of file diff --git a/src/leap/bitmask/services/mail/conductor.py b/src/leap/bitmask/services/mail/conductor.py index 3a3e16a3..c294381b 100644 --- a/src/leap/bitmask/services/mail/conductor.py +++ b/src/leap/bitmask/services/mail/conductor.py @@ -48,6 +48,8 @@ class IMAPControl(object): """ self.imap_machine = None self.imap_service = None + self.imap_port = None + self.imap_factory = None self.imap_connection = None leap_register(signal=leap_events.IMAP_SERVICE_STARTED, @@ -81,7 +83,9 @@ class IMAPControl(object): if self.imap_service is None: # first time. - self.imap_service = imap.start_imap_service( + self.imap_service, \ + self.imap_port, \ + self.imap_factory = imap.start_imap_service( self._soledad, self._keymanager) else: @@ -90,17 +94,18 @@ class IMAPControl(object): def stop_imap_service(self): """ - Stops imap service. - - There is a subtle difference here: - we are just stopping the fetcher here, - but in the smtp case we are stopping the factory. + Stops imap service (fetcher, factory and port). """ self.imap_connection.qtsigs.disconnecting_signal.emit() # TODO We should homogenize both services. if self.imap_service is not None: logger.debug('Stopping imap service.') + # Stop the loop call in the fetcher self.imap_service.stop() + # Stop listening on the IMAP port + self.imap_port.stopListening() + # Stop the protocol + self.imap_factory.doStop() def fetch_incoming_mail(self): """ @@ -208,11 +213,7 @@ class SMTPControl(object): def stop_smtp_service(self): """ - Stops the smtp service. - - There is a subtle difference here: - we are stopping the factory for the smtp service here, - but in the imap case we are just stopping the fetcher. + Stops the smtp service (port and factory). """ self.smtp_connection.qtsigs.disconnecting_signal.emit() # TODO We should homogenize both services. -- cgit v1.2.3