From af69988b4a4d02593a701fe84f1da56a77ca3187 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Sat, 25 Jun 2022 08:36:00 +0200 Subject: [PATCH] close tabs with middle mouse button --- src/ui/CustomTabBar.py | 15 +++++++++++++++ src/ui/tabs.py | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 src/ui/CustomTabBar.py diff --git a/src/ui/CustomTabBar.py b/src/ui/CustomTabBar.py new file mode 100644 index 0000000..5976595 --- /dev/null +++ b/src/ui/CustomTabBar.py @@ -0,0 +1,15 @@ +import PySide6 +from PySide6.QtCore import Qt +from PySide6.QtWidgets import QTabBar + + +class CustomTabBar(QTabBar): + + def __init__(self): + super(CustomTabBar, self).__init__() + + def mouseReleaseEvent(self, event: PySide6.QtGui.QMouseEvent) -> None: + print(event.button()) + if event.button() == Qt.MouseButton.MiddleButton: + self.tabCloseRequested.emit(self.tabAt(event.pos())) + super(CustomTabBar, self).mouseReleaseEvent(event) diff --git a/src/ui/tabs.py b/src/ui/tabs.py index 4b99a19..272ab61 100644 --- a/src/ui/tabs.py +++ b/src/ui/tabs.py @@ -4,6 +4,7 @@ from PySide6.QtWidgets import QWidget, QTabWidget, QVBoxLayout from src.pluginregistry import PluginRegistry from src.plugins.krowlog.Tab import Tab from src.settings.settings import Settings +from src.ui.CustomTabBar import CustomTabBar class Tabs(QWidget): @@ -13,6 +14,7 @@ class Tabs(QWidget): self.settings = settings self.tabs = QTabWidget() + self.tabs.setTabBar(CustomTabBar()) self.tabs.setTabsClosable(True) self.tabs.setMovable(True) self.tabs.tabCloseRequested.connect(self._close_tab)