Skip to content

Commit

Permalink
MNT: close and deleteLater widget when tab is removed
Browse files Browse the repository at this point in the history
  • Loading branch information
tangkong committed Sep 18, 2024
1 parent ccc8ca4 commit abbf9d2
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion superscore/widgets/window.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def setup_ui(self) -> None:
# always use scroll area and never truncate file names
tab_bar.setUsesScrollButtons(True)
tab_bar.setElideMode(QtCore.Qt.ElideNone)
self.tab_widget.tabCloseRequested.connect(self.tab_widget.removeTab)
self.tab_widget.tabCloseRequested.connect(self.remove_tab)

# setup tree view
self.tree_model = RootTree(base_entry=self.client.backend.root,
Expand All @@ -61,6 +61,13 @@ def setup_ui(self) -> None:
# setup actions
self.action_new_coll.triggered.connect(self.open_collection_builder)

def remove_tab(self, tab_index: int) -> None:
"""Remove the requested tab and delete the widget"""
widget = self.tab_widget.widget(tab_index)
widget.close()
widget.deleteLater()
self.tab_widget.removeTab(tab_index)

def _update_tab_title(self, tab_index: int) -> None:
"""Update a DataWidget tab title. Assumes widget.title exists"""
title_text = self.tab_widget.widget(tab_index)._title
Expand Down

0 comments on commit abbf9d2

Please sign in to comment.