Playlist fejl

This commit is contained in:
2026-04-19 13:22:56 +02:00
parent 3f67f7dc3a
commit bf26ff6377
3 changed files with 11 additions and 8 deletions

View File

@@ -646,13 +646,11 @@ def get_playlist_with_songs(playlist_id: int) -> dict:
songs = conn.execute("""
SELECT ps.id as ps_id, ps.position, ps.status,
s.*, GROUP_CONCAT(d.name ORDER BY sd.dance_order) as dances
ps.is_workshop, ps.dance_override,
s.*
FROM playlist_songs ps
JOIN songs s ON s.id = ps.song_id
LEFT JOIN song_dances sd ON sd.song_id = s.id
LEFT JOIN dances d ON d.id = sd.dance_id
WHERE ps.playlist_id = ?
GROUP BY ps.id
ORDER BY ps.position
""", (playlist_id,)).fetchall()

View File

@@ -967,10 +967,15 @@ class MainWindow(QMainWindow):
dialog.playlist_loaded.connect(self._on_playlist_loaded)
dialog.exec()
def _on_playlist_loaded(self, name: str, songs: list[dict]):
def _on_playlist_loaded(self, name: str, songs: list[dict], pl_id: int):
self._stop()
self._playlist_panel.load_songs(songs)
self._playlist_panel.set_playlist_name(name)
if pl_id:
self._playlist_panel._named_playlist_id = pl_id
self._playlist_panel._save_named_playlist_id(pl_id)
self._playlist_panel._btn_save_current.setEnabled(True)
self._playlist_panel._btn_save_current.setToolTip(f"Gem ændringer til '{name}'")
self._set_status(f"Indlæst: {name} ({len(songs)} sange)", 3000)
def _open_tag_editor(self, song: dict):

View File

@@ -20,7 +20,7 @@ class PlaylistManagerDialog(QDialog):
2. Indlæs gemt liste
3. Importer fra fil (M3U / M3U8 / tekst)
"""
playlist_loaded = pyqtSignal(str, list) # (navn, liste af dict)
playlist_loaded = pyqtSignal(str, list, int) # (navn, sange, pl_id)
def __init__(self, current_songs: list[dict], parent=None):
super().__init__(parent)
@@ -161,7 +161,7 @@ class PlaylistManagerDialog(QDialog):
"file_missing": bool(row.get("file_missing", False)),
"dances": [d["name"] for d in dances],
})
self.playlist_loaded.emit(pl["name"], songs)
self.playlist_loaded.emit(pl["name"], songs, pl["id"])
self._load_status.setText(f"✓ Indlæst: {pl['name']} ({len(songs)} sange)")
except Exception as e:
self._load_status.setText(f"Fejl: {e}")
@@ -316,7 +316,7 @@ class PlaylistManagerDialog(QDialog):
missing.append(p)
if found:
self.playlist_loaded.emit(name, found)
self.playlist_loaded.emit(name, found, 0)
status = f"✓ Importeret {len(found)} sange som \"{name}\""
if missing:
status += f"\n{len(missing)} filer ikke fundet"