Refactor code. Add tabs for enabling using two remote controls at once.
[qzeecontrol] / qml / QZeeControl / main.qml
1 /*
2  *  Copyright 2012 Ruediger Gad
3  *
4  *  This file is part of QZeeControl.
5  *
6  *  QZeeControl is free software: you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation, either version 3 of the License, or
9  *  (at your option) any later version.
10  *
11  *  QZeeControl is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with QZeeControl.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 import QtQuick 1.1
21 import com.nokia.meego 1.0
22
23 PageStackWindow {
24     id: appWindow
25
26     initialPage: mainPage
27
28     Page{
29         id: mainPage
30
31         tools: commonTools
32         orientationLock: PageOrientation.LockPortrait
33
34         TabGroup {
35             id: tabGroup
36
37             currentTab: zeeTab1
38
39             ZeeConnectPage{
40                 id: zeeTab1
41                 name: "Zee_1"
42             }
43
44             ZeeConnectPage{
45                 id: zeeTab2
46                 name: "Zee_2"
47                 usedAddresses: zeeTab1.currentAddress
48             }
49         }
50     }
51
52     ToolBarLayout {
53         id: commonTools
54         visible: true
55
56         ButtonRow{
57             id: tabButtonRow
58             style: TabButtonStyle {}
59
60             TabButton{
61                 text: zeeTab1.connected ? "*Zee 1*" : "Zee 1"
62                 tab: zeeTab1
63
64             }
65
66             TabButton{
67                 text: zeeTab2.connected ? "*Zee 2*" : "Zee 2"
68                 tab: zeeTab2
69                 enabled: zeeTab1.currentAddress !== "No Zeemote found yet."
70             }
71         }
72
73         ToolIcon {
74             platformIconId: "toolbar-view-menu"
75             anchors.right: (parent === undefined) ? undefined : parent.right
76             onClicked: (myMenu.status === DialogStatus.Closed) ? myMenu.open() : myMenu.close()
77         }
78     }
79
80     Menu {
81         id: myMenu
82         visualParent: pageStack
83
84         MenuLayout {
85             MenuItem {
86                 text: "Edit Key Bindings"
87                 onClicked: keyBindingsSettings.open()
88             }
89
90             MenuItem {
91                 text: "About"
92                 onClicked: aboutDialog.open()
93             }
94         }
95     }
96
97     AboutDialog{
98         id: aboutDialog
99     }
100
101     KeyBindingSettings{
102         id: keyBindingsSettings
103         onAccepted: mainPage.loadKeyBindings()
104     }
105 }