diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d99332409..848ab18a3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -238,7 +238,6 @@ ecm_add_qml_module(neochat URI org.kde.neochat GENERATE_PLUGIN_SOURCE qml/EmojiSas.qml qml/ConfirmDeactivateAccountDialog.qml qml/VerificationCanceled.qml - qml/EditMenu.qml qml/MessageDelegateContextMenu.qml qml/FileDelegateContextMenu.qml qml/MessageSourceSheet.qml @@ -309,6 +308,7 @@ if(NOT ANDROID AND NOT WIN32) qt_target_qml_sources(neochat QML_FILES qml/ShareAction.qml qml/GlobalMenu.qml + qml/EditMenu.qml ) else() set_source_files_properties(qml/ShareActionStub.qml PROPERTIES diff --git a/src/qml/FileDelegateContextMenu.qml b/src/qml/FileDelegateContextMenu.qml index b00ba0e9a..19be223e2 100644 --- a/src/qml/FileDelegateContextMenu.qml +++ b/src/qml/FileDelegateContextMenu.qml @@ -1,9 +1,10 @@ // SPDX-FileCopyrightText: 2019 Black Hat // SPDX-License-Identifier: GPL-3.0-only +import QtCore as Core import QtQuick import QtQuick.Controls as QQC2 -import Qt.labs.platform +import QtQuick.Dialogs as Dialogs import org.kde.kirigami as Kirigami @@ -110,16 +111,16 @@ DelegateContextMenu { Component { id: saveAsDialog - FileDialog { - fileMode: FileDialog.SaveFile - folder: NeoChatConfig.lastSaveDirectory.length > 0 ? NeoChatConfig.lastSaveDirectory : StandardPaths.writableLocation(StandardPaths.DownloadLocation) + Dialogs.FileDialog { + fileMode: Dialogs.FileDialog.SaveFile + currentFolder: NeoChatConfig.lastSaveDirectory.length > 0 ? NeoChatConfig.lastSaveDirectory : Core.StandardPaths.writableLocation(Core.StandardPaths.DownloadLocation) onAccepted: { - if (!currentFile) { + if (!selectedFile) { return; } - NeoChatConfig.lastSaveDirectory = folder; + NeoChatConfig.lastSaveDirectory = currentFolder; NeoChatConfig.save(); - currentRoom.downloadFile(eventId, currentFile); + currentRoom.downloadFile(eventId, selectedFile); } } } diff --git a/src/qml/ImageEditorPage.qml b/src/qml/ImageEditorPage.qml index 02236b74f..25493c8a5 100644 --- a/src/qml/ImageEditorPage.qml +++ b/src/qml/ImageEditorPage.qml @@ -4,7 +4,7 @@ import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts -import Qt.labs.platform as Platform +import QtCore as Core import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.labs.components as KirigamiComponents @@ -44,7 +44,7 @@ Kirigami.Page { text: i18nc("@action:button Accept image modification", "Accept") icon.name: "dialog-ok" onTriggered: { - let newPath = Platform.StandardPaths.writableLocation(Platform.StandardPaths.CacheLocation) + "/" + (new Date()).getTime() + "." + imagePath.split('.').pop(); + let newPath = Core.StandardPaths.writableLocation(Core.StandardPaths.CacheLocation) + "/" + (new Date()).getTime() + "." + imagePath.split('.').pop(); if (imageDoc.saveAs(newPath)) { newPathChanged(newPath); } else { diff --git a/src/qml/NeochatMaximizeComponent.qml b/src/qml/NeochatMaximizeComponent.qml index 097b79154..16130af6f 100644 --- a/src/qml/NeochatMaximizeComponent.qml +++ b/src/qml/NeochatMaximizeComponent.qml @@ -1,10 +1,11 @@ // SPDX-FileCopyrightText: 2023 James Graham // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +import QtCore as Core import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts -import Qt.labs.platform as Platform +import QtQuick.Dialogs as Dialogs import QtMultimedia import org.kde.kirigami as Kirigami @@ -36,7 +37,7 @@ Components.AlbumMaximizeComponent { downloadAction: Components.DownloadAction { id: downloadAction onTriggered: { - currentRoom.downloadFile(root.currentEventId, Platform.StandardPaths.writableLocation(Platform.StandardPaths.CacheLocation) + "/" + root.currentEventId.replace(":", "_").replace("/", "_").replace("+", "_") + currentRoom.fileNameToDownload(root.currentEventId)); + currentRoom.downloadFile(root.currentEventId, Core.StandardPaths.writableLocation(Core.StandardPaths.CacheLocation) + "/" + root.currentEventId.replace(":", "_").replace("/", "_").replace("+", "_") + currentRoom.fileNameToDownload(root.currentEventId)); } } @@ -120,16 +121,16 @@ Components.AlbumMaximizeComponent { Component { id: saveAsDialog - Platform.FileDialog { - fileMode: Platform.FileDialog.SaveFile - folder: root.saveFolder + Dialogs.FileDialog { + fileMode: Dialogs.FileDialog.SaveFile + currentFolder: root.saveFolder onAccepted: { - NeoChatConfig.lastSaveDirectory = folder; + NeoChatConfig.lastSaveDirectory = currentFolder; NeoChatConfig.save(); - if (!currentFile) { + if (!selectedFile) { return; } - currentRoom.downloadFile(root.currentEventId, currentFile); + currentRoom.downloadFile(root.currentEventId, selectedFile); } } } diff --git a/src/settings/AccountEditorPage.qml b/src/settings/AccountEditorPage.qml index cf2ab56d1..9a4151f99 100644 --- a/src/settings/AccountEditorPage.qml +++ b/src/settings/AccountEditorPage.qml @@ -2,10 +2,10 @@ // SPDX-FileCopyrightText: 2022 Carl Schwan // SPDX-License-Identifier: GPL-2.0-or-later +import QtCore as Core import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts -import Qt.labs.platform import QtQuick.Window import org.kde.kirigami as Kirigami @@ -88,7 +88,7 @@ FormCard.FormCardPage { id: openFileDialog OpenFileDialog { - currentFolder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0] + currentFolder: Core.StandardPaths.standardLocations(Core.StandardPaths.PicturesLocation)[0] parentWindow: root.Window.window onAccepted: destroy() diff --git a/src/settings/AccountsPage.qml b/src/settings/AccountsPage.qml index 6000cee6a..dc26dc109 100644 --- a/src/settings/AccountsPage.qml +++ b/src/settings/AccountsPage.qml @@ -5,7 +5,6 @@ import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts import QtQuick.Window -import Qt.labs.platform import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.formcard as FormCard diff --git a/src/settings/EmoticonEditorPage.qml b/src/settings/EmoticonEditorPage.qml index 41c05af4d..9f8d7f5da 100644 --- a/src/settings/EmoticonEditorPage.qml +++ b/src/settings/EmoticonEditorPage.qml @@ -1,10 +1,10 @@ // SPDX-FileCopyrightText: 2023 Tobias Fella // SPDX-License-Identifier: GPL-2.0-or-later +import QtCore as Core import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts -import Qt.labs.platform import QtQuick.Window import org.kde.kirigami as Kirigami @@ -130,7 +130,7 @@ FormCard.FormCardPage { id: openFileDialog OpenFileDialog { - currentFolder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0] + currentFolder: Core.StandardPaths.standardLocations(Core.StandardPaths.PicturesLocation)[0] parentWindow: root.Window.window } } diff --git a/src/timeline/FileComponent.qml b/src/timeline/FileComponent.qml index 42a6a8141..034373828 100644 --- a/src/timeline/FileComponent.qml +++ b/src/timeline/FileComponent.qml @@ -2,10 +2,11 @@ // SPDX-FileCopyrightText: 2024 James Graham // SPDX-License-Identifier: GPL-3.0-only +import QtCore as Core import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts -import Qt.labs.platform +import QtQuick.Dialogs as Dialogs import Qt.labs.qmlmodels import org.kde.coreaddons @@ -191,16 +192,16 @@ ColumnLayout { Component { id: fileDialog - FileDialog { - fileMode: FileDialog.SaveFile - folder: NeoChatConfig.lastSaveDirectory.length > 0 ? NeoChatConfig.lastSaveDirectory : StandardPaths.writableLocation(StandardPaths.DownloadLocation) + Dialogs.FileDialog { + fileMode: Dialogs.FileDialog.SaveFile + currentFolder: NeoChatConfig.lastSaveDirectory.length > 0 ? NeoChatConfig.lastSaveDirectory : Core.StandardPaths.writableLocation(Core.StandardPaths.DownloadLocation) onAccepted: { - NeoChatConfig.lastSaveDirectory = folder; + NeoChatConfig.lastSaveDirectory = currentFolder; NeoChatConfig.save(); if (autoOpenFile) { - UrlHelper.copyTo(root.fileTransferInfo.localPath, file); + UrlHelper.copyTo(root.fileTransferInfo.localPath, selectedFile); } else { - root.room.download(root.eventId, file); + root.room.download(root.eventId, selectedFile); } } } diff --git a/src/timeline/PollComponent.qml b/src/timeline/PollComponent.qml index 1694e1803..9149fbdd2 100644 --- a/src/timeline/PollComponent.qml +++ b/src/timeline/PollComponent.qml @@ -5,7 +5,6 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Qt.labs.platform import org.kde.neochat diff --git a/src/timeline/VideoComponent.qml b/src/timeline/VideoComponent.qml index fcd062da1..bf95a89fb 100644 --- a/src/timeline/VideoComponent.qml +++ b/src/timeline/VideoComponent.qml @@ -2,11 +2,11 @@ // SPDX-FileCopyrightText: 2024 James Graham // SPDX-License-Identifier: GPL-3.0-only +import QtCore as Core import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts import QtMultimedia -import Qt.labs.platform as Platform import org.kde.coreaddons import org.kde.kirigami as Kirigami @@ -451,7 +451,7 @@ Video { playSavedFile(); } else { playOnFinished = true; - root.room.downloadFile(root.eventId, Platform.StandardPaths.writableLocation(Platform.StandardPaths.CacheLocation) + "/" + root.eventId.replace(":", "_").replace("/", "_").replace("+", "_") + root.room.fileNameToDownload(root.eventId)); + root.room.downloadFile(root.eventId, Core.StandardPaths.writableLocation(Core.StandardPaths.CacheLocation) + "/" + root.eventId.replace(":", "_").replace("/", "_").replace("+", "_") + root.room.fileNameToDownload(root.eventId)); } }