summaryrefslogtreecommitdiff
path: root/tidal_dl_ng/ui/dialog_login.py
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-02-01 07:38:01 +0100
committerRobert Honz <exislow+github@gmail.com>2024-02-01 07:38:01 +0100
commitc1bf278fd77d05425d99284d46728c2afeffb95b (patch)
treefafe8f0c31bc569d2ece769785c42deab5cafbb4 /tidal_dl_ng/ui/dialog_login.py
parenta994aa629ef8579819380fcd979ea2cf935125b8 (diff)
downloadtidal-dl-ng-c1bf278fd77d05425d99284d46728c2afeffb95b.tar.gz
✨ Implemented login dialog for PKCE login method. Fixes #22.
Diffstat (limited to 'tidal_dl_ng/ui/dialog_login.py')
-rw-r--r--tidal_dl_ng/ui/dialog_login.py110
1 files changed, 110 insertions, 0 deletions
diff --git a/tidal_dl_ng/ui/dialog_login.py b/tidal_dl_ng/ui/dialog_login.py
new file mode 100644
index 0000000..ffb8e76
--- /dev/null
+++ b/tidal_dl_ng/ui/dialog_login.py
@@ -0,0 +1,110 @@
+################################################################################
+## Form generated from reading UI file 'dialog_login.ui'
+##
+## Created by: Qt User Interface Compiler version 6.6.1
+##
+## WARNING! All changes made in this file will be lost when recompiling UI file!
+################################################################################
+
+from PySide6.QtCore import QCoreApplication, QMetaObject, QRect, QSize, Qt
+from PySide6.QtGui import QFont
+from PySide6.QtWidgets import QDialogButtonBox, QLabel, QSizePolicy, QTextEdit, QVBoxLayout, QWidget
+
+
+class Ui_DialogLogin:
+ def setupUi(self, DialogLogin):
+ if not DialogLogin.objectName():
+ DialogLogin.setObjectName("DialogLogin")
+ DialogLogin.resize(451, 400)
+ sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(DialogLogin.sizePolicy().hasHeightForWidth())
+ DialogLogin.setSizePolicy(sizePolicy)
+ self.bb_dialog = QDialogButtonBox(DialogLogin)
+ self.bb_dialog.setObjectName("bb_dialog")
+ self.bb_dialog.setGeometry(QRect(20, 350, 411, 32))
+ sizePolicy.setHeightForWidth(self.bb_dialog.sizePolicy().hasHeightForWidth())
+ self.bb_dialog.setSizePolicy(sizePolicy)
+ self.bb_dialog.setStyleSheet("")
+ self.bb_dialog.setOrientation(Qt.Horizontal)
+ self.bb_dialog.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok)
+ self.verticalLayoutWidget = QWidget(DialogLogin)
+ self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
+ self.verticalLayoutWidget.setGeometry(QRect(20, 20, 411, 321))
+ self.lv_main = QVBoxLayout(self.verticalLayoutWidget)
+ self.lv_main.setObjectName("lv_main")
+ self.lv_main.setContentsMargins(0, 0, 0, 0)
+ self.l_header = QLabel(self.verticalLayoutWidget)
+ self.l_header.setObjectName("l_header")
+ sizePolicy.setHeightForWidth(self.l_header.sizePolicy().hasHeightForWidth())
+ self.l_header.setSizePolicy(sizePolicy)
+ font = QFont()
+ font.setPointSize(23)
+ font.setBold(True)
+ self.l_header.setFont(font)
+
+ self.lv_main.addWidget(self.l_header)
+
+ self.l_description = QLabel(self.verticalLayoutWidget)
+ self.l_description.setObjectName("l_description")
+ sizePolicy.setHeightForWidth(self.l_description.sizePolicy().hasHeightForWidth())
+ self.l_description.setSizePolicy(sizePolicy)
+ font1 = QFont()
+ font1.setItalic(True)
+ self.l_description.setFont(font1)
+ self.l_description.setWordWrap(True)
+
+ self.lv_main.addWidget(self.l_description)
+
+ self.l_url_login = QLabel(self.verticalLayoutWidget)
+ self.l_url_login.setObjectName("l_url_login")
+ sizePolicy.setHeightForWidth(self.l_url_login.sizePolicy().hasHeightForWidth())
+ self.l_url_login.setSizePolicy(sizePolicy)
+ self.l_url_login.setMinimumSize(QSize(0, 50))
+ self.l_url_login.setBaseSize(QSize(0, 0))
+ self.l_url_login.setStyleSheet("border: 2px solid red; padding: 6px")
+ self.l_url_login.setWordWrap(True)
+ self.l_url_login.setOpenExternalLinks(True)
+
+ self.lv_main.addWidget(self.l_url_login)
+
+ self.te_url_redirect = QTextEdit(self.verticalLayoutWidget)
+ self.te_url_redirect.setObjectName("te_url_redirect")
+
+ self.lv_main.addWidget(self.te_url_redirect)
+
+ self.l_hint = QLabel(self.verticalLayoutWidget)
+ self.l_hint.setObjectName("l_hint")
+ sizePolicy.setHeightForWidth(self.l_hint.sizePolicy().hasHeightForWidth())
+ self.l_hint.setSizePolicy(sizePolicy)
+ self.l_hint.setFont(font1)
+
+ self.lv_main.addWidget(self.l_hint)
+
+ self.retranslateUi(DialogLogin)
+ self.bb_dialog.accepted.connect(DialogLogin.accept)
+ self.bb_dialog.rejected.connect(DialogLogin.reject)
+
+ QMetaObject.connectSlotsByName(DialogLogin)
+
+ # setupUi
+
+ def retranslateUi(self, DialogLogin):
+ DialogLogin.setWindowTitle(QCoreApplication.translate("DialogLogin", "Dialog", None))
+ self.l_header.setText(QCoreApplication.translate("DialogLogin", "TIDAL PKCE Login", None))
+ self.l_description.setText(
+ QCoreApplication.translate(
+ "DialogLogin",
+ 'Click the link below and login with your TIDAL credentials. You will be redirected to an "Ooops" page'
+ ' after a successful login. Copy the URL of this "Ooops" page and post it in the box below.',
+ None,
+ )
+ )
+ self.l_url_login.setText(QCoreApplication.translate("DialogLogin", "PLACEHOLDER URL...", None))
+ self.te_url_redirect.setPlaceholderText(
+ QCoreApplication.translate("DialogLogin", "Copy and paste the redirect URL after login here...", None)
+ )
+ self.l_hint.setText(QCoreApplication.translate("DialogLogin", "Waiting...", None))
+
+ # retranslateUi