From 1a16b1022d1f33e013c577bc3b131c18c5cabdb6 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Wed, 29 Sep 2021 21:29:20 +0100 Subject: [PATCH] Implement tab close buttons Fixes #81 --- app/musicmuster.py | 10 ++++++++++ app/ui/main_window.ui | 2 +- app/ui/main_window_ui.py | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/musicmuster.py b/app/musicmuster.py index 5fb6b2c..d00bd8f 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -197,6 +197,7 @@ class Window(QMainWindow, Ui_MainWindow): self.btnSongInfo.clicked.connect(self.song_info_search) self.btnStop.clicked.connect(self.stop) self.spnVolume.valueChanged.connect(self.change_volume) + self.tabPlaylist.tabCloseRequested.connect(self.close_tab) self.timer.timeout.connect(self.tick) @@ -228,6 +229,15 @@ class Window(QMainWindow, Ui_MainWindow): index = self.tabPlaylist.currentIndex() self.tabPlaylist.removeTab(index) + def close_tab(self, index): + if self.tabPlaylist.widget(index) == self.current_track_playlist_tab: + self.statusbar.showMessage("Can't close current track playlist", + 5000) + elif self.tabPlaylist.widget(index) == self.next_track_playlist_tab: + self.statusbar.showMessage("Can't close next track playlist", 5000) + else: + self.tabPlaylist.removeTab(index) + def create_note(self, session, text): """ Create note diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 7584ce1..f41a55f 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -468,7 +468,7 @@ border: 1px solid rgb(85, 87, 83); false - false + true true diff --git a/app/ui/main_window_ui.py b/app/ui/main_window_ui.py index db4933d..cc2d692 100644 --- a/app/ui/main_window_ui.py +++ b/app/ui/main_window_ui.py @@ -208,7 +208,7 @@ class Ui_MainWindow(object): self.gridLayout_3.addWidget(self.frame_5, 1, 0, 1, 1) self.tabPlaylist = QtWidgets.QTabWidget(self.centralwidget) self.tabPlaylist.setDocumentMode(False) - self.tabPlaylist.setTabsClosable(False) + self.tabPlaylist.setTabsClosable(True) self.tabPlaylist.setMovable(True) self.tabPlaylist.setObjectName("tabPlaylist") self.gridLayout_3.addWidget(self.tabPlaylist, 2, 0, 1, 1)