18
18
import Ubuntu.Components 1.1
19
19
import "../../Components"
20
import "../../Components/Flickables" as Flickables
22
21
/*! This preview widget shows a horizontal list of images.
23
22
* The URIs for the images should be an array in widgetData["sources"].
67
66
anchors.fill: parent
69
slideShowListView.currentIndex = index;
70
slideShow.initialX = rootItem.mapFromItem(parent, 0, 0).x
71
slideShow.initialY = rootItem.mapFromItem(parent, 0, 0).y
72
slideShow.visible = true;
68
overlay.delegateItem.currentIndex = index;
69
overlay.initialX = rootItem.mapFromItem(parent, 0, 0).x;
70
overlay.initialY = rootItem.mapFromItem(parent, 0, 0).y;
80
objectName: "slideShow"
82
readonly property real initialScale: previewImageListView.height / rootItem.height
83
readonly property real scaleProgress: (scale - initialScale) / (1.0 - initialScale)
84
property real initialX: 0
85
property real initialY: 0
88
81
width: parent.width
89
82
height: parent.height
91
clip: visible && scale < 1.0
92
scale: visible ? 1.0 : initialScale
93
transformOrigin: Item.TopLeft
94
transform: Translate {
95
x: slideShow.initialX - slideShow.initialX * slideShow.scaleProgress
96
y: slideShow.initialY - slideShow.initialY * slideShow.scaleProgress
99
radius: units.gu(1) - units.gu(1) * slideShow.scaleProgress
102
enabled: !slideShow.visible
103
UbuntuNumberAnimation { duration: UbuntuAnimation.FastDuration }
106
Flickables.ListView {
107
id: slideShowListView
108
objectName: "slideShowListView"
83
initialScale: previewImageListView.height / rootItem.height
87
objectName: "overlayListView"
109
88
anchors.fill: parent
110
89
orientation: ListView.Horizontal
111
90
highlightRangeMode: ListView.StrictlyEnforceRange
130
109
anchors.fill: parent
131
onClicked: slideShowHeader.shown = !slideShowHeader.shown
138
property bool shown: true
146
opacity: slideShow.scaleProgress > 0.6 && shown ? 0.8 : 0
149
Behavior on opacity {
150
UbuntuNumberAnimation { duration: UbuntuAnimation.SnapDuration }
154
id: slideShowCloseButton
155
objectName: "slideShowCloseButton"
158
bottom: parent.bottom
163
onClicked: slideShow.visible = false
167
color: Qt.rgba(1.0, 1.0, 1.0, 0.3)
168
visible: slideShowCloseButton.pressed
173
anchors.centerIn: parent
176
color: Theme.palette.normal.foregroundText
110
onClicked: overlay.headerShown = !overlay.headerShown