Storing window size and geometry
[opentodolist:opentodolist.git] / OpenTodoList / qml / OpenTodoList / helper / Layout.qml
1 /*
2  *  OpenTodoListDesktopQml - Desktop QML frontend for OpenTodoList
3  *  Copyright (C) 2013  Martin Höher <martin@rpdev.net>
4  *
5  *  This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation, either version 3 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18
19 import QtQuick 2.0
20
21 Item {
22
23     /*
24       Shall we use compact layout? This is an approximation to decide on
25       whether to use wide or compact layout. In case of compact layout,
26       views shall display their content in a way that makes it easy to use
27       on devices with rather small screens.
28       */
29     property bool useCompactLayout: root.width < helper.width * 6
30
31     /*
32       The minimum button height to use. This is an approximate minimal height
33       that each button or other click/tapable component should get to be easily
34       usable (esp. on touch devices).
35       */
36     property int minimumButtonHeight: helper.height * 2
37
38     /*
39       Are we on a touch device?
40       For some design decisions, this fact is used as an input for decision.
41       For "guessing" this, we're checking the current operating system.
42       Note: double negation is to convert undefined values to false.
43       */
44     property bool isTouchDevice: !!os.ANDROID
45
46     /**
47       Disable hover effects?
48       On some devices (esp. touch devices) hover effects work out quite badly.
49       This property indicates whether hover effects should be turned off.
50       */
51     property bool disableHover: isTouchDevice
52
53     Text {
54         id: helper
55         visible: false
56         font.pointSize: 22
57         text: "Helper"
58     }
59 }