diff options
author | Miguel Jacq <mig@mig5.net> | 2020-06-07 15:07:28 +1000 |
---|---|---|
committer | Miguel Jacq <mig@mig5.net> | 2020-06-07 15:07:28 +1000 |
commit | 39f20874f239b4f57ccf46c320cbcf8a97684eb5 (patch) | |
tree | c1c0b61ce2eb4ebc9b77b7d693eed3228a0e35a3 /onionshare_gui | |
parent | 1c424500f0b0e1e2bb7b17ce144cce16e20e5493 (diff) | |
download | onionshare-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.py | 19 |
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() |