2
* Copyright (C) 2013 Canonical, Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
import Ubuntu.Components 0.1
21
import "../Components"
26
property alias contentProgress: dashContent.contentProgress
27
property string showLensOnLoaded: "home.lens"
28
property real contentScale: 1.0
33
function setCurrentLens(lensId, animate, reset) {
34
var lensIndex = filteredLenses.findFirst(Lenses.RoleId, lensId)
36
if (lensIndex == -1) {
37
console.warn("No match for lens with id: %1".arg(lensId))
41
if (lensIndex == dashContent.currentIndex && !reset) {
42
// the lens is already the current one
46
dashContent.setCurrentLensAtIndex(lensIndex, animate, reset)
49
SortFilterProxyModel {
54
dynamicSortFilter: true
56
filterRole: Lenses.RoleVisible
57
filterRegExp: RegExp("^true$")
65
onMovementStarted: dashbar.startNavigation()
66
onMovementEnded: dashbar.stopNavigation()
67
onContentFlickStarted: dashbar.finishNavigation()
68
onContentEndReached: dashbar.finishNavigation()
69
onPreviewShown: dashbar.finishNavigation()
71
if (lensId == dash.showLensOnLoaded) {
72
dash.setCurrentLens(lensId, false, false)
73
dash.showLensOnLoaded = ""
76
scale: dash.contentScale
82
anchors.bottom: parent.bottom
83
anchors.left: parent.left
84
anchors.right: parent.right
86
currentIndex: dashContent.currentIndex
87
onItemSelected: dashContent.setCurrentLensAtIndex(index, true, false)
88
opacity: dash.contentScale == 1.0 ? 1.0 : 0.0
89
Behavior on opacity { NumberAnimation { easing.type: Easing.OutQuad; duration: 150 } }