WIP
3 files changed, 63 insertions, 19 deletions
diff --git a/resources/qml/SelfVerificationCheck.qml b/resources/qml/SelfVerificationCheck.qml
index 98a5d2dc..c5eee669 100644
--- a/resources/qml/SelfVerificationCheck.qml
+++ b/resources/qml/SelfVerificationCheck.qml
@@ -7,6 +7,7 @@ import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.3
import im.nheko 1.0
+import "./components/"
Item {
visible: false
@@ -80,31 +81,15 @@ Item {
text: qsTr("Failed to setup encryption: %1").arg(errorMessage)
}
- Dialog {
+ MainWindowDialog {
id: bootstrapCrosssigning
- parent: Overlay.overlay
- anchors.centerIn: parent
- height: (Math.floor(parent.height / 2) - Nheko.paddingLarge) * 2
- width: (Math.floor(parent.width / 2) - Nheko.paddingLarge) * 2
- padding: 0
- modal: true
- standardButtons: Dialog.Ok | Dialog.Cancel
- closePolicy: Popup.NoAutoClose
onAccepted: SelfVerificationStatus.setupCrosssigning(storeSecretsOnline.checked, usePassword.checked ? passwordField.text : "", useOnlineKeyBackup.checked)
- ScrollView {
- id: scroll
-
- clip: true
- anchors.fill: parent
- ScrollBar.horizontal.visible: false
- ScrollBar.vertical.visible: true
-
GridLayout {
id: grid
- width: scroll.width - scroll.ScrollBar.vertical.width
+ width: bootstrapCrosssigning.useableWidth
columns: 2
rowSpacing: 0
columnSpacing: 0
@@ -222,7 +207,6 @@ Item {
}
- }
background: Rectangle {
color: Nheko.colors.window
@@ -233,11 +217,28 @@ Item {
}
+ MainWindowDialog {
+ id: verifyMasterKey
+
+ onAccepted: SelfVerificationStatus.verifyMasterKey()
+
+ GridLayout {
+ id: masterGrid
+
+ width: verifyMasterKey.useableWidth
+ columns: 2
+ rowSpacing: 0
+ columnSpacing: 0
+ }
+ }
+
Connections {
function onStatusChanged() {
console.log("STATUS CHANGED: " + SelfVerificationStatus.status);
if (SelfVerificationStatus.status == SelfVerificationStatus.NoMasterKey)
bootstrapCrosssigning.open();
+ else if (SelfVerificationStatus.status == SelfVerificationStatus.UnverifiedMasterKey)
+ verifyMasterKey.open();
}
diff --git a/resources/qml/components/MainWindowDialog.qml b/resources/qml/components/MainWindowDialog.qml
new file mode 100644
index 00000000..19233384
--- /dev/null
+++ b/resources/qml/components/MainWindowDialog.qml
@@ -0,0 +1,42 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+import Qt.labs.platform 1.1 as P
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.3
+import im.nheko 1.0
+
+Dialog {
+ parent: Overlay.overlay
+ anchors.centerIn: parent
+ height: (Math.floor(parent.height / 2) - Nheko.paddingLarge) * 2
+ width: (Math.floor(parent.width / 2) - Nheko.paddingLarge) * 2
+ padding: 0
+ modal: true
+ standardButtons: Dialog.Ok | Dialog.Cancel
+ closePolicy: Popup.NoAutoClose
+
+ default property alias inner: scroll.data
+ property int useableWidth: scroll.width - scroll.ScrollBar.vertical.width
+
+ contentChildren: [
+ ScrollView {
+ id: scroll
+
+ clip: true
+ anchors.fill: parent
+ ScrollBar.horizontal.visible: false
+ ScrollBar.vertical.visible: true
+ }
+ ]
+
+ background: Rectangle {
+ color: Nheko.colors.window
+ border.color: Nheko.theme.separator
+ border.width: 1
+ radius: Nheko.paddingSmall
+ }
+
+}
diff --git a/resources/res.qrc b/resources/res.qrc
index e544316b..f11d0b4a 100644
--- a/resources/res.qrc
+++ b/resources/res.qrc
@@ -145,6 +145,7 @@
<file>qml/components/AdaptiveLayoutElement.qml</file>
<file>qml/components/AvatarListTile.qml</file>
<file>qml/components/FlatButton.qml</file>
+ <file>qml/components/MainWindowDialog.qml</file>
<file>qml/delegates/Encrypted.qml</file>
<file>qml/delegates/FileMessage.qml</file>
<file>qml/delegates/ImageMessage.qml</file>
|