Wobuzz/wobuzz/ui/playlist_tabs/tab_title.py

41 lines
1.1 KiB
Python
Raw Normal View History

#!/usr/bin/python3
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QMouseEvent
from PyQt6.QtWidgets import QLineEdit
from .tab_bar import PlaylistTabBar
class TabTitle(QLineEdit):
2025-01-27 18:18:41 +01:00
def __init__(self, label, parent, index: int, playlist_view):
super().__init__(label, parent)
self.tab_bar: PlaylistTabBar = parent
self.index = index
2025-01-27 18:18:41 +01:00
self.playlist_view = playlist_view
self.setStyleSheet("QLineEdit {background: transparent;}")
self.setFocusPolicy(Qt.FocusPolicy.TabFocus)
2025-01-27 18:18:41 +01:00
self.editingFinished.connect(self.on_edit)
def mouseDoubleClickEvent(self, event: QMouseEvent):
self.tab_bar.tabBarDoubleClicked.emit(self.index)
def mousePressEvent(self, event: QMouseEvent):
self.tab_bar.tabBarClicked.emit(self.index)
self.tab_bar.setCurrentIndex(self.index)
def contextMenuEvent(self, event):
self.tab_bar.contextMenuEvent(event, self)
2025-01-27 18:18:41 +01:00
def on_edit(self):
self.clearFocus()
self.playlist_view.playlist.delete()
self.playlist_view.playlist.title = self.text()