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 |