Warning, /education/gcompris/src/activities/guesscount/Admin.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - Admin.qml
0002 *
0003 * SPDX-FileCopyrightText: 2016 RAHUL YADAV <rahulyadav170923@gmail.com>
0004 *
0005 * Authors:
0006 * Pascal Georges <pascal.georges1@free.fr> (GTK+ version)
0007 * RAHUL YADAV <rahulyadav170923@gmail.com> (Qt Quick port)
0008 *
0009 * SPDX-License-Identifier: GPL-3.0-or-later
0010 */
0011
0012 import QtQuick 2.12
0013 import "../../core"
0014
0015 Row {
0016 id: admin
0017 spacing: 20
0018 property int level
0019 Rectangle {
0020 id: operator
0021 width: parent.width*0.23
0022 height: parent.height
0023 radius: 10.0;
0024 color: "#E6E6E6"
0025 state: "selected"
0026 GCText {
0027 anchors.horizontalCenter: parent.horizontalCenter
0028 anchors.verticalCenter: parent.verticalCenter
0029 fontSize: smallSize
0030 text: qsTr("Level %1").arg(level+1)
0031 }
0032 }
0033 Repeater {
0034 id: tileRepeater
0035 model: ['+','-','*','/']
0036 delegate: Rectangle {
0037 id: tile
0038 width: parent.width*0.15
0039 height: parent.height
0040 radius: 20
0041 state: activityConfiguration.adminLevelArr[level].indexOf(modelData) != -1 ? "selected" : "notselected"
0042
0043 function refreshTile() {
0044 if(activityConfiguration.adminLevelArr[level].indexOf(modelData) != -1) {
0045 state = "selected"
0046 }
0047 else {
0048 state = "notselected"
0049 }
0050 }
0051 GCText {
0052 anchors.horizontalCenter: parent.horizontalCenter
0053 anchors.verticalCenter: parent.verticalCenter
0054 text: modelData
0055 fontSize: smallSize
0056 }
0057 MouseArea {
0058 anchors.fill: parent
0059 onClicked: {
0060 if(tile.state == "selected") {
0061 if(activityConfiguration.adminLevelArr[level].length > 1) {
0062 tile.state = "notselected"
0063 activityConfiguration.adminLevelArr[level].splice(activityConfiguration.adminLevelArr[level].indexOf(modelData), 1)
0064 }
0065 }
0066 else {
0067 tile.state = "selected"
0068 activityConfiguration.adminLevelArr[level].push(modelData)
0069 }
0070 }
0071 }
0072 states: [
0073 State {
0074 name: "selected"
0075 PropertyChanges { target: tile; color: "#5cc854" }
0076 },
0077 State {
0078 name: "notselected"
0079 PropertyChanges { target: tile; color: "#d94444" }
0080 }
0081 ]
0082 }
0083 }
0084 function refreshAllTiles() {
0085 for(var i = 0; i < tileRepeater.count; i++) {
0086 tileRepeater.itemAt(i).refreshTile()
0087 }
0088 }
0089 }