blob: de15e0784c307001190530dc3c7f5cad37b51b43 (
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
// SPDX-FileCopyrightText: Nheko Contributors
//
// SPDX-License-Identifier: GPL-3.0-or-later
import QtQuick
import QtQuick.Controls
import im.nheko
TextArea {
id: r
property alias cursorShape: cs.cursorShape
leftInset: 0
bottomInset: 0
rightInset: 0
topInset: 0
leftPadding: 0
bottomPadding: 0
rightPadding: 0
topPadding: 0
background: null
ToolTip.text: hoveredLink
ToolTip.visible: hoveredLink || false
// this always has to be enabled, otherwise you can't click links anymore!
//enabled: selectByMouse
color: palette.text
focus: false
readOnly: true
selectByMouse: !Settings.mobileMode
textFormat: TextEdit.RichText
wrapMode: Text.Wrap
// Setting a tooltip delay makes the hover text empty .-.
//ToolTip.delay: Nheko.tooltipDelay
Component.onCompleted: {
TimelineManager.fixImageRendering(r.textDocument, r);
}
onLinkActivated: Nheko.openLink(link)
// propagate events up
onPressAndHold: (event) => event.accepted = false
onPressed: (event) => event.accepted = (event.button == Qt.LeftButton)
NhekoCursorShape {
id: cs
anchors.fill: parent
cursorShape: hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
|