Mappehåndtering

This commit is contained in:
2026-04-12 14:29:54 +02:00
parent bdb1f5915a
commit a9915c0cc9
6 changed files with 486 additions and 137 deletions

View File

@@ -125,6 +125,12 @@ class LibraryPanel(QWidget):
header.addWidget(lbl)
header.addStretch()
btn_refresh = QPushButton("↻ Opdater")
btn_refresh.setFixedHeight(28)
btn_refresh.setToolTip("Opdater bibliotek fra database")
btn_refresh.clicked.connect(self._refresh_library)
header.addWidget(btn_refresh)
btn_manage = QPushButton("⚙ Mapper")
btn_manage.setFixedHeight(28)
btn_manage.setToolTip("Tilføj, fjern og scan musikbiblioteker")
@@ -376,19 +382,31 @@ class LibraryPanel(QWidget):
self._bpm_worker.done.connect(on_bpm_done)
self._bpm_worker.start()
def _refresh_library(self):
"""Genindlæs bibliotek fra database."""
mw = self.window()
if hasattr(mw, "_reload_library"):
mw._reload_library()
def _manage_libraries(self):
from ui.library_manager import LibraryManagerDialog
from local.local_db import DB_PATH
dialog = LibraryManagerDialog(db_path=str(DB_PATH), parent=self.window())
dialog.libraries_changed.connect(self._on_libraries_changed)
dialog.exec()
def _on_libraries_changed(self):
"""Kald reload på main_window når biblioteker ændres."""
# Reload øjeblikkeligt når dialog lukkes
mw = self.window()
if hasattr(mw, "_reload_library"):
from PyQt6.QtCore import QTimer
QTimer.singleShot(500, mw._reload_library)
mw._reload_library()
# Start scanning
if hasattr(mw, "start_background_scan"):
QTimer.singleShot(1000, mw.start_background_scan)
def _on_libraries_changed(self):
"""Kaldes ved tilføj/fjern — reload øjeblikkeligt."""
mw = self.window()
if hasattr(mw, "_reload_library"):
mw._reload_library()
def _add_folder(self):
from PyQt6.QtWidgets import QFileDialog