forked from mirror/nheko
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
998 B
34 lines
998 B
5 years ago
|
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
|
||
|
}
|
||
|
}
|