author | unc0rr |
Thu, 19 Nov 2015 23:04:53 +0300 | |
branch | qmlfrontend |
changeset 11420 | 05cf35103206 |
parent 10896 | 5a74923120d5 |
child 11428 | e045dc60c37e |
permissions | -rw-r--r-- |
10402 | 1 |
import QtQuick 2.0 |
11420 | 2 |
import Hedgewars.Engine 1.0 |
10402 | 3 |
|
4 |
Rectangle { |
|
10422 | 5 |
id: pages |
6 |
width: 800 |
|
7 |
height: 600 |
|
8 |
||
9 |
property variant pagesList : [ |
|
10 |
"First" |
|
11 |
, "LocalGame" |
|
12 |
, "GameConfig" |
|
10896
5a74923120d5
Start network support: only setting up a connection for now
unc0rr
parents:
10422
diff
changeset
|
13 |
, "Connect" |
11420 | 14 |
, "LobbyPage" |
10422 | 15 |
]; |
16 |
||
17 |
property string currentPage : "First"; |
|
18 |
||
19 |
Repeater { |
|
20 |
model: pagesList; |
|
10402 | 21 |
|
10422 | 22 |
delegate: Loader { |
23 |
active: false |
|
24 |
asynchronous: true |
|
25 |
anchors.fill: parent |
|
26 |
visible: (currentPage === modelData) |
|
27 |
source: "%1.qml".arg(modelData) |
|
28 |
onVisibleChanged: loadIfNotLoaded(); |
|
29 |
Component.onCompleted: loadIfNotLoaded(); |
|
10402 | 30 |
|
10422 | 31 |
function loadIfNotLoaded () |
32 |
{ |
|
33 |
if (visible && !active) |
|
34 |
active = true; |
|
35 |
} |
|
10420 | 36 |
} |
10402 | 37 |
} |
11420 | 38 |
|
39 |
Connections { |
|
40 |
target: HWEngine |
|
41 |
onNetConnected: currentPage = "LobbyPage"; |
|
42 |
onNetDisconnected: currentPage = "First"; |
|
43 |
} |
|
10402 | 44 |
} |