Wobuzz/wobuzz/ui/playlist_tabs/tab_title.py

42 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:32:41 +01:00
def __init__(self, app, label, parent, index: int, playlist_view):
super().__init__(label, parent)
2025-01-27 18:32:41 +01:00
self.app = app
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()
2025-01-28 18:23:43 +01:00
self.playlist_view.playlist.rename(self.text())
2025-01-27 18:18:41 +01:00
2025-01-28 18:23:43 +01:00
self.setText(self.playlist_view.playlist.title)
2025-01-27 18:18:41 +01:00