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