mirror of
https://github.com/onionshare/onionshare.git
synced 2025-05-06 16:35:03 -04:00
Allow closing tabs, and throw warning when trying to close tabs that contain an active server
This commit is contained in:
parent
fd2046b976
commit
df658a0e70
3 changed files with 70 additions and 42 deletions
|
@ -60,6 +60,8 @@ class TabWidget(QtWidgets.QTabWidget):
|
|||
self.setTabsClosable(True)
|
||||
self.setUsesScrollButtons(True)
|
||||
|
||||
self.tabCloseRequested.connect(self.close_tab)
|
||||
|
||||
self.move_new_tab_button()
|
||||
|
||||
def move_new_tab_button(self):
|
||||
|
@ -81,11 +83,6 @@ class TabWidget(QtWidgets.QTabWidget):
|
|||
self.new_tab_button.move(pos)
|
||||
self.new_tab_button.raise_()
|
||||
|
||||
def resizeEvent(self, event):
|
||||
# Make sure to move new tab button on each resize
|
||||
super(TabWidget, self).resizeEvent(event)
|
||||
self.move_new_tab_button()
|
||||
|
||||
def new_tab_clicked(self):
|
||||
# Create the tab
|
||||
tab = Tab(self.common, self.tab_id, self.system_tray, self.status_bar)
|
||||
|
@ -101,6 +98,18 @@ class TabWidget(QtWidgets.QTabWidget):
|
|||
index = self.indexOf(self.tabs[tab_id])
|
||||
self.setTabText(index, title)
|
||||
|
||||
def close_tab(self, index):
|
||||
self.common.log("TabWidget", "close_tab", f"{index}")
|
||||
tab = self.widget(index)
|
||||
if tab.close_tab():
|
||||
self.removeTab(index)
|
||||
del self.tabs[tab.tab_id]
|
||||
|
||||
def resizeEvent(self, event):
|
||||
# Make sure to move new tab button on each resize
|
||||
super(TabWidget, self).resizeEvent(event)
|
||||
self.move_new_tab_button()
|
||||
|
||||
|
||||
class TabBar(QtWidgets.QTabBar):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue