good
This commit is contained in:
parent
77f11f29bc
commit
7081d6bd54
9 changed files with 4274 additions and 1 deletions
|
|
@ -11,7 +11,7 @@
|
|||
"slskd_url": "http://localhost:5030",
|
||||
"api_key": "1234567891234567",
|
||||
"download_path": "E:/Broque Projects/newMusic/downloads",
|
||||
"transfer_path": "E:/Broque Projects/newMusic/Transfer/Transfer"
|
||||
"transfer_path": "E:/Broque Projects/newMusic/Transfer"
|
||||
},
|
||||
"database": {
|
||||
"path": "database/artists.db"
|
||||
|
|
|
|||
4237
logs/app.log
4237
logs/app.log
File diff suppressed because it is too large
Load diff
18
main.py
18
main.py
|
|
@ -117,6 +117,9 @@ class MainWindow(QMainWindow):
|
|||
|
||||
# Connect media player signals between sidebar and downloads page
|
||||
self.setup_media_player_connections()
|
||||
|
||||
# Connect settings change signals for live updates
|
||||
self.setup_settings_connections()
|
||||
|
||||
def setup_status_monitoring(self):
|
||||
# Start status monitoring thread
|
||||
|
|
@ -149,6 +152,21 @@ class MainWindow(QMainWindow):
|
|||
|
||||
logger.info("Media player connections established between sidebar and downloads page")
|
||||
|
||||
def setup_settings_connections(self):
|
||||
"""Connect settings change signals for live updates across pages"""
|
||||
self.settings_page.settings_changed.connect(self.on_settings_changed)
|
||||
logger.info("Settings change connections established")
|
||||
|
||||
def on_settings_changed(self, key: str, value: str):
|
||||
"""Handle settings changes and broadcast to relevant pages"""
|
||||
logger.info(f"Settings changed: {key} = {value}")
|
||||
|
||||
# Broadcast to all pages that need to know about path changes
|
||||
if hasattr(self.downloads_page, 'on_paths_updated'):
|
||||
self.downloads_page.on_paths_updated(key, value)
|
||||
if hasattr(self.artists_page, 'on_paths_updated'):
|
||||
self.artists_page.on_paths_updated(key, value)
|
||||
|
||||
def change_page(self, page_id: str):
|
||||
page_map = {
|
||||
"dashboard": 0,
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -3799,6 +3799,12 @@ class ArtistsPage(QWidget):
|
|||
item.widget().deleteLater()
|
||||
# Don't clear self.current_albums here - it's needed for Plex updates
|
||||
|
||||
def on_paths_updated(self, key: str, value: str):
|
||||
"""Handle settings path updates for immediate effect"""
|
||||
# No action needed - paths are fetched dynamically via config_manager.get()
|
||||
# This method exists for future extensibility if caching is added later
|
||||
pass
|
||||
|
||||
def closeEvent(self, event):
|
||||
"""Handle page close/cleanup"""
|
||||
self.stop_all_workers()
|
||||
|
|
|
|||
|
|
@ -9807,6 +9807,12 @@ class DownloadsPage(QWidget):
|
|||
except:
|
||||
pass # Ignore errors during destruction
|
||||
|
||||
def on_paths_updated(self, key: str, value: str):
|
||||
"""Handle settings path updates for immediate effect"""
|
||||
# No action needed - paths are fetched dynamically via config_manager.get()
|
||||
# This method exists for future extensibility if caching is added later
|
||||
pass
|
||||
|
||||
def create_controls_section(self):
|
||||
section = QWidget()
|
||||
layout = QVBoxLayout(section)
|
||||
|
|
|
|||
|
|
@ -162,6 +162,8 @@ class SettingsGroup(QGroupBox):
|
|||
""")
|
||||
|
||||
class SettingsPage(QWidget):
|
||||
settings_changed = pyqtSignal(str, str) # Signal for when settings paths change
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.config_manager = None
|
||||
|
|
@ -300,6 +302,10 @@ class SettingsPage(QWidget):
|
|||
config_manager.set('soulseek.download_path', self.download_path_input.text())
|
||||
config_manager.set('soulseek.transfer_path', self.transfer_path_input.text())
|
||||
|
||||
# Emit signals for path changes to update other pages immediately
|
||||
self.settings_changed.emit('soulseek.download_path', self.download_path_input.text())
|
||||
self.settings_changed.emit('soulseek.transfer_path', self.transfer_path_input.text())
|
||||
|
||||
# Show success message
|
||||
QMessageBox.information(self, "Success", "Settings saved successfully!")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue