Copy other user's matrix ID instead of room id for direct messages
Implements #469
This commit is contained in:
@@ -1829,3 +1829,7 @@ int NeoChatRoom::maxRoomVersion() const
|
|||||||
}
|
}
|
||||||
return maxVersion;
|
return maxVersion;
|
||||||
}
|
}
|
||||||
|
NeoChatUser *NeoChatRoom::directChatRemoteUser() const
|
||||||
|
{
|
||||||
|
return dynamic_cast<NeoChatUser *>(connection()->directChatUsers(this)[0]);
|
||||||
|
}
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ class NeoChatRoom : public Quotient::Room
|
|||||||
* Only returns main integer room versions (i.e. no msc room versions).
|
* Only returns main integer room versions (i.e. no msc room versions).
|
||||||
*/
|
*/
|
||||||
Q_PROPERTY(int maxRoomVersion READ maxRoomVersion NOTIFY maxRoomVersionChanged)
|
Q_PROPERTY(int maxRoomVersion READ maxRoomVersion NOTIFY maxRoomVersionChanged)
|
||||||
|
Q_PROPERTY(NeoChatUser *directChatRemoteUser READ directChatRemoteUser CONSTANT)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum MessageType {
|
enum MessageType {
|
||||||
@@ -330,6 +331,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int maxRoomVersion() const;
|
int maxRoomVersion() const;
|
||||||
|
NeoChatUser *directChatRemoteUser() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QSet<const Quotient::RoomEvent *> highlights;
|
QSet<const Quotient::RoomEvent *> highlights;
|
||||||
|
|||||||
@@ -52,9 +52,11 @@ Loader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QQC2.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: i18nc("@action:inmenu", "Copy Address to Clipboard")
|
text: room.isDirectChat() ? i18nc("@action:inmenu", "Copy user's Matrix ID to Clipboard") : i18nc("@action:inmenu", "Copy Address to Clipboard")
|
||||||
icon.name: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onTriggered: if (room.canonicalAlias.length === 0) {
|
onTriggered: if (room.isDirectChat()) {
|
||||||
|
Clipboard.saveText(room.directChatRemoteUser.id)
|
||||||
|
} else if (room.canonicalAlias.length === 0) {
|
||||||
Clipboard.saveText(room.id)
|
Clipboard.saveText(room.id)
|
||||||
} else {
|
} else {
|
||||||
Clipboard.saveText(room.canonicalAlias)
|
Clipboard.saveText(room.canonicalAlias)
|
||||||
|
|||||||
Reference in New Issue
Block a user