summary refs log tree commit diff
path: root/resources/qml
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-05-22 15:19:44 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-05-22 15:19:44 +0200
commit6112badb087e424d6a6f82301922ccd2c93e178c (patch)
tree3608e8d7d7e55770559659eb3cae99e5e442497e /resources/qml
parentFix device list not showing up and UserProfile blocking the window (diff)
downloadnheko-6112badb087e424d6a6f82301922ccd2c93e178c.tar.xz
Reenable userInfo settings menu
Diffstat (limited to 'resources/qml')
-rw-r--r--resources/qml/MatrixTextField.qml1
-rw-r--r--resources/qml/RoomList.qml82
2 files changed, 76 insertions, 7 deletions
diff --git a/resources/qml/MatrixTextField.qml b/resources/qml/MatrixTextField.qml

index 2ba648b5..3c660bac 100644 --- a/resources/qml/MatrixTextField.qml +++ b/resources/qml/MatrixTextField.qml
@@ -11,6 +11,7 @@ TextField { id: input palette: Nheko.colors + color: Nheko.colors.text Rectangle { id: blueBar diff --git a/resources/qml/RoomList.qml b/resources/qml/RoomList.qml
index cde744c5..40669eda 100644 --- a/resources/qml/RoomList.qml +++ b/resources/qml/RoomList.qml
@@ -2,6 +2,7 @@ // // SPDX-License-Identifier: GPL-3.0-or-later +import Qt.labs.platform 1.1 as Platform import QtQuick 2.13 import QtQuick.Controls 2.13 import QtQuick.Layouts 1.3 @@ -206,20 +207,87 @@ Page { spacing: 0 Rectangle { + id: userInfoPanel + + function openUserProfile() { + Nheko.updateUserProfile(); + var userProfile = userProfileComponent.createObject(timelineRoot, { + "profile": Nheko.currentUser + }); + userProfile.show(); + } + color: Nheko.colors.window Layout.fillWidth: true Layout.alignment: Qt.AlignBottom Layout.preferredHeight: userInfoGrid.implicitHeight + 2 * Nheko.paddingMedium Layout.minimumHeight: 40 - TapHandler { - onSingleTapped: { - Nheko.updateUserProfile(); - var userProfile = userProfileComponent.createObject(timelineRoot, { - "profile": Nheko.currentUser - }); - userProfile.show(); + ApplicationWindow { + id: statusDialog + + modality: Qt.NonModal + flags: Qt.Dialog + title: qsTr("Status Message") + width: 350 + height: fontMetrics.lineSpacing * 7 + + ColumnLayout { + anchors.margins: Nheko.paddingLarge + anchors.fill: parent + + Label { + color: Nheko.colors.text + text: qsTr("Enter your status message:") + } + + MatrixTextField { + id: statusInput + + Layout.fillWidth: true + } + } + + footer: DialogButtonBox { + standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel + onAccepted: { + Nheko.setStatusMessage(statusInput.text); + statusDialog.close(); + } + onRejected: { + statusDialog.close(); + } + } + + } + + Platform.Menu { + id: userInfoMenu + + Platform.MenuItem { + text: qsTr("Profile settings") + onTriggered: userInfoPanel.openUserProfile() + } + + Platform.MenuItem { + text: qsTr("Set status message") + onTriggered: statusDialog.show() + } + + } + + TapHandler { + acceptedButtons: Qt.LeftButton + onSingleTapped: userInfoPanel.openUserProfile() + onLongPressed: userInfoMenu.open() + gesturePolicy: TapHandler.ReleaseWithinBounds + } + + TapHandler { + acceptedButtons: Qt.RightButton + onSingleTapped: userInfoMenu.open() + gesturePolicy: TapHandler.ReleaseWithinBounds } RowLayout {