close tabs with middle mouse button

This commit is contained in:
2022-06-25 08:36:00 +02:00
parent df68063c28
commit af69988b4a
2 changed files with 17 additions and 0 deletions

15
src/ui/CustomTabBar.py Normal file
View File

@@ -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)

View File

@@ -4,6 +4,7 @@ from PySide6.QtWidgets import QWidget, QTabWidget, QVBoxLayout
from src.pluginregistry import PluginRegistry from src.pluginregistry import PluginRegistry
from src.plugins.krowlog.Tab import Tab from src.plugins.krowlog.Tab import Tab
from src.settings.settings import Settings from src.settings.settings import Settings
from src.ui.CustomTabBar import CustomTabBar
class Tabs(QWidget): class Tabs(QWidget):
@@ -13,6 +14,7 @@ class Tabs(QWidget):
self.settings = settings self.settings = settings
self.tabs = QTabWidget() self.tabs = QTabWidget()
self.tabs.setTabBar(CustomTabBar())
self.tabs.setTabsClosable(True) self.tabs.setTabsClosable(True)
self.tabs.setMovable(True) self.tabs.setMovable(True)
self.tabs.tabCloseRequested.connect(self._close_tab) self.tabs.tabCloseRequested.connect(self._close_tab)