/usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/1.3/DatePickerStyle.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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | /*
* 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.3
import Ubuntu.Components.ListItems 1.3
Item {
id: control
// style properties
/*!
Specifies the background color
*/
property color backgroundColor: "#0A000000"
/*!
Background color for highlight.
*/
property color highlightBackgroundColor: "#ffffffff"
/*!
Highlight color.
*/
property color highlightColor: theme.palette.highlighted.baseText
/*!
Scale of the highlight item
*/
property real highlightScaleFactor: 1.2
/*!
Thickness of the highlight component
*/
property real highlightThickness: units.gu(5)
/*!
The content holder exposed to the Picker so tumbler list can be reparented to it.
*/
property alias tumblerHolder: content
/*!
The property holds the separator to be shown between date and time units
*/
property string unitSeparator: ""
property Item view: Item {}
property ListModel pickerModels: ListModel{}
anchors.fill: parent
// frame
UbuntuShape {
anchors.fill: parent
radius: "medium"
source: shapeSource
}
ShaderEffectSource {
id: shapeSource
sourceItem: background
hideSource: true
// FIXME: visible: false prevents rendering so make it a nearly
// transparent 1x1 pixel instead
opacity: 0.01
width: 1
height: 1
}
Rectangle {
id: background
anchors.fill: parent
MouseArea {
anchors.fill: parent
}
// background
color: backgroundColor
Item {
id: content
anchors.fill: parent
}
// highlight
Rectangle {
id: highlightItem
y: (content.height - control.highlightThickness) / 2
anchors {
left: content.left
right: content.right
}
height: control.highlightThickness
color: highlightBackgroundColor
}
ThinDivider {
anchors {
left: content.left
right: content.right
bottom: highlightItem.top
}
}
ThinDivider {
anchors {
left: content.left
right: content.right
top: highlightItem.bottom
}
}
ShaderEffectSource {
id: effectSource
visible: false
sourceItem: view
property real sourceRectMultiplier: 2.0
// XXX: This works because the parent of magnifier is the same as sourceItem
// in this case. Otherwise coordinate transformations will be needed.
sourceRect: Qt.rect(highlightItem.x, highlightItem.y, highlightItem.width, highlightItem.height)
textureSize: Qt.size(highlightItem.width*sourceRectMultiplier, highlightItem.height*sourceRectMultiplier)
}
Row {
id: magnifierRow
anchors {
top: highlightItem.top
bottom: highlightItem.bottom
horizontalCenter: highlightItem.horizontalCenter
}
Repeater {
model: pickerModels
HighlightMagnifier {
anchors {
top: magnifierRow.top
bottom: magnifierRow.bottom
}
width: pickerModel.pickerWidth
scaleFactor: control.highlightScaleFactor
outputColor: control.highlightColor
source: effectSource
texCoordRange: Qt.rect((x - source.sourceRect.x) / source.sourceRect.width, 0.0,
width / source.sourceRect.width, 1.0);
Label {
text: (index < (pickerModels.count - 1)) ? unitSeparator : ""
anchors {
right: parent.right
verticalCenter: parent.verticalCenter
}
}
}
}
}
}
}
|