diff options
| author | exislow <exislow@users.noreply.github.com> | 2024-02-04 12:51:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-04 12:51:08 +0100 |
| commit | 957f6b2d4e47831967daab47a025a7583da80e12 (patch) | |
| tree | 620af390cd7ac8cc8f8c3704f98d7659e10c80f0 /tidal_dl_ng/gui.py | |
| parent | c1442c894230b3855fa74b1a915624d0c17cab0f (diff) | |
| parent | 0f8670ebbaa52a90f6096bb3d560485d5910c60d (diff) | |
| download | tidal-dl-ng-957f6b2d4e47831967daab47a025a7583da80e12.tar.gz | |
Merge pull request #32 from exislow/settings
Settings Dialog
Diffstat (limited to 'tidal_dl_ng/gui.py')
| -rw-r--r-- | tidal_dl_ng/gui.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py index 267ff3b..81f70a4 100644 --- a/tidal_dl_ng/gui.py +++ b/tidal_dl_ng/gui.py @@ -5,7 +5,7 @@ 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 @@ -52,6 +52,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() def __init__(self, tidal: Tidal | None = None): super().__init__() @@ -326,6 +327,10 @@ 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): + self.settings.save() + self.apply_settings(self.settings) + 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, 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) |
