From 7a0436a216555502b0a630f0ef854c2d5f767d84 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Wed, 4 Nov 2020 16:08:11 -0800 Subject: Manually make close tab buttons in macOS, because PySide2 is not showing the button on its own --- desktop/src/onionshare/resources/images/close_tab.png | Bin 0 -> 688 bytes desktop/src/onionshare/tab_widget.py | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 desktop/src/onionshare/resources/images/close_tab.png diff --git a/desktop/src/onionshare/resources/images/close_tab.png b/desktop/src/onionshare/resources/images/close_tab.png new file mode 100644 index 00000000..a7984a6d Binary files /dev/null and b/desktop/src/onionshare/resources/images/close_tab.png differ diff --git a/desktop/src/onionshare/tab_widget.py b/desktop/src/onionshare/tab_widget.py index 2e85febf..84d16e83 100644 --- a/desktop/src/onionshare/tab_widget.py +++ b/desktop/src/onionshare/tab_widget.py @@ -156,6 +156,23 @@ class TabWidget(QtWidgets.QTabWidget): index = self.addTab(tab, strings._("gui_new_tab")) self.setCurrentIndex(index) + # In macOS, manually create a close button because tabs don't seem to have them otherwise + if self.common.platform == "Darwin": + + def close_tab(): + self.tabBar().tabCloseRequested.emit(self.indexOf(tab)) + + tab.close_button = QtWidgets.QPushButton() + tab.close_button.setFlat(True) + tab.close_button.setFixedWidth(40) + tab.close_button.setIcon( + QtGui.QIcon(GuiCommon.get_resource_path("images/close_tab.png")) + ) + tab.close_button.clicked.connect(close_tab) + self.tabBar().setTabButton( + index, QtWidgets.QTabBar.RightSide, tab.close_button + ) + tab.init(mode_settings) # If it's persistent, set the persistent image in the tab self.change_persistent(tab.tab_id, tab.settings.get("persistent", "enabled")) -- cgit v1.2.3-54-g00ecf