#!/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): def __init__(self, app, label, parent, index: int, playlist_view): super().__init__(label, parent) self.app = app self.tab_bar: PlaylistTabBar = parent self.index = index self.playlist_view = playlist_view self.setStyleSheet("QLineEdit {background: transparent;}") self.setFocusPolicy(Qt.FocusPolicy.TabFocus) 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) def on_edit(self): self.clearFocus() self.playlist_view.playlist.rename(self.text()) self.setText(self.playlist_view.playlist.title)