1 parent
fd14b54d8a
commit
0f370167db
9 files changed
+18
-134
No files matched your search
@@ -4,19 +4,12 @@ import QtQuick
|
||||
import QtQuick.Controls 2.15
|
||||
import QtWebEngine
|
||||
|
||||
// Вход в аккаунт Microsoft — то же самое, что делает официальный лаунчер:
|
||||
// страница входа показывается внутри приложения, а лаунчер ждёт, когда браузер
|
||||
// уйдёт на redirect_uri с кодом авторизации в адресе.
|
||||
Dialog {
|
||||
id: msLogin
|
||||
|
||||
required property var backend
|
||||
|
||||
// Окно ничего не знает про тосты главного окна: о неудаче сообщает сигналом.
|
||||
signal failed(string message)
|
||||
|
||||
// Код уже отдан backend — второй раз по тому же адресу не реагируем:
|
||||
// WebEngineView успевает сообщить об urlChanged несколько раз.
|
||||
property bool codeTaken: false
|
||||
|
||||
anchors.centerIn: parent
|
||||
@@ -32,8 +25,6 @@ Dialog {
|
||||
open()
|
||||
}
|
||||
|
||||
// Разбор адреса живёт в C++: правила совпадения должны совпадать с теми,
|
||||
// по которым сервис строит сам redirect_uri.
|
||||
function handleUrl(url) {
|
||||
if (codeTaken)
|
||||
return
|
||||
@@ -76,9 +67,6 @@ Dialog {
|
||||
}
|
||||
|
||||
contentItem: Item {
|
||||
// Профиль без storageName — значит без диска: куки живут только пока
|
||||
// работает лаунчер и в общий браузер не попадают. За выбор аккаунта в
|
||||
// пределах сессии отвечает prompt=select_account в адресе входа.
|
||||
WebEngineProfilePrototype {
|
||||
id: msProfile
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user