Storing window size and geometry
[opentodolist:opentodolist.git] / OpenTodoList / qml / OpenTodoList / views / NewTodoListView.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 import "../controls"
21
22 View {
23     id: newTodoListView
24     
25     property alias name: newTodoListName.text
26     property QtObject type: null
27     
28     toolButtons: [
29         ToolButton {
30             symbol: "\uf060"
31             onClicked: newTodoListView.hidden = true
32         },
33         ToolButton {
34             label: "Create"
35
36             onClicked: {
37                 if ( newTodoListView.name != "" &&
38                         library.createTodoList(
39                             newTodoListView.name, newTodoListView.type ) ) {
40                     newTodoListView.hidden = true;
41                 }
42             }
43         }
44     ]
45     
46     Grid {
47         spacing: 10
48         columns: 2
49         width: parent.clientWidth
50         height: parent.clientHeight
51         
52         Text {
53             text: "<b>List Name:</b>"
54             color: newTodoListName.text != "" ? "black" : "red"
55         }
56         SimpleTextInput {
57             id: newTodoListName
58             width: parent.width * 0.8
59             text: ""
60         }
61         Text {
62             text: "<b>Type:</b>"
63             color: newTodoListView.type ? "black" : "red"
64         }
65         ListView {
66             model: library.plugins.backends
67             clip: true
68             width: parent.width * 0.8
69             height: 400
70             delegate: Button {
71                 label: object.name
72                 down: newTodoListView.type == object
73
74                 onClicked: newTodoListView.type = object
75             }
76         }
77     }
78 }