From 0552c798fbd358d5096282b108a351f4c117ac5f Mon Sep 17 00:00:00 2001 From: James Graham Date: Sun, 31 Mar 2024 20:26:07 +0100 Subject: [PATCH] Create qml module for devtools --- src/CMakeLists.txt | 9 ++------- src/{qml => devtools}/AccountData.qml | 0 src/devtools/CMakeLists.txt | 15 +++++++++++++++ src/{qml => devtools}/DevtoolsPage.qml | 0 src/{qml => devtools}/FeatureFlagPage.qml | 1 - src/{qml => devtools}/RoomData.qml | 0 src/{qml => devtools}/ServerData.qml | 0 src/{qml => devtools}/StateKeys.qml | 0 src/main.cpp | 1 + src/qml/AccountMenu.qml | 3 ++- src/settings/NeoChatGeneralPage.qml | 3 ++- 11 files changed, 22 insertions(+), 10 deletions(-) rename src/{qml => devtools}/AccountData.qml (100%) create mode 100644 src/devtools/CMakeLists.txt rename src/{qml => devtools}/DevtoolsPage.qml (100%) rename src/{qml => devtools}/FeatureFlagPage.qml (97%) rename src/{qml => devtools}/RoomData.qml (100%) rename src/{qml => devtools}/ServerData.qml (100%) rename src/{qml => devtools}/StateKeys.qml (100%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 20813f6d6..22129bb9d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -210,8 +210,6 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN qml/CompletionMenu.qml qml/PieProgressBar.qml qml/QuickFormatBar.qml - qml/RoomData.qml - qml/ServerData.qml qml/EmojiPicker.qml qml/LoginStep.qml qml/Login.qml @@ -245,7 +243,6 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN qml/FileDelegateContextMenu.qml qml/MessageSourceSheet.qml qml/ReportSheet.qml - qml/DevtoolsPage.qml qml/ConfirmEncryptionDialog.qml qml/RemoveSheet.qml qml/BanSheet.qml @@ -285,9 +282,6 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN qml/RoomTreeSection.qml qml/DelegateContextMenu.qml qml/ShareDialog.qml - qml/FeatureFlagPage.qml - qml/AccountData.qml - qml/StateKeys.qml qml/UnlockSSSSDialog.qml qml/QrScannerPage.qml qml/JoinRoomDialog.qml @@ -301,6 +295,7 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN add_subdirectory(settings) add_subdirectory(timeline) +add_subdirectory(devtools) if(UNIX) qt_target_qml_sources(neochat QML_FILES qml/ShareAction.qml) @@ -392,7 +387,7 @@ if (NOT ANDROID AND NOT WIN32 AND NOT APPLE) endif() target_include_directories(neochat PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/models ${CMAKE_CURRENT_SOURCE_DIR}/enums) -target_link_libraries(neochat PRIVATE settingsplugin timelineplugin) +target_link_libraries(neochat PRIVATE settingsplugin timelineplugin devtoolsplugin) target_link_libraries(neochat PUBLIC Qt::Core Qt::Quick diff --git a/src/qml/AccountData.qml b/src/devtools/AccountData.qml similarity index 100% rename from src/qml/AccountData.qml rename to src/devtools/AccountData.qml diff --git a/src/devtools/CMakeLists.txt b/src/devtools/CMakeLists.txt new file mode 100644 index 000000000..f1d924bee --- /dev/null +++ b/src/devtools/CMakeLists.txt @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2024 James Graham +# SPDX-License-Identifier: BSD-2-Clause + +qt_add_library(devtools STATIC) +qt_add_qml_module(devtools + URI org.kde.neochat.devtools + OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/src/org/kde/neochat/devtools + QML_FILES + DevtoolsPage.qml + AccountData.qml + FeatureFlagPage.qml + RoomData.qml + ServerData.qml + StateKeys.qml +) diff --git a/src/qml/DevtoolsPage.qml b/src/devtools/DevtoolsPage.qml similarity index 100% rename from src/qml/DevtoolsPage.qml rename to src/devtools/DevtoolsPage.qml diff --git a/src/qml/FeatureFlagPage.qml b/src/devtools/FeatureFlagPage.qml similarity index 97% rename from src/qml/FeatureFlagPage.qml rename to src/devtools/FeatureFlagPage.qml index 308260d53..76d8189db 100644 --- a/src/qml/FeatureFlagPage.qml +++ b/src/devtools/FeatureFlagPage.qml @@ -7,7 +7,6 @@ import QtQuick.Layouts import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.formcard as FormCard -import org.kde.neochat import org.kde.neochat.config FormCard.FormCardPage { diff --git a/src/qml/RoomData.qml b/src/devtools/RoomData.qml similarity index 100% rename from src/qml/RoomData.qml rename to src/devtools/RoomData.qml diff --git a/src/qml/ServerData.qml b/src/devtools/ServerData.qml similarity index 100% rename from src/qml/ServerData.qml rename to src/devtools/ServerData.qml diff --git a/src/qml/StateKeys.qml b/src/devtools/StateKeys.qml similarity index 100% rename from src/qml/StateKeys.qml rename to src/devtools/StateKeys.qml diff --git a/src/main.cpp b/src/main.cpp index cbf9374d1..9bdcfb721 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -230,6 +230,7 @@ int main(int argc, char *argv[]) Q_IMPORT_QML_PLUGIN(org_kde_neochat_settingsPlugin) Q_IMPORT_QML_PLUGIN(org_kde_neochat_timelinePlugin) + Q_IMPORT_QML_PLUGIN(org_kde_neochat_devtoolsPlugin) qml_register_types_org_kde_neochat(); qmlRegisterSingletonInstance("org.kde.neochat.config", 1, 0, "Config", NeoChatConfig::self()); diff --git a/src/qml/AccountMenu.qml b/src/qml/AccountMenu.qml index eba318700..357b7ceb8 100644 --- a/src/qml/AccountMenu.qml +++ b/src/qml/AccountMenu.qml @@ -9,6 +9,7 @@ import org.kde.kirigami as Kirigami import org.kde.neochat import org.kde.neochat.settings +import org.kde.neochat.devtools import org.kde.neochat.config QQC2.Menu { @@ -55,7 +56,7 @@ QQC2.Menu { text: i18n("Open developer tools") icon.name: "tools" visible: Config.developerTools - onTriggered: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'DevtoolsPage.qml'), { + onTriggered: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat.devtools', 'DevtoolsPage.qml'), { connection: root.connection }, { title: i18nc("@title:window", "Developer Tools"), diff --git a/src/settings/NeoChatGeneralPage.qml b/src/settings/NeoChatGeneralPage.qml index 9ad181d8e..4801c8074 100644 --- a/src/settings/NeoChatGeneralPage.qml +++ b/src/settings/NeoChatGeneralPage.qml @@ -9,6 +9,7 @@ import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.formcard as FormCard import org.kde.neochat +import org.kde.neochat.devtools import org.kde.neochat.config FormCard.FormCardPage { @@ -218,7 +219,7 @@ FormCard.FormCardPage { FormCard.FormButtonDelegate { visible: Config.developerTools text: i18n("Open developer tools") - onClicked: applicationWindow().pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'DevtoolsPage.qml'), { + onClicked: applicationWindow().pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat.devtools', 'DevtoolsPage.qml'), { connection: root.connection }, { title: i18n("Developer Tools")