WIP V3: use signals to open wikipedia/songfacts pages
Also open wikipedia page on selecting next track
This commit is contained in:
parent
88e638a56e
commit
5add1f01c6
@ -83,8 +83,10 @@ class MusicMusterSignals(QObject):
|
||||
add_track_to_playlist_signal = pyqtSignal(int, int, int, str)
|
||||
enable_escape_signal = pyqtSignal(bool)
|
||||
next_track_changed_signal = pyqtSignal()
|
||||
span_cells_signal = pyqtSignal(int, int, int, int)
|
||||
search_songfacts_signal = pyqtSignal(str)
|
||||
search_wikipedia_signal = pyqtSignal(str)
|
||||
show_warning_signal = pyqtSignal(str, str)
|
||||
span_cells_signal = pyqtSignal(int, int, int, int)
|
||||
status_message_signal = pyqtSignal(str, int)
|
||||
|
||||
def __post_init__(self):
|
||||
|
||||
@ -8,6 +8,7 @@ from PyQt6.QtWebEngineWidgets import QWebEngineView
|
||||
from PyQt6.QtWidgets import QTabWidget
|
||||
from config import Config
|
||||
|
||||
from classes import MusicMusterSignals
|
||||
|
||||
class InfoTabs(QTabWidget):
|
||||
"""
|
||||
@ -17,7 +18,9 @@ class InfoTabs(QTabWidget):
|
||||
def __init__(self, parent=None) -> None:
|
||||
super().__init__(parent)
|
||||
|
||||
# Dictionary to record when tabs were last updated (so we can
|
||||
self.signals = MusicMusterSignals()
|
||||
self.signals.search_songfacts_signal.connect(self.open_in_songfacts)
|
||||
self.signals.search_wikipedia_signal.connect(self.open_in_wikipedia)
|
||||
# re-use the oldest one later)
|
||||
self.last_update: Dict[QWebEngineView, datetime] = {}
|
||||
self.tabtitles: Dict[int, str] = {}
|
||||
|
||||
@ -848,13 +848,7 @@ class Window(QMainWindow, Ui_MainWindow):
|
||||
if track_info is None:
|
||||
return
|
||||
|
||||
# Populate infotab in a thread as it's slow
|
||||
QTimer.singleShot(
|
||||
0,
|
||||
lambda: self.tabInfolist.open_in_songfacts(
|
||||
track_info.title
|
||||
),
|
||||
)
|
||||
self.signals.search_songfacts_signal.emit(track_info.title)
|
||||
|
||||
def lookup_row_in_wikipedia(self) -> None:
|
||||
"""
|
||||
@ -869,13 +863,7 @@ class Window(QMainWindow, Ui_MainWindow):
|
||||
if track_info is None:
|
||||
return
|
||||
|
||||
# Populate infotab in a thread as it's slow
|
||||
QTimer.singleShot(
|
||||
0,
|
||||
lambda: self.tabInfolist.open_in_wikipedia(
|
||||
track_info.title
|
||||
),
|
||||
)
|
||||
self.signals.search_wikipedia_signal.emit(track_info.title)
|
||||
|
||||
def move_playlist_rows(
|
||||
self, session: scoped_session, playlistrows: Sequence[PlaylistRows]
|
||||
|
||||
@ -940,6 +940,7 @@ class PlaylistModel(QAbstractTableModel):
|
||||
return
|
||||
track_sequence.next.set_plr(session, plr)
|
||||
self.signals.next_track_changed_signal.emit()
|
||||
self.signals.search_wikipedia_signal.emit(self.playlist_rows[row_number].title)
|
||||
self.invalidate_row(row_number)
|
||||
self.update_track_times()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user