Use SlidingStackedWidget for the login dialog.
Also fixes the login window missing dialog type hints for the window manager. Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
This commit is contained in:
parent
fe40dac368
commit
145bc5f540
12 changed files with 495 additions and 421 deletions
|
@ -91,7 +91,7 @@ class LaunchDialog(QDialog, Ui_LaunchDialog):
|
||||||
super(LaunchDialog, self).__init__(parent=parent)
|
super(LaunchDialog, self).__init__(parent=parent)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.setAttribute(Qt.WA_DeleteOnClose, True)
|
self.setAttribute(Qt.WA_DeleteOnClose, True)
|
||||||
self.setWindowFlags(Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint)
|
self.setWindowFlags(Qt.Window | Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint)
|
||||||
self.setWindowModality(Qt.WindowModal)
|
self.setWindowModality(Qt.WindowModal)
|
||||||
|
|
||||||
self.core = LegendaryCoreSingleton()
|
self.core = LegendaryCoreSingleton()
|
||||||
|
@ -113,7 +113,8 @@ class LaunchDialog(QDialog, Ui_LaunchDialog):
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
logger.info(str(e))
|
logger.info(str(e))
|
||||||
# Do not set parent, because it won't show a task bar icon
|
# Do not set parent, because it won't show a task bar icon
|
||||||
do_launch = LoginDialog(core=self.core).login()
|
# Update: Inherit the same parent as LaunchDialog
|
||||||
|
do_launch = LoginDialog(core=self.core, parent=self.parent()).login()
|
||||||
except ConnectionError as e:
|
except ConnectionError as e:
|
||||||
logger.warning(e)
|
logger.warning(e)
|
||||||
self.args.offline = True
|
self.args.offline = True
|
||||||
|
|
|
@ -2,13 +2,15 @@ from dataclasses import dataclass
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtWidgets import QSizePolicy, QLayout, QDialog, QMessageBox
|
from PyQt5.QtWidgets import QLayout, QDialog, QMessageBox, QFrame
|
||||||
from legendary.core import LegendaryCore
|
from legendary.core import LegendaryCore
|
||||||
|
|
||||||
from rare.components.dialogs.login.browser_login import BrowserLogin
|
|
||||||
from rare.components.dialogs.login.import_login import ImportLogin
|
|
||||||
from rare.shared import ArgumentsSingleton
|
from rare.shared import ArgumentsSingleton
|
||||||
from rare.ui.components.dialogs.login.login_dialog import Ui_LoginDialog
|
from rare.ui.components.dialogs.login.login_dialog import Ui_LoginDialog
|
||||||
|
from rare.ui.components.dialogs.login.landing_page import Ui_LandingPage
|
||||||
|
from rare.widgets.sliding_stack import SlidingStackedWidget
|
||||||
|
from .browser_login import BrowserLogin
|
||||||
|
from .import_login import ImportLogin
|
||||||
|
|
||||||
logger = getLogger("Login")
|
logger = getLogger("Login")
|
||||||
|
|
||||||
|
@ -20,66 +22,80 @@ class LoginPages:
|
||||||
import_egl: int
|
import_egl: int
|
||||||
|
|
||||||
|
|
||||||
class LoginDialog(QDialog, Ui_LoginDialog):
|
class LandingPage(QFrame):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(LandingPage, self).__init__(parent=parent)
|
||||||
|
self.setFrameStyle(self.StyledPanel)
|
||||||
|
self.ui = Ui_LandingPage()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
|
|
||||||
|
class LoginDialog(QDialog):
|
||||||
logged_in: bool = False
|
logged_in: bool = False
|
||||||
pages = LoginPages(landing=0, browser=1, import_egl=2)
|
pages = LoginPages(landing=0, browser=1, import_egl=2)
|
||||||
|
|
||||||
def __init__(self, core: LegendaryCore, parent=None):
|
def __init__(self, core: LegendaryCore, parent=None):
|
||||||
super(LoginDialog, self).__init__(parent=parent)
|
super(LoginDialog, self).__init__(parent=parent)
|
||||||
self.setupUi(self)
|
self.ui = Ui_LoginDialog()
|
||||||
|
self.ui.setupUi(self)
|
||||||
self.setAttribute(Qt.WA_DeleteOnClose, True)
|
self.setAttribute(Qt.WA_DeleteOnClose, True)
|
||||||
self.setWindowFlags(Qt.WindowMinimizeButtonHint | Qt.WindowCloseButtonHint)
|
self.setWindowFlags(Qt.Window | Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint)
|
||||||
self.setWindowModality(Qt.WindowModal)
|
self.setWindowModality(Qt.WindowModal)
|
||||||
|
|
||||||
self.core = core
|
self.core = core
|
||||||
self.args = ArgumentsSingleton()
|
self.args = ArgumentsSingleton()
|
||||||
|
|
||||||
|
self.login_stack = SlidingStackedWidget(parent=self)
|
||||||
|
self.login_stack.setMinimumSize(480, 180)
|
||||||
|
self.ui.login_stack_layout.addWidget(self.login_stack)
|
||||||
|
|
||||||
|
self.landing_page = LandingPage(self.login_stack)
|
||||||
|
self.login_stack.insertWidget(self.pages.landing, self.landing_page)
|
||||||
|
|
||||||
self.browser_page = BrowserLogin(self.core, self.login_stack)
|
self.browser_page = BrowserLogin(self.core, self.login_stack)
|
||||||
self.login_stack.insertWidget(self.pages.browser, self.browser_page)
|
self.login_stack.insertWidget(self.pages.browser, self.browser_page)
|
||||||
self.browser_page.success.connect(self.login_successful)
|
self.browser_page.success.connect(self.login_successful)
|
||||||
self.browser_page.changed.connect(
|
self.browser_page.changed.connect(
|
||||||
lambda: self.next_button.setEnabled(self.browser_page.is_valid())
|
lambda: self.ui.next_button.setEnabled(self.browser_page.is_valid())
|
||||||
)
|
)
|
||||||
self.import_page = ImportLogin(self.core, self.login_stack)
|
self.import_page = ImportLogin(self.core, self.login_stack)
|
||||||
self.login_stack.insertWidget(self.pages.import_egl, self.import_page)
|
self.login_stack.insertWidget(self.pages.import_egl, self.import_page)
|
||||||
self.import_page.success.connect(self.login_successful)
|
self.import_page.success.connect(self.login_successful)
|
||||||
self.import_page.changed.connect(
|
self.import_page.changed.connect(
|
||||||
lambda: self.next_button.setEnabled(self.import_page.is_valid())
|
lambda: self.ui.next_button.setEnabled(self.import_page.is_valid())
|
||||||
)
|
)
|
||||||
|
|
||||||
self.next_button.setEnabled(False)
|
self.ui.next_button.setEnabled(False)
|
||||||
self.back_button.setEnabled(False)
|
self.ui.back_button.setEnabled(False)
|
||||||
|
|
||||||
self.login_browser_radio.clicked.connect(
|
self.landing_page.ui.login_browser_radio.clicked.connect(
|
||||||
lambda: self.next_button.setEnabled(True)
|
lambda: self.ui.next_button.setEnabled(True)
|
||||||
)
|
)
|
||||||
self.login_import_radio.clicked.connect(
|
self.landing_page.ui.login_import_radio.clicked.connect(
|
||||||
lambda: self.next_button.setEnabled(True)
|
lambda: self.ui.next_button.setEnabled(True)
|
||||||
)
|
)
|
||||||
self.exit_button.clicked.connect(self.close)
|
self.ui.exit_button.clicked.connect(self.close)
|
||||||
self.back_button.clicked.connect(self.back_clicked)
|
self.ui.back_button.clicked.connect(self.back_clicked)
|
||||||
self.next_button.clicked.connect(self.next_clicked)
|
self.ui.next_button.clicked.connect(self.next_clicked)
|
||||||
|
|
||||||
self.login_stack.setCurrentIndex(self.pages.landing)
|
self.login_stack.setCurrentIndex(self.pages.landing)
|
||||||
|
|
||||||
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
|
|
||||||
self.layout().setSizeConstraint(QLayout.SetFixedSize)
|
self.layout().setSizeConstraint(QLayout.SetFixedSize)
|
||||||
# self.resize(self.minimumSizeHint())
|
|
||||||
|
|
||||||
def back_clicked(self):
|
def back_clicked(self):
|
||||||
self.back_button.setEnabled(False)
|
self.ui.back_button.setEnabled(False)
|
||||||
self.next_button.setEnabled(True)
|
self.ui.next_button.setEnabled(True)
|
||||||
self.login_stack.setCurrentIndex(self.pages.landing)
|
self.login_stack.slideInIndex(self.pages.landing)
|
||||||
|
|
||||||
def next_clicked(self):
|
def next_clicked(self):
|
||||||
if self.login_stack.currentIndex() == self.pages.landing:
|
if self.login_stack.currentIndex() == self.pages.landing:
|
||||||
if self.login_browser_radio.isChecked():
|
if self.landing_page.ui.login_browser_radio.isChecked():
|
||||||
self.login_stack.setCurrentIndex(self.pages.browser)
|
self.login_stack.slideInIndex(self.pages.browser)
|
||||||
self.next_button.setEnabled(False)
|
self.ui.next_button.setEnabled(False)
|
||||||
if self.login_import_radio.isChecked():
|
if self.landing_page.ui.login_import_radio.isChecked():
|
||||||
self.login_stack.setCurrentIndex(self.pages.import_egl)
|
self.login_stack.slideInIndex(self.pages.import_egl)
|
||||||
self.next_button.setEnabled(self.import_page.is_valid())
|
self.ui.next_button.setEnabled(self.import_page.is_valid())
|
||||||
self.back_button.setEnabled(True)
|
self.ui.back_button.setEnabled(True)
|
||||||
elif self.login_stack.currentIndex() == self.pages.browser:
|
elif self.login_stack.currentIndex() == self.pages.browser:
|
||||||
self.browser_page.do_login()
|
self.browser_page.do_login()
|
||||||
elif self.login_stack.currentIndex() == self.pages.import_egl:
|
elif self.login_stack.currentIndex() == self.pages.import_egl:
|
||||||
|
@ -100,6 +116,6 @@ class LoginDialog(QDialog, Ui_LoginDialog):
|
||||||
raise ValueError("Login failed.")
|
raise ValueError("Login failed.")
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
logger.error(str(e))
|
logger.error(str(e))
|
||||||
self.next_button.setEnabled(False)
|
self.ui.next_button.setEnabled(False)
|
||||||
self.logged_in = False
|
self.logged_in = False
|
||||||
QMessageBox.warning(self, "Error", str(e))
|
QMessageBox.warning(self, "Error", str(e))
|
||||||
|
|
|
@ -4,7 +4,7 @@ from typing import Tuple
|
||||||
|
|
||||||
from PyQt5.QtCore import pyqtSignal, QUrl
|
from PyQt5.QtCore import pyqtSignal, QUrl
|
||||||
from PyQt5.QtGui import QDesktopServices
|
from PyQt5.QtGui import QDesktopServices
|
||||||
from PyQt5.QtWidgets import QWidget, QApplication
|
from PyQt5.QtWidgets import QFrame, qApp
|
||||||
|
|
||||||
from legendary.utils import webview_login
|
from legendary.utils import webview_login
|
||||||
from legendary.core import LegendaryCore
|
from legendary.core import LegendaryCore
|
||||||
|
@ -15,33 +15,35 @@ from rare.utils.utils import icon
|
||||||
logger = getLogger("BrowserLogin")
|
logger = getLogger("BrowserLogin")
|
||||||
|
|
||||||
|
|
||||||
class BrowserLogin(QWidget, Ui_BrowserLogin):
|
class BrowserLogin(QFrame):
|
||||||
success = pyqtSignal()
|
success = pyqtSignal()
|
||||||
changed = pyqtSignal()
|
changed = pyqtSignal()
|
||||||
login_url = "https://www.epicgames.com/id/login?redirectUrl=https%3A%2F%2Fwww.epicgames.com%2Fid%2Fapi%2Fredirect"
|
login_url = "https://www.epicgames.com/id/login?redirectUrl=https%3A%2F%2Fwww.epicgames.com%2Fid%2Fapi%2Fredirect"
|
||||||
|
|
||||||
def __init__(self, core: LegendaryCore, parent=None):
|
def __init__(self, core: LegendaryCore, parent=None):
|
||||||
super(BrowserLogin, self).__init__(parent=parent)
|
super(BrowserLogin, self).__init__(parent=parent)
|
||||||
self.setupUi(self)
|
self.setFrameStyle(self.StyledPanel)
|
||||||
|
self.ui = Ui_BrowserLogin()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
self.core = core
|
self.core = core
|
||||||
|
|
||||||
self.sid_edit = IndicatorLineEdit(
|
self.sid_edit = IndicatorLineEdit(
|
||||||
placeholder=self.tr("Insert SID here"), edit_func=self.text_changed, parent=self
|
placeholder=self.tr("Insert SID here"), edit_func=self.text_changed, parent=self
|
||||||
)
|
)
|
||||||
self.link_text.setText(self.login_url)
|
self.ui.link_text.setText(self.login_url)
|
||||||
self.copy_button.setIcon(icon("mdi.content-copy", "fa.copy"))
|
self.ui.copy_button.setIcon(icon("mdi.content-copy", "fa.copy"))
|
||||||
self.copy_button.clicked.connect(self.copy_link)
|
self.ui.copy_button.clicked.connect(self.copy_link)
|
||||||
|
|
||||||
self.sid_layout.addWidget(self.sid_edit)
|
self.ui.sid_layout.addWidget(self.sid_edit)
|
||||||
|
|
||||||
self.open_button.clicked.connect(self.open_browser)
|
self.ui.open_button.clicked.connect(self.open_browser)
|
||||||
self.sid_edit.textChanged.connect(self.changed.emit)
|
self.sid_edit.textChanged.connect(self.changed.emit)
|
||||||
|
|
||||||
def copy_link(self):
|
def copy_link(self):
|
||||||
clipboard = QApplication.instance().clipboard()
|
clipboard = qApp.clipboard()
|
||||||
clipboard.setText(self.login_url)
|
clipboard.setText(self.login_url)
|
||||||
self.status_label.setText(self.tr("Copied to clipboard"))
|
self.ui.status_label.setText(self.tr("Copied to clipboard"))
|
||||||
|
|
||||||
def is_valid(self):
|
def is_valid(self):
|
||||||
return self.sid_edit.is_valid
|
return self.sid_edit.is_valid
|
||||||
|
@ -62,7 +64,7 @@ class BrowserLogin(QWidget, Ui_BrowserLogin):
|
||||||
return False, text, ""
|
return False, text, ""
|
||||||
|
|
||||||
def do_login(self):
|
def do_login(self):
|
||||||
self.status_label.setText(self.tr("Logging in..."))
|
self.ui.status_label.setText(self.tr("Logging in..."))
|
||||||
sid = self.sid_edit.text()
|
sid = self.sid_edit.text()
|
||||||
try:
|
try:
|
||||||
token = self.core.auth_sid(sid)
|
token = self.core.auth_sid(sid)
|
||||||
|
@ -72,7 +74,7 @@ class BrowserLogin(QWidget, Ui_BrowserLogin):
|
||||||
)
|
)
|
||||||
self.success.emit()
|
self.success.emit()
|
||||||
else:
|
else:
|
||||||
self.status_label.setText(self.tr("Login failed."))
|
self.ui.status_label.setText(self.tr("Login failed."))
|
||||||
logger.warning("Failed to login through browser")
|
logger.warning("Failed to login through browser")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning(e)
|
logger.warning(e)
|
||||||
|
|
|
@ -3,7 +3,7 @@ from getpass import getuser
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
|
||||||
from PyQt5.QtCore import pyqtSignal
|
from PyQt5.QtCore import pyqtSignal
|
||||||
from PyQt5.QtWidgets import QWidget, QFileDialog
|
from PyQt5.QtWidgets import QFrame, QFileDialog
|
||||||
|
|
||||||
from legendary.core import LegendaryCore
|
from legendary.core import LegendaryCore
|
||||||
from rare.ui.components.dialogs.login.import_login import Ui_ImportLogin
|
from rare.ui.components.dialogs.login.import_login import Ui_ImportLogin
|
||||||
|
@ -11,7 +11,7 @@ from rare.ui.components.dialogs.login.import_login import Ui_ImportLogin
|
||||||
logger = getLogger("ImportLogin")
|
logger = getLogger("ImportLogin")
|
||||||
|
|
||||||
|
|
||||||
class ImportLogin(QWidget, Ui_ImportLogin):
|
class ImportLogin(QFrame):
|
||||||
success = pyqtSignal()
|
success = pyqtSignal()
|
||||||
changed = pyqtSignal()
|
changed = pyqtSignal()
|
||||||
if os.name == "nt":
|
if os.name == "nt":
|
||||||
|
@ -25,7 +25,9 @@ class ImportLogin(QWidget, Ui_ImportLogin):
|
||||||
|
|
||||||
def __init__(self, core: LegendaryCore, parent=None):
|
def __init__(self, core: LegendaryCore, parent=None):
|
||||||
super(ImportLogin, self).__init__(parent=parent)
|
super(ImportLogin, self).__init__(parent=parent)
|
||||||
self.setupUi(self)
|
self.setFrameStyle(self.StyledPanel)
|
||||||
|
self.ui = Ui_ImportLogin()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
self.core = core
|
self.core = core
|
||||||
|
|
||||||
|
@ -35,32 +37,32 @@ class ImportLogin(QWidget, Ui_ImportLogin):
|
||||||
self.text_egl_notfound = self.tr("Could not find EGL Program Data. ")
|
self.text_egl_notfound = self.tr("Could not find EGL Program Data. ")
|
||||||
|
|
||||||
if os.name == "nt":
|
if os.name == "nt":
|
||||||
if not self.core.egl.appdata_path and os.path.exists(self.egl_data_path):
|
if not self.core.egl.appdata_path and os.path.exists(self.appdata_path):
|
||||||
self.core.egl.appdata_path = self.appdata_path
|
self.core.egl.appdata_path = self.appdata_path
|
||||||
if not self.core.egl.appdata_path:
|
if not self.core.egl.appdata_path:
|
||||||
self.status_label.setText(self.text_egl_notfound)
|
self.ui.status_label.setText(self.text_egl_notfound)
|
||||||
else:
|
else:
|
||||||
self.status_label.setText(self.text_egl_found)
|
self.ui.status_label.setText(self.text_egl_found)
|
||||||
self.found = True
|
self.found = True
|
||||||
else:
|
else:
|
||||||
self.info_label.setText(
|
self.ui.info_label.setText(
|
||||||
self.tr(
|
self.tr(
|
||||||
"Please select the Wine prefix"
|
"Please select the Wine prefix"
|
||||||
" where Epic Games Launcher is installed. "
|
" where Epic Games Launcher is installed. "
|
||||||
)
|
)
|
||||||
+ self.info_label.text()
|
+ self.ui.info_label.text()
|
||||||
)
|
)
|
||||||
prefixes = self.get_wine_prefixes()
|
prefixes = self.get_wine_prefixes()
|
||||||
if len(prefixes):
|
if len(prefixes):
|
||||||
self.prefix_combo.addItems(prefixes)
|
self.ui.prefix_combo.addItems(prefixes)
|
||||||
self.status_label.setText(
|
self.ui.status_label.setText(
|
||||||
self.tr("Select the Wine prefix you want to import.")
|
self.tr("Select the Wine prefix you want to import.")
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.status_label.setText(self.text_egl_notfound)
|
self.ui.status_label.setText(self.text_egl_notfound)
|
||||||
|
|
||||||
self.prefix_tool.clicked.connect(self.prefix_path)
|
self.ui.prefix_tool.clicked.connect(self.prefix_path)
|
||||||
self.prefix_combo.editTextChanged.connect(self.changed.emit)
|
self.ui.prefix_combo.editTextChanged.connect(self.changed.emit)
|
||||||
|
|
||||||
def get_wine_prefixes(self):
|
def get_wine_prefixes(self):
|
||||||
possible_prefixes = [
|
possible_prefixes = [
|
||||||
|
@ -80,31 +82,31 @@ class ImportLogin(QWidget, Ui_ImportLogin):
|
||||||
prefix_dialog.setFileMode(QFileDialog.DirectoryOnly)
|
prefix_dialog.setFileMode(QFileDialog.DirectoryOnly)
|
||||||
if prefix_dialog.exec_():
|
if prefix_dialog.exec_():
|
||||||
names = prefix_dialog.selectedFiles()
|
names = prefix_dialog.selectedFiles()
|
||||||
self.prefix_combo.setCurrentText(names[0])
|
self.ui.prefix_combo.setCurrentText(names[0])
|
||||||
|
|
||||||
def is_valid(self):
|
def is_valid(self):
|
||||||
if os.name == "nt":
|
if os.name == "nt":
|
||||||
return self.found
|
return self.found
|
||||||
else:
|
else:
|
||||||
return os.path.exists(
|
return os.path.exists(
|
||||||
os.path.join(self.prefix_combo.currentText(), self.appdata_path)
|
os.path.join(self.ui.prefix_combo.currentText(), self.appdata_path)
|
||||||
)
|
)
|
||||||
|
|
||||||
def do_login(self):
|
def do_login(self):
|
||||||
self.status_label.setText(self.tr("Loading..."))
|
self.ui.status_label.setText(self.tr("Loading..."))
|
||||||
if os.name == "nt":
|
if os.name == "nt":
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.core.egl.appdata_path = os.path.join(
|
self.core.egl.appdata_path = os.path.join(
|
||||||
self.prefix_combo.currentText(), self.appdata_path
|
self.ui.prefix_combo.currentText(), self.appdata_path
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
if self.core.auth_import():
|
if self.core.auth_import():
|
||||||
logger.info(f"Logged in as {self.core.lgd.userdata['displayName']}")
|
logger.info(f"Logged in as {self.core.lgd.userdata['displayName']}")
|
||||||
self.success.emit()
|
self.success.emit()
|
||||||
else:
|
else:
|
||||||
self.status_label.setText(self.tr("Login failed."))
|
self.ui.status_label.setText(self.tr("Login failed."))
|
||||||
logger.warning("Failed to import existing session.")
|
logger.warning("Failed to import existing session.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.status_label.setText(self.tr("Login failed. {}").format(str(e)))
|
self.ui.status_label.setText(self.tr("Login failed. {}").format(str(e)))
|
||||||
logger.warning(f"Failed to import existing session: {e}")
|
logger.warning(f"Failed to import existing session: {e}")
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'rare/ui/components/dialogs/login/browser_login.ui'
|
# Form implementation generated from reading ui file 'rare/ui/components/dialogs/login/browser_login.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.15.6
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
# run again. Do not edit this file unless you know what you are doing.
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
@ -14,29 +14,32 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
class Ui_BrowserLogin(object):
|
class Ui_BrowserLogin(object):
|
||||||
def setupUi(self, BrowserLogin):
|
def setupUi(self, BrowserLogin):
|
||||||
BrowserLogin.setObjectName("BrowserLogin")
|
BrowserLogin.setObjectName("BrowserLogin")
|
||||||
BrowserLogin.resize(426, 210)
|
BrowserLogin.resize(400, 200)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(BrowserLogin.sizePolicy().hasHeightForWidth())
|
||||||
|
BrowserLogin.setSizePolicy(sizePolicy)
|
||||||
BrowserLogin.setWindowTitle("BrowserLogin")
|
BrowserLogin.setWindowTitle("BrowserLogin")
|
||||||
self.browser_layout = QtWidgets.QGridLayout(BrowserLogin)
|
self.browser_layout = QtWidgets.QGridLayout(BrowserLogin)
|
||||||
|
self.browser_layout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
|
||||||
self.browser_layout.setObjectName("browser_layout")
|
self.browser_layout.setObjectName("browser_layout")
|
||||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
self.link_layout = QtWidgets.QHBoxLayout()
|
||||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
self.link_layout.setObjectName("link_layout")
|
||||||
self.link_text = QtWidgets.QLineEdit(BrowserLogin)
|
self.link_text = QtWidgets.QLineEdit(BrowserLogin)
|
||||||
self.link_text.setText("")
|
self.link_text.setText("")
|
||||||
self.link_text.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
|
self.link_text.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||||
self.link_text.setReadOnly(True)
|
self.link_text.setReadOnly(True)
|
||||||
self.link_text.setPlaceholderText("")
|
self.link_text.setPlaceholderText("")
|
||||||
self.link_text.setObjectName("link_text")
|
self.link_text.setObjectName("link_text")
|
||||||
self.horizontalLayout.addWidget(self.link_text)
|
self.link_layout.addWidget(self.link_text)
|
||||||
self.copy_button = QtWidgets.QPushButton(BrowserLogin)
|
self.copy_button = QtWidgets.QPushButton(BrowserLogin)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
|
||||||
sizePolicy.setHorizontalStretch(0)
|
|
||||||
sizePolicy.setVerticalStretch(0)
|
|
||||||
sizePolicy.setHeightForWidth(self.copy_button.sizePolicy().hasHeightForWidth())
|
|
||||||
self.copy_button.setSizePolicy(sizePolicy)
|
|
||||||
self.copy_button.setText("")
|
self.copy_button.setText("")
|
||||||
self.copy_button.setObjectName("copy_button")
|
self.copy_button.setObjectName("copy_button")
|
||||||
self.horizontalLayout.addWidget(self.copy_button)
|
self.link_layout.addWidget(self.copy_button)
|
||||||
self.browser_layout.addLayout(self.horizontalLayout, 2, 0, 1, 3)
|
self.browser_layout.addLayout(self.link_layout, 2, 0, 1, 2)
|
||||||
|
spacerItem = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
self.browser_layout.addItem(spacerItem, 4, 0, 1, 2)
|
||||||
self.open_button = QtWidgets.QPushButton(BrowserLogin)
|
self.open_button = QtWidgets.QPushButton(BrowserLogin)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
@ -45,33 +48,28 @@ class Ui_BrowserLogin(object):
|
||||||
self.open_button.setSizePolicy(sizePolicy)
|
self.open_button.setSizePolicy(sizePolicy)
|
||||||
self.open_button.setObjectName("open_button")
|
self.open_button.setObjectName("open_button")
|
||||||
self.browser_layout.addWidget(self.open_button, 1, 0, 1, 1)
|
self.browser_layout.addWidget(self.open_button, 1, 0, 1, 1)
|
||||||
self.info_label = QtWidgets.QLabel(BrowserLogin)
|
self.sid_layout = QtWidgets.QHBoxLayout()
|
||||||
font = QtGui.QFont()
|
self.sid_layout.setObjectName("sid_layout")
|
||||||
font.setItalic(True)
|
self.browser_layout.addLayout(self.sid_layout, 1, 1, 1, 1)
|
||||||
self.info_label.setFont(font)
|
|
||||||
self.info_label.setWordWrap(True)
|
|
||||||
self.info_label.setObjectName("info_label")
|
|
||||||
self.browser_layout.addWidget(self.info_label, 4, 0, 1, 3)
|
|
||||||
self.title_label = QtWidgets.QLabel(BrowserLogin)
|
self.title_label = QtWidgets.QLabel(BrowserLogin)
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
font.setWeight(75)
|
font.setWeight(75)
|
||||||
self.title_label.setFont(font)
|
self.title_label.setFont(font)
|
||||||
self.title_label.setObjectName("title_label")
|
self.title_label.setObjectName("title_label")
|
||||||
self.browser_layout.addWidget(self.title_label, 0, 0, 1, 3, QtCore.Qt.AlignTop)
|
self.browser_layout.addWidget(self.title_label, 0, 0, 1, 2)
|
||||||
|
self.info_label = QtWidgets.QLabel(BrowserLogin)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setItalic(True)
|
||||||
|
self.info_label.setFont(font)
|
||||||
|
self.info_label.setWordWrap(True)
|
||||||
|
self.info_label.setObjectName("info_label")
|
||||||
|
self.browser_layout.addWidget(self.info_label, 5, 0, 1, 2)
|
||||||
self.status_label = QtWidgets.QLabel(BrowserLogin)
|
self.status_label = QtWidgets.QLabel(BrowserLogin)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
|
|
||||||
sizePolicy.setHorizontalStretch(0)
|
|
||||||
sizePolicy.setVerticalStretch(0)
|
|
||||||
sizePolicy.setHeightForWidth(self.status_label.sizePolicy().hasHeightForWidth())
|
|
||||||
self.status_label.setSizePolicy(sizePolicy)
|
|
||||||
self.status_label.setText("")
|
self.status_label.setText("")
|
||||||
self.status_label.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft)
|
self.status_label.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
|
||||||
self.status_label.setObjectName("status_label")
|
self.status_label.setObjectName("status_label")
|
||||||
self.browser_layout.addWidget(self.status_label, 3, 0, 1, 3)
|
self.browser_layout.addWidget(self.status_label, 3, 0, 1, 2)
|
||||||
self.sid_layout = QtWidgets.QHBoxLayout()
|
|
||||||
self.sid_layout.setObjectName("sid_layout")
|
|
||||||
self.browser_layout.addLayout(self.sid_layout, 1, 1, 1, 2)
|
|
||||||
|
|
||||||
self.retranslateUi(BrowserLogin)
|
self.retranslateUi(BrowserLogin)
|
||||||
QtCore.QMetaObject.connectSlotsByName(BrowserLogin)
|
QtCore.QMetaObject.connectSlotsByName(BrowserLogin)
|
||||||
|
@ -79,9 +77,8 @@ class Ui_BrowserLogin(object):
|
||||||
def retranslateUi(self, BrowserLogin):
|
def retranslateUi(self, BrowserLogin):
|
||||||
_translate = QtCore.QCoreApplication.translate
|
_translate = QtCore.QCoreApplication.translate
|
||||||
self.open_button.setText(_translate("BrowserLogin", "Open Browser"))
|
self.open_button.setText(_translate("BrowserLogin", "Open Browser"))
|
||||||
self.info_label.setText(_translate("BrowserLogin",
|
|
||||||
"Click the button to open the login page in a browser or copy the link and paste it in a browser. After logging in, copy the SID code in the input above."))
|
|
||||||
self.title_label.setText(_translate("BrowserLogin", "Login through browser"))
|
self.title_label.setText(_translate("BrowserLogin", "Login through browser"))
|
||||||
|
self.info_label.setText(_translate("BrowserLogin", "Click the button to open the login page in a browser or copy the link and paste it in a browser. After logging in, copy the SID code in the input above."))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
@ -6,16 +6,19 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>426</width>
|
<width>246</width>
|
||||||
<height>210</height>
|
<height>184</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string notr="true">BrowserLogin</string>
|
<string notr="true">BrowserLogin</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="browser_layout">
|
<layout class="QGridLayout" name="browser_layout">
|
||||||
<item row="2" column="0" colspan="3">
|
<property name="sizeConstraint">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
|
<layout class="QHBoxLayout" name="link_layout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="link_text">
|
<widget class="QLineEdit" name="link_text">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -34,19 +37,26 @@
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="copy_button">
|
<widget class="QPushButton" name="copy_button">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="0" colspan="2">
|
||||||
|
<spacer name="vspacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QPushButton" name="open_button">
|
<widget class="QPushButton" name="open_button">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -60,24 +70,10 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0" colspan="3">
|
<item row="1" column="1">
|
||||||
<widget class="QLabel" name="info_label">
|
<layout class="QHBoxLayout" name="sid_layout"/>
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<italic>true</italic>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Click the button to open the login page in a browser or copy the link and paste it in a browser. After
|
|
||||||
logging in, copy the SID code in the input above.
|
|
||||||
</string>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0" colspan="3" alignment="Qt::AlignTop">
|
<item row="0" column="0" colspan="2">
|
||||||
<widget class="QLabel" name="title_label">
|
<widget class="QLabel" name="title_label">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
|
@ -90,14 +86,23 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0" colspan="3">
|
<item row="5" column="0" colspan="2">
|
||||||
<widget class="QLabel" name="status_label">
|
<widget class="QLabel" name="info_label">
|
||||||
<property name="sizePolicy">
|
<property name="font">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
<font>
|
||||||
<horstretch>0</horstretch>
|
<italic>true</italic>
|
||||||
<verstretch>0</verstretch>
|
</font>
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Click the button to open the login page in a browser or copy the link and paste it in a browser. After logging in, copy the SID code in the input above.</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="status_label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
|
@ -106,9 +111,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1" colspan="2">
|
|
||||||
<layout class="QHBoxLayout" name="sid_layout"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'import_login.ui'
|
# Form implementation generated from reading ui file 'rare/ui/components/dialogs/login/import_login.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.15.4
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
# run again. Do not edit this file unless you know what you are doing.
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
@ -14,24 +14,29 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
class Ui_ImportLogin(object):
|
class Ui_ImportLogin(object):
|
||||||
def setupUi(self, ImportLogin):
|
def setupUi(self, ImportLogin):
|
||||||
ImportLogin.setObjectName("ImportLogin")
|
ImportLogin.setObjectName("ImportLogin")
|
||||||
ImportLogin.resize(503, 173)
|
ImportLogin.resize(400, 200)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(ImportLogin.sizePolicy().hasHeightForWidth())
|
||||||
|
ImportLogin.setSizePolicy(sizePolicy)
|
||||||
ImportLogin.setWindowTitle("ImportLogin")
|
ImportLogin.setWindowTitle("ImportLogin")
|
||||||
self.import_layout = QtWidgets.QGridLayout(ImportLogin)
|
self.import_layout = QtWidgets.QGridLayout(ImportLogin)
|
||||||
|
self.import_layout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
|
||||||
self.import_layout.setObjectName("import_layout")
|
self.import_layout.setObjectName("import_layout")
|
||||||
self.info_label = QtWidgets.QLabel(ImportLogin)
|
self.prefix_label = QtWidgets.QLabel(ImportLogin)
|
||||||
font = QtGui.QFont()
|
self.prefix_label.setObjectName("prefix_label")
|
||||||
font.setItalic(True)
|
self.import_layout.addWidget(self.prefix_label, 1, 0, 1, 1)
|
||||||
self.info_label.setFont(font)
|
|
||||||
self.info_label.setWordWrap(True)
|
|
||||||
self.info_label.setObjectName("info_label")
|
|
||||||
self.import_layout.addWidget(self.info_label, 3, 0, 1, 3, QtCore.Qt.AlignBottom)
|
|
||||||
self.title_label = QtWidgets.QLabel(ImportLogin)
|
self.title_label = QtWidgets.QLabel(ImportLogin)
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
font.setWeight(75)
|
font.setWeight(75)
|
||||||
self.title_label.setFont(font)
|
self.title_label.setFont(font)
|
||||||
self.title_label.setObjectName("title_label")
|
self.title_label.setObjectName("title_label")
|
||||||
self.import_layout.addWidget(self.title_label, 0, 0, 1, 3, QtCore.Qt.AlignTop)
|
self.import_layout.addWidget(self.title_label, 0, 0, 1, 3)
|
||||||
|
self.prefix_tool = QtWidgets.QToolButton(ImportLogin)
|
||||||
|
self.prefix_tool.setObjectName("prefix_tool")
|
||||||
|
self.import_layout.addWidget(self.prefix_tool, 1, 2, 1, 1)
|
||||||
self.prefix_combo = QtWidgets.QComboBox(ImportLogin)
|
self.prefix_combo = QtWidgets.QComboBox(ImportLogin)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
@ -41,39 +46,36 @@ class Ui_ImportLogin(object):
|
||||||
self.prefix_combo.setEditable(True)
|
self.prefix_combo.setEditable(True)
|
||||||
self.prefix_combo.setObjectName("prefix_combo")
|
self.prefix_combo.setObjectName("prefix_combo")
|
||||||
self.import_layout.addWidget(self.prefix_combo, 1, 1, 1, 1)
|
self.import_layout.addWidget(self.prefix_combo, 1, 1, 1, 1)
|
||||||
self.prefix_label = QtWidgets.QLabel(ImportLogin)
|
|
||||||
self.prefix_label.setObjectName("prefix_label")
|
|
||||||
self.import_layout.addWidget(self.prefix_label, 1, 0, 1, 1)
|
|
||||||
self.prefix_tool = QtWidgets.QToolButton(ImportLogin)
|
|
||||||
self.prefix_tool.setObjectName("prefix_tool")
|
|
||||||
self.import_layout.addWidget(self.prefix_tool, 1, 2, 1, 1)
|
|
||||||
self.status_label = QtWidgets.QLabel(ImportLogin)
|
self.status_label = QtWidgets.QLabel(ImportLogin)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
|
|
||||||
sizePolicy.setHorizontalStretch(0)
|
|
||||||
sizePolicy.setVerticalStretch(0)
|
|
||||||
sizePolicy.setHeightForWidth(self.status_label.sizePolicy().hasHeightForWidth())
|
|
||||||
self.status_label.setSizePolicy(sizePolicy)
|
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setItalic(True)
|
font.setItalic(True)
|
||||||
self.status_label.setFont(font)
|
self.status_label.setFont(font)
|
||||||
self.status_label.setText("")
|
self.status_label.setText("")
|
||||||
self.status_label.setObjectName("status_label")
|
self.status_label.setObjectName("status_label")
|
||||||
self.import_layout.addWidget(self.status_label, 2, 1, 1, 2)
|
self.import_layout.addWidget(self.status_label, 2, 1, 1, 2)
|
||||||
|
self.info_label = QtWidgets.QLabel(ImportLogin)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setItalic(True)
|
||||||
|
self.info_label.setFont(font)
|
||||||
|
self.info_label.setWordWrap(True)
|
||||||
|
self.info_label.setObjectName("info_label")
|
||||||
|
self.import_layout.addWidget(self.info_label, 4, 0, 1, 3)
|
||||||
|
spacerItem = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
self.import_layout.addItem(spacerItem, 3, 0, 1, 3)
|
||||||
|
|
||||||
self.retranslateUi(ImportLogin)
|
self.retranslateUi(ImportLogin)
|
||||||
QtCore.QMetaObject.connectSlotsByName(ImportLogin)
|
QtCore.QMetaObject.connectSlotsByName(ImportLogin)
|
||||||
|
|
||||||
def retranslateUi(self, ImportLogin):
|
def retranslateUi(self, ImportLogin):
|
||||||
_translate = QtCore.QCoreApplication.translate
|
_translate = QtCore.QCoreApplication.translate
|
||||||
self.info_label.setText(_translate("ImportLogin", "You will get logged out from EGL in the process."))
|
|
||||||
self.title_label.setText(_translate("ImportLogin", "Import existing session from EGL"))
|
|
||||||
self.prefix_label.setText(_translate("ImportLogin", "Select path"))
|
self.prefix_label.setText(_translate("ImportLogin", "Select path"))
|
||||||
|
self.title_label.setText(_translate("ImportLogin", "Import existing session from EGL"))
|
||||||
self.prefix_tool.setText(_translate("ImportLogin", "Browse"))
|
self.prefix_tool.setText(_translate("ImportLogin", "Browse"))
|
||||||
|
self.info_label.setText(_translate("ImportLogin", "You will get logged out from EGL in the process."))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
app = QtWidgets.QApplication(sys.argv)
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
ImportLogin = QtWidgets.QWidget()
|
ImportLogin = QtWidgets.QWidget()
|
||||||
ui = Ui_ImportLogin()
|
ui = Ui_ImportLogin()
|
||||||
|
|
|
@ -1,94 +1,107 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>ImportLogin</class>
|
<class>ImportLogin</class>
|
||||||
<widget class="QWidget" name="ImportLogin">
|
<widget class="QWidget" name="ImportLogin">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>503</width>
|
<width>235</width>
|
||||||
<height>173</height>
|
<height>120</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string notr="true">ImportLogin</string>
|
<string notr="true">ImportLogin</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="import_layout">
|
<layout class="QGridLayout" name="import_layout">
|
||||||
<item row="3" column="0" colspan="3" alignment="Qt::AlignBottom">
|
<property name="sizeConstraint">
|
||||||
<widget class="QLabel" name="info_label">
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
<property name="font">
|
</property>
|
||||||
<font>
|
<item row="1" column="0">
|
||||||
<italic>true</italic>
|
<widget class="QLabel" name="prefix_label">
|
||||||
</font>
|
<property name="text">
|
||||||
</property>
|
<string>Select path</string>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>You will get logged out from EGL in the process.</string>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" colspan="3" alignment="Qt::AlignTop">
|
|
||||||
<widget class="QLabel" name="title_label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Import existing session from EGL</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QComboBox" name="prefix_combo">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="editable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="prefix_label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Select path</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
|
||||||
<widget class="QToolButton" name="prefix_tool">
|
|
||||||
<property name="text">
|
|
||||||
<string>Browse</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1" colspan="2">
|
|
||||||
<widget class="QLabel" name="status_label">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<italic>true</italic>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
</item>
|
||||||
<connections/>
|
<item row="0" column="0" colspan="3">
|
||||||
|
<widget class="QLabel" name="title_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Import existing session from EGL</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QToolButton" name="prefix_tool">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="prefix_combo">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1" colspan="2">
|
||||||
|
<widget class="QLabel" name="status_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<italic>true</italic>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0" colspan="3">
|
||||||
|
<widget class="QLabel" name="info_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<italic>true</italic>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>You will get logged out from EGL in the process.</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="3">
|
||||||
|
<spacer name="vspacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|
86
rare/ui/components/dialogs/login/landing_page.py
Normal file
86
rare/ui/components/dialogs/login/landing_page.py
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Form implementation generated from reading ui file 'rare/ui/components/dialogs/login/landing_page.ui'
|
||||||
|
#
|
||||||
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
|
#
|
||||||
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_LandingPage(object):
|
||||||
|
def setupUi(self, LandingPage):
|
||||||
|
LandingPage.setObjectName("LandingPage")
|
||||||
|
LandingPage.resize(400, 200)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(LandingPage.sizePolicy().hasHeightForWidth())
|
||||||
|
LandingPage.setSizePolicy(sizePolicy)
|
||||||
|
self.landing_layout = QtWidgets.QGridLayout(LandingPage)
|
||||||
|
self.landing_layout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
|
||||||
|
self.landing_layout.setObjectName("landing_layout")
|
||||||
|
self.login_label = QtWidgets.QLabel(LandingPage)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.login_label.setFont(font)
|
||||||
|
self.login_label.setObjectName("login_label")
|
||||||
|
self.landing_layout.addWidget(self.login_label, 0, 0, 1, 3)
|
||||||
|
self.login_browser_radio = QtWidgets.QRadioButton(LandingPage)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.login_browser_radio.sizePolicy().hasHeightForWidth())
|
||||||
|
self.login_browser_radio.setSizePolicy(sizePolicy)
|
||||||
|
self.login_browser_radio.setObjectName("login_browser_radio")
|
||||||
|
self.landing_layout.addWidget(self.login_browser_radio, 1, 0, 1, 1)
|
||||||
|
self.login_browser_label = QtWidgets.QLabel(LandingPage)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setItalic(True)
|
||||||
|
self.login_browser_label.setFont(font)
|
||||||
|
self.login_browser_label.setObjectName("login_browser_label")
|
||||||
|
self.landing_layout.addWidget(self.login_browser_label, 1, 1, 1, 1)
|
||||||
|
self.login_import_radio = QtWidgets.QRadioButton(LandingPage)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.login_import_radio.sizePolicy().hasHeightForWidth())
|
||||||
|
self.login_import_radio.setSizePolicy(sizePolicy)
|
||||||
|
self.login_import_radio.setObjectName("login_import_radio")
|
||||||
|
self.landing_layout.addWidget(self.login_import_radio, 2, 0, 1, 1)
|
||||||
|
self.login_import_label = QtWidgets.QLabel(LandingPage)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setItalic(True)
|
||||||
|
self.login_import_label.setFont(font)
|
||||||
|
self.login_import_label.setObjectName("login_import_label")
|
||||||
|
self.landing_layout.addWidget(self.login_import_label, 2, 1, 1, 1)
|
||||||
|
spacerItem = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||||
|
self.landing_layout.addItem(spacerItem, 1, 2, 2, 1)
|
||||||
|
self.landing_layout.setRowStretch(1, 1)
|
||||||
|
self.landing_layout.setRowStretch(2, 1)
|
||||||
|
|
||||||
|
self.retranslateUi(LandingPage)
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(LandingPage)
|
||||||
|
|
||||||
|
def retranslateUi(self, LandingPage):
|
||||||
|
_translate = QtCore.QCoreApplication.translate
|
||||||
|
LandingPage.setWindowTitle(_translate("LandingPage", "LandingPage"))
|
||||||
|
self.login_label.setText(_translate("LandingPage", "Select login method"))
|
||||||
|
self.login_browser_radio.setText(_translate("LandingPage", "Browser"))
|
||||||
|
self.login_browser_label.setText(_translate("LandingPage", "Login using a browser."))
|
||||||
|
self.login_import_radio.setText(_translate("LandingPage", "Import"))
|
||||||
|
self.login_import_label.setText(_translate("LandingPage", "Import from Epic Games Launcher"))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
|
LandingPage = QtWidgets.QWidget()
|
||||||
|
ui = Ui_LandingPage()
|
||||||
|
ui.setupUi(LandingPage)
|
||||||
|
LandingPage.show()
|
||||||
|
sys.exit(app.exec_())
|
100
rare/ui/components/dialogs/login/landing_page.ui
Normal file
100
rare/ui/components/dialogs/login/landing_page.ui
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>LandingPage</class>
|
||||||
|
<widget class="QWidget" name="LandingPage">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>295</width>
|
||||||
|
<height>78</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>LandingPage</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="landing_layout" rowstretch="0,1,1">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" colspan="3">
|
||||||
|
<widget class="QLabel" name="login_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Select login method</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QRadioButton" name="login_browser_radio">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Browser</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="login_browser_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<italic>true</italic>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Login using a browser.</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QRadioButton" name="login_import_radio">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Import</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="login_import_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<italic>true</italic>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Import from Epic Games Launcher</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2" rowspan="2">
|
||||||
|
<spacer name="login_hspacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'rare/ui/components/dialogs/login/login_dialog.ui'
|
# Form implementation generated from reading ui file 'rare/ui/components/dialogs/login/login_dialog.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.15.6
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
# run again. Do not edit this file unless you know what you are doing.
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
@ -14,71 +14,23 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
class Ui_LoginDialog(object):
|
class Ui_LoginDialog(object):
|
||||||
def setupUi(self, LoginDialog):
|
def setupUi(self, LoginDialog):
|
||||||
LoginDialog.setObjectName("LoginDialog")
|
LoginDialog.setObjectName("LoginDialog")
|
||||||
LoginDialog.resize(492, 267)
|
LoginDialog.resize(324, 132)
|
||||||
self.login_layout = QtWidgets.QVBoxLayout(LoginDialog)
|
self.login_layout = QtWidgets.QVBoxLayout(LoginDialog)
|
||||||
self.login_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
|
||||||
self.login_layout.setObjectName("login_layout")
|
self.login_layout.setObjectName("login_layout")
|
||||||
spacerItem = QtWidgets.QSpacerItem(0, 17, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
spacerItem = QtWidgets.QSpacerItem(0, 17, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||||
self.login_layout.addItem(spacerItem)
|
self.login_layout.addItem(spacerItem)
|
||||||
self.welcome_label = QtWidgets.QLabel(LoginDialog)
|
self.welcome_label = QtWidgets.QLabel(LoginDialog)
|
||||||
self.welcome_label.setObjectName("welcome_label")
|
self.welcome_label.setObjectName("welcome_label")
|
||||||
self.login_layout.addWidget(self.welcome_label)
|
self.login_layout.addWidget(self.welcome_label)
|
||||||
spacerItem1 = QtWidgets.QSpacerItem(0, 17, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
spacerItem1 = QtWidgets.QSpacerItem(0, 17, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
|
||||||
self.login_layout.addItem(spacerItem1)
|
self.login_layout.addItem(spacerItem1)
|
||||||
self.login_stack = QtWidgets.QStackedWidget(LoginDialog)
|
self.login_stack_layout = QtWidgets.QVBoxLayout()
|
||||||
self.login_stack.setEnabled(True)
|
self.login_stack_layout.setObjectName("login_stack_layout")
|
||||||
self.login_stack.setMinimumSize(QtCore.QSize(480, 135))
|
self.login_layout.addLayout(self.login_stack_layout)
|
||||||
self.login_stack.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
|
||||||
self.login_stack.setFrameShadow(QtWidgets.QFrame.Raised)
|
|
||||||
self.login_stack.setObjectName("login_stack")
|
|
||||||
self.login_page = QtWidgets.QWidget()
|
|
||||||
self.login_page.setEnabled(True)
|
|
||||||
self.login_page.setObjectName("login_page")
|
|
||||||
self.login_page_layout = QtWidgets.QGridLayout(self.login_page)
|
|
||||||
self.login_page_layout.setObjectName("login_page_layout")
|
|
||||||
self.login_browser_label = QtWidgets.QLabel(self.login_page)
|
|
||||||
font = QtGui.QFont()
|
|
||||||
font.setItalic(True)
|
|
||||||
self.login_browser_label.setFont(font)
|
|
||||||
self.login_browser_label.setObjectName("login_browser_label")
|
|
||||||
self.login_page_layout.addWidget(self.login_browser_label, 1, 1, 1, 1)
|
|
||||||
self.login_label = QtWidgets.QLabel(self.login_page)
|
|
||||||
font = QtGui.QFont()
|
|
||||||
font.setBold(True)
|
|
||||||
font.setWeight(75)
|
|
||||||
self.login_label.setFont(font)
|
|
||||||
self.login_label.setObjectName("login_label")
|
|
||||||
self.login_page_layout.addWidget(self.login_label, 0, 0, 1, 3, QtCore.Qt.AlignTop)
|
|
||||||
self.login_import_label = QtWidgets.QLabel(self.login_page)
|
|
||||||
font = QtGui.QFont()
|
|
||||||
font.setItalic(True)
|
|
||||||
self.login_import_label.setFont(font)
|
|
||||||
self.login_import_label.setObjectName("login_import_label")
|
|
||||||
self.login_page_layout.addWidget(self.login_import_label, 2, 1, 1, 1)
|
|
||||||
self.login_import_radio = QtWidgets.QRadioButton(self.login_page)
|
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
|
||||||
sizePolicy.setHorizontalStretch(0)
|
|
||||||
sizePolicy.setVerticalStretch(0)
|
|
||||||
sizePolicy.setHeightForWidth(self.login_import_radio.sizePolicy().hasHeightForWidth())
|
|
||||||
self.login_import_radio.setSizePolicy(sizePolicy)
|
|
||||||
self.login_import_radio.setObjectName("login_import_radio")
|
|
||||||
self.login_page_layout.addWidget(self.login_import_radio, 2, 0, 1, 1)
|
|
||||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
|
||||||
self.login_page_layout.addItem(spacerItem2, 1, 2, 2, 1)
|
|
||||||
self.login_browser_radio = QtWidgets.QRadioButton(self.login_page)
|
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
|
||||||
sizePolicy.setHorizontalStretch(0)
|
|
||||||
sizePolicy.setVerticalStretch(0)
|
|
||||||
sizePolicy.setHeightForWidth(self.login_browser_radio.sizePolicy().hasHeightForWidth())
|
|
||||||
self.login_browser_radio.setSizePolicy(sizePolicy)
|
|
||||||
self.login_browser_radio.setObjectName("login_browser_radio")
|
|
||||||
self.login_page_layout.addWidget(self.login_browser_radio, 1, 0, 1, 1)
|
|
||||||
self.login_stack.addWidget(self.login_page)
|
|
||||||
self.login_layout.addWidget(self.login_stack)
|
|
||||||
self.button_layout = QtWidgets.QHBoxLayout()
|
self.button_layout = QtWidgets.QHBoxLayout()
|
||||||
self.button_layout.setObjectName("button_layout")
|
self.button_layout.setObjectName("button_layout")
|
||||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||||
self.button_layout.addItem(spacerItem3)
|
self.button_layout.addItem(spacerItem2)
|
||||||
self.exit_button = QtWidgets.QPushButton(LoginDialog)
|
self.exit_button = QtWidgets.QPushButton(LoginDialog)
|
||||||
self.exit_button.setObjectName("exit_button")
|
self.exit_button.setObjectName("exit_button")
|
||||||
self.button_layout.addWidget(self.exit_button)
|
self.button_layout.addWidget(self.exit_button)
|
||||||
|
@ -91,18 +43,12 @@ class Ui_LoginDialog(object):
|
||||||
self.login_layout.addLayout(self.button_layout)
|
self.login_layout.addLayout(self.button_layout)
|
||||||
|
|
||||||
self.retranslateUi(LoginDialog)
|
self.retranslateUi(LoginDialog)
|
||||||
self.login_stack.setCurrentIndex(0)
|
|
||||||
QtCore.QMetaObject.connectSlotsByName(LoginDialog)
|
QtCore.QMetaObject.connectSlotsByName(LoginDialog)
|
||||||
|
|
||||||
def retranslateUi(self, LoginDialog):
|
def retranslateUi(self, LoginDialog):
|
||||||
_translate = QtCore.QCoreApplication.translate
|
_translate = QtCore.QCoreApplication.translate
|
||||||
LoginDialog.setWindowTitle(_translate("LoginDialog", "Rare Login"))
|
LoginDialog.setWindowTitle(_translate("LoginDialog", "Rare Login"))
|
||||||
self.welcome_label.setText(_translate("LoginDialog", "<h1>Welcome to Rare</h1>"))
|
self.welcome_label.setText(_translate("LoginDialog", "<h1>Welcome to Rare</h1>"))
|
||||||
self.login_browser_label.setText(_translate("LoginDialog", "Login using a browser."))
|
|
||||||
self.login_label.setText(_translate("LoginDialog", "Select login method"))
|
|
||||||
self.login_import_label.setText(_translate("LoginDialog", "Import from Epic Games Launcher"))
|
|
||||||
self.login_import_radio.setText(_translate("LoginDialog", "Import"))
|
|
||||||
self.login_browser_radio.setText(_translate("LoginDialog", "Browser"))
|
|
||||||
self.exit_button.setText(_translate("LoginDialog", "Exit"))
|
self.exit_button.setText(_translate("LoginDialog", "Exit"))
|
||||||
self.back_button.setText(_translate("LoginDialog", "Back"))
|
self.back_button.setText(_translate("LoginDialog", "Back"))
|
||||||
self.next_button.setText(_translate("LoginDialog", "Next"))
|
self.next_button.setText(_translate("LoginDialog", "Next"))
|
||||||
|
|
|
@ -6,19 +6,22 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>492</width>
|
<width>324</width>
|
||||||
<height>267</height>
|
<height>132</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Rare Login</string>
|
<string>Rare Login</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="login_layout">
|
<layout class="QVBoxLayout" name="login_layout" stretch="0,0,0,0,0">
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetFixedSize</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<spacer name="login_vspacer_top">
|
<spacer name="login_vspacer_top">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -36,6 +39,12 @@
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="login_vspacer_bottom">
|
<spacer name="login_vspacer_bottom">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -45,109 +54,7 @@
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QStackedWidget" name="login_stack">
|
<layout class="QVBoxLayout" name="login_stack_layout"/>
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>480</width>
|
|
||||||
<height>135</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Raised</enum>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="login_page">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="login_page_layout">
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLabel" name="login_browser_label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<italic>true</italic>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Login using a browser.</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" colspan="3" alignment="Qt::AlignTop">
|
|
||||||
<widget class="QLabel" name="login_label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Select login method</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLabel" name="login_import_label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<italic>true</italic>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Import from Epic Games Launcher</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QRadioButton" name="login_import_radio">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Import</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2" rowspan="2">
|
|
||||||
<spacer name="login_hspacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QRadioButton" name="login_browser_radio">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Browser</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="button_layout">
|
<layout class="QHBoxLayout" name="button_layout">
|
||||||
|
|
Loading…
Reference in a new issue