qmlFrontend/qml/qmlFrontend/main.qml
branchqmlfrontend
changeset 11424 86c13e5662f1
parent 11423 e045dc60c37e
child 11426 ab6a6d9ebfc0
equal deleted inserted replaced
11423:e045dc60c37e 11424:86c13e5662f1
     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 }