@@ -0,0 +1,82 @@
2+ * Copyright (C) 2014 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 1.1
19+import Ubuntu.Gestures 0.1
20+import "../Components"
21+import "." as LocalComponents
26+ property alias edgeSize: dragArea.height
28+ title: i18n.tr("Open special menus")
29+ text: i18n.tr("Swipe up from the bottom edge.")
30+ errorText: i18n.tr("You almost got it!") + "\n" + i18n.tr("Try again.")
35+ LocalComponents.Slider {
38+ bottom: parent.bottom
39+ bottomMargin: width / 2 - height / 2
40+ horizontalCenter: parent.horizontalCenter
43+ offset: dragArea.useTouchY ? -dragArea.touchY : 0
44+ active: dragArea.dragging
48+ UbuntuNumberAnimation {}
56+ direction: Direction.Upwards
58+ bottom: parent.bottom
63+ property bool useTouchY
67+ if (slider.percent >= 0.85) {
69+ } else if (slider.percent >= 0.15) {
74+ // We use a separate vars here rather than just directly looking at
75+ // 'dragging' because we want to preserve our 'slider.offset'
76+ // value during the above percent check. Now that we made it,
77+ // we can have 'slider.offset' go back to zero.
78+ offsetAnimation.enabled = !dragging;
79+ useTouchY = dragging;