qmlFrontend/qml/qmlFrontend/main.qml
author unc0rr
Sat, 21 Nov 2015 17:07:06 +0300
branchqmlfrontend
changeset 11423 e045dc60c37e
parent 11415 05cf35103206
child 11424 86c13e5662f1
permissions -rw-r--r--
- Warnings/errors message box - Send JOIN_ROOM on double click on rooms list - Some small iprovements more
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
11423
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    39
    Rectangle {
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    40
        id: warningsBox
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    41
        y: parent.height - height
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    42
        width: parent.width - 120
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    43
        height: 80
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    44
        anchors.horizontalCenter: parent.horizontalCenter
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    45
        color: "#7e3232"
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    46
        border.color: "#d3ec2d"
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    47
        visible: false
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    48
        z: 2
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    49
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    50
        function showMessage(message) {
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    51
            msgBox.text = message
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    52
            visible = true
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    53
        }
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    54
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    55
        Text {
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    56
            id: msgBox
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    57
            x: 0
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    58
            y: 0
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    59
            height: parent.height
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    60
            font.pixelSize: 12
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    61
            wrapMode: Text.Wrap
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    62
        }
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    63
        HWButton {
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    64
            id: closeButton
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    65
            x: parent.width - width
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    66
            y: 0
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    67
            width: 40
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    68
            height: 40
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    69
            onClicked: warningsBox.visible = false
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    70
        }
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    71
    }
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    72
11415
05cf35103206 Lobby page with chat widget(readonly)
unc0rr
parents: 10896
diff changeset
    73
    Connections {
05cf35103206 Lobby page with chat widget(readonly)
unc0rr
parents: 10896
diff changeset
    74
        target: HWEngine
05cf35103206 Lobby page with chat widget(readonly)
unc0rr
parents: 10896
diff changeset
    75
        onNetConnected: currentPage = "LobbyPage";
05cf35103206 Lobby page with chat widget(readonly)
unc0rr
parents: 10896
diff changeset
    76
        onNetDisconnected: currentPage = "First";
11423
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    77
        onWarningMessage: warningsBox.showMessage(message);
e045dc60c37e - Warnings/errors message box
unc0rr
parents: 11415
diff changeset
    78
        onErrorMessage: warningsBox.showMessage(message);
11415
05cf35103206 Lobby page with chat widget(readonly)
unc0rr
parents: 10896
diff changeset
    79
    }
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    80
}