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)

import QtQuick 2.0
import Hedgewars.Engine 1.0

Rectangle {
    id: pages
    width: 800
    height: 600

    property variant pagesList  : [
        "First"
        , "LocalGame"
        , "GameConfig"
        , "Connect"
        , "LobbyPage"
    ];

    property string  currentPage : "First";

    Repeater {
        model: pagesList;

        delegate: Loader {
            active: false
            asynchronous: true
            anchors.fill: parent
            visible: (currentPage === modelData)
            source: "%1.qml".arg(modelData)
            onVisibleChanged:      loadIfNotLoaded();
            Component.onCompleted: loadIfNotLoaded();

            function loadIfNotLoaded ()
            {
                if (visible && !active)
                    active = true;
            }
        }
    }

    Connections {
        target: HWEngine
        onNetConnected: currentPage = "LobbyPage";
        onNetDisconnected: currentPage = "First";
    }
}