2019-07-13 19:39:01 +10:00
|
|
|
import QtQuick 2.12
|
|
|
|
import QtQuick.Controls 2.12
|
2019-04-29 01:50:46 +10:00
|
|
|
|
|
|
|
ScrollView {
|
2019-09-08 05:42:23 +10:00
|
|
|
id: scrollView
|
|
|
|
clip: true
|
|
|
|
ScrollBar.vertical.visible: contentHeight > height
|
|
|
|
|
2019-12-11 08:04:03 +11:00
|
|
|
// Set it only on component creation to avoid binding loops
|
|
|
|
Component.onCompleted: if (! text) {
|
|
|
|
text = window.getState(this, "text", "")
|
|
|
|
textArea.cursorPosition = text.length
|
|
|
|
}
|
|
|
|
|
|
|
|
onTextChanged: window.saveState(this)
|
|
|
|
|
2019-09-08 05:42:23 +10:00
|
|
|
|
|
|
|
default property alias textAreaData: textArea.data
|
|
|
|
|
2019-12-11 08:04:03 +11:00
|
|
|
property string saveName: ""
|
|
|
|
property var saveId: "ALL"
|
|
|
|
property var saveProperties: ["text"]
|
|
|
|
|
2019-04-29 05:13:18 +10:00
|
|
|
property alias backgroundColor: textAreaBackground.color
|
2019-04-29 01:50:46 +10:00
|
|
|
property alias placeholderText: textArea.placeholderText
|
|
|
|
property alias text: textArea.text
|
|
|
|
property alias area: textArea
|
|
|
|
|
|
|
|
|
|
|
|
TextArea {
|
|
|
|
id: textArea
|
2019-08-31 08:10:25 +10:00
|
|
|
leftPadding: theme.spacing
|
|
|
|
rightPadding: leftPadding
|
|
|
|
topPadding: theme.spacing / 1.5
|
|
|
|
bottomPadding: topPadding
|
|
|
|
|
2019-04-29 01:50:46 +10:00
|
|
|
readOnly: ! visible
|
|
|
|
selectByMouse: true
|
|
|
|
|
|
|
|
wrapMode: TextEdit.Wrap
|
2019-07-07 07:50:55 +10:00
|
|
|
font.family: theme.fontFamily.sans
|
|
|
|
font.pixelSize: theme.fontSize.normal
|
2019-08-31 07:04:42 +10:00
|
|
|
font.pointSize: -1
|
2019-04-29 05:13:18 +10:00
|
|
|
|
2019-09-08 07:00:12 +10:00
|
|
|
placeholderTextColor: theme.controls.textArea.placeholderText
|
2019-07-24 16:14:34 +10:00
|
|
|
color: theme.controls.textArea.text
|
2019-04-29 05:13:18 +10:00
|
|
|
background: Rectangle {
|
|
|
|
id: textAreaBackground
|
2019-07-07 07:50:55 +10:00
|
|
|
color: theme.controls.textArea.background
|
2019-04-29 05:13:18 +10:00
|
|
|
}
|
2019-08-23 03:03:26 +10:00
|
|
|
|
2019-08-23 04:23:33 +10:00
|
|
|
Keys.onPressed: if (
|
|
|
|
event.modifiers & Qt.AltModifier ||
|
|
|
|
event.modifiers & Qt.MetaModifier
|
|
|
|
) event.accepted = true
|
2019-04-29 01:50:46 +10:00
|
|
|
}
|
|
|
|
}
|