2021-03-05 02:35:15 +03:00
|
|
|
// SPDX-FileCopyrightText: 2021 Nheko Contributors
|
2022-01-01 06:57:53 +03:00
|
|
|
// SPDX-FileCopyrightText: 2022 Nheko Contributors
|
2021-03-07 07:57:56 +03:00
|
|
|
//
|
2021-03-05 02:35:15 +03:00
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2020-10-08 00:03:14 +03:00
|
|
|
import QtQuick 2.10
|
2021-01-12 17:04:31 +03:00
|
|
|
import QtQuick.Controls 2.3
|
2021-08-04 03:27:50 +03:00
|
|
|
import QtQuick.Window 2.13
|
2020-03-13 23:05:18 +03:00
|
|
|
import im.nheko 1.0
|
|
|
|
|
|
|
|
ApplicationWindow {
|
2020-10-08 22:11:21 +03:00
|
|
|
id: dialog
|
|
|
|
|
|
|
|
property var flow
|
|
|
|
|
2021-10-15 03:44:48 +03:00
|
|
|
onClosing: VerificationManager.removeVerificationFlow(flow)
|
2022-07-03 04:39:01 +03:00
|
|
|
title: stack.currentItem ? (stack.currentItem.title_ || "") : ""
|
2021-05-22 15:31:38 +03:00
|
|
|
modality: Qt.NonModal
|
2021-05-13 09:23:56 +03:00
|
|
|
palette: Nheko.colors
|
2022-01-12 08:44:51 +03:00
|
|
|
color: Nheko.colors.window
|
2022-07-03 04:39:01 +03:00
|
|
|
//height: stack.currentItem.implicitHeight
|
|
|
|
minimumHeight: stack.currentItem.implicitHeight + 2 * Nheko.paddingLarge
|
|
|
|
height: stack.currentItem.implicitHeight + 2 * Nheko.paddingMedium
|
|
|
|
minimumWidth: 400
|
2021-08-19 17:55:54 +03:00
|
|
|
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
|
2020-10-08 22:11:21 +03:00
|
|
|
|
2022-07-03 04:39:01 +03:00
|
|
|
background: Rectangle {
|
|
|
|
color: Nheko.colors.window
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-10-08 22:11:21 +03:00
|
|
|
StackView {
|
|
|
|
id: stack
|
|
|
|
|
2022-07-03 04:39:01 +03:00
|
|
|
anchors.centerIn: parent
|
|
|
|
|
2020-10-08 22:11:21 +03:00
|
|
|
initialItem: newVerificationRequest
|
2022-07-03 04:39:01 +03:00
|
|
|
implicitWidth: dialog.width - 2* Nheko.paddingMedium
|
|
|
|
implicitHeight: dialog.height - 2* Nheko.paddingMedium
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Component {
|
|
|
|
id: newVerificationRequest
|
|
|
|
|
|
|
|
NewVerificationRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Component {
|
|
|
|
id: waiting
|
|
|
|
|
|
|
|
Waiting {
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Component {
|
|
|
|
id: success
|
|
|
|
|
|
|
|
Success {
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Component {
|
|
|
|
id: failed
|
|
|
|
|
|
|
|
Failed {
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Component {
|
|
|
|
id: digitVerification
|
|
|
|
|
|
|
|
DigitVerification {
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Component {
|
|
|
|
id: emojiVerification
|
|
|
|
|
|
|
|
EmojiVerification {
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Item {
|
|
|
|
state: flow.state
|
|
|
|
states: [
|
|
|
|
State {
|
|
|
|
name: "PromptStartVerification"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, newVerificationRequest)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "CompareEmoji"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, emojiVerification)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "CompareNumber"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, digitVerification)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "WaitingForKeys"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, waiting)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "WaitingForOtherToAccept"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, waiting)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "WaitingForMac"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, waiting)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "Success"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, success)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
State {
|
|
|
|
name: "Failed"
|
|
|
|
|
|
|
|
StateChangeScript {
|
2022-07-03 04:39:01 +03:00
|
|
|
script: stack.replace(null, failed)
|
2020-10-08 22:11:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2020-03-09 02:25:00 +03:00
|
|
|
}
|