diff --git a/tidal_dl_ng/config.py b/tidal_dl_ng/config.py index 165bdc5..647ed7d 100644 --- a/tidal_dl_ng/config.py +++ b/tidal_dl_ng/config.py @@ -34,6 +34,11 @@ class BaseConfig: f.write(data_json) def set_option(self, key: str, value: Any) -> None: + tmp_data: Any = getattr(self.data, key) + + if isinstance(tmp_data, int) and not isinstance(value, int): + value = int(value) + setattr(self.data, key, value) def read(self, path: str) -> bool: diff --git a/tidal_dl_ng/gui.py b/tidal_dl_ng/gui.py index 5930483..557f083 100644 --- a/tidal_dl_ng/gui.py +++ b/tidal_dl_ng/gui.py @@ -2,6 +2,7 @@ import math import sys import time from collections.abc import Callable +from enum import Enum from requests.exceptions import HTTPError @@ -297,12 +298,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): def apply_settings(self, settings: Settings): l_cb = [ - {"element": self.cb_quality_audio, "setting": settings.data.quality_audio.name, "default_id": 1}, - {"element": self.cb_quality_video, "setting": settings.data.quality_video.name, "default_id": 0}, + {"element": self.cb_quality_audio, "setting": settings.data.quality_audio, "default_id": 1}, + {"element": self.cb_quality_video, "setting": settings.data.quality_video, "default_id": 0}, ] for item in l_cb: - idx = item["element"].findText(item["setting"]) + needle: str | int = item["setting"].name if isinstance(item["setting"], Enum) else item["setting"] + idx = item["element"].findText(needle) if idx > -1: item["element"].setCurrentIndex(idx)