summary refs log tree commit diff
path: root/resources/qml/device-verification/DeviceVerification.qml
blob: 2e8f7504285a74aeddd0262d864b46a1a0d20130 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import QtQuick 2.10
import QtQuick.Controls 2.10
import QtQuick.Window 2.10

import im.nheko 1.0

ApplicationWindow {
	property var flow

	onClosing: TimelineManager.removeVerificationFlow(flow)

	title: stack.currentItem.title
	id: dialog

	flags: Qt.Dialog

	palette: colors

	height: stack.implicitHeight
	width: stack.implicitWidth

	StackView {
		id: stack
		initialItem: newVerificationRequest
		implicitWidth: currentItem.implicitWidth
		implicitHeight: currentItem.implicitHeight
	}

	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 { script: stack.replace(newVerificationRequest) }
		},
		State {
			name: "CompareEmoji"
			StateChangeScript { script: stack.replace(emojiVerification) }
		},
		State {
			name: "CompareNumber"
			StateChangeScript { script: stack.replace(digitVerification) }
		},
		State {
			name: "WaitingForKeys"
			StateChangeScript { script: stack.replace(waiting) }
		},
		State {
			name: "WaitingForOtherToAccept"
			StateChangeScript { script: stack.replace(waiting) }
		},
		State {
			name: "WaitingForMac"
			StateChangeScript { script: stack.replace(waiting) }
		},
		State {
			name: "Success"
			StateChangeScript { script: stack.replace(success) }
		},
		State {
			name: "Failed"
			StateChangeScript { script: stack.replace(failed); }
		}
	]
}
}