aboutsummaryrefslogtreecommitdiff
path: root/onionshare_gui/tab/tab.py
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2019-10-27 16:01:30 -0700
committerMicah Lee <micah@micahflee.com>2019-10-27 16:01:30 -0700
commit654fccc0092ee70ac5a9bf8e7fa08a7243bc4bf3 (patch)
treeb300d99ebe5b0e2d5a0f334db5cd3f8d28a90710 /onionshare_gui/tab/tab.py
parent216fbd4e87aee17ea614d6a8368731e0a553a383 (diff)
downloadonionshare-654fccc0092ee70ac5a9bf8e7fa08a7243bc4bf3.tar.gz
onionshare-654fccc0092ee70ac5a9bf8e7fa08a7243bc4bf3.zip
Add warning about closing a persistent tab
Diffstat (limited to 'onionshare_gui/tab/tab.py')
-rw-r--r--onionshare_gui/tab/tab.py88
1 files changed, 47 insertions, 41 deletions
diff --git a/onionshare_gui/tab/tab.py b/onionshare_gui/tab/tab.py
index a164a96d..316012c6 100644
--- a/onionshare_gui/tab/tab.py
+++ b/onionshare_gui/tab/tab.py
@@ -117,7 +117,7 @@ class Tab(QtWidgets.QWidget):
self.timer.timeout.connect(self.timer_callback)
# Settings for this tab
- self.tab_settings = {"persistence": False}
+ self.tab_settings = {"persistent": False}
# Persistence button
self.persistence_button = QtWidgets.QPushButton()
@@ -502,15 +502,15 @@ class Tab(QtWidgets.QWidget):
def persistence_button_clicked(self):
self.common.log("Tab", "persistence_button_clicked")
- if self.tab_settings["persistence"]:
- self.tab_settings["persistence"] = False
+ if self.tab_settings["persistent"]:
+ self.tab_settings["persistent"] = False
else:
- self.tab_settings["persistence"] = True
+ self.tab_settings["persistent"] = True
self.update_persistence_button()
def update_persistence_button(self):
self.common.log("Tab", "update_persistence_button")
- if self.tab_settings["persistence"]:
+ if self.tab_settings["persistent"]:
self.persistence_button.setIcon(
QtGui.QIcon(
self.common.get_resource_path("images/persistent_enabled.png")
@@ -528,52 +528,58 @@ class Tab(QtWidgets.QWidget):
if self.mode is None:
return True
- if self.mode == self.common.gui.MODE_SHARE:
- server_status = self.share_mode.server_status
- elif self.mode == self.common.gui.MODE_RECEIVE:
- server_status = self.receive_mode.server_status
- else:
- server_status = self.website_mode.server_status
-
- if server_status.status == server_status.STATUS_STOPPED:
- return True
+ if self.tab_settings["persistent"]:
+ dialog_text = strings._("gui_close_tab_warning_persistent_description")
else:
- self.common.log("Tab", "close_tab, opening warning dialog")
- dialog = QtWidgets.QMessageBox()
- dialog.setWindowTitle(strings._("gui_close_tab_warning_title"))
if self.mode == self.common.gui.MODE_SHARE:
- dialog.setText(strings._("gui_close_tab_warning_share_description"))
+ server_status = self.share_mode.server_status
elif self.mode == self.common.gui.MODE_RECEIVE:
- dialog.setText(strings._("gui_close_tab_warning_receive_description"))
+ server_status = self.receive_mode.server_status
else:
- dialog.setText(strings._("gui_close_tab_warning_website_description"))
- dialog.setIcon(QtWidgets.QMessageBox.Critical)
- dialog.addButton(
- strings._("gui_close_tab_warning_close"), QtWidgets.QMessageBox.YesRole
- )
- cancel_button = dialog.addButton(
- strings._("gui_close_tab_warning_cancel"), QtWidgets.QMessageBox.NoRole
- )
- dialog.setDefaultButton(cancel_button)
- reply = dialog.exec_()
-
- # Close
- if reply == 0:
- self.common.log("Tab", "close_tab", "close, closing tab")
+ server_status = self.website_mode.server_status
+ if server_status.status == server_status.STATUS_STOPPED:
+ return True
+ else:
if self.mode == self.common.gui.MODE_SHARE:
- self.share_mode.stop_server()
+ dialog_text = strings._("gui_close_tab_warning_share_description")
elif self.mode == self.common.gui.MODE_RECEIVE:
- self.receive_mode.stop_server()
+ dialog_text = strings._("gui_close_tab_warning_receive_description")
else:
- self.website_mode.stop_server()
+ dialog_text = strings._("gui_close_tab_warning_website_description")
+
+ # Open the warning dialog
+ self.common.log("Tab", "close_tab, opening warning dialog")
+ dialog = QtWidgets.QMessageBox()
+ dialog.setWindowTitle(strings._("gui_close_tab_warning_title"))
+ dialog.setText(dialog_text)
+ dialog.setIcon(QtWidgets.QMessageBox.Critical)
+ dialog.addButton(
+ strings._("gui_close_tab_warning_close"), QtWidgets.QMessageBox.YesRole
+ )
+ cancel_button = dialog.addButton(
+ strings._("gui_close_tab_warning_cancel"), QtWidgets.QMessageBox.NoRole
+ )
+ dialog.setDefaultButton(cancel_button)
+ reply = dialog.exec_()
- self.app.cleanup()
- return True
- # Cancel
+ # Close
+ if reply == 0:
+ self.common.log("Tab", "close_tab", "close, closing tab")
+
+ if self.mode == self.common.gui.MODE_SHARE:
+ self.share_mode.stop_server()
+ elif self.mode == self.common.gui.MODE_RECEIVE:
+ self.receive_mode.stop_server()
else:
- self.common.log("Tab", "close_tab", "cancel, keeping tab open")
- return False
+ self.website_mode.stop_server()
+
+ self.app.cleanup()
+ return True
+ # Cancel
+ else:
+ self.common.log("Tab", "close_tab", "cancel, keeping tab open")
+ return False
def cleanup(self):
self.app.cleanup()