Changeset View
Changeset View
Standalone View
Standalone View
src/contents/ui/SendMessageBox.qml
| /* | /* | ||||
| * This file is part of kazv. | * This file is part of kazv. | ||||
| * SPDX-FileCopyrightText: 2020-2023 tusooa <tusooa@kazv.moe> | * SPDX-FileCopyrightText: 2020-2023 tusooa <tusooa@kazv.moe> | ||||
| * SPDX-License-Identifier: AGPL-3.0-or-later | * SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| */ | */ | ||||
| import QtQuick 2.15 | import QtQuick 2.15 | ||||
| import QtQuick.Layouts 1.15 | import QtQuick.Layouts 1.15 | ||||
| import QtQuick.Controls 2.15 | import QtQuick.Controls 2.15 | ||||
| import QtQuick.Window 2.15 | |||||
| import org.kde.kirigami 2.13 as Kirigami | import org.kde.kirigami 2.13 as Kirigami | ||||
| import moe.kazv.mxc.kazv 0.0 as MK | import moe.kazv.mxc.kazv 0.0 as MK | ||||
| import '.' as Kazv | import '.' as Kazv | ||||
| ColumnLayout { | ColumnLayout { | ||||
| id: sendMessageBox | id: sendMessageBox | ||||
| ▲ Show 20 Lines • Show All 172 Lines • ▼ Show 20 Lines | Kirigami.Action { | ||||
| text: l10n.get("send-message-box-send-file") | text: l10n.get("send-message-box-send-file") | ||||
| onTriggered: { | onTriggered: { | ||||
| fileDialog.open() | fileDialog.open() | ||||
| } | } | ||||
| } | } | ||||
| property var confirmUploadPopup: ConfirmUploadPopup { | property var confirmUploadPopup: ConfirmUploadPopup { | ||||
| id: confirmUploadPopup | id: confirmUploadPopup | ||||
| parent: applicationWindow().overlay | |||||
| onUploadRequested: (url) => { | onUploadRequested: (url) => { | ||||
| sendMessageBox.uploadFile(url); | sendMessageBox.uploadFile(url); | ||||
| } | } | ||||
| } | } | ||||
| property var fileDialog: Kazv.FileDialogAdapter { | property var fileDialog: Kazv.FileDialogAdapter { | ||||
| onAccepted: { | onAccepted: { | ||||
| sendMessageBox.uploadFile(fileUrl); | sendMessageBox.uploadFile(fileUrl); | ||||
| } | } | ||||
| } | } | ||||
| function uploadFile(fileUrl) { | function uploadFile(fileUrl) { | ||||
| kazvIOManager.startNewUploadJob( | kazvIOManager.startNewUploadJob( | ||||
| matrixSdk.serverUrl, fileUrl, matrixSdk.token, | matrixSdk.serverUrl, fileUrl, matrixSdk.token, | ||||
| room.roomId, sdkVars.roomList, room.encrypted | room.roomId, sdkVars.roomList, room.encrypted | ||||
| ); | ); | ||||
| } | } | ||||
| property var stickerPopup: Kirigami.OverlaySheet { | property var stickerPopup: Kirigami.OverlaySheet { | ||||
| id: stickerPopup | id: stickerPopup | ||||
| parent: applicationWindow().overlay | |||||
| title: l10n.get('send-message-box-stickers-popup-title') | title: l10n.get('send-message-box-stickers-popup-title') | ||||
| Kazv.StickerPicker { | Kazv.StickerPicker { | ||||
| Layout.preferredWidth: Math.min(Kirigami.Units.gridUnit * 40, Window.width) | |||||
| stickerPackList: matrixSdk.stickerPackList() | stickerPackList: matrixSdk.stickerPackList() | ||||
| onSendMessageRequested: eventJson => { | onSendMessageRequested: eventJson => { | ||||
| console.log(JSON.stringify(eventJson)); | console.log(JSON.stringify(eventJson)); | ||||
| room.sendMessage(eventJson, draftRelType, draftRelatedTo); | room.sendMessage(eventJson, draftRelType, draftRelatedTo); | ||||
| draftRelType = ''; | draftRelType = ''; | ||||
| draftRelatedTo = ''; | draftRelatedTo = ''; | ||||
| stickerPopup.close(); | stickerPopup.close(); | ||||
| } | } | ||||
| Show All 10 Lines | |||||