/usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/1.2/TextCursorStyle.qml is in ubuntu-ui-toolkit-theme 1.3.1918+16.04.20160404-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | /*
* Copyright 2012 Canonical Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.4
import Ubuntu.Components 1.2
// FIXME : move the API into Ubuntu.Components.Style
Item {
id: cursorStyle
/*!
Property specifying the visible timeout of the cursor. It is not mandatory
for styles to define values for this property if the cursor blinking is not
desired. A value of 0 turns off the cursor blinking.
*/
property int cursorVisibleTimeout: 800
/*!
Property specifying the hidden timeout of the cursor. It is not mandatory
for styles to define values for this property if the cursor blinking is not
desired. A value of 0 turns off the cursor blinking.
*/
property int cursorHiddenTimeout: 400
/*!
Component defining the default cursor visuals.
*/
property Component cursorDelegate: delegate
/*!
The item pointing to the cursor handler. Styles should set to null if the
cursor does not have handler at all.
*/
property Item caret: caretItem
/*!
The width of the cursor.
*/
property int cursorWidth: units.dp(2)
// style body
Component {
id: delegate
Rectangle {
objectName: "text_cursor_style_" + styledItem.positionProperty
width: cursorWidth
// FIXME: Extend the palette and use palette values here
color: UbuntuColors.blue
visible: blinkTimer.timerShowCursor || !blinkTimer.running
Timer {
id: blinkTimer
interval: cursorStyle.cursorVisibleTimeout
running: (cursorStyle.cursorVisibleTimeout > 0) &&
(cursorStyle.cursorHiddenTimeout > 0) &&
styledItem.visible &&
shouldBlink
repeat: true
property bool shouldBlink: styledItem.positionProperty === "cursorPosition" && !styledItem.readOnly && !styledItem.contextMenuVisible
property bool timerShowCursor: true
onTriggered: {
interval = (interval == cursorStyle.cursorVisibleTimeout) ?
cursorStyle.cursorHiddenTimeout : cursorStyle.cursorVisibleTimeout;
timerShowCursor = !timerShowCursor;
}
}
}
}
// caretItem
Image {
id: caretItem
source: Qt.resolvedUrl("../artwork/caret_noshadow.png")
objectName: "text_cursor_style_caret_" + styledItem.positionProperty
property bool flip: styledItem.positionProperty !== "selectionStart"
rotation: flip ? 180 : 0
anchors {
top: flip ? parent.bottom : undefined
bottom: flip ? undefined : parent.top
horizontalCenter: parent.horizontalCenter
horizontalCenterOffset: cursorWidth / 2
}
}
}
|