summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2020-11-04 16:08:11 -0800
committerMicah Lee <micah@micahflee.com>2020-11-04 16:08:11 -0800
commit7a0436a216555502b0a630f0ef854c2d5f767d84 (patch)
treeafed9034aeefbb4974e40b886ffccd9c6761d1af
parentb2f30e90b34ef3a44390bf905d9f47ee195f9954 (diff)
downloadonionshare-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.pngbin0 -> 688 bytes
-rw-r--r--desktop/src/onionshare/tab_widget.py17
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
new file mode 100644
index 00000000..a7984a6d
--- /dev/null
+++ b/desktop/src/onionshare/resources/images/close_tab.png
Binary files 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"))