summary refs log tree commit diff
path: root/resources/qml/MatrixText.qml
blob: d56143dd0143e612ebbf2134cc62ca6e6a9e30d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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])
		else if (/^https:\/\/matrix.to\/#\/(![^\/]*)$/.test(link)) timelineManager.setHistoryView(/^https:\/\/matrix.to\/#\/(!.*)$/.exec(link)[1])
		else 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 timelineManager.openLink(link)
	}
	MouseArea
	{
		id: ma
		anchors.fill: parent
		propagateComposedEvents: true
		acceptedButtons: Qt.NoButton
		cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
	}

	ToolTip.visible: hoveredLink
	ToolTip.text: hoveredLink
}