From 2bc8c6a37974ccc3b1b523f768de900db22339b6 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Mon, 19 Jan 2026 11:44:27 +0100 Subject: [PATCH] Fix various qml warnings --- src/app/qml/AccountSwitchDialog.qml | 2 +- src/app/qml/EditStateDialog.qml | 2 +- src/app/qml/ManualRoomDialog.qml | 4 ++-- src/app/qml/QrScannerPage.qml | 2 +- src/app/qml/ShareDialog.qml | 8 ++------ src/app/supportcontroller.h | 2 ++ src/libneochat/qml/InviteUserPage.qml | 6 +++--- src/login/Loading.qml | 1 + src/login/WelcomePage.qml | 2 +- src/messagecontent/CMakeLists.txt | 1 + src/settings/AccountEditorPage.qml | 3 --- src/timeline/CMakeLists.txt | 1 + 12 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/app/qml/AccountSwitchDialog.qml b/src/app/qml/AccountSwitchDialog.qml index 785e61d3d..a0d028503 100644 --- a/src/app/qml/AccountSwitchDialog.qml +++ b/src/app/qml/AccountSwitchDialog.qml @@ -61,10 +61,10 @@ Kirigami.Dialog { } onClicked: { + root.close(); ((root.QQC2.ApplicationWindow.window as Kirigami.ApplicationWindow).pageStack as Kirigami.PageRow).pushDialogLayer(Qt.createComponent('org.kde.neochat.login', 'WelcomePage'), {}, { title: i18nc("@title:window", "Login") }); - root.close(); } Keys.onUpPressed: { accountView.currentIndex = accountView.count - 1; diff --git a/src/app/qml/EditStateDialog.qml b/src/app/qml/EditStateDialog.qml index 50e4441f0..894b9acbf 100644 --- a/src/app/qml/EditStateDialog.qml +++ b/src/app/qml/EditStateDialog.qml @@ -39,7 +39,7 @@ Kirigami.Page { icon.name: "document-edit" onTriggered: { root.room.setRoomState(root.type, root.stateKey, sourceTextArea.text); - root.closeDialog(); + root.Kirigami.PageStack.closeDialog(); } enabled: QmlUtils.isValidJson(sourceTextArea.text) } diff --git a/src/app/qml/ManualRoomDialog.qml b/src/app/qml/ManualRoomDialog.qml index 8f910697c..bfe2be897 100644 --- a/src/app/qml/ManualRoomDialog.qml +++ b/src/app/qml/ManualRoomDialog.qml @@ -72,9 +72,9 @@ Kirigami.Dialog { return null; } if (isAlias()) { - return root.connection.roomByAlias(text); + return root.connection.roomByAlias(text) as NeoChatRoom; } else { - return root.connection.room(text); + return root.connection.room(text) as NeoChatRoom; } } diff --git a/src/app/qml/QrScannerPage.qml b/src/app/qml/QrScannerPage.qml index 81299f4ad..b3e5823ae 100644 --- a/src/app/qml/QrScannerPage.qml +++ b/src/app/qml/QrScannerPage.qml @@ -55,10 +55,10 @@ Kirigami.Page { formats: Prison.Format.QRCode | Prison.Format.Aztec onResultChanged: { if (result.text.length > 0 && result.text != scanner.previousText) { + root.Kirigami.PageStack.closeDialog(); RoomManager.resolveResource(result.text, "qr"); scanner.previousText = result.text; } - root.closeDialog(); } videoSink: viewFinder.videoSink } diff --git a/src/app/qml/ShareDialog.qml b/src/app/qml/ShareDialog.qml index 97fc93e1c..a40a10733 100644 --- a/src/app/qml/ShareDialog.qml +++ b/src/app/qml/ShareDialog.qml @@ -27,7 +27,7 @@ Kirigami.Page { QQC2.Action { shortcut: 'Escape' - onTriggered: root.closeDialog() + onTriggered: Kirigami.PageStack.closeDialog() } Notification { @@ -53,20 +53,16 @@ Kirigami.Page { model: root.model anchors.fill: parent onStateChanged: { + root.Kirigami.PageStack.closeDialog(); if (state === Purpose.PurposeJobController.Finished) { if (jobView.job?.output?.url?.length > 0) { sharingSuccess.text = i18nc("@info", "Shared url for image is %1", jobView.job.output.url); sharingSuccess.sendEvent(); Clipboard.saveText(jobView.job.output.url); } - root.closeDialog(); } else if (state === Purpose.PurposeJobController.Error) { // Show failure notification sharingFailed.sendEvent(); - root.closeDialog(); - } else if (state === Purpose.PurposeJobController.Cancelled) { - // Do nothing - root.closeDialog(); } } } diff --git a/src/app/supportcontroller.h b/src/app/supportcontroller.h index 9b044ff38..ef1dcd3f2 100644 --- a/src/app/supportcontroller.h +++ b/src/app/supportcontroller.h @@ -8,6 +8,8 @@ class SupportContact { Q_GADGET + QML_NAMED_ELEMENT(supportContact) + QML_UNCREATABLE("") Q_PROPERTY(QString role MEMBER role) Q_PROPERTY(QString matrixId MEMBER matrixId) diff --git a/src/libneochat/qml/InviteUserPage.qml b/src/libneochat/qml/InviteUserPage.qml index 35f3c4fe3..0da278f3d 100644 --- a/src/libneochat/qml/InviteUserPage.qml +++ b/src/libneochat/qml/InviteUserPage.qml @@ -51,7 +51,7 @@ SearchPage { model: UserDirectoryListModel { id: userDictListModel - connection: root.room.connection + connection: root.room.connection as NeoChatConnection } modelDelegate: Delegates.RoundedItemDelegate { @@ -109,10 +109,10 @@ SearchPage { function openManualUserDialog(): void { let dialog = manualUserDialog.createObject(this, { connection: root.connection - }); + }) as ManualUserDialog; dialog.parent = root.Window.window.overlay; dialog.accepted.connect(() => { - root.closeDialog(); + root.Kirigami.PageStack.closeDialog(); }); dialog.userSelected.connect(userId => { root.room.inviteToRoom(userId) diff --git a/src/login/Loading.qml b/src/login/Loading.qml index 31789449f..5a0fc957c 100644 --- a/src/login/Loading.qml +++ b/src/login/Loading.qml @@ -3,6 +3,7 @@ import QtQuick import QtQuick.Controls as QQC2 +import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.formcard as FormCard diff --git a/src/login/WelcomePage.qml b/src/login/WelcomePage.qml index 59fdafc2e..56c09c81f 100644 --- a/src/login/WelcomePage.qml +++ b/src/login/WelcomePage.qml @@ -211,7 +211,7 @@ Kirigami.Page { } function onCloseDialog(): void { - root.closeDialog(); + root.Kirigami.PageStack.closeDialog(); } } diff --git a/src/messagecontent/CMakeLists.txt b/src/messagecontent/CMakeLists.txt index ebb56633c..74de4d351 100644 --- a/src/messagecontent/CMakeLists.txt +++ b/src/messagecontent/CMakeLists.txt @@ -81,6 +81,7 @@ ecm_add_qml_module(MessageContent GENERATE_PLUGIN_SOURCE images/walk.svg DEPENDENCIES QtQuick + org.kde.neochat.libneochat ) configure_file(config-neochat.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-neochat.h) diff --git a/src/settings/AccountEditorPage.qml b/src/settings/AccountEditorPage.qml index f40af5040..fc1509c83 100644 --- a/src/settings/AccountEditorPage.qml +++ b/src/settings/AccountEditorPage.qml @@ -130,9 +130,6 @@ FormCard.FormCardPage { // Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl. avatarSource: root.connection && (root.connection.localUser.avatarUrl.toString().length > 0 ? root.connection.makeMediaUrl(root.connection.localUser.avatarUrl) : "") }); - if (typeof root.closeDialog === "function") { - root.closeDialog(); - } qrMax.open(); } } diff --git a/src/timeline/CMakeLists.txt b/src/timeline/CMakeLists.txt index beaf084b0..8eed99f15 100644 --- a/src/timeline/CMakeLists.txt +++ b/src/timeline/CMakeLists.txt @@ -39,6 +39,7 @@ ecm_add_qml_module(Timeline GENERATE_PLUGIN_SOURCE models/webshortcutmodel.cpp DEPENDENCIES QtQuick + org.kde.neochat.libneochat ) target_include_directories(Timeline PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/enums ${CMAKE_CURRENT_SOURCE_DIR}/models)