diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index 7ece08e2..e52d588c 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -112,7 +112,7 @@ Page { flow.tranId = transactionId; deviceVerificationList.add(flow.tranId); var dialog = deviceVerificationDialog.createObject(timelineRoot, - {flow: flow,sender: false}); + {flow: flow}); dialog.show(); } } diff --git a/resources/qml/UserProfile.qml b/resources/qml/UserProfile.qml index 80415a29..f060b0e3 100644 --- a/resources/qml/UserProfile.qml +++ b/resources/qml/UserProfile.qml @@ -13,7 +13,7 @@ ApplicationWindow{ id:userProfileDialog height: 500 - width: 500 + width: 400 modality:Qt.WindowModal Layout.alignment: Qt.AlignHCenter palette: colors @@ -64,6 +64,9 @@ ApplicationWindow{ id: userProfileName text: user_data.userName fontSizeMode: Text.HorizontalFit + font.pixelSize: 16 + color:timelineManager.userColor(modelData.userId, colors.window) + font.bold: true Layout.alignment: Qt.AlignHCenter } @@ -71,6 +74,8 @@ ApplicationWindow{ id: matrixUserID text: user_data.userId fontSizeMode: Text.HorizontalFit + font.pixelSize: 16 + color:colors.text Layout.alignment: Qt.AlignHCenter } @@ -79,8 +84,6 @@ ApplicationWindow{ implicitWidth: userProfileDialog.width-20 clip: true Layout.alignment: Qt.AlignHCenter - ScrollBar.horizontal.policy: ScrollBar.AlwaysOn - ScrollBar.vertical.policy: ScrollBar.AlwaysOn ListView{ id: deviceList @@ -98,6 +101,7 @@ ApplicationWindow{ Text{ Layout.fillWidth: true color: colors.text + font.bold: true Layout.alignment: Qt.AlignRight text: deviceID } @@ -116,12 +120,15 @@ ApplicationWindow{ {userId : user_data.userId,sender: true,deviceId : model.deviceID}); deviceVerificationList.add(newFlow.tranId); var dialog = deviceVerificationDialog.createObject(userProfileDialog, - {flow: newFlow,sender: true}); + {flow: newFlow}); dialog.show(); } + palette { + button: "white" + } contentItem: Text { text: verifyButton.text - color: colors.background + color: "black" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } @@ -134,19 +141,26 @@ ApplicationWindow{ id: okbutton text:"OK" onClicked: userProfileDialog.close() - anchors.margins: { - right:10 - bottom:10 + anchors { + right: parent.right + bottom: parent.bottom + } + + anchors.margins : { + right : 10 + bottom : 10 + } + + palette { + button: "white" } contentItem: Text { text: okbutton.text - color: colors.background + color: "black" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } - - Layout.alignment: Qt.AlignRight | Qt.AlignBottom } } diff --git a/resources/qml/device-verification/DeviceVerification.qml b/resources/qml/device-verification/DeviceVerification.qml index 03fc5055..12e38f29 100644 --- a/resources/qml/device-verification/DeviceVerification.qml +++ b/resources/qml/device-verification/DeviceVerification.qml @@ -7,7 +7,6 @@ import Qt.labs.settings 1.0 import im.nheko 1.0 ApplicationWindow { - property bool sender: true title: stack.currentItem.title id: dialog @@ -25,7 +24,7 @@ ApplicationWindow { width: stack.implicitWidth StackView { id: stack - initialItem: sender == true?newVerificationRequest:acceptNewVerificationRequest + initialItem: flow.sender == true?newVerificationRequest:acceptNewVerificationRequest implicitWidth: currentItem.implicitWidth implicitHeight: currentItem.implicitHeight } @@ -52,7 +51,7 @@ ApplicationWindow { Component { id: newVerificationRequest Pane { - property string title: "Sending Device Verification Request" + property string title: qsTr("Sending Device Verification Request") ColumnLayout { spacing: 16 Label { @@ -60,8 +59,8 @@ ApplicationWindow { Layout.fillHeight: true Layout.fillWidth: true wrapMode: Text.Wrap - text: "A new device was added." - + text: qsTr("A new device was added.") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -70,15 +69,24 @@ ApplicationWindow { Layout.fillHeight: true Layout.fillWidth: true wrapMode: Text.Wrap - text: "The device may have been added by you signing in from another client or physical device. To ensure that no malicious user can eavesdrop on your encrypted communications, you should verify the new device." - + text: qsTr("The device may have been added by you signing in from another client or physical device. To ensure that no malicious user can eavesdrop on your encrypted communications, you should verify the new device.") + color:colors.text verticalAlignment: Text.AlignVCenter } RowLayout { Button { Layout.alignment: Qt.AlignLeft - text: "Cancel" + text: qsTr("Cancel") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); flow.cancelVerification(); @@ -91,7 +99,16 @@ ApplicationWindow { } Button { Layout.alignment: Qt.AlignRight - text: "Start verification" + text: qsTr("Start verification") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { stack.replace(awaitingVerificationRequestAccept); flow.startVerificationRequest(); } } } @@ -102,7 +119,7 @@ ApplicationWindow { Component { id: acceptNewVerificationRequest Pane { - property string title: "Recieving Device Verification Request" + property string title: qsTr("Recieving Device Verification Request") ColumnLayout { spacing: 16 @@ -111,15 +128,15 @@ ApplicationWindow { Layout.fillHeight: true Layout.fillWidth: true wrapMode: Text.Wrap - text: "The device was requested to be verified" - + text: qsTr("The device was requested to be verified") + color:colors.text verticalAlignment: Text.AlignVCenter } RowLayout { RadioButton { Layout.alignment: Qt.AlignLeft - text: "Decimal" + text: qsTr("Decimal") onClicked: { flow.method = DeviceVerificationFlow.Decimal } } Item { @@ -127,7 +144,7 @@ ApplicationWindow { } RadioButton { Layout.alignment: Qt.AlignRight - text: "Emoji" + text: qsTr("Emoji") onClicked: { flow.method = DeviceVerificationFlow.Emoji } } } @@ -135,7 +152,16 @@ ApplicationWindow { RowLayout { Button { Layout.alignment: Qt.AlignLeft - text: "Deny" + text: qsTr("Deny") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); flow.cancelVerification(); @@ -148,7 +174,16 @@ ApplicationWindow { } Button { Layout.alignment: Qt.AlignRight - text: "Accept" + text: qsTr("Accept") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { stack.replace(awaitingVerificationRequestAccept); flow.acceptVerificationRequest(); } } } @@ -159,7 +194,7 @@ ApplicationWindow { Component { id: awaitingVerificationRequestAccept Pane { - property string title: "Waiting for other party" + property string title: qsTr("Waiting for other party") ColumnLayout { spacing: 16 Label { @@ -168,8 +203,8 @@ ApplicationWindow { Layout.fillWidth: true wrapMode: Text.Wrap id: content - text: "Waiting for other side to accept the verification request." - + text: qsTr("Waiting for other side to accept the verification request.") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -179,7 +214,16 @@ ApplicationWindow { RowLayout { Button { Layout.alignment: Qt.AlignLeft - text: "Cancel" + text: qsTr("Cancel") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); flow.cancelVerification(); @@ -198,7 +242,7 @@ ApplicationWindow { Component { id: digitVerification Pane { - property string title: "Verification Code" + property string title: qsTr("Verification Code") ColumnLayout { spacing: 16 Label { @@ -206,8 +250,8 @@ ApplicationWindow { Layout.fillHeight: true Layout.fillWidth: true wrapMode: Text.Wrap - text: "Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!" - + text: qsTr("Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -230,7 +274,16 @@ ApplicationWindow { RowLayout { Button { Layout.alignment: Qt.AlignLeft - text: "They do not match!" + text: qsTr("They do not match!") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); flow.cancelVerification(); @@ -243,7 +296,16 @@ ApplicationWindow { } Button { Layout.alignment: Qt.AlignRight - text: "They match." + text: qsTr("They match!") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { stack.replace(awaitingVerificationConfirmation); flow.sendVerificationMac(); } } } @@ -254,7 +316,7 @@ ApplicationWindow { Component { id: emojiVerification Pane { - property string title: "Verification Code" + property string title: qsTr("Verification Code") ColumnLayout { spacing: 16 Label { @@ -262,8 +324,8 @@ ApplicationWindow { Layout.fillHeight: true Layout.fillWidth: true wrapMode: Text.Wrap - text: "Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!" - + text: qsTr("Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -369,7 +431,16 @@ ApplicationWindow { RowLayout { Button { Layout.alignment: Qt.AlignLeft - text: "They do not match!" + text: qsTr("They do not match!") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); flow.cancelVerification(); @@ -382,7 +453,16 @@ ApplicationWindow { } Button { Layout.alignment: Qt.AlignRight - text: "They match." + text: qsTr("They match!") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { stack.replace(awaitingVerificationConfirmation); flow.sendVerificationMac(); } } } @@ -393,7 +473,7 @@ ApplicationWindow { Component { id: awaitingVerificationConfirmation Pane { - property string title: "Awaiting Confirmation" + property string title: qsTr("Awaiting Confirmation") ColumnLayout { spacing: 16 Label { @@ -402,8 +482,8 @@ ApplicationWindow { Layout.fillWidth: true wrapMode: Text.Wrap id: content - text: "Waiting for other side to complete verification." - + text: qsTr("Waiting for other side to complete verification.") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -413,7 +493,16 @@ ApplicationWindow { RowLayout { Button { Layout.alignment: Qt.AlignLeft - text: "Cancel" + text: qsTr("Cancel") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); flow.cancelVerification(); @@ -432,7 +521,7 @@ ApplicationWindow { Component { id: verificationSuccess Pane { - property string title: "Successful Verification" + property string title: qsTr("Successful Verification") ColumnLayout { spacing: 16 Label { @@ -441,8 +530,8 @@ ApplicationWindow { Layout.fillWidth: true wrapMode: Text.Wrap id: content - text: "Verification successful! Both sides verified their devices!" - + text: qsTr("Verification successful! Both sides verified their devices!") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -452,7 +541,16 @@ ApplicationWindow { } Button { Layout.alignment: Qt.AlignRight - text: "Close" + text: qsTr("Close") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close() deviceVerificationList.remove(flow.tranId); @@ -467,7 +565,7 @@ ApplicationWindow { Component { id: partnerAborted Pane { - property string title: "Verification aborted!" + property string title: qsTr("Verification aborted!") ColumnLayout { spacing: 16 Label { @@ -476,8 +574,8 @@ ApplicationWindow { Layout.fillWidth: true wrapMode: Text.Wrap id: content - text: "Verification canceled by the other party!" - + text: qsTr("Verification canceled by the other party!") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -487,7 +585,16 @@ ApplicationWindow { } Button { Layout.alignment: Qt.AlignRight - text: "Close" + text: qsTr("Close") + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } onClicked: { dialog.close(); deviceVerificationList.remove(flow.tranId); @@ -502,7 +609,7 @@ ApplicationWindow { Component { id: timedout Pane { - property string title: "Verification timed out" + property string title: qsTr("Verification timed out") ColumnLayout { spacing: 16 Text { @@ -511,8 +618,8 @@ ApplicationWindow { Layout.fillWidth: true wrapMode: Text.Wrap id: content - text: "Device verification timed out." - + text: qsTr("Device verification timed out.") + color:colors.text verticalAlignment: Text.AlignVCenter } @@ -521,8 +628,18 @@ ApplicationWindow { Layout.fillWidth: true } Button { + id: timedOutCancel Layout.alignment: Qt.AlignRight - text: "Close" + palette { + button: "white" + } + contentItem: Text { + text: parent.text + color: "black" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + text: qsTr("Close") onClicked: { dialog.close() deviceVerificationList.remove(flow.tranId); diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp index 234b0bb6..a36a5bda 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp @@ -26,17 +26,17 @@ namespace msgs = mtx::events::msg; void DeviceVerificationList::add(QString tran_id) { - this->dv_list.append(tran_id); + this->deviceVerificationList.push_back(tran_id); } void DeviceVerificationList::remove(QString tran_id) { - this->dv_list.removeOne(tran_id); + this->deviceVerificationList.removeOne(tran_id); } bool DeviceVerificationList::exist(QString tran_id) { - return this->dv_list.contains(tran_id); + return this->deviceVerificationList.contains(tran_id); } void diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h index 8af6d137..38aba021 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include #include @@ -32,7 +31,7 @@ public: Q_INVOKABLE bool exist(QString tran_id); private: - QLinkedList dv_list; + QVector deviceVerificationList; }; class TimelineViewManager : public QObject