summary refs log tree commit diff
path: root/resources
diff options
context:
space:
mode:
authorLoren Burkholder <computersemiexpert@outlook.com>2021-09-24 21:32:06 -0400
committerLoren Burkholder <computersemiexpert@outlook.com>2021-10-09 17:14:33 -0400
commite9ed12e27bcbc4f4a256e8e3840c1022fd14872e (patch)
tree8dc718d860600c88e9f9d36650d438f849f2fd47 /resources
parentMerge pull request #743 from LorenDB/qmlLogout (diff)
downloadnheko-e9ed12e27bcbc4f4a256e8e3840c1022fd14872e.tar.xz
QML the join room dialog
Diffstat (limited to 'resources')
-rw-r--r--resources/qml/Root.qml12
-rw-r--r--resources/qml/dialogs/JoinRoomDialog.qml64
-rw-r--r--resources/res.qrc23
3 files changed, 88 insertions, 11 deletions
diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml

index 29da45eb..2c4dac0d 100644 --- a/resources/qml/Root.qml +++ b/resources/qml/Root.qml
@@ -118,6 +118,13 @@ Page { } } + Component { + id: joinRoomDialog + + JoinRoomDialog { + } + } + Shortcut { sequence: "Ctrl+K" onActivated: { @@ -148,6 +155,11 @@ Page { dialog.open(); } + function onOpenJoinRoomDialog() { + var dialog = joinRoomDialog.createObject(timelineRoot); + dialog.show(); + } + target: Nheko } diff --git a/resources/qml/dialogs/JoinRoomDialog.qml b/resources/qml/dialogs/JoinRoomDialog.qml new file mode 100644
index 00000000..25400e40 --- /dev/null +++ b/resources/qml/dialogs/JoinRoomDialog.qml
@@ -0,0 +1,64 @@ +// SPDX-FileCopyrightText: 2021 Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +import ".." +import QtQuick 2.12 +import QtQuick.Controls 2.5 +import QtQuick.Layouts 1.3 +import im.nheko 1.0 + +ApplicationWindow { + id: joinRoomRoot + + title: qsTr("Join room") + modality: Qt.WindowModal + flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint + palette: Nheko.colors + color: Nheko.colors.window + Component.onCompleted: Nheko.reparent(joinRoomRoot) + width: 350 + height: fontMetrics.lineSpacing * 7 + + ColumnLayout { + spacing: Nheko.paddingMedium + anchors.margins: Nheko.paddingMedium + anchors.fill: parent + + Label { + id: promptLabel + + text: qsTr("Room ID or alias") + color: Nheko.colors.text + } + + MatrixTextField { + id: input + + Layout.fillWidth: true + } + + } + + footer: DialogButtonBox { + onAccepted: { + Nheko.joinRoom(input.text); + joinRoomRoot.close(); + } + onRejected: { + joinRoomRoot.close(); + } + + Button { + text: "Join" + enabled: input.text.match("#.+?:.{3,}") + DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole + } + + Button { + text: "Cancel" + DialogButtonBox.buttonRole: DialogButtonBox.RejectRole + } + } + +} diff --git a/resources/res.qrc b/resources/res.qrc
index c18a6109..e017b789 100644 --- a/resources/res.qrc +++ b/resources/res.qrc
@@ -158,10 +158,19 @@ <file>qml/device-verification/EmojiVerification.qml</file> <file>qml/device-verification/NewVerificationRequest.qml</file> <file>qml/device-verification/Failed.qml</file> - <file>qml/device-verification/Success.qml</file> - <file>qml/dialogs/InputDialog.qml</file> + <file>qml/device-verification/Success.qml</file> <file>qml/dialogs/ImagePackSettingsDialog.qml</file> <file>qml/dialogs/ImagePackEditorDialog.qml</file> + <file>qml/dialogs/InputDialog.qml</file> + <file>qml/dialogs/InviteDialog.qml</file> + <file>qml/dialogs/JoinRoomDialog.qml</file> + <file>qml/dialogs/LogoutDialog.qml</file> + <file>qml/dialogs/RawMessageDialog.qml</file> + <file>qml/dialogs/ReadReceipts.qml</file> + <file>qml/dialogs/RoomDirectory.qml</file> + <file>qml/dialogs/RoomMembers.qml</file> + <file>qml/dialogs/RoomSettings.qml</file> + <file>qml/dialogs/UserProfile.qml</file> <file>qml/ui/Ripple.qml</file> <file>qml/ui/Spinner.qml</file> <file>qml/ui/animations/BlinkAnimation.qml</file> @@ -176,15 +185,7 @@ <file>qml/components/AdaptiveLayout.qml</file> <file>qml/components/AdaptiveLayoutElement.qml</file> <file>qml/components/AvatarListTile.qml</file> - <file>qml/components/FlatButton.qml</file> - <file>qml/dialogs/InviteDialog.qml</file> - <file>qml/dialogs/RawMessageDialog.qml</file> - <file>qml/dialogs/ReadReceipts.qml</file> - <file>qml/dialogs/RoomDirectory.qml</file> - <file>qml/dialogs/RoomMembers.qml</file> - <file>qml/dialogs/RoomSettings.qml</file> - <file>qml/dialogs/UserProfile.qml</file> - <file>qml/dialogs/LogoutDialog.qml</file> + <file>qml/components/FlatButton.qml</file> </qresource> <qresource prefix="/media"> <file>media/ring.ogg</file>