qmlFrontend/qml/qmlFrontend/GameConfig.qml
author unc0rr
Sat, 05 Dec 2015 16:14:59 +0300
branchqmlfrontend
changeset 11443 5182d44fb733
parent 11440 330c14f4ba69
child 11786 0aa4b3d02cba
permissions -rw-r--r--
- Hedgehogs number display - Accept team removal message from net - Reset teams list leaving a room
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
     1
import QtQuick 2.0
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
     2
import Hedgewars.Engine 1.0
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
     3
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
     4
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
     5
Rectangle {
11426
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
     6
    Column {
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
     7
        spacing: 8
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
     8
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
     9
    HWButton {
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    10
        id: btnPreview
10434
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    11
        width: 256
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    12
        height: 128
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    13
10432
b0abef0ee78c Quick Game PoC
unc0rr
parents: 10428
diff changeset
    14
        onClicked: HWEngine.getPreview()
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    15
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    16
        Connections {
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    17
            target: HWEngine
11434
23912c93935a - Implement engine runs queue
unc0rr
parents: 11433
diff changeset
    18
            onPreviewImageChanged: previewImage.source = "image://preview/image"
23912c93935a - Implement engine runs queue
unc0rr
parents: 11433
diff changeset
    19
            onPreviewIsRendering: previewImage.source = "qrc:/res/iconTime.png"
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    20
        }
10434
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    21
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    22
        Image {
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    23
            id: previewImage
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    24
            x: 0
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    25
            y: 0
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    26
            width: 256
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    27
            height: 128
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    28
            cache: false
11434
23912c93935a - Implement engine runs queue
unc0rr
parents: 11433
diff changeset
    29
            source: "qrc:/res/iconTime.png"
10434
1614b13ad35e Themes model, also add some files I forgot to add previously
unc0rr
parents: 10432
diff changeset
    30
        }
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    31
    }
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
    32
10519
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    33
    HWComboBox {
10608
b85759f2ba18 Some more progress at custom combobox
unc0rr
parents: 10519
diff changeset
    34
        id: cbTheme
10610
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    35
        width: 256
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    36
        height: 64
10519
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    37
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    38
        model: themesModel
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    39
        delegate: Rectangle {
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    40
            height: 25
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    41
            width: 100
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    42
            color: "transparent"
10610
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    43
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    44
            property alias itemIconSource: themeIcon.source
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    45
            property alias itemText: themeName.text
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    46
10608
b85759f2ba18 Some more progress at custom combobox
unc0rr
parents: 10519
diff changeset
    47
            Row {
10610
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    48
                Image {id: themeIcon; width: height; height: parent.height; source: "image://theme/" + modelData}
10608
b85759f2ba18 Some more progress at custom combobox
unc0rr
parents: 10519
diff changeset
    49
                Text {id: themeName; text: modelData }
b85759f2ba18 Some more progress at custom combobox
unc0rr
parents: 10519
diff changeset
    50
            }
10610
eadf2cea55e0 Finish combobox implementation (except for visual part)
unc0rr
parents: 10608
diff changeset
    51
10519
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    52
            MouseArea {
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    53
                 z: 1
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    54
                 anchors.fill: parent
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    55
                 onClicked: {
10608
b85759f2ba18 Some more progress at custom combobox
unc0rr
parents: 10519
diff changeset
    56
                     cbTheme.currentIndex = index
10519
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    57
                     HWEngine.setTheme(themeName.text)
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    58
                 }
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    59
            }
11437
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    60
        }
11432
97e3e62ea5f9 Update seed, theme and script from net in UI
unc0rr
parents: 11426
diff changeset
    61
11437
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    62
        Connections {
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    63
            target: HWEngine
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    64
            onThemeChanged: cbTheme.showItem({"iconSource" : "image://theme/" + theme, "text" : theme});
10519
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    65
        }
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    66
    }
af019fa70080 Attempt on a custom combobox
unc0rr
parents: 10456
diff changeset
    67
10612
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    68
    HWComboBox {
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    69
        id: cbScript
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    70
        width: 256
11426
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
    71
        height: 32
10612
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    72
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    73
        model: scriptsModel
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    74
        delegate: Rectangle {
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    75
            height: 25
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    76
            width: 100
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    77
            color: "transparent"
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    78
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    79
            property string itemIconSource: ""
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    80
            property alias itemText: scriptName.text
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    81
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    82
            Row {
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    83
                //Image {id: themeIcon; width: height; height: parent.height; source: "image://theme/" + modelData}
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    84
                Text {id: scriptName; text: modelData }
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    85
            }
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    86
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    87
            MouseArea {
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    88
                 z: 1
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    89
                 anchors.fill: parent
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    90
                 onClicked: {
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    91
                     cbScript.currentIndex = index
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    92
                     HWEngine.setScript(scriptName.text)
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    93
                 }
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
    94
            }
11437
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    95
        }
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    96
        Connections {
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    97
            target: HWEngine
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
    98
            onScriptChanged: cbScript.showItem({"iconSource" : "", "text" : script});
10436
084e046f6bd5 flib provides theme icons, qmlFrontend shows them
unc0rr
parents: 10434
diff changeset
    99
        }
10612
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
   100
    }
eb3c1a289a23 Script combobox.wiki
unc0rr
parents: 10610
diff changeset
   101
10616
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   102
    HWComboBox {
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   103
        id: cbScheme
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   104
        width: 256
11426
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
   105
        height: 32
10616
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   106
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   107
        model: schemesModel
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   108
        delegate: Rectangle {
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   109
            height: 25
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   110
            width: 100
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   111
            color: "transparent"
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   112
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   113
            property string itemIconSource: ""
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   114
            property alias itemText: schemeName.text
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   115
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   116
            Row {
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   117
                //Image {id: themeIcon; width: height; height: parent.height; source: "image://theme/" + modelData}
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   118
                Text {id: schemeName; text: modelData }
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   119
            }
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   120
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   121
            MouseArea {
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   122
                 z: 1
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   123
                 anchors.fill: parent
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   124
                 onClicked: {
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   125
                     cbScheme.currentIndex = index
10819
57e21f7621b0 Send selected scheme config on engine initialization (WIP)
unc0rr
parents: 10616
diff changeset
   126
                     HWEngine.setScheme(schemeName.text)
10616
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   127
                 }
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   128
            }
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   129
        }
11440
330c14f4ba69 Accept scheme from net
unc0rr
parents: 11437
diff changeset
   130
        Connections {
330c14f4ba69 Accept scheme from net
unc0rr
parents: 11437
diff changeset
   131
            target: HWEngine
330c14f4ba69 Accept scheme from net
unc0rr
parents: 11437
diff changeset
   132
            onSchemeChanged: cbScheme.showItem({"iconSource" : "", "text" : scheme});
330c14f4ba69 Accept scheme from net
unc0rr
parents: 11437
diff changeset
   133
        }
10616
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   134
    }
20a2d5e6930a Schemes list combobox with their names
unc0rr
parents: 10612
diff changeset
   135
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   136
10823
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   137
    HWComboBox {
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   138
        id: cbAmmo
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   139
        width: 256
11426
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
   140
        height: 32
10823
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   141
10888
a04e04aaf599 Ammo schemes list, almost works
unc0rr
parents: 10823
diff changeset
   142
        model: ammosModel
10823
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   143
        delegate: Rectangle {
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   144
            height: 25
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   145
            width: 100
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   146
            color: "transparent"
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   147
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   148
            property string itemIconSource: ""
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   149
            property alias itemText: ammoName.text
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   150
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   151
            Row {
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   152
                //Image {id: themeIcon; width: height; height: parent.height; source: "image://theme/" + modelData}
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   153
                Text {id: ammoName; text: modelData }
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   154
            }
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   155
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   156
            MouseArea {
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   157
                 z: 1
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   158
                 anchors.fill: parent
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   159
                 onClicked: {
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   160
                     cbAmmo.currentIndex = index
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   161
                     HWEngine.setAmmo(ammoName.text)
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   162
                 }
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   163
            }
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   164
        }
11437
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
   165
        Connections {
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
   166
            target: HWEngine
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
   167
            onAmmoChanged: cbAmmo.showItem({"iconSource" : "", "text" : ammo});
6e641b5453f9 Accept ammo scheme from network
unc0rr
parents: 11434
diff changeset
   168
        }
10823
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   169
    }
11426
ab6a6d9ebfc0 Small ui rework
unc0rr
parents: 10888
diff changeset
   170
    }
10823
1ff3dd3705b1 Introducing cbAmmo
unc0rr
parents: 10819
diff changeset
   171
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   172
    ListView {
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   173
        id: playingTeamsList
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   174
        x: 440
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   175
        y: 16
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   176
        width: 100
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   177
        height: 192
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   178
        highlight: Rectangle { color: "#eaea00"; radius: 4 }
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   179
        focus: true
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   180
        clip: true
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   181
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   182
        model: ListModel {
10444
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   183
            id: playingTeamsModel
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   184
        }
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   185
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   186
        delegate: Rectangle {
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   187
            id: teamDelegate
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   188
            height: 24
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   189
            width: parent.width
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   190
            radius: 8
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   191
            border.width: 2
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   192
            border.color: "#eaea00"
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   193
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   194
            Row {
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   195
                Rectangle {
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   196
                    height: 20
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   197
                    width: height
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   198
                    color: teamColor
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   199
                    border.width: 2
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   200
                    border.color: "#eaea00"                    
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   201
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   202
                    MouseArea {
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   203
                        z: 1
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   204
                        anchors.fill: parent
10454
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   205
                        acceptedButtons: Qt.LeftButton | Qt.RightButton
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   206
                        onClicked: {
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   207
                            if (mouse.button === Qt.LeftButton)
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   208
                                HWEngine.changeTeamColor(name, 1)
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   209
                            else if (mouse.button === Qt.RightButton)
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   210
                                HWEngine.changeTeamColor(name, -1)
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   211
                        }
2b590e7972b1 Allow using right button or wheel to change team color
unc0rr
parents: 10452
diff changeset
   212
                        onWheel: HWEngine.changeTeamColor(name, -wheel.angleDelta.y)
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   213
                   }
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   214
                }
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   215
11443
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   216
                Text {
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   217
                    text: name
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   218
                    MouseArea {
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   219
                        z: 1
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   220
                        anchors.fill: parent
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   221
                        onClicked: HWEngine.tryRemoveTeam(name)
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   222
                   }
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   223
                }
11443
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   224
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   225
                Text {
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   226
                    text: hedgehogsNumber
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   227
                }
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   228
            }
10444
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   229
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   230
10444
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   231
        }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   232
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   233
        Connections {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   234
            target: HWEngine
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   235
            onPlayingTeamAdded: playingTeamsModel.append({
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   236
                                                             "aiLevel": aiLevel
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   237
                                                             , "name": teamName
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   238
                                                             , "local": isLocal
11443
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   239
                                                             , "hedgehogsNumber" : 4
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   240
                                                             , "teamColor": "#000000"
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   241
                                                         })
10444
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   242
            onPlayingTeamRemoved: {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   243
                var i = playingTeamsModel.count - 1;
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   244
                while ((i >= 0) && (playingTeamsModel.get(i).name !== teamName)) --i
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   245
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   246
                if(i >= 0) playingTeamsModel.remove(i, 1)
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   247
            }
10452
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   248
            onTeamColorChanged: {
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   249
                var i = playingTeamsModel.count - 1;
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   250
                while ((i >= 0) && (playingTeamsModel.get(i).name !== teamName)) --i
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   251
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   252
                if(i >= 0) playingTeamsModel.setProperty(i, "teamColor", colorValue)
03519fd9f98d Show team color in teams list widget, also allow to change it on mouse click
unc0rr
parents: 10450
diff changeset
   253
            }
11443
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   254
            onHedgehogsNumberChanged: {
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   255
                var i = playingTeamsModel.count - 1;
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   256
                while ((i >= 0) && (playingTeamsModel.get(i).name !== teamName)) --i
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   257
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   258
                if(i >= 0) playingTeamsModel.setProperty(i, "hedgehogsNumber", hedgehogsNumber)
5182d44fb733 - Hedgehogs number display
unc0rr
parents: 11440
diff changeset
   259
            }
10444
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   260
        }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   261
    }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   262
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   263
    ListView {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   264
        id: localTeamsList
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   265
        x: 440
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   266
        y: 224
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   267
        width: 100
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   268
        height: 192
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   269
        highlight: Rectangle { color: "#eaea00"; radius: 4 }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   270
        focus: true
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   271
        clip: true
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   272
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   273
        model: ListModel {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   274
            id: localTeamsModel
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   275
        }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   276
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   277
        delegate: Rectangle {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   278
            id: localTeamDelegate
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   279
            height: 24
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   280
            width: parent.width
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   281
            radius: 8
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   282
            border.width: 2
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   283
            border.color: "#eaea00"
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   284
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   285
            Row {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   286
                Text { text: name }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   287
            }
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   288
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   289
            MouseArea {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   290
                 z: 1
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   291
                 anchors.fill: parent
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   292
                 onClicked: HWEngine.tryAddTeam(name)
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   293
            }
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   294
        }
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   295
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   296
        Connections {
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   297
            target: HWEngine
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   298
            onLocalTeamAdded: localTeamsModel.append({"aiLevel": aiLevel, "name": teamName})
10444
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   299
            onLocalTeamRemoved: {
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   300
                var i = localTeamsModel.count - 1;
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   301
                while ((i >= 0) && (localTeamsModel.get(i).name !== teamName)) --i
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   302
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   303
                if(i >= 0) localTeamsModel.remove(i, 1)
47a6231f1fc1 Teams widget now allows to add and remove teams (basic implementation, no checks performed, no colors, no hedgehogs)
unc0rr
parents: 10442
diff changeset
   304
            }
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   305
        }
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   306
    }
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   307
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   308
    Component.onCompleted: {
10450
bf9e30b4ef9b - Store index of color instead of its value
unc0rr
parents: 10448
diff changeset
   309
        HWEngine.resetGameConfig()
10442
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   310
        HWEngine.getTeamsList()
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   311
        HWEngine.getPreview()
c58db813240b Load and show local teams list
unc0rr
parents: 10436
diff changeset
   312
    }
10422
4cf23d4c7624 - Pages
unc0rr
parents:
diff changeset
   313
}