Merge pull request #334 from exislow/322-bug-skip_existing-not-working-for-flacs
👷 File extension guesser improved. Fixes #322
This commit is contained in:
+1
-1
@@ -171,7 +171,7 @@ profile = "black"
|
|||||||
multi_line_output = 3
|
multi_line_output = 3
|
||||||
indent = 4
|
indent = 4
|
||||||
color_output = true
|
color_output = true
|
||||||
known_third_party = ["Crypto", "PySide6", "coloredlogs", "dataclasses_json", "ffmpeg", "m3u8", "mutagen", "pathvalidate", "requests", "rich", "tidalapi", "toml", "typer"]
|
known_third_party = ["Crypto", "PySide6", "coloredlogs", "dataclasses_json", "ffmpeg", "helper", "m3u8", "mutagen", "pathvalidate", "requests", "rich", "tidalapi", "toml", "typer"]
|
||||||
|
|
||||||
[tool.mypy]
|
[tool.mypy]
|
||||||
# https://mypy.readthedocs.io/en/latest/config_file.html#using-a-pyproject-toml-file
|
# https://mypy.readthedocs.io/en/latest/config_file.html#using-a-pyproject-toml-file
|
||||||
|
|||||||
+12
-3
@@ -260,7 +260,9 @@ class Download:
|
|||||||
result=result, url=url, path_segment=path_segment, id_segment=id_segment, error=error
|
result=result, url=url, path_segment=path_segment, id_segment=id_segment, error=error
|
||||||
)
|
)
|
||||||
|
|
||||||
def extension_guess(self, quality_audio: Quality, is_video: bool) -> AudioExtensions | VideoExtensions:
|
def extension_guess(
|
||||||
|
self, quality_audio: Quality, metadata_tags: [str], is_video: bool
|
||||||
|
) -> AudioExtensions | VideoExtensions:
|
||||||
result: AudioExtensions | VideoExtensions
|
result: AudioExtensions | VideoExtensions
|
||||||
|
|
||||||
if is_video:
|
if is_video:
|
||||||
@@ -268,7 +270,12 @@ class Download:
|
|||||||
else:
|
else:
|
||||||
result = (
|
result = (
|
||||||
AudioExtensions.FLAC
|
AudioExtensions.FLAC
|
||||||
if self.settings.data.extract_flac and quality_audio in (Quality.hi_res_lossless, Quality.high_lossless)
|
if (
|
||||||
|
self.settings.data.extract_flac
|
||||||
|
and quality_audio in (Quality.hi_res_lossless, Quality.high_lossless)
|
||||||
|
)
|
||||||
|
or ("HIRES_LOSSLESS" not in metadata_tags and quality_audio not in (Quality.low_96k, Quality.low_320k))
|
||||||
|
or quality_audio == Quality.high_lossless
|
||||||
else AudioExtensions.M4A
|
else AudioExtensions.M4A
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -314,7 +321,9 @@ class Download:
|
|||||||
return False, ""
|
return False, ""
|
||||||
|
|
||||||
# Create file name and path
|
# Create file name and path
|
||||||
file_extension_dummy: str = self.extension_guess(quality_audio, isinstance(media, Video))
|
file_extension_dummy: str = self.extension_guess(
|
||||||
|
quality_audio, metadata_tags=media.media_metadata_tags, is_video=isinstance(media, Video)
|
||||||
|
)
|
||||||
file_name_relative: str = format_path_media(file_template, media, self.settings.data.album_track_num_pad_min)
|
file_name_relative: str = format_path_media(file_template, media, self.settings.data.album_track_num_pad_min)
|
||||||
path_media_dst: pathlib.Path = (
|
path_media_dst: pathlib.Path = (
|
||||||
pathlib.Path(self.path_base).expanduser() / (file_name_relative + file_extension_dummy)
|
pathlib.Path(self.path_base).expanduser() / (file_name_relative + file_extension_dummy)
|
||||||
|
|||||||
+25
-34
@@ -49,6 +49,7 @@ import sys
|
|||||||
import time
|
import time
|
||||||
from collections.abc import Callable, Sequence
|
from collections.abc import Callable, Sequence
|
||||||
|
|
||||||
|
from helper.gui import get_queue_download_quality_audio, get_queue_download_quality_video
|
||||||
from requests.exceptions import HTTPError
|
from requests.exceptions import HTTPError
|
||||||
from tidalapi.session import LinkLogin
|
from tidalapi.session import LinkLogin
|
||||||
|
|
||||||
@@ -58,7 +59,6 @@ from tidal_dl_ng.helper.gui import (
|
|||||||
FilterHeader,
|
FilterHeader,
|
||||||
HumanProxyModel,
|
HumanProxyModel,
|
||||||
get_queue_download_media,
|
get_queue_download_media,
|
||||||
get_queue_download_quality,
|
|
||||||
get_results_media_item,
|
get_results_media_item,
|
||||||
get_user_list_media_item,
|
get_user_list_media_item,
|
||||||
set_queue_download_media,
|
set_queue_download_media,
|
||||||
@@ -697,7 +697,8 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
) -> QueueDownloadItem | bool:
|
) -> QueueDownloadItem | bool:
|
||||||
result: QueueDownloadItem | False
|
result: QueueDownloadItem | False
|
||||||
name: str = ""
|
name: str = ""
|
||||||
quality: Quality | QualityVideo | str = ""
|
quality_audio: Quality = self.settings.data.quality_audio
|
||||||
|
quality_video: QualityVideo = self.settings.data.quality_video
|
||||||
explicit: str = ""
|
explicit: str = ""
|
||||||
|
|
||||||
# Check if item is available on TIDAL.
|
# Check if item is available on TIDAL.
|
||||||
@@ -713,31 +714,26 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
name = f"{name_builder_artist(media)} - {name_builder_title(media)}{explicit}"
|
name = f"{name_builder_artist(media)} - {name_builder_title(media)}{explicit}"
|
||||||
elif isinstance(media, Playlist | Artist):
|
elif isinstance(media, Playlist | Artist):
|
||||||
name = media.name
|
name = media.name
|
||||||
quality = self.settings.data.quality_audio
|
|
||||||
elif isinstance(media, Album):
|
elif isinstance(media, Album):
|
||||||
name = f"{name_builder_artist(media)} - {media.name}{explicit}"
|
name = f"{name_builder_artist(media)} - {media.name}{explicit}"
|
||||||
elif isinstance(media, Mix):
|
elif isinstance(media, Mix):
|
||||||
name = media.title
|
name = media.title
|
||||||
quality = self.settings.data.quality_audio
|
|
||||||
|
|
||||||
# Determine actual quality.
|
# Determine actual quality.
|
||||||
if isinstance(media, Track | Album):
|
if isinstance(media, Track | Album):
|
||||||
quality_highest: str = quality_audio_highest(media)
|
quality_highest: Quality = quality_audio_highest(media)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
self.settings.data.quality_audio == quality_highest
|
self.settings.data.quality_audio == quality_highest
|
||||||
or self.settings.data.quality_audio == Quality.hi_res_lossless
|
or self.settings.data.quality_audio == Quality.hi_res_lossless
|
||||||
):
|
):
|
||||||
quality = quality_highest
|
quality_audio = quality_highest
|
||||||
else:
|
|
||||||
quality = self.settings.data.quality_audio
|
|
||||||
elif isinstance(media, Video):
|
|
||||||
quality = self.settings.data.quality_video
|
|
||||||
|
|
||||||
if name:
|
if name:
|
||||||
result = QueueDownloadItem(
|
result = QueueDownloadItem(
|
||||||
name=name,
|
name=name,
|
||||||
quality=quality,
|
quality_audio=quality_audio,
|
||||||
|
quality_video=quality_video,
|
||||||
type_media=type(media).__name__,
|
type_media=type(media).__name__,
|
||||||
status=QueueDownloadStatus.Waiting,
|
status=QueueDownloadStatus.Waiting,
|
||||||
obj=media,
|
obj=media,
|
||||||
@@ -956,7 +952,8 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
set_queue_download_media(child, queue_dl_item.obj)
|
set_queue_download_media(child, queue_dl_item.obj)
|
||||||
child.setText(2, queue_dl_item.name)
|
child.setText(2, queue_dl_item.name)
|
||||||
child.setText(3, queue_dl_item.type_media)
|
child.setText(3, queue_dl_item.type_media)
|
||||||
child.setText(4, queue_dl_item.quality)
|
child.setText(4, queue_dl_item.quality_audio)
|
||||||
|
child.setText(5, queue_dl_item.quality_video)
|
||||||
self.tr_queue_download.addTopLevelItem(child)
|
self.tr_queue_download.addTopLevelItem(child)
|
||||||
|
|
||||||
def watcher_queue_download(self) -> None:
|
def watcher_queue_download(self) -> None:
|
||||||
@@ -969,12 +966,12 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
result: QueueDownloadStatus
|
result: QueueDownloadStatus
|
||||||
item: QtWidgets.QTreeWidgetItem = items[0]
|
item: QtWidgets.QTreeWidgetItem = items[0]
|
||||||
media: Track | Album | Playlist | Video | Mix | Artist = get_queue_download_media(item)
|
media: Track | Album | Playlist | Video | Mix | Artist = get_queue_download_media(item)
|
||||||
tmp_quality: str = get_queue_download_quality(item)
|
quality_audio: Quality = get_queue_download_quality_audio(item)
|
||||||
quality: Quality | QualityVideo | None = tmp_quality if tmp_quality else None
|
quality_video: QualityVideo = get_queue_download_quality_video(item)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.s_queue_download_item_downloading.emit(item)
|
self.s_queue_download_item_downloading.emit(item)
|
||||||
result = self.on_queue_download(media, quality=quality)
|
result = self.on_queue_download(media, quality_audio=quality_audio, quality_video=quality_video)
|
||||||
|
|
||||||
if result == QueueDownloadStatus.Finished:
|
if result == QueueDownloadStatus.Finished:
|
||||||
self.s_queue_download_item_finished.emit(item)
|
self.s_queue_download_item_finished.emit(item)
|
||||||
@@ -1002,7 +999,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
item.setText(0, status)
|
item.setText(0, status)
|
||||||
|
|
||||||
def on_queue_download(
|
def on_queue_download(
|
||||||
self, media: Track | Album | Playlist | Video | Mix | Artist, quality: Quality | QualityVideo | None = None
|
self,
|
||||||
|
media: Track | Album | Playlist | Video | Mix | Artist,
|
||||||
|
quality_audio: Quality | None = None,
|
||||||
|
quality_video: QualityVideo | None = None,
|
||||||
) -> QueueDownloadStatus:
|
) -> QueueDownloadStatus:
|
||||||
result: QueueDownloadStatus
|
result: QueueDownloadStatus
|
||||||
items_media: [Track | Album | Playlist | Video | Mix | Artist]
|
items_media: [Track | Album | Playlist | Video | Mix | Artist]
|
||||||
@@ -1015,7 +1015,13 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
download_delay: bool = bool(isinstance(media, Track | Video) and self.settings.data.download_delay)
|
download_delay: bool = bool(isinstance(media, Track | Video) and self.settings.data.download_delay)
|
||||||
|
|
||||||
for item_media in items_media:
|
for item_media in items_media:
|
||||||
result = self.download(item_media, self.dl, delay_track=download_delay, quality=quality)
|
result = self.download(
|
||||||
|
item_media,
|
||||||
|
self.dl,
|
||||||
|
delay_track=download_delay,
|
||||||
|
quality_audio=quality_audio,
|
||||||
|
quality_video=quality_video,
|
||||||
|
)
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@@ -1024,26 +1030,18 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
media: Track | Album | Playlist | Video | Mix | Artist,
|
media: Track | Album | Playlist | Video | Mix | Artist,
|
||||||
dl: Download,
|
dl: Download,
|
||||||
delay_track: bool = False,
|
delay_track: bool = False,
|
||||||
quality: Quality | QualityVideo | None = None,
|
quality_audio: Quality | None = None,
|
||||||
|
quality_video: QualityVideo | None = None,
|
||||||
) -> QueueDownloadStatus:
|
) -> QueueDownloadStatus:
|
||||||
result_dl: bool
|
result_dl: bool
|
||||||
path_file: str
|
path_file: str
|
||||||
result: QueueDownloadStatus
|
result: QueueDownloadStatus
|
||||||
quality_audio: Quality | None
|
|
||||||
quality_video: QualityVideo | None
|
|
||||||
self.s_pb_reset.emit()
|
self.s_pb_reset.emit()
|
||||||
self.s_statusbar_message.emit(StatusbarMessage(message="Download started..."))
|
self.s_statusbar_message.emit(StatusbarMessage(message="Download started..."))
|
||||||
|
|
||||||
file_template = get_format_template(media, self.settings)
|
file_template = get_format_template(media, self.settings)
|
||||||
|
|
||||||
if isinstance(media, Track | Video):
|
if isinstance(media, Track | Video):
|
||||||
if isinstance(media, Track):
|
|
||||||
quality_audio = quality
|
|
||||||
quality_video = None
|
|
||||||
else:
|
|
||||||
quality_audio = None
|
|
||||||
quality_video = quality
|
|
||||||
|
|
||||||
result_dl, path_file = dl.item(
|
result_dl, path_file = dl.item(
|
||||||
media=media,
|
media=media,
|
||||||
file_template=file_template,
|
file_template=file_template,
|
||||||
@@ -1052,13 +1050,6 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
quality_video=quality_video,
|
quality_video=quality_video,
|
||||||
)
|
)
|
||||||
elif isinstance(media, Album | Playlist | Mix):
|
elif isinstance(media, Album | Playlist | Mix):
|
||||||
if isinstance(media, Album):
|
|
||||||
quality_audio = quality
|
|
||||||
quality_video = None
|
|
||||||
else:
|
|
||||||
quality_audio = None
|
|
||||||
quality_video = None
|
|
||||||
|
|
||||||
dl.items(
|
dl.items(
|
||||||
media=media,
|
media=media,
|
||||||
file_template=file_template,
|
file_template=file_template,
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
import re
|
import re
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from PySide6 import QtCore, QtGui, QtWidgets
|
from PySide6 import QtCore, QtGui, QtWidgets
|
||||||
from tidalapi import Album, Mix, Playlist, Track, UserPlaylist, Video
|
from tidalapi import Album, Mix, Playlist, Track, UserPlaylist, Video
|
||||||
from tidalapi.artist import Artist
|
from tidalapi.artist import Artist
|
||||||
from tidalapi.media import Quality
|
from tidalapi.media import Quality
|
||||||
|
|
||||||
|
from tidal_dl_ng.constants import QualityVideo
|
||||||
|
|
||||||
|
|
||||||
def get_table_data(
|
def get_table_data(
|
||||||
item: QtWidgets.QTreeWidgetItem, column: int
|
item: QtWidgets.QTreeWidgetItem, column: int
|
||||||
@@ -46,8 +49,25 @@ def get_queue_download_media(
|
|||||||
|
|
||||||
def get_queue_download_quality(
|
def get_queue_download_quality(
|
||||||
item: QtWidgets.QTreeWidgetItem,
|
item: QtWidgets.QTreeWidgetItem,
|
||||||
|
column: int,
|
||||||
|
) -> str:
|
||||||
|
result: str = get_table_text(item, column)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def get_queue_download_quality_audio(
|
||||||
|
item: QtWidgets.QTreeWidgetItem,
|
||||||
) -> Quality:
|
) -> Quality:
|
||||||
result: Quality = get_table_text(item, 4)
|
result: Quality = cast(Quality, get_queue_download_quality(item, 4))
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def get_queue_download_quality_video(
|
||||||
|
item: QtWidgets.QTreeWidgetItem,
|
||||||
|
) -> QualityVideo:
|
||||||
|
result: QualityVideo = cast(QualityVideo, get_queue_download_quality(item, 5))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ from dataclasses import dataclass
|
|||||||
|
|
||||||
from tidalapi.media import Quality
|
from tidalapi.media import Quality
|
||||||
|
|
||||||
|
from tidal_dl_ng.constants import QualityVideo
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from PySide6 import QtCore
|
from PySide6 import QtCore
|
||||||
|
|
||||||
@@ -42,5 +44,6 @@ class QueueDownloadItem:
|
|||||||
status: str
|
status: str
|
||||||
name: str
|
name: str
|
||||||
type_media: str
|
type_media: str
|
||||||
quality: Quality
|
quality_audio: Quality
|
||||||
|
quality_video: QualityVideo
|
||||||
obj: object
|
obj: object
|
||||||
|
|||||||
+22
-17
@@ -1,7 +1,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
## Form generated from reading UI file 'main.ui'
|
## Form generated from reading UI file 'main.ui'
|
||||||
##
|
##
|
||||||
## Created by: Qt User Interface Compiler version 6.7.0
|
## Created by: Qt User Interface Compiler version 6.8.0
|
||||||
##
|
##
|
||||||
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -110,9 +110,9 @@ class Ui_MainWindow:
|
|||||||
# if QT_CONFIG(accessibility)
|
# if QT_CONFIG(accessibility)
|
||||||
self.tr_lists_user.setAccessibleDescription("")
|
self.tr_lists_user.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.tr_lists_user.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
self.tr_lists_user.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||||
self.tr_lists_user.setProperty("showDropIndicator", False)
|
self.tr_lists_user.setProperty("showDropIndicator", False)
|
||||||
self.tr_lists_user.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
self.tr_lists_user.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
|
||||||
self.tr_lists_user.setIndentation(10)
|
self.tr_lists_user.setIndentation(10)
|
||||||
self.tr_lists_user.setUniformRowHeights(True)
|
self.tr_lists_user.setUniformRowHeights(True)
|
||||||
self.tr_lists_user.setSortingEnabled(True)
|
self.tr_lists_user.setSortingEnabled(True)
|
||||||
@@ -196,7 +196,7 @@ class Ui_MainWindow:
|
|||||||
self.cb_search_type.setAccessibleDescription("")
|
self.cb_search_type.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.cb_search_type.setCurrentText("")
|
self.cb_search_type.setCurrentText("")
|
||||||
self.cb_search_type.setSizeAdjustPolicy(QComboBox.AdjustToContentsOnFirstShow)
|
self.cb_search_type.setSizeAdjustPolicy(QComboBox.SizeAdjustPolicy.AdjustToContentsOnFirstShow)
|
||||||
self.cb_search_type.setPlaceholderText("")
|
self.cb_search_type.setPlaceholderText("")
|
||||||
|
|
||||||
self.lh_search.addWidget(self.cb_search_type)
|
self.lh_search.addWidget(self.cb_search_type)
|
||||||
@@ -226,11 +226,11 @@ class Ui_MainWindow:
|
|||||||
|
|
||||||
self.tr_results = QTreeView(self.w_central)
|
self.tr_results = QTreeView(self.w_central)
|
||||||
self.tr_results.setObjectName("tr_results")
|
self.tr_results.setObjectName("tr_results")
|
||||||
self.tr_results.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
self.tr_results.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||||
self.tr_results.setProperty("showDropIndicator", False)
|
self.tr_results.setProperty("showDropIndicator", False)
|
||||||
self.tr_results.setDragDropOverwriteMode(False)
|
self.tr_results.setDragDropOverwriteMode(False)
|
||||||
self.tr_results.setAlternatingRowColors(False)
|
self.tr_results.setAlternatingRowColors(False)
|
||||||
self.tr_results.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
self.tr_results.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
|
||||||
self.tr_results.setIndentation(10)
|
self.tr_results.setIndentation(10)
|
||||||
self.tr_results.setSortingEnabled(True)
|
self.tr_results.setSortingEnabled(True)
|
||||||
|
|
||||||
@@ -256,7 +256,9 @@ class Ui_MainWindow:
|
|||||||
self.l_quality_audio.setAccessibleDescription("")
|
self.l_quality_audio.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.l_quality_audio.setText("Audio")
|
self.l_quality_audio.setText("Audio")
|
||||||
self.l_quality_audio.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter)
|
self.l_quality_audio.setAlignment(
|
||||||
|
Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignTrailing | Qt.AlignmentFlag.AlignVCenter
|
||||||
|
)
|
||||||
|
|
||||||
self.lh_download.addWidget(self.l_quality_audio)
|
self.lh_download.addWidget(self.l_quality_audio)
|
||||||
|
|
||||||
@@ -279,7 +281,7 @@ class Ui_MainWindow:
|
|||||||
self.cb_quality_audio.setAccessibleDescription("")
|
self.cb_quality_audio.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.cb_quality_audio.setCurrentText("")
|
self.cb_quality_audio.setCurrentText("")
|
||||||
self.cb_quality_audio.setSizeAdjustPolicy(QComboBox.AdjustToContentsOnFirstShow)
|
self.cb_quality_audio.setSizeAdjustPolicy(QComboBox.SizeAdjustPolicy.AdjustToContentsOnFirstShow)
|
||||||
self.cb_quality_audio.setPlaceholderText("")
|
self.cb_quality_audio.setPlaceholderText("")
|
||||||
self.cb_quality_audio.setFrame(True)
|
self.cb_quality_audio.setFrame(True)
|
||||||
|
|
||||||
@@ -303,7 +305,9 @@ class Ui_MainWindow:
|
|||||||
self.l_quality_video.setAccessibleDescription("")
|
self.l_quality_video.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.l_quality_video.setText("Video")
|
self.l_quality_video.setText("Video")
|
||||||
self.l_quality_video.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter)
|
self.l_quality_video.setAlignment(
|
||||||
|
Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignTrailing | Qt.AlignmentFlag.AlignVCenter
|
||||||
|
)
|
||||||
|
|
||||||
self.lh_download.addWidget(self.l_quality_video)
|
self.lh_download.addWidget(self.l_quality_video)
|
||||||
|
|
||||||
@@ -326,7 +330,7 @@ class Ui_MainWindow:
|
|||||||
self.cb_quality_video.setAccessibleDescription("")
|
self.cb_quality_video.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.cb_quality_video.setCurrentText("")
|
self.cb_quality_video.setCurrentText("")
|
||||||
self.cb_quality_video.setSizeAdjustPolicy(QComboBox.AdjustToContentsOnFirstShow)
|
self.cb_quality_video.setSizeAdjustPolicy(QComboBox.SizeAdjustPolicy.AdjustToContentsOnFirstShow)
|
||||||
self.cb_quality_video.setPlaceholderText("")
|
self.cb_quality_video.setPlaceholderText("")
|
||||||
|
|
||||||
self.lh_download.addWidget(self.cb_quality_video)
|
self.lh_download.addWidget(self.cb_quality_video)
|
||||||
@@ -408,10 +412,10 @@ class Ui_MainWindow:
|
|||||||
self.l_pm_cover.setSizePolicy(sizePolicy3)
|
self.l_pm_cover.setSizePolicy(sizePolicy3)
|
||||||
self.l_pm_cover.setMaximumSize(QSize(280, 280))
|
self.l_pm_cover.setMaximumSize(QSize(280, 280))
|
||||||
self.l_pm_cover.setBaseSize(QSize(0, 0))
|
self.l_pm_cover.setBaseSize(QSize(0, 0))
|
||||||
self.l_pm_cover.setFrameShape(QFrame.NoFrame)
|
self.l_pm_cover.setFrameShape(QFrame.Shape.NoFrame)
|
||||||
self.l_pm_cover.setPixmap(QPixmap("default_album_image.png"))
|
self.l_pm_cover.setPixmap(QPixmap("default_album_image.png"))
|
||||||
self.l_pm_cover.setScaledContents(True)
|
self.l_pm_cover.setScaledContents(True)
|
||||||
self.l_pm_cover.setAlignment(Qt.AlignHCenter | Qt.AlignTop)
|
self.l_pm_cover.setAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop)
|
||||||
|
|
||||||
self.horizontalLayout_2.addWidget(self.l_pm_cover)
|
self.horizontalLayout_2.addWidget(self.l_pm_cover)
|
||||||
|
|
||||||
@@ -436,12 +440,12 @@ class Ui_MainWindow:
|
|||||||
__qtreewidgetitem4.setText(0, "\ud83e\uddd1\u200d\ud83d\udcbb\ufe0f")
|
__qtreewidgetitem4.setText(0, "\ud83e\uddd1\u200d\ud83d\udcbb\ufe0f")
|
||||||
self.tr_queue_download.setHeaderItem(__qtreewidgetitem4)
|
self.tr_queue_download.setHeaderItem(__qtreewidgetitem4)
|
||||||
self.tr_queue_download.setObjectName("tr_queue_download")
|
self.tr_queue_download.setObjectName("tr_queue_download")
|
||||||
self.tr_queue_download.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
self.tr_queue_download.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||||
self.tr_queue_download.setTabKeyNavigation(False)
|
self.tr_queue_download.setTabKeyNavigation(False)
|
||||||
self.tr_queue_download.setProperty("showDropIndicator", False)
|
self.tr_queue_download.setProperty("showDropIndicator", False)
|
||||||
self.tr_queue_download.setDragDropOverwriteMode(False)
|
self.tr_queue_download.setDragDropOverwriteMode(False)
|
||||||
self.tr_queue_download.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
self.tr_queue_download.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
|
||||||
self.tr_queue_download.setSelectionBehavior(QAbstractItemView.SelectRows)
|
self.tr_queue_download.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
|
||||||
self.tr_queue_download.setRootIsDecorated(False)
|
self.tr_queue_download.setRootIsDecorated(False)
|
||||||
self.tr_queue_download.setItemsExpandable(False)
|
self.tr_queue_download.setItemsExpandable(False)
|
||||||
self.tr_queue_download.setSortingEnabled(False)
|
self.tr_queue_download.setSortingEnabled(False)
|
||||||
@@ -533,7 +537,7 @@ class Ui_MainWindow:
|
|||||||
# if QT_CONFIG(accessibility)
|
# if QT_CONFIG(accessibility)
|
||||||
self.statusbar.setAccessibleDescription("")
|
self.statusbar.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
self.statusbar.setLayoutDirection(Qt.LeftToRight)
|
self.statusbar.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
|
||||||
MainWindow.setStatusBar(self.statusbar)
|
MainWindow.setStatusBar(self.statusbar)
|
||||||
|
|
||||||
self.menubar.addAction(self.m_file.menuAction())
|
self.menubar.addAction(self.m_file.menuAction())
|
||||||
@@ -575,7 +579,8 @@ class Ui_MainWindow:
|
|||||||
self.l_pm_cover.setText("")
|
self.l_pm_cover.setText("")
|
||||||
self.l_h_queue_download.setText(QCoreApplication.translate("MainWindow", "Download Queue", None))
|
self.l_h_queue_download.setText(QCoreApplication.translate("MainWindow", "Download Queue", None))
|
||||||
___qtreewidgetitem4 = self.tr_queue_download.headerItem()
|
___qtreewidgetitem4 = self.tr_queue_download.headerItem()
|
||||||
___qtreewidgetitem4.setText(4, QCoreApplication.translate("MainWindow", "Quality", None))
|
___qtreewidgetitem4.setText(5, QCoreApplication.translate("MainWindow", "Quality Video", None))
|
||||||
|
___qtreewidgetitem4.setText(4, QCoreApplication.translate("MainWindow", "Quality Audio", None))
|
||||||
___qtreewidgetitem4.setText(3, QCoreApplication.translate("MainWindow", "Type", None))
|
___qtreewidgetitem4.setText(3, QCoreApplication.translate("MainWindow", "Type", None))
|
||||||
___qtreewidgetitem4.setText(2, QCoreApplication.translate("MainWindow", "Name", None))
|
___qtreewidgetitem4.setText(2, QCoreApplication.translate("MainWindow", "Name", None))
|
||||||
___qtreewidgetitem4.setText(1, QCoreApplication.translate("MainWindow", "obj", None))
|
___qtreewidgetitem4.setText(1, QCoreApplication.translate("MainWindow", "obj", None))
|
||||||
|
|||||||
+21
-16
@@ -59,13 +59,13 @@
|
|||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||||
</property>
|
</property>
|
||||||
<property name="showDropIndicator" stdset="0">
|
<property name="showDropIndicator" stdset="0">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="selectionMode">
|
<property name="selectionMode">
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
<enum>QAbstractItemView::SelectionMode::ExtendedSelection</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="indentation">
|
<property name="indentation">
|
||||||
<number>10</number>
|
<number>10</number>
|
||||||
@@ -262,7 +262,7 @@
|
|||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="sizeAdjustPolicy">
|
||||||
<enum>QComboBox::AdjustToContentsOnFirstShow</enum>
|
<enum>QComboBox::SizeAdjustPolicy::AdjustToContentsOnFirstShow</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
@@ -296,7 +296,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTreeView" name="tr_results">
|
<widget class="QTreeView" name="tr_results">
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||||
</property>
|
</property>
|
||||||
<property name="showDropIndicator" stdset="0">
|
<property name="showDropIndicator" stdset="0">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -308,7 +308,7 @@
|
|||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="selectionMode">
|
<property name="selectionMode">
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
<enum>QAbstractItemView::SelectionMode::ExtendedSelection</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="indentation">
|
<property name="indentation">
|
||||||
<number>10</number>
|
<number>10</number>
|
||||||
@@ -341,7 +341,7 @@
|
|||||||
<string notr="true">Audio</string>
|
<string notr="true">Audio</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -372,7 +372,7 @@
|
|||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="sizeAdjustPolicy">
|
||||||
<enum>QComboBox::AdjustToContentsOnFirstShow</enum>
|
<enum>QComboBox::SizeAdjustPolicy::AdjustToContentsOnFirstShow</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
@@ -403,7 +403,7 @@
|
|||||||
<string notr="true">Video</string>
|
<string notr="true">Video</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -434,7 +434,7 @@
|
|||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="sizeAdjustPolicy">
|
||||||
<enum>QComboBox::AdjustToContentsOnFirstShow</enum>
|
<enum>QComboBox::SizeAdjustPolicy::AdjustToContentsOnFirstShow</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
@@ -543,7 +543,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::Shape::NoFrame</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
@@ -555,7 +555,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
<set>Qt::AlignmentFlag::AlignHCenter|Qt::AlignmentFlag::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -582,7 +582,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTreeWidget" name="tr_queue_download">
|
<widget class="QTreeWidget" name="tr_queue_download">
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||||
</property>
|
</property>
|
||||||
<property name="tabKeyNavigation">
|
<property name="tabKeyNavigation">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -594,10 +594,10 @@
|
|||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="selectionMode">
|
<property name="selectionMode">
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
<enum>QAbstractItemView::SelectionMode::ExtendedSelection</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="selectionBehavior">
|
<property name="selectionBehavior">
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
<enum>QAbstractItemView::SelectionBehavior::SelectRows</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="rootIsDecorated">
|
<property name="rootIsDecorated">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@@ -639,7 +639,12 @@
|
|||||||
</column>
|
</column>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Quality</string>
|
<string>Quality Audio</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Quality Video</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -752,7 +757,7 @@
|
|||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="layoutDirection">
|
<property name="layoutDirection">
|
||||||
<enum>Qt::LeftToRight</enum>
|
<enum>Qt::LayoutDirection::LeftToRight</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<action name="a_preferences">
|
<action name="a_preferences">
|
||||||
|
|||||||
Reference in New Issue
Block a user