close tabs with middle mouse button
This commit is contained in:
15
src/ui/CustomTabBar.py
Normal file
15
src/ui/CustomTabBar.py
Normal 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)
|
||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user