21 import org.kde.plasma.core 0.1 as PlasmaCore
22 import "private" as Private
37 property alias font: textEdit.font
44 property int inputMethodHints
53 property bool errorHighlight
59 property alias cursorPosition: textEdit.cursorPosition
77 property alias horizontalAlignment: textEdit.horizontalAlignment
90 property alias verticalAlignment: textEdit.verticalAlignment
99 property alias readOnly: textEdit.readOnly
108 property alias selectedText: textEdit.selectedText
116 property alias selectionEnd: textEdit.selectionEnd
124 property alias selectionStart: textEdit.selectionStart
131 property alias text: textEdit.text
149 property alias textFormat: textEdit.textFormat
171 property alias wrapMode: textEdit.wrapMode
178 property string placeholderText
213 function select(start, end) {
214 textEdit.select(start, end);
220 function selectAll() {
221 textEdit.selectAll();
227 function selectWord() {
228 textEdit.selectWord();
246 function positionAt(pos) {
247 return textEdit.positionAt(pos);
259 function positionToRectangle(pos) {
260 return textEdit.positionToRectangle(pos);
271 property alias interactive: flickArea.interactive
277 property alias contentMaxWidth: textEdit.width
283 property alias contentMaxHeight: textEdit.height
287 function forceActiveFocus() {
288 textEdit.forceActiveFocus();
292 property alias activeFocus: textEdit.activeFocus
294 opacity: enabled ? 1.0 : 0.5
296 Private.TextFieldFocus {
298 state: textArea.activeFocus ?
"focus" : (mouseWatcher.containsMouse ?
"hover" :
"hidden")
308 PlasmaCore.FrameSvgItem {
315 imagePath:
"widgets/lineedit"
323 leftMargin: 2 * base.margins.left
324 rightMargin: 2 * base.margins.right + (verticalScroll.visible ? verticalScroll.width : 0)
325 topMargin: 2 * base.margins.top
326 bottomMargin: 2 * base.margins.bottom + (horizontalScroll.visible ? verticalScroll.width : 0)
328 interactive: !verticalScroll.interactive
330 if (textEdit.wrapMode == TextEdit.NoWrap)
331 return textEdit.paintedWidth;
333 return Math.min(textEdit.paintedWidth, textEdit.width);
335 contentHeight: Math.min(textEdit.paintedHeight, textEdit.height)
341 width: flickArea.width
342 height: flickArea.height
344 wrapMode: TextEdit.Wrap
345 enabled: textArea.enabled
346 font.capitalization: theme.defaultFont.capitalization
347 font.family: theme.defaultFont.family
348 font.italic: theme.defaultFont.italic
349 font.letterSpacing: theme.defaultFont.letterSpacing
350 font.pointSize: theme.defaultFont.pointSize
351 font.strikeout: theme.defaultFont.strikeout
352 font.underline: theme.defaultFont.underline
353 font.weight: theme.defaultFont.weight
354 font.wordSpacing: theme.defaultFont.wordSpacing
355 color: theme.buttonTextColor
356 selectByMouse: verticalScroll.interactive
358 onCursorPositionChanged: {
359 if (cursorRectangle.x < flickArea.contentX) {
360 flickArea.contentX = cursorRectangle.x;
364 if (cursorRectangle.x > flickArea.contentX +
365 flickArea.width - cursorRectangle.width) {
366 flickArea.contentX = cursorRectangle.x -
367 cursorRectangle.width;
371 if (cursorRectangle.y < flickArea.contentY) {
372 flickArea.contentY = cursorRectangle.y;
376 if (cursorRectangle.y > flickArea.contentY +
377 flickArea.height - cursorRectangle.height) {
378 flickArea.contentY = cursorRectangle.y -
379 cursorRectangle.height;
386 Keys.onPressed: textArea.Keys.pressed(event);
387 Keys.onReleased: textArea.Keys.released(event);
391 text: textArea.placeholderText
392 visible: textEdit.text ==
"" && !textArea.activeFocus
393 color: theme.buttonTextColor
396 onActiveFocusChanged: {
397 if (!textEdit.activeFocus) {
398 textEdit.closeSoftwareInputPanel()
407 bottom: parent.bottom
409 right: flickArea.right
411 enabled: parent.enabled
412 flickableItem: flickArea
413 orientation: Qt.Horizontal
414 stepSize: textEdit.font.pixelSize
422 bottom: flickArea.bottom
424 enabled: parent.enabled
425 flickableItem: flickArea
426 orientation: Qt.Vertical
427 stepSize: textEdit.font.pixelSize