refactor(gui): ✨ update album download options and improve session validation

* Added a new action to download all albums in a playlist.
* Removed the deprecated `validate_session` method and replaced it with a direct call to `self.tidal.session.check_login()`.
* Adjusted the UI layout in `dialog_settings` to accommodate new options and improved sizing.
This commit is contained in:
Robert Honz
2025-10-22 21:52:20 +02:00
parent b485292807
commit 8f0c784187
4 changed files with 52 additions and 40 deletions
+21 -29
View File
@@ -27,7 +27,7 @@ class Ui_DialogSettings:
def setupUi(self, DialogSettings):
if not DialogSettings.objectName():
DialogSettings.setObjectName("DialogSettings")
DialogSettings.resize(640, 800)
DialogSettings.resize(640, 832)
sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
sizePolicy.setHorizontalStretch(100)
sizePolicy.setVerticalStretch(100)
@@ -187,20 +187,6 @@ class Ui_DialogSettings:
self.horizontalLayout_12.addLayout(self.lv_playlist_create)
self.lv_flag_use_primary_album_artist = QVBoxLayout()
self.lv_flag_use_primary_album_artist.setObjectName("lv_flag_use_primary_album_artist")
self.cb_use_primary_album_artist = QCheckBox(self.gb_flags)
self.cb_use_primary_album_artist.setObjectName("cb_use_primary_album_artist")
self.lv_flag_use_primary_album_artist.addWidget(self.cb_use_primary_album_artist)
self.horizontalLayout_12.addLayout(self.lv_flag_use_primary_album_artist)
self.lv_flags.addLayout(self.horizontalLayout_12)
self.horizontalLayout_13 = QHBoxLayout()
self.horizontalLayout_13.setObjectName("horizontalLayout_13")
self.lv_mark_explicit = QVBoxLayout()
self.lv_mark_explicit.setObjectName("lv_mark_explicit")
self.cb_mark_explicit = QCheckBox(self.gb_flags)
@@ -208,26 +194,31 @@ class Ui_DialogSettings:
self.lv_mark_explicit.addWidget(self.cb_mark_explicit)
self.horizontalLayout_13.addLayout(self.lv_mark_explicit)
self.horizontalLayout_12.addLayout(self.lv_mark_explicit)
self.lv_flags.addLayout(self.horizontalLayout_13)
self.lv_flags.addLayout(self.horizontalLayout_12)
self.lh_flags_atmos = QHBoxLayout()
self.lh_flags_atmos.setObjectName("lh_flags_atmos")
self.lv_flag_download_dolby_atmos = QVBoxLayout()
self.lv_flag_download_dolby_atmos.setObjectName("lv_flag_download_dolby_atmos")
self.horizontalLayout_13 = QHBoxLayout()
self.horizontalLayout_13.setObjectName("horizontalLayout_13")
self.lv_use_primary_album_artist = QVBoxLayout()
self.lv_use_primary_album_artist.setObjectName("lv_use_primary_album_artist")
self.cb_use_primary_album_artist = QCheckBox(self.gb_flags)
self.cb_use_primary_album_artist.setObjectName("cb_use_primary_album_artist")
self.lv_use_primary_album_artist.addWidget(self.cb_use_primary_album_artist)
self.horizontalLayout_13.addLayout(self.lv_use_primary_album_artist)
self.lv_download_dolby_atmos = QVBoxLayout()
self.lv_download_dolby_atmos.setObjectName("lv_download_dolby_atmos")
self.cb_download_dolby_atmos = QCheckBox(self.gb_flags)
self.cb_download_dolby_atmos.setObjectName("cb_download_dolby_atmos")
self.lv_flag_download_dolby_atmos.addWidget(self.cb_download_dolby_atmos)
self.lv_download_dolby_atmos.addWidget(self.cb_download_dolby_atmos)
self.lh_flags_atmos.addLayout(self.lv_flag_download_dolby_atmos)
self.horizontalLayout_13.addLayout(self.lv_download_dolby_atmos)
self.lv_flag_empty_atmos = QVBoxLayout()
self.lv_flag_empty_atmos.setObjectName("lv_flag_empty_atmos")
self.lh_flags_atmos.addLayout(self.lv_flag_empty_atmos)
self.lv_flags.addLayout(self.lh_flags_atmos)
self.lv_flags.addLayout(self.horizontalLayout_13)
self.lv_main.addWidget(self.gb_flags)
@@ -626,7 +617,6 @@ class Ui_DialogSettings:
# endif // QT_CONFIG(whatsthis)
self.cb_lyrics_embed.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_lyrics_file.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_use_primary_album_artist.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_download_delay.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_extract_flac.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_metadata_cover_embed.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
@@ -635,6 +625,8 @@ class Ui_DialogSettings:
self.cb_symlink_to_track.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_playlist_create.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_mark_explicit.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_use_primary_album_artist.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_download_dolby_atmos.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.gb_choices.setTitle(QCoreApplication.translate("DialogSettings", "Choices", None))
self.l_icon_quality_audio.setText(QCoreApplication.translate("DialogSettings", "TextLabel", None))
self.l_quality_audio.setText(QCoreApplication.translate("DialogSettings", "TextLabel", None))
+27 -1
View File
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>640</width>
<height>800</height>
<height>832</height>
</rect>
</property>
<property name="sizePolicy">
@@ -262,6 +262,32 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<layout class="QVBoxLayout" name="lv_use_primary_album_artist">
<item>
<widget class="QCheckBox" name="cb_use_primary_album_artist">
<property name="text">
<string>CheckBox</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="lv_download_dolby_atmos">
<item>
<widget class="QCheckBox" name="cb_download_dolby_atmos">
<property name="text">
<string>CheckBox</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</item>