summaryrefslogtreecommitdiff
path: root/tidal_dl_ng/gui.py
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-02-04 12:19:40 +0100
committerRobert Honz <exislow+github@gmail.com>2024-02-04 12:19:40 +0100
commitc71a2bdb0b0bd007a629d2f0692bfb4b1e753a1f (patch)
treeb53d0852e6551c00b041e232d41a37dbc27a33bd /tidal_dl_ng/gui.py
parentc8e4cc6fd70b4059d180976e4a078c44babcbd3e (diff)
downloadtidal-dl-ng-c71a2bdb0b0bd007a629d2f0692bfb4b1e753a1f.tar.gz
✨ Preferences dialog added. Show settings.
Diffstat (limited to 'tidal_dl_ng/gui.py')
-rw-r--r--tidal_dl_ng/gui.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py
index 267ff3b..af751ee 100644
--- a/tidal_dl_ng/gui.py
+++ b/tidal_dl_ng/gui.py
@@ -5,9 +5,10 @@ from collections.abc import Callable
from requests.exceptions import HTTPError
from tidal_dl_ng import __version__
-from tidal_dl_ng.dialog import DialogLogin, DialogVersion
+from tidal_dl_ng.dialog import DialogLogin, DialogPreferences, DialogVersion
from tidal_dl_ng.helper.path import get_format_template
from tidal_dl_ng.helper.tidal import items_results_all, search_results_all, user_media_lists
+from tidal_dl_ng.model.cfg import Settings as ModelSettings
try:
import qdarktheme
@@ -52,6 +53,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
s_populate_tree_lists: QtCore.Signal = QtCore.Signal(list)
s_statusbar_message: QtCore.Signal = QtCore.Signal(object)
s_tr_results_add_top_level_item: QtCore.Signal = QtCore.Signal(object)
+ s_settings_save: QtCore.Signal = QtCore.Signal(object)
def __init__(self, tidal: Tidal | None = None):
super().__init__()
@@ -326,6 +328,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def on_tr_results_add_top_level_item(self, widget_item: QtWidgets.QTreeWidgetItem):
self.tr_results.addTopLevelItem(widget_item)
+ def on_settings_save(self, settings: ModelSettings):
+ pass
+
def search(self, query: str, types_media: SearchTypes) -> [ResultItem]:
result_search: dict[str, [SearchTypes]] = search_results_all(
session=self.tidal.session, needle=query, types_media=types_media
@@ -410,10 +415,12 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.s_populate_tree_lists.connect(self.on_populate_tree_lists)
self.s_statusbar_message.connect(self.on_statusbar_message)
self.s_tr_results_add_top_level_item.connect(self.on_tr_results_add_top_level_item)
+ self.s_settings_save.connect(self.on_settings_save)
# Menubar
self.a_exit.triggered.connect(sys.exit)
self.a_version.triggered.connect(self.on_version)
+ self.a_preferences.triggered.connect(self.on_preferences)
# Results
self.tr_results.itemExpanded.connect(self.on_tr_results_expanded)
@@ -520,6 +527,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def on_version(self) -> None:
DialogVersion(self)
+ def on_preferences(self) -> None:
+ DialogPreferences(settings=self.settings.data, settings_save=self.s_settings_save, parent=self)
+
def on_tr_results_expanded(self, child: QtWidgets.QTreeWidgetItem) -> None:
child.removeChild(child.child(0))
media_list: [Mix | Album | Playlist] = child.data(5, QtCore.Qt.ItemDataRole.UserRole)