Skip to content
Snippets Groups Projects
Commit 88dc72df authored by Nicolas Werner's avatar Nicolas Werner
Browse files

Enable link handling

parent 993926e1
No related branches found
No related tags found
No related merge requests found
import QtQuick 2.5
import QtQuick.Controls 2.3
TextEdit {
textFormat: TextEdit.RichText
readOnly: true
wrapMode: Text.Wrap
selectByMouse: true
color: colors.text
onLinkActivated: {
if (/^https:\/\/matrix.to\/#\/(@.*)$/.test(link)) chat.model.openUserProfile(/^https:\/\/matrix.to\/#\/(@.*)$/.exec(link)[1])
if (/^https:\/\/matrix.to\/#\/(![^\/]*)$/.test(link)) timelineManager.setHistoryView(/^https:\/\/matrix.to\/#\/(!.*)$/.exec(link)[1])
if (/^https:\/\/matrix.to\/#\/(![^\/]*)\/(\$.*)$/.test(link)) {
var match = /^https:\/\/matrix.to\/#\/(![^\/]*)\/(\$.*)$/.exec(link)
timelineManager.setHistoryView(match[1])
chat.positionViewAtIndex(chat.model.idToIndex(match[2]), ListView.Contain)
}
else Qt.openUrlExternally(link)
}
MouseArea
{
anchors.fill: parent
onPressed: mouse.accepted = false
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
ToolTip {
visible: parent.hoveredLink
text: parent.hoveredLink
palette: colors
}
}
import QtQuick 2.5
import ".."
TextEdit {
MatrixText {
text: model.formattedBody
textFormat: TextEdit.RichText
readOnly: true
wrapMode: Text.Wrap
width: parent ? parent.width : undefined
selectByMouse: true
font.italic: true
color: inactiveColors.text
}
import QtQuick 2.5
import QtQuick.Controls 2.1
import ".."
Label {
MatrixText {
text: qsTr("unimplemented event: ") + model.type
textFormat: Text.PlainText
wrapMode: Text.Wrap
width: parent ? parent.width : undefined
color: inactiveColors.text
}
import QtQuick 2.5
import ".."
TextEdit {
MatrixText {
text: model.formattedBody
textFormat: TextEdit.RichText
readOnly: true
wrapMode: Text.Wrap
width: parent ? parent.width : undefined
selectByMouse: true
color: colors.text
}
......@@ -118,6 +118,7 @@
<file>qml/TimelineView.qml</file>
<file>qml/Avatar.qml</file>
<file>qml/ImageButton.qml</file>
<file>qml/MatrixText.qml</file>
<file>qml/StatusIndicator.qml</file>
<file>qml/EncryptionIndicator.qml</file>
<file>qml/TimelineRow.qml</file>
......
......@@ -827,6 +827,7 @@ TimelineModel::replyAction(QString id)
[](const auto &e) -> std::string { return eventMsgType(e); }, event));
related.quoted_body =
boost::apply_visitor([](const auto &e) -> QString { return eventBody(e); }, event);
related.room = room_id_;
if (related.quoted_body.isEmpty())
return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment