rettelser
This commit is contained in:
@@ -365,6 +365,7 @@ class MainWindow(QMainWindow):
|
||||
self._playlist_panel.event_started.connect(self._on_event_started)
|
||||
self._playlist_panel.next_song_ready.connect(self._on_next_song_ready)
|
||||
self._playlist_panel.playlist_changed.connect(self._on_playlist_changed)
|
||||
self._playlist_panel.sync_requested.connect(self._manual_sync)
|
||||
|
||||
# Debounce-timer til auto-sync — starter sync 5 sek efter sidst ændring
|
||||
self._sync_debounce = QTimer(self)
|
||||
|
||||
@@ -20,6 +20,7 @@ class PlaylistBrowserDialog(QDialog):
|
||||
"""Kombineret gem/hent dialog til danselister."""
|
||||
|
||||
playlist_selected = pyqtSignal(int, str) # playlist_id, name
|
||||
sync_requested = pyqtSignal() # bed main_window om at køre sync
|
||||
|
||||
def __init__(self, mode: str = "load", current_songs: list = None,
|
||||
current_name: str = "", parent=None):
|
||||
@@ -344,10 +345,11 @@ class PlaylistBrowserDialog(QDialog):
|
||||
)
|
||||
if reply == QMessageBox.StandardButton.Yes:
|
||||
try:
|
||||
from local.local_db import get_db
|
||||
with get_db() as conn:
|
||||
conn.execute("DELETE FROM playlists WHERE id=?", (pl["id"],))
|
||||
from local.local_db import delete_playlist
|
||||
delete_playlist(pl["id"])
|
||||
self._load_data()
|
||||
# Signal til main_window om at køre sync
|
||||
self.sync_requested.emit()
|
||||
except Exception as e:
|
||||
QMessageBox.warning(self, "Fejl", f"Kunne ikke slette: {e}")
|
||||
|
||||
|
||||
@@ -178,13 +178,8 @@ class PlaylistManagerDialog(QDialog):
|
||||
)
|
||||
if reply == QMessageBox.StandardButton.Yes:
|
||||
try:
|
||||
from local.local_db import get_db
|
||||
with get_db() as conn:
|
||||
conn.execute(
|
||||
"INSERT INTO deleted_playlists (name) "
|
||||
"SELECT name FROM playlists WHERE id=?", (pl["id"],)
|
||||
)
|
||||
conn.execute("DELETE FROM playlists WHERE id=?", (pl["id"],))
|
||||
from local.local_db import delete_playlist
|
||||
delete_playlist(pl["id"])
|
||||
self._load_saved_playlists()
|
||||
except Exception as e:
|
||||
self._load_status.setText(f"Fejl: {e}")
|
||||
|
||||
@@ -39,6 +39,7 @@ class PlaylistPanel(QWidget):
|
||||
playlist_changed = pyqtSignal()
|
||||
event_started = pyqtSignal()
|
||||
next_song_ready = pyqtSignal(dict) # udsendes når næste sang ændres — main_window indlæser den # udsendes af Start event — main_window indlæser første sang # udsendes ved enhver ændring → trigger autogem
|
||||
sync_requested = pyqtSignal() # bed main_window om at køre sync (efter sletning)
|
||||
|
||||
STATUS_ICON = {"pending": " ", "playing": " ▶ ", "played": " ✓ ", "skipped": " — ", "next": " ▷ "}
|
||||
STATUS_COLOR = {"pending": "#5a6070", "playing": "#e8a020", "played": "#2ecc71", "skipped": "#e74c3c", "next": "#3b8fd4"}
|
||||
@@ -526,6 +527,7 @@ class PlaylistPanel(QWidget):
|
||||
self._btn_save_current.setToolTip(f"Gem ændringer til '{name}'")
|
||||
self._save_named_playlist_id(pl_id)
|
||||
dialog.playlist_selected.connect(on_saved)
|
||||
dialog.sync_requested.connect(self._request_sync)
|
||||
dialog.exec()
|
||||
|
||||
def _save_current(self):
|
||||
@@ -572,10 +574,15 @@ class PlaylistPanel(QWidget):
|
||||
except Exception as e:
|
||||
QMessageBox.warning(self, "Fejl", f"Kunne ikke gemme: {e}")
|
||||
|
||||
def _request_sync(self):
|
||||
"""Bobl sync-anmodning op til main_window."""
|
||||
self.sync_requested.emit()
|
||||
|
||||
def _load_dialog(self):
|
||||
from ui.playlist_browser import PlaylistBrowserDialog
|
||||
dialog = PlaylistBrowserDialog(mode="load", parent=self.window())
|
||||
dialog.playlist_selected.connect(self._load_playlist_by_id)
|
||||
dialog.sync_requested.connect(self._request_sync)
|
||||
dialog.exec()
|
||||
|
||||
def _load_playlist_by_id(self, pl_id: int, pl_name: str):
|
||||
|
||||
Reference in New Issue
Block a user