blob: 6bfee09c09fcfead196e758defce9ebc070fc90e (
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
import QtQuick 2.9
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.2
import QtQuick.Window 2.3
import im.nheko 1.0
import "./device-verification"
ApplicationWindow{
property var user_data
property var colors: currentActivePalette
id:userProfileDialog
height: 500
width: 500
modality:Qt.WindowModal
Layout.alignment: Qt.AlignHCenter
palette: colors
UserProfileList{
id: userProfileList
userId: user_data.userId
onUserIdChanged : {
userProfileList.updateDeviceList()
}
onDeviceListUpdated : {
modelDeviceList.deviceList = userProfileList
}
}
background: Item{
id: userProfileItem
width: userProfileDialog.width
height: userProfileDialog.height
anchors.margins: {
top:20
}
ColumnLayout{
anchors.fill: userProfileItem
width: userProfileDialog.width
spacing: 10
Avatar{
id: userProfileAvatar
url:chat.model.avatarUrl(user_data.userId).replace("mxc://", "image://MxcImage/")
height: 130
width: 130
displayName: modelData.userName
Layout.alignment: Qt.AlignHCenter
}
Label{
id: userProfileName
text: user_data.userName
fontSizeMode: Text.HorizontalFit
Layout.alignment: Qt.AlignHCenter
}
Label{
id: matrixUserID
text: user_data.userId
fontSizeMode: Text.HorizontalFit
Layout.alignment: Qt.AlignHCenter
}
ScrollView {
implicitHeight: userProfileDialog.height/2+20
implicitWidth: userProfileDialog.width-20
clip: true
Layout.alignment: Qt.AlignHCenter
ScrollBar.horizontal.policy: ScrollBar.AlwaysOn
ScrollBar.vertical.policy: ScrollBar.AlwaysOn
ListView{
id: deviceList
anchors.fill: parent
clip: true
spacing: 10
model: UserProfileModel{
id: modelDeviceList
}
delegate: RowLayout{
width: parent.width
ColumnLayout{
Text{
Layout.fillWidth: true
color: colors.text
Layout.alignment: Qt.AlignRight
text: deviceID
}
Text{
Layout.fillWidth: true
color:colors.text
Layout.alignment: Qt.AlignRight
text: displayName
}
Component {
id: deviceVerificationDialog
DeviceVerification {}
}
DeviceVerificationFlow {
id: deviceVerificationFlow
}
}
Button{
id: verifyButton
text:"Verify"
onClicked: {
var dialog = deviceVerificationDialog.createObject(userProfileDialog,
{flow: deviceVerificationFlow,sender: false});
deviceVerificationFlow.userId = user_data.userId
deviceVerificationFlow.deviceId = model.deviceID
dialog.show();
}
contentItem: Text {
text: verifyButton.text
color: colors.background
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
}
}
}
Button{
id: okbutton
text:"OK"
onClicked: userProfileDialog.close()
anchors.margins: {
right:10
bottom:10
}
contentItem: Text {
text: okbutton.text
color: colors.background
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
Layout.alignment: Qt.AlignRight | Qt.AlignBottom
}
}
Item { Layout.fillHeight: true }
}
}
|