Add close icon for Symbian; add all-orientation support for Harmattan.
[jaffas-playground:bedside.git] / qml / Bedside / Main.qml
1 import QtQuick 1.0\r
2 import QtMobility.systeminfo 1.2\r
3 \r
4 Item {\r
5     id: root\r
6     width: 854\r
7     height: 480\r
8 \r
9     /**\r
10      * The main element which does the work. Displays the time.\r
11      */\r
12     Clock {\r
13         id: clock\r
14         active: activeMonitor.visible\r
15 \r
16         MouseArea {\r
17             property int startX;\r
18             property int startY;\r
19 \r
20             anchors.fill: parent\r
21 \r
22             onPressed: {\r
23                 startX = mouse.x;\r
24                 startY = mouse.y;\r
25             }\r
26     \r
27             onReleased: {\r
28                 var deltaX = mouse.x - startX;\r
29                 var deltaY = mouse.y - startY;\r
30     \r
31                 if (deltaX > 100) {\r
32                     var num = applicationData.colorNum + 1\r
33                     if (num > 6)\r
34                         num = 0\r
35                     applicationData.colorNum = num\r
36                 } else if (deltaX < -100) {\r
37                     var num = applicationData.colorNum - 1\r
38                     if (num < 0)\r
39                         num = 6\r
40                     applicationData.colorNum = num\r
41                 }\r
42             }\r
43 \r
44             onDoubleClicked: {\r
45                 applicationData.dimmed = !applicationData.dimmed\r
46                 infoBanner.message = "Backlight " + (applicationData.dimmed ? 'low' : 'high')\r
47                 backlight.setDimmed(applicationData.dimmed)\r
48             }\r
49         }\r
50     }\r
51 \r
52     /**\r
53      * Allows access to the screensaver of the device; allowing it to be\r
54      * disabled when the app is in the foreground.\r
55      */\r
56     ScreenSaver {\r
57         id: screenSaver\r
58         screenSaverDelayed: activeMonitor.active\r
59     }\r
60 \r
61     /**\r
62      * Display messages.\r
63      */\r
64     InfoBanner {\r
65         id: infoBanner\r
66     }\r
67 \r
68     /**\r
69      * On Maemo 5, we want to show a "minimise" button.\r
70      */\r
71     HildonTaskButton {\r
72         anchors.left: parent.left\r
73         icon: 'wmTaskSwitcherIcon'\r
74 \r
75         onClicked: {\r
76             viewer.minimise()\r
77         }\r
78     }\r
79 \r
80     /**\r
81      * On Maemo 5, we want to show a "close" button.\r
82      */\r
83     HildonTaskButton {\r
84         anchors.right: parent.right\r
85         icon: 'wmCloseIcon'\r
86         visible: needCloseIcon\r
87         width: 50\r
88         height: 50\r
89 \r
90         onClicked: Qt.quit()\r
91 \r
92         SmallButton {\r
93             anchors.top: parent.top\r
94             anchors.right: parent.right\r
95             text: 'x'\r
96             onClicked: Qt.quit()\r
97         }\r
98     }\r
99 \r
100     /**\r
101      * An unobtrusive about button.\r
102      */\r
103     SmallButton {\r
104         id: aboutButton\r
105         anchors.bottom: parent.bottom\r
106         anchors.right: parent.right\r
107         text: '?'\r
108         onClicked: aboutPane.state = 'show'\r
109     }\r
110 \r
111     AboutPane {\r
112         id: aboutPane\r
113     }\r
114 }\r