diff options
author | Micah Lee <micah@micahflee.com> | 2020-11-04 16:08:11 -0800 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2020-11-04 16:08:11 -0800 |
commit | 7a0436a216555502b0a630f0ef854c2d5f767d84 (patch) | |
tree | afed9034aeefbb4974e40b886ffccd9c6761d1af | |
parent | b2f30e90b34ef3a44390bf905d9f47ee195f9954 (diff) | |
download | onionshare-7a0436a216555502b0a630f0ef854c2d5f767d84.tar.gz onionshare-7a0436a216555502b0a630f0ef854c2d5f767d84.zip |
Manually make close tab buttons in macOS, because PySide2 is not showing the button on its own
-rw-r--r-- | desktop/src/onionshare/resources/images/close_tab.png | bin | 0 -> 688 bytes | |||
-rw-r--r-- | desktop/src/onionshare/tab_widget.py | 17 |
2 files changed, 17 insertions, 0 deletions
diff --git a/desktop/src/onionshare/resources/images/close_tab.png b/desktop/src/onionshare/resources/images/close_tab.png Binary files differnew file mode 100644 index 00000000..a7984a6d --- /dev/null +++ b/desktop/src/onionshare/resources/images/close_tab.png 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")) |