summaryrefslogtreecommitdiff
path: root/onionshare_gui
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2020-06-07 15:07:28 +1000
committerMiguel Jacq <mig@mig5.net>2020-06-07 15:07:28 +1000
commit39f20874f239b4f57ccf46c320cbcf8a97684eb5 (patch)
treec1c0b61ce2eb4ebc9b77b7d693eed3228a0e35a3 /onionshare_gui
parent1c424500f0b0e1e2bb7b17ce144cce16e20e5493 (diff)
downloadonionshare-39f20874f239b4f57ccf46c320cbcf8a97684eb5.tar.gz
onionshare-39f20874f239b4f57ccf46c320cbcf8a97684eb5.zip
#1126 update the status bar each time the active tab is changed
Diffstat (limited to 'onionshare_gui')
-rw-r--r--onionshare_gui/tab_widget.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/onionshare_gui/tab_widget.py b/onionshare_gui/tab_widget.py
index d69931c0..df4072f3 100644
--- a/onionshare_gui/tab_widget.py
+++ b/onionshare_gui/tab_widget.py
@@ -60,6 +60,7 @@ class TabWidget(QtWidgets.QTabWidget):
# Use a custom tab bar
tab_bar = TabBar()
tab_bar.move_new_tab_button.connect(self.move_new_tab_button)
+ tab_bar.currentChanged.connect(self.tab_changed)
self.setTabBar(tab_bar)
# Set up the tab widget
@@ -108,6 +109,24 @@ class TabWidget(QtWidgets.QTabWidget):
self.new_tab_button.move(pos)
self.new_tab_button.raise_()
+ def tab_changed(self):
+ # Active tab was changed
+ tab_id = self.currentIndex()
+ self.common.log("TabWidget", "tab_changed", f"Tab was changed to {tab_id}")
+ try:
+ mode = self.tabs[tab_id].get_mode()
+ if mode:
+ # Update the server status indicator to reflect that of the current tab
+ self.tabs[tab_id].update_server_status_indicator()
+ else:
+ # If this tab doesn't have a mode set yet, blank the server status indicator
+ self.status_bar.server_status_image_label.clear()
+ self.status_bar.server_status_label.clear()
+ except KeyError:
+ # When all current tabs are closed, index briefly drops to -1 before resetting to 0
+ # which will otherwise trigger a KeyError on tab.get_mode() above.
+ pass
+
def new_tab_clicked(self):
# Create a new tab
self.add_tab()