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.
This commit is contained in:
Joshua Goins
2025-08-07 20:10:18 -04:00
parent aacb097650
commit bf66118355

View File

@@ -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);
}
}
}