From bf6611835557886d010ba7c6d6ed3828846b40ed Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Thu, 7 Aug 2025 20:10:18 -0400 Subject: [PATCH] Change "Copy Room Address" action to "Copy Room Link" This is way more useful for sharing, as you can use this link in and outside Matrix rooms. It also matches behavior with other clients like Element Web. I also cut some places where this shows unnecessarily, such as direct chats and invite-only private rooms. --- src/rooms/RoomContextMenu.qml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/rooms/RoomContextMenu.qml b/src/rooms/RoomContextMenu.qml index cac2680c0..f758f141e 100644 --- a/src/rooms/RoomContextMenu.qml +++ b/src/rooms/RoomContextMenu.qml @@ -10,6 +10,8 @@ import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.components as KirigamiComponents import org.kde.kirigamiaddons.delegates as Delegates +import Quotient + import org.kde.neochat import org.kde.neochat.settings @@ -122,19 +124,17 @@ KirigamiComponents.ConvergentContextMenu { separator: true } - QQC2.Action { - text: room.isDirectChat() ? i18nc("@action:inmenu", "Copy user's Matrix ID") : i18nc("@action:inmenu", "Copy Room Address") + Kirigami.Action { + text: i18nc("@action:inmenu", "Copy Room Link") icon.name: "edit-copy" + visible: !room.isDirectChat() && room.joinRule !== JoinRule.Invite onTriggered: { // The canonical alias (if it exists) otherwise the first available alias const firstAlias = room.aliases[0]; - - if (room.isDirectChat()) { - Clipboard.saveText(room.directChatRemoteMember.id); - } else if (!firstAlias) { - Clipboard.saveText(room.id); + if (firstAlias) { + Clipboard.saveText("https://matrix.to/#/" + firstAlias); } else { - Clipboard.saveText(firstAlias); + Clipboard.saveText("https://matrix.to/#/" + room.id); } } }