equal
deleted
inserted
replaced
4 Rectangle { |
4 Rectangle { |
5 id: pages |
5 id: pages |
6 width: 800 |
6 width: 800 |
7 height: 600 |
7 height: 600 |
8 |
8 |
9 property variant pagesList : [ |
9 property variant pagesList : [ |
10 "First" |
10 "First" |
11 , "LocalGame" |
11 , "LocalGame" |
12 , "GameConfig" |
12 , "GameConfig" |
13 , "Connect" |
13 , "Connect" |
14 , "LobbyPage" |
14 , "Lobby" |
|
15 , "Room" |
15 ]; |
16 ]; |
16 |
17 |
17 property string currentPage : "First"; |
18 property string currentPage : "First"; |
18 |
19 |
19 Repeater { |
20 Repeater { |
20 model: pagesList; |
21 id: pagesView |
|
22 model: pagesList |
|
23 |
|
24 function loadPage(page) { |
|
25 // somehow load the page (when Loader has asynchronous == true) |
|
26 } |
21 |
27 |
22 delegate: Loader { |
28 delegate: Loader { |
23 active: false |
29 active: false |
24 asynchronous: true |
30 asynchronous: false |
25 anchors.fill: parent |
31 anchors.fill: parent |
26 visible: (currentPage === modelData) |
32 visible: (currentPage === modelData) |
27 source: "%1.qml".arg(modelData) |
33 source: "%1.qml".arg(modelData) |
28 onVisibleChanged: loadIfNotLoaded(); |
34 onVisibleChanged: loadIfNotLoaded(); |
29 Component.onCompleted: loadIfNotLoaded(); |
35 Component.onCompleted: loadIfNotLoaded(); |
70 } |
76 } |
71 } |
77 } |
72 |
78 |
73 Connections { |
79 Connections { |
74 target: HWEngine |
80 target: HWEngine |
75 onNetConnected: currentPage = "LobbyPage"; |
81 onNetConnected: { |
|
82 pagesView.loadPage("Lobby"); |
|
83 pagesView.loadPage("Room"); |
|
84 } |
|
85 onMovedToLobby: currentPage = "Lobby"; |
|
86 onMovedToRoom: currentPage = "Room"; |
76 onNetDisconnected: currentPage = "First"; |
87 onNetDisconnected: currentPage = "First"; |
77 onWarningMessage: warningsBox.showMessage(message); |
88 onWarningMessage: warningsBox.showMessage(message); |
78 onErrorMessage: warningsBox.showMessage(message); |
89 onErrorMessage: warningsBox.showMessage(message); |
79 } |
90 } |
80 } |
91 } |