✨ Updates will be automatically checked on startup and can also be checked manually. Version dialog is used to display update information. Fixes #76
This commit is contained in:
+35
-1
@@ -1,4 +1,5 @@
|
|||||||
import os.path
|
import os.path
|
||||||
|
import webbrowser
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
@@ -11,6 +12,7 @@ from tidal_dl_ng.constants import CoverDimensions, QualityVideo, SkipExisting
|
|||||||
from tidal_dl_ng.helper.path import is_installed_ffmpeg
|
from tidal_dl_ng.helper.path import is_installed_ffmpeg
|
||||||
from tidal_dl_ng.model.cfg import HelpSettings
|
from tidal_dl_ng.model.cfg import HelpSettings
|
||||||
from tidal_dl_ng.model.cfg import Settings as ModelSettings
|
from tidal_dl_ng.model.cfg import Settings as ModelSettings
|
||||||
|
from tidal_dl_ng.model.meta import ReleaseLatest
|
||||||
from tidal_dl_ng.ui.dialog_login import Ui_DialogLogin
|
from tidal_dl_ng.ui.dialog_login import Ui_DialogLogin
|
||||||
from tidal_dl_ng.ui.dialog_settings import Ui_DialogSettings
|
from tidal_dl_ng.ui.dialog_settings import Ui_DialogSettings
|
||||||
from tidal_dl_ng.ui.dialog_version import Ui_DialogVersion
|
from tidal_dl_ng.ui.dialog_version import Ui_DialogVersion
|
||||||
@@ -21,7 +23,9 @@ class DialogVersion(QtWidgets.QDialog):
|
|||||||
|
|
||||||
ui: Ui_DialogVersion
|
ui: Ui_DialogVersion
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(
|
||||||
|
self, parent=None, update_check: bool = False, update_available: bool = False, update_info: ReleaseLatest = None
|
||||||
|
):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
# Create an instance of the GUI
|
# Create an instance of the GUI
|
||||||
@@ -31,9 +35,39 @@ class DialogVersion(QtWidgets.QDialog):
|
|||||||
self.ui.setupUi(self)
|
self.ui.setupUi(self)
|
||||||
# Set the version.
|
# Set the version.
|
||||||
self.ui.l_version.setText("v" + __version__)
|
self.ui.l_version.setText("v" + __version__)
|
||||||
|
|
||||||
|
if not update_check:
|
||||||
|
self.update_info_hide()
|
||||||
|
self.error_hide()
|
||||||
|
else:
|
||||||
|
self.update_info(update_available, update_info)
|
||||||
|
|
||||||
# Show
|
# Show
|
||||||
self.exec()
|
self.exec()
|
||||||
|
|
||||||
|
def update_info(self, update_available: bool, update_info: ReleaseLatest):
|
||||||
|
if not update_available and update_info.version == "v0.0.0":
|
||||||
|
self.update_info_hide()
|
||||||
|
self.ui.l_error_details.setText(
|
||||||
|
"Cannot retrieve update information. Maybe something is wrong with your internet connection."
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.error_hide()
|
||||||
|
self.ui.l_version_new.setText(update_info.version)
|
||||||
|
self.ui.l_changelog_details.setText(update_info.release_info)
|
||||||
|
self.ui.pb_download.clicked.connect(lambda: webbrowser.open(update_info.url))
|
||||||
|
|
||||||
|
def error_hide(self):
|
||||||
|
self.ui.l_error.setHidden(True)
|
||||||
|
self.ui.l_error_details.setHidden(True)
|
||||||
|
|
||||||
|
def update_info_hide(self):
|
||||||
|
self.ui.l_h_version_new.setHidden(True)
|
||||||
|
self.ui.l_version_new.setHidden(True)
|
||||||
|
self.ui.l_changelog.setHidden(True)
|
||||||
|
self.ui.l_changelog_details.setHidden(True)
|
||||||
|
self.ui.pb_download.setHidden(True)
|
||||||
|
|
||||||
|
|
||||||
class DialogLogin(QtWidgets.QDialog):
|
class DialogLogin(QtWidgets.QDialog):
|
||||||
"""Version dialog."""
|
"""Version dialog."""
|
||||||
|
|||||||
+9
-6
@@ -37,6 +37,7 @@ from tidal_dl_ng.constants import QualityVideo, TidalLists
|
|||||||
from tidal_dl_ng.download import Download
|
from tidal_dl_ng.download import Download
|
||||||
from tidal_dl_ng.logger import XStream, logger_gui
|
from tidal_dl_ng.logger import XStream, logger_gui
|
||||||
from tidal_dl_ng.model.gui_data import ProgressBars, ResultItem, StatusbarMessage
|
from tidal_dl_ng.model.gui_data import ProgressBars, ResultItem, StatusbarMessage
|
||||||
|
from tidal_dl_ng.model.meta import ReleaseLatest
|
||||||
from tidal_dl_ng.ui.main import Ui_MainWindow
|
from tidal_dl_ng.ui.main import Ui_MainWindow
|
||||||
from tidal_dl_ng.ui.spinner import QtWaitingSpinner
|
from tidal_dl_ng.ui.spinner import QtWaitingSpinner
|
||||||
from tidal_dl_ng.worker import Worker
|
from tidal_dl_ng.worker import Worker
|
||||||
@@ -65,7 +66,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
s_settings_save: QtCore.Signal = QtCore.Signal()
|
s_settings_save: QtCore.Signal = QtCore.Signal()
|
||||||
s_pb_reload_status: QtCore.Signal = QtCore.Signal(bool)
|
s_pb_reload_status: QtCore.Signal = QtCore.Signal(bool)
|
||||||
s_update_check: QtCore.Signal = QtCore.Signal()
|
s_update_check: QtCore.Signal = QtCore.Signal()
|
||||||
s_update_show: QtCore.Signal = QtCore.Signal()
|
s_update_show: QtCore.Signal = QtCore.Signal(bool, bool, object)
|
||||||
|
|
||||||
def __init__(self, tidal: Tidal | None = None):
|
def __init__(self, tidal: Tidal | None = None):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@@ -251,9 +252,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
is_available, info = update_available()
|
is_available, info = update_available()
|
||||||
|
|
||||||
if is_available:
|
if is_available:
|
||||||
QtWidgets.QMessageBox.information(
|
self.s_update_show.emit(True, is_available, info)
|
||||||
self, "New Version Available", "test", QtWidgets.QMessageBox.StandardButton.Ok
|
|
||||||
)
|
|
||||||
|
|
||||||
def apply_settings(self, settings: Settings):
|
def apply_settings(self, settings: Settings):
|
||||||
l_cb = [
|
l_cb = [
|
||||||
@@ -498,12 +497,14 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.pb_reload_user_lists.clicked.connect(lambda: self.thread_it(self.tidal_user_lists))
|
self.pb_reload_user_lists.clicked.connect(lambda: self.thread_it(self.tidal_user_lists))
|
||||||
self.s_pb_reload_status.connect(self.button_reload_status)
|
self.s_pb_reload_status.connect(self.button_reload_status)
|
||||||
self.s_update_check.connect(lambda: self.thread_it(self.on_update_check))
|
self.s_update_check.connect(lambda: self.thread_it(self.on_update_check))
|
||||||
|
self.s_update_show.connect(self.on_version)
|
||||||
|
|
||||||
# Menubar
|
# Menubar
|
||||||
self.a_exit.triggered.connect(sys.exit)
|
self.a_exit.triggered.connect(sys.exit)
|
||||||
self.a_version.triggered.connect(self.on_version)
|
self.a_version.triggered.connect(self.on_version)
|
||||||
self.a_preferences.triggered.connect(self.on_preferences)
|
self.a_preferences.triggered.connect(self.on_preferences)
|
||||||
self.a_logout.triggered.connect(self.on_logout)
|
self.a_logout.triggered.connect(self.on_logout)
|
||||||
|
self.a_updates_check.triggered.connect(self.on_update_check)
|
||||||
|
|
||||||
# Results
|
# Results
|
||||||
self.tr_results.itemExpanded.connect(self.on_tr_results_expanded)
|
self.tr_results.itemExpanded.connect(self.on_tr_results_expanded)
|
||||||
@@ -635,8 +636,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
self.s_statusbar_message.emit(StatusbarMessage(message="Download finished.", timout=2000))
|
self.s_statusbar_message.emit(StatusbarMessage(message="Download finished.", timout=2000))
|
||||||
|
|
||||||
def on_version(self) -> None:
|
def on_version(
|
||||||
DialogVersion(self)
|
self, update_check: bool = False, update_available: bool = False, update_info: ReleaseLatest = None
|
||||||
|
) -> None:
|
||||||
|
DialogVersion(self, update_check, update_available, update_info)
|
||||||
|
|
||||||
def on_preferences(self) -> None:
|
def on_preferences(self) -> None:
|
||||||
DialogPreferences(settings=self.settings, settings_save=self.s_settings_save, parent=self)
|
DialogPreferences(settings=self.settings, settings_save=self.s_settings_save, parent=self)
|
||||||
|
|||||||
@@ -6,8 +6,9 @@
|
|||||||
## 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!
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
from PySide6.QtCore import QCoreApplication, QMetaObject, QRect
|
from PySide6.QtCore import QCoreApplication, QMetaObject, QSize, Qt
|
||||||
from PySide6.QtWidgets import QLabel
|
from PySide6.QtGui import QFont
|
||||||
|
from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QSizePolicy, QSpacerItem, QVBoxLayout
|
||||||
|
|
||||||
|
|
||||||
class Ui_DialogVersion:
|
class Ui_DialogVersion:
|
||||||
@@ -15,16 +16,121 @@ class Ui_DialogVersion:
|
|||||||
if not DialogVersion.objectName():
|
if not DialogVersion.objectName():
|
||||||
DialogVersion.setObjectName("DialogVersion")
|
DialogVersion.setObjectName("DialogVersion")
|
||||||
DialogVersion.resize(436, 235)
|
DialogVersion.resize(436, 235)
|
||||||
self.l_version = QLabel(DialogVersion)
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
|
||||||
self.l_version.setObjectName("l_version")
|
sizePolicy.setHorizontalStretch(0)
|
||||||
self.l_version.setGeometry(QRect(190, 100, 61, 16))
|
sizePolicy.setVerticalStretch(0)
|
||||||
self.l_url_github = QLabel(DialogVersion)
|
sizePolicy.setHeightForWidth(DialogVersion.sizePolicy().hasHeightForWidth())
|
||||||
self.l_url_github.setObjectName("l_url_github")
|
DialogVersion.setSizePolicy(sizePolicy)
|
||||||
self.l_url_github.setGeometry(QRect(160, 200, 251, 20))
|
DialogVersion.setMaximumSize(QSize(436, 235))
|
||||||
self.l_url_github.setOpenExternalLinks(True)
|
self.verticalLayout = QVBoxLayout(DialogVersion)
|
||||||
|
self.verticalLayout.setObjectName("verticalLayout")
|
||||||
self.l_name_app = QLabel(DialogVersion)
|
self.l_name_app = QLabel(DialogVersion)
|
||||||
self.l_name_app.setObjectName("l_name_app")
|
self.l_name_app.setObjectName("l_name_app")
|
||||||
self.l_name_app.setGeometry(QRect(110, 30, 231, 16))
|
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.l_name_app.sizePolicy().hasHeightForWidth())
|
||||||
|
self.l_name_app.setSizePolicy(sizePolicy1)
|
||||||
|
font = QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
self.l_name_app.setFont(font)
|
||||||
|
self.l_name_app.setAlignment(Qt.AlignCenter)
|
||||||
|
self.l_name_app.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.l_name_app)
|
||||||
|
|
||||||
|
self.lv_version = QVBoxLayout()
|
||||||
|
self.lv_version.setObjectName("lv_version")
|
||||||
|
self.lh_version = QHBoxLayout()
|
||||||
|
self.lh_version.setObjectName("lh_version")
|
||||||
|
self.l_h_version = QLabel(DialogVersion)
|
||||||
|
self.l_h_version.setObjectName("l_h_version")
|
||||||
|
self.l_h_version.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lh_version.addWidget(self.l_h_version)
|
||||||
|
|
||||||
|
self.l_version = QLabel(DialogVersion)
|
||||||
|
self.l_version.setObjectName("l_version")
|
||||||
|
self.l_version.setFont(font)
|
||||||
|
self.l_version.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lh_version.addWidget(self.l_version)
|
||||||
|
|
||||||
|
self.lv_version.addLayout(self.lh_version)
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.lv_version)
|
||||||
|
|
||||||
|
self.lv_update = QVBoxLayout()
|
||||||
|
self.lv_update.setObjectName("lv_update")
|
||||||
|
self.l_error = QLabel(DialogVersion)
|
||||||
|
self.l_error.setObjectName("l_error")
|
||||||
|
self.l_error.setFont(font)
|
||||||
|
self.l_error.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lv_update.addWidget(self.l_error)
|
||||||
|
|
||||||
|
self.l_error_details = QLabel(DialogVersion)
|
||||||
|
self.l_error_details.setObjectName("l_error_details")
|
||||||
|
self.l_error_details.setFont(font)
|
||||||
|
self.l_error_details.setAlignment(Qt.AlignCenter)
|
||||||
|
self.l_error_details.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lv_update.addWidget(self.l_error_details)
|
||||||
|
|
||||||
|
self.lh_update_version = QHBoxLayout()
|
||||||
|
self.lh_update_version.setObjectName("lh_update_version")
|
||||||
|
self.l_h_version_new = QLabel(DialogVersion)
|
||||||
|
self.l_h_version_new.setObjectName("l_h_version_new")
|
||||||
|
self.l_h_version_new.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lh_update_version.addWidget(self.l_h_version_new)
|
||||||
|
|
||||||
|
self.l_version_new = QLabel(DialogVersion)
|
||||||
|
self.l_version_new.setObjectName("l_version_new")
|
||||||
|
self.l_version_new.setFont(font)
|
||||||
|
self.l_version_new.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lh_update_version.addWidget(self.l_version_new)
|
||||||
|
|
||||||
|
self.lv_update.addLayout(self.lh_update_version)
|
||||||
|
|
||||||
|
self.l_changelog = QLabel(DialogVersion)
|
||||||
|
self.l_changelog.setObjectName("l_changelog")
|
||||||
|
self.l_changelog.setFont(font)
|
||||||
|
self.l_changelog.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lv_update.addWidget(self.l_changelog)
|
||||||
|
|
||||||
|
self.l_changelog_details = QLabel(DialogVersion)
|
||||||
|
self.l_changelog_details.setObjectName("l_changelog_details")
|
||||||
|
self.l_changelog_details.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.lv_update.addWidget(self.l_changelog_details)
|
||||||
|
|
||||||
|
self.lv_download = QHBoxLayout()
|
||||||
|
self.lv_download.setObjectName("lv_download")
|
||||||
|
self.lv_download.setContentsMargins(-1, 20, -1, -1)
|
||||||
|
self.pb_download = QPushButton(DialogVersion)
|
||||||
|
self.pb_download.setObjectName("pb_download")
|
||||||
|
self.pb_download.setFlat(False)
|
||||||
|
|
||||||
|
self.lv_download.addWidget(self.pb_download)
|
||||||
|
|
||||||
|
self.sh_download = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.lv_download.addItem(self.sh_download)
|
||||||
|
|
||||||
|
self.lv_update.addLayout(self.lv_download)
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.lv_update)
|
||||||
|
|
||||||
|
self.l_url_github = QLabel(DialogVersion)
|
||||||
|
self.l_url_github.setObjectName("l_url_github")
|
||||||
|
self.l_url_github.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter)
|
||||||
|
self.l_url_github.setOpenExternalLinks(True)
|
||||||
|
self.l_url_github.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.l_url_github)
|
||||||
|
|
||||||
self.retranslateUi(DialogVersion)
|
self.retranslateUi(DialogVersion)
|
||||||
|
|
||||||
@@ -34,7 +140,16 @@ class Ui_DialogVersion:
|
|||||||
|
|
||||||
def retranslateUi(self, DialogVersion):
|
def retranslateUi(self, DialogVersion):
|
||||||
DialogVersion.setWindowTitle(QCoreApplication.translate("DialogVersion", "Version", None))
|
DialogVersion.setWindowTitle(QCoreApplication.translate("DialogVersion", "Version", None))
|
||||||
|
self.l_name_app.setText(QCoreApplication.translate("DialogVersion", "TIDAL Downloader Next Generation!", None))
|
||||||
|
self.l_h_version.setText(QCoreApplication.translate("DialogVersion", "Installed Version:", None))
|
||||||
self.l_version.setText(QCoreApplication.translate("DialogVersion", "v1.2.3", None))
|
self.l_version.setText(QCoreApplication.translate("DialogVersion", "v1.2.3", None))
|
||||||
|
self.l_error.setText(QCoreApplication.translate("DialogVersion", "ERROR", None))
|
||||||
|
self.l_error_details.setText(QCoreApplication.translate("DialogVersion", "<ERROR>", None))
|
||||||
|
self.l_h_version_new.setText(QCoreApplication.translate("DialogVersion", "New Version Available:", None))
|
||||||
|
self.l_version_new.setText(QCoreApplication.translate("DialogVersion", "v0.0.0", None))
|
||||||
|
self.l_changelog.setText(QCoreApplication.translate("DialogVersion", "Changelog", None))
|
||||||
|
self.l_changelog_details.setText(QCoreApplication.translate("DialogVersion", "<CHANGELOG>", None))
|
||||||
|
self.pb_download.setText(QCoreApplication.translate("DialogVersion", "Download", None))
|
||||||
self.l_url_github.setText(
|
self.l_url_github.setText(
|
||||||
QCoreApplication.translate(
|
QCoreApplication.translate(
|
||||||
"DialogVersion",
|
"DialogVersion",
|
||||||
@@ -42,6 +157,5 @@ class Ui_DialogVersion:
|
|||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
self.l_name_app.setText(QCoreApplication.translate("DialogVersion", "TIDAL Downloader Next Generation", None))
|
|
||||||
|
|
||||||
# retranslateUi
|
# retranslateUi
|
||||||
|
|||||||
@@ -10,51 +10,217 @@
|
|||||||
<height>235</height>
|
<height>235</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>436</width>
|
||||||
|
<height>235</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Version</string>
|
<string>Version</string>
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_name_app">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>TIDAL Downloader Next Generation!</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="lv_version">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="lh_version">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_h_version">
|
||||||
|
<property name="text">
|
||||||
|
<string>Installed Version:</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
<widget class="QLabel" name="l_version">
|
<widget class="QLabel" name="l_version">
|
||||||
<property name="geometry">
|
<property name="font">
|
||||||
<rect>
|
<font>
|
||||||
<x>190</x>
|
<bold>true</bold>
|
||||||
<y>100</y>
|
</font>
|
||||||
<width>61</width>
|
|
||||||
<height>16</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>v1.2.3</string>
|
<string>v1.2.3</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QLabel" name="l_url_github">
|
</item>
|
||||||
<property name="geometry">
|
</layout>
|
||||||
<rect>
|
</item>
|
||||||
<x>160</x>
|
</layout>
|
||||||
<y>200</y>
|
</item>
|
||||||
<width>251</width>
|
<item>
|
||||||
<height>20</height>
|
<layout class="QVBoxLayout" name="lv_update">
|
||||||
</rect>
|
<item>
|
||||||
|
<widget class="QLabel" name="l_error">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>ERROR</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_error_details">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><ERROR></string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="lh_update_version">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_h_version_new">
|
||||||
|
<property name="text">
|
||||||
|
<string>New Version Available:</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_version_new">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>v0.0.0</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_changelog">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Changelog</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_changelog_details">
|
||||||
|
<property name="text">
|
||||||
|
<string><CHANGELOG></string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="lv_download">
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>20</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pb_download">
|
||||||
|
<property name="text">
|
||||||
|
<string>Download</string>
|
||||||
|
</property>
|
||||||
|
<property name="flat">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="sh_download">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="l_url_github">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><a href="https://github.com/exislow/tidal-dl-ng/">https://github.com/exislow/tidal-dl-ng/</a></string>
|
<string><a href="https://github.com/exislow/tidal-dl-ng/">https://github.com/exislow/tidal-dl-ng/</a></string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
<property name="openExternalLinks">
|
<property name="openExternalLinks">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="textInteractionFlags">
|
||||||
<widget class="QLabel" name="l_name_app">
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>110</x>
|
|
||||||
<y>30</y>
|
|
||||||
<width>231</width>
|
|
||||||
<height>16</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>TIDAL Downloader Next Generation</string>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ class Ui_MainWindow:
|
|||||||
self.a_exit.setObjectName("a_exit")
|
self.a_exit.setObjectName("a_exit")
|
||||||
self.a_logout = QAction(MainWindow)
|
self.a_logout = QAction(MainWindow)
|
||||||
self.a_logout.setObjectName("a_logout")
|
self.a_logout.setObjectName("a_logout")
|
||||||
|
self.a_updates_check = QAction(MainWindow)
|
||||||
|
self.a_updates_check.setObjectName("a_updates_check")
|
||||||
self.w_central = QWidget(MainWindow)
|
self.w_central = QWidget(MainWindow)
|
||||||
self.w_central.setObjectName("w_central")
|
self.w_central.setObjectName("w_central")
|
||||||
self.w_central.setEnabled(True)
|
self.w_central.setEnabled(True)
|
||||||
@@ -418,6 +420,8 @@ class Ui_MainWindow:
|
|||||||
# if QT_CONFIG(accessibility)
|
# if QT_CONFIG(accessibility)
|
||||||
self.m_file.setAccessibleDescription("")
|
self.m_file.setAccessibleDescription("")
|
||||||
# endif // QT_CONFIG(accessibility)
|
# endif // QT_CONFIG(accessibility)
|
||||||
|
self.m_help = QMenu(self.menubar)
|
||||||
|
self.m_help.setObjectName("m_help")
|
||||||
MainWindow.setMenuBar(self.menubar)
|
MainWindow.setMenuBar(self.menubar)
|
||||||
self.statusbar = QStatusBar(MainWindow)
|
self.statusbar = QStatusBar(MainWindow)
|
||||||
self.statusbar.setObjectName("statusbar")
|
self.statusbar.setObjectName("statusbar")
|
||||||
@@ -440,10 +444,12 @@ class Ui_MainWindow:
|
|||||||
MainWindow.setStatusBar(self.statusbar)
|
MainWindow.setStatusBar(self.statusbar)
|
||||||
|
|
||||||
self.menubar.addAction(self.m_file.menuAction())
|
self.menubar.addAction(self.m_file.menuAction())
|
||||||
|
self.menubar.addAction(self.m_help.menuAction())
|
||||||
self.m_file.addAction(self.a_preferences)
|
self.m_file.addAction(self.a_preferences)
|
||||||
self.m_file.addAction(self.a_version)
|
|
||||||
self.m_file.addAction(self.a_logout)
|
self.m_file.addAction(self.a_logout)
|
||||||
self.m_file.addAction(self.a_exit)
|
self.m_file.addAction(self.a_exit)
|
||||||
|
self.m_help.addAction(self.a_version)
|
||||||
|
self.m_help.addAction(self.a_updates_check)
|
||||||
|
|
||||||
self.retranslateUi(MainWindow)
|
self.retranslateUi(MainWindow)
|
||||||
|
|
||||||
@@ -456,6 +462,7 @@ class Ui_MainWindow:
|
|||||||
self.a_version.setText(QCoreApplication.translate("MainWindow", "Version", None))
|
self.a_version.setText(QCoreApplication.translate("MainWindow", "Version", None))
|
||||||
self.a_exit.setText(QCoreApplication.translate("MainWindow", "Exit", None))
|
self.a_exit.setText(QCoreApplication.translate("MainWindow", "Exit", None))
|
||||||
self.a_logout.setText(QCoreApplication.translate("MainWindow", "Logout", None))
|
self.a_logout.setText(QCoreApplication.translate("MainWindow", "Logout", None))
|
||||||
|
self.a_updates_check.setText(QCoreApplication.translate("MainWindow", "Check for Updates", None))
|
||||||
___qtreewidgetitem = self.tr_lists_user.headerItem()
|
___qtreewidgetitem = self.tr_lists_user.headerItem()
|
||||||
___qtreewidgetitem.setText(2, QCoreApplication.translate("MainWindow", "obj", None))
|
___qtreewidgetitem.setText(2, QCoreApplication.translate("MainWindow", "obj", None))
|
||||||
|
|
||||||
@@ -479,5 +486,6 @@ class Ui_MainWindow:
|
|||||||
___qtreewidgetitem4.setText(0, QCoreApplication.translate("MainWindow", "#", None))
|
___qtreewidgetitem4.setText(0, QCoreApplication.translate("MainWindow", "#", None))
|
||||||
self.te_debug.setPlaceholderText(QCoreApplication.translate("MainWindow", "Logs...", None))
|
self.te_debug.setPlaceholderText(QCoreApplication.translate("MainWindow", "Logs...", None))
|
||||||
self.m_file.setTitle(QCoreApplication.translate("MainWindow", "File", None))
|
self.m_file.setTitle(QCoreApplication.translate("MainWindow", "File", None))
|
||||||
|
self.m_help.setTitle(QCoreApplication.translate("MainWindow", "Help", None))
|
||||||
|
|
||||||
# retranslateUi
|
# retranslateUi
|
||||||
|
|||||||
+13
-1
@@ -558,11 +558,18 @@
|
|||||||
<string>File</string>
|
<string>File</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="a_preferences"/>
|
<addaction name="a_preferences"/>
|
||||||
<addaction name="a_version"/>
|
|
||||||
<addaction name="a_logout"/>
|
<addaction name="a_logout"/>
|
||||||
<addaction name="a_exit"/>
|
<addaction name="a_exit"/>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QMenu" name="m_help">
|
||||||
|
<property name="title">
|
||||||
|
<string>Help</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="a_version"/>
|
||||||
|
<addaction name="a_updates_check"/>
|
||||||
|
</widget>
|
||||||
<addaction name="m_file"/>
|
<addaction name="m_file"/>
|
||||||
|
<addaction name="m_help"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusbar">
|
<widget class="QStatusBar" name="statusbar">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
@@ -619,6 +626,11 @@
|
|||||||
<string>Logout</string>
|
<string>Logout</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="a_updates_check">
|
||||||
|
<property name="text">
|
||||||
|
<string>Check for Updates</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|||||||
Reference in New Issue
Block a user