add rooms model, add room delegate for completer
2 files changed, 32 insertions, 0 deletions
diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml
index 27322172..f77f50e9 100644
--- a/resources/qml/Completer.qml
+++ b/resources/qml/Completer.qml
@@ -154,6 +154,35 @@ Popup {
}
+ DelegateChoice {
+ roleValue: "room"
+
+ RowLayout {
+ id: del
+
+ anchors.centerIn: parent
+
+ Avatar {
+ height: 24
+ width: 24
+ url: model.avatarUrl.replace("mxc://", "image://MxcImage/")
+ onClicked: popup.completionClicked(completer.completionAt(model.index))
+ }
+
+ Label {
+ text: model.roomName
+ color: model.index == popup.currentIndex ? colors.highlightedText : colors.text
+ }
+
+ Label {
+ text: "(" + model.roomAlias + ")"
+ color: model.index == popup.currentIndex ? colors.highlightedText : colors.buttonText
+ }
+
+ }
+
+ }
+
}
}
diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml
index b5c96660..7ecaf81a 100644
--- a/resources/qml/MessageInput.qml
+++ b/resources/qml/MessageInput.qml
@@ -183,6 +183,9 @@ Rectangle {
} else if (event.key == Qt.Key_Colon) {
messageInput.openCompleter(cursorPosition, "emoji");
popup.open();
+ } else if (event.key == Qt.Key_NumberSign) {
+ messageInput.openCompleter(cursorPosition, "room");
+ popup.open();
} else if (event.key == Qt.Key_Escape && popup.opened) {
completerTriggeredAt = -1;
popup.completerName = "";
|