Merge PR #959: Fix energy chargs legend opacity when single items are selected
This commit is contained in:
commit
683de5fffa
@ -256,7 +256,6 @@
|
|||||||
<file>ui/components/NymeaSpinBox.qml</file>
|
<file>ui/components/NymeaSpinBox.qml</file>
|
||||||
<file>ui/mainviews/energy/PowerConsumptionBalanceHistory.qml</file>
|
<file>ui/mainviews/energy/PowerConsumptionBalanceHistory.qml</file>
|
||||||
<file>ui/mainviews/energy/PowerProductionBalanceHistory.qml</file>
|
<file>ui/mainviews/energy/PowerProductionBalanceHistory.qml</file>
|
||||||
<file>ui/mainviews/energy/ConsumersBarChart.qml</file>
|
|
||||||
<file>ui/mainviews/energy/ConsumersHistory.qml</file>
|
<file>ui/mainviews/energy/ConsumersHistory.qml</file>
|
||||||
<file>ui/mainviews/energy/PowerBalanceStats.qml</file>
|
<file>ui/mainviews/energy/PowerBalanceStats.qml</file>
|
||||||
<file>ui/mainviews/energy/CurrentProductionBalancePieChart.qml</file>
|
<file>ui/mainviews/energy/CurrentProductionBalancePieChart.qml</file>
|
||||||
|
|||||||
@ -336,15 +336,21 @@ StatsBase {
|
|||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: root.consumers
|
model: root.consumers
|
||||||
delegate: MouseArea {
|
delegate: Item {
|
||||||
id: legendDelegate
|
id: legendDelegate
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
readonly property Thing thing: root.consumers.get(index)
|
readonly property Thing thing: root.consumers.get(index)
|
||||||
onClicked: d.selectThing(thing)
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectThing(thing)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
opacity: d.selectedThing == null || legendDelegate.thing == d.selectedThing ? 1 : 0.3
|
||||||
ColorIcon {
|
ColorIcon {
|
||||||
name: app.interfacesToIcon(legendDelegate.thing.thingClass.interfaces)
|
name: app.interfacesToIcon(legendDelegate.thing.thingClass.interfaces)
|
||||||
size: Style.smallIconSize
|
size: Style.smallIconSize
|
||||||
|
|||||||
@ -1,166 +0,0 @@
|
|||||||
import QtQuick 2.0
|
|
||||||
import QtQuick.Layouts 1.2
|
|
||||||
import QtQuick.Controls 2.2
|
|
||||||
import QtGraphicalEffects 1.0
|
|
||||||
import Nymea 1.0
|
|
||||||
import "qrc:/ui/components"
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
property EnergyManager energyManager: null
|
|
||||||
|
|
||||||
property ThingsProxy consumers: ThingsProxy {
|
|
||||||
engine: _engine
|
|
||||||
shownInterfaces: ["smartmeterconsumer"]
|
|
||||||
}
|
|
||||||
|
|
||||||
property var colors: null
|
|
||||||
|
|
||||||
property int tickCount: 5
|
|
||||||
|
|
||||||
property int labelsWidth: 40
|
|
||||||
|
|
||||||
|
|
||||||
QtObject {
|
|
||||||
id: d
|
|
||||||
property int topMargin: Style.margins
|
|
||||||
property int bottomMargin: Style.margins
|
|
||||||
property int leftMargin: Style.margins
|
|
||||||
property int rightMargin: Style.margins
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: Style.smallMargins
|
|
||||||
Label {
|
|
||||||
text: qsTr("Consumers")
|
|
||||||
Layout.fillWidth: true
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: valueAxis
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.fillHeight: true
|
|
||||||
|
|
||||||
property double max: Math.ceil(root.energyManager.currentPowerConsumption / 100) * 100
|
|
||||||
Repeater {
|
|
||||||
model: root.tickCount
|
|
||||||
delegate: RowLayout {
|
|
||||||
width: parent.width - d.leftMargin - d.rightMargin
|
|
||||||
y: index * ((parent.height - d.topMargin - d.bottomMargin - Style.iconSize - Style.margins) / (root.tickCount - 1)) - height / 2 + d.topMargin
|
|
||||||
x: d.leftMargin
|
|
||||||
Label {
|
|
||||||
property double value: (valueAxis.max - index * (valueAxis.max / (root.tickCount - 1)))
|
|
||||||
text: (value >= 1000 ? (value / 1000).toFixed(2) : value.toFixed(1)) + (value >= 1000 ? "kW" : "W")
|
|
||||||
font: Style.extraSmallFont
|
|
||||||
Layout.preferredWidth: root.labelsWidth
|
|
||||||
}
|
|
||||||
Rectangle {
|
|
||||||
Layout.preferredHeight: 1
|
|
||||||
Layout.fillWidth: true
|
|
||||||
color: Style.tileOverlayColor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.topMargin: d.topMargin
|
|
||||||
anchors.leftMargin: root.labelsWidth + d.leftMargin
|
|
||||||
anchors.bottomMargin: d.bottomMargin
|
|
||||||
anchors.rightMargin: d.rightMargin
|
|
||||||
|
|
||||||
Repeater {
|
|
||||||
model: consumers.count + 1
|
|
||||||
|
|
||||||
delegate: ColumnLayout {
|
|
||||||
id: consumerDelegate
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.preferredWidth: root.width / consumers.count
|
|
||||||
spacing: Style.margins
|
|
||||||
property Thing thing: consumers.get(index)
|
|
||||||
property State currentPowerState: thing ? thing.stateByName("currentPower") : null
|
|
||||||
|
|
||||||
property double consumption: {
|
|
||||||
var consumption = 0
|
|
||||||
if (thing) {
|
|
||||||
consumption = currentPowerState.value
|
|
||||||
} else {
|
|
||||||
consumption = energyManager.currentPowerConsumption
|
|
||||||
for (var i = 0; i < consumers.count; i++) {
|
|
||||||
consumption -= consumers.get(i).stateByName("currentPower").value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return consumption;
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: bar
|
|
||||||
anchors {
|
|
||||||
bottom: parent.bottom
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
top: parent.top
|
|
||||||
}
|
|
||||||
gradient: Gradient {
|
|
||||||
GradientStop { position: 1; color: Style.green }
|
|
||||||
GradientStop { position: 0.5; color: Style.orange }
|
|
||||||
GradientStop { position: 0; color: Style.red }
|
|
||||||
}
|
|
||||||
width: 20
|
|
||||||
visible: false
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: barMask
|
|
||||||
anchors.fill: bar
|
|
||||||
Rectangle {
|
|
||||||
anchors {
|
|
||||||
bottom: parent.bottom
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
width: 20
|
|
||||||
Behavior on height { NumberAnimation { duration: Style.slowAnimationDuration; easing.type: Easing.InOutQuad } }
|
|
||||||
height: Math.max(1, parent.height * consumerDelegate.consumption / valueAxis.max)
|
|
||||||
// visible: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
OpacityMask {
|
|
||||||
anchors.fill: bar
|
|
||||||
source: bar
|
|
||||||
maskSource: barMask
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
anchors.bottom: bar.bottom
|
|
||||||
anchors.left: bar.left
|
|
||||||
text: consumerDelegate.thing ? consumerDelegate.thing.name : qsTr("Unknown")
|
|
||||||
transform: Rotation {
|
|
||||||
angle: -90
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Item {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.preferredHeight: Style.iconSize
|
|
||||||
|
|
||||||
ColorIcon {
|
|
||||||
anchors.centerIn: parent
|
|
||||||
name: consumerDelegate.thing ? app.interfacesToIcon(consumerDelegate.thing.thingClass.interfaces) : "energy"
|
|
||||||
color: root.colors[index % root.colors.length]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -501,13 +501,18 @@ Item {
|
|||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: root.consumers
|
model: root.consumers
|
||||||
delegate: MouseArea {
|
delegate: Item {
|
||||||
id: legendDelegate
|
id: legendDelegate
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
readonly property Thing thing: root.consumers.get(index)
|
readonly property Thing thing: root.consumers.get(index)
|
||||||
onClicked: d.selectSeries(consumersRepeater.itemAt(index).series)
|
|
||||||
opacity: d.selectedSeries == null || d.selectedSeries === consumersRepeater.itemAt(index).series ? 1 : 0.3
|
opacity: d.selectedSeries == null || d.selectedSeries === consumersRepeater.itemAt(index).series ? 1 : 0.3
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSeries(consumersRepeater.itemAt(index).series)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
|||||||
@ -514,11 +514,16 @@ Item {
|
|||||||
height: Style.smallIconSize
|
height: Style.smallIconSize
|
||||||
anchors.margins: Style.margins
|
anchors.margins: Style.margins
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSeries(selfProductionConsumptionSeries)
|
|
||||||
opacity: selfProductionConsumptionSeries.opacity
|
opacity: selfProductionConsumptionSeries.opacity
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSeries(selfProductionConsumptionSeries)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
@ -538,11 +543,16 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSeries(acquisitionSeries)
|
|
||||||
opacity: acquisitionSeries.opacity
|
opacity: acquisitionSeries.opacity
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSeries(acquisitionSeries)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
@ -569,11 +579,16 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSeries(returnSeries)
|
|
||||||
opacity: returnSeries.opacity
|
opacity: returnSeries.opacity
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSeries(returnSeries)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
@ -600,12 +615,17 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
visible: batteries.count > 0
|
visible: batteries.count > 0
|
||||||
onClicked: d.selectSeries(toStorageSeries)
|
|
||||||
opacity: toStorageSeries.opacity
|
opacity: toStorageSeries.opacity
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSeries(toStorageSeries)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
@ -632,12 +652,17 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
visible: batteries.count > 0
|
visible: batteries.count > 0
|
||||||
onClicked: d.selectSeries(fromStorageSeries)
|
|
||||||
opacity: fromStorageSeries.opacity
|
opacity: fromStorageSeries.opacity
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSeries(fromStorageSeries)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
|||||||
@ -299,9 +299,10 @@ StatsBase {
|
|||||||
BarSet {
|
BarSet {
|
||||||
id: consumptionSet
|
id: consumptionSet
|
||||||
label: qsTr("Consumed")
|
label: qsTr("Consumed")
|
||||||
color: Qt.rgba(Style.blue.r, Style.blue.g, Style.blue.b, d.selectedSet == null || d.selectedSet == consumptionSet ? 1 : 0.3)
|
color: Qt.rgba(Style.blue.r, Style.blue.g, Style.blue.b, opacity)
|
||||||
borderColor: color
|
borderColor: color
|
||||||
borderWidth: 0
|
borderWidth: 0
|
||||||
|
property real opacity: d.selectedSet == null || d.selectedSet == consumptionSet ? 1 : 0.3
|
||||||
values: {
|
values: {
|
||||||
var ret = []
|
var ret = []
|
||||||
for (var i = 0; i < d.config.count; i++) {
|
for (var i = 0; i < d.config.count; i++) {
|
||||||
@ -313,9 +314,10 @@ StatsBase {
|
|||||||
BarSet {
|
BarSet {
|
||||||
id: productionSet
|
id: productionSet
|
||||||
label: qsTr("Produced")
|
label: qsTr("Produced")
|
||||||
color: Qt.rgba(Style.green.r, Style.green.g, Style.green.b, d.selectedSet == null || d.selectedSet == productionSet ? 1 : 0.3)
|
color: Qt.rgba(Style.green.r, Style.green.g, Style.green.b, opacity)
|
||||||
borderColor: color
|
borderColor: color
|
||||||
borderWidth: 0
|
borderWidth: 0
|
||||||
|
property real opacity: d.selectedSet == null || d.selectedSet == productionSet ? 1 : 0.3
|
||||||
values: {
|
values: {
|
||||||
var ret = []
|
var ret = []
|
||||||
for (var i = 0; i < d.config.count; i++) {
|
for (var i = 0; i < d.config.count; i++) {
|
||||||
@ -327,9 +329,10 @@ StatsBase {
|
|||||||
BarSet {
|
BarSet {
|
||||||
id: acquisitionSet
|
id: acquisitionSet
|
||||||
label: qsTr("From grid")
|
label: qsTr("From grid")
|
||||||
color: Qt.rgba(Style.red.r, Style.red.g, Style.red.b, d.selectedSet == null || d.selectedSet == acquisitionSet ? 1 : 0.3)
|
color: Qt.rgba(Style.red.r, Style.red.g, Style.red.b, opacity)
|
||||||
borderColor: color
|
borderColor: color
|
||||||
borderWidth: 0
|
borderWidth: 0
|
||||||
|
property real opacity: d.selectedSet == null || d.selectedSet == acquisitionSet ? 1 : 0.3
|
||||||
values: {
|
values: {
|
||||||
var ret = []
|
var ret = []
|
||||||
for (var i = 0; i < d.config.count; i++) {
|
for (var i = 0; i < d.config.count; i++) {
|
||||||
@ -341,9 +344,10 @@ StatsBase {
|
|||||||
BarSet {
|
BarSet {
|
||||||
id: returnSet
|
id: returnSet
|
||||||
label: qsTr("To grid")
|
label: qsTr("To grid")
|
||||||
color: Qt.rgba(Style.yellow.r, Style.yellow.g, Style.yellow.b, d.selectedSet == null || d.selectedSet == returnSet ? 1 : 0.3)
|
color: Qt.rgba(Style.yellow.r, Style.yellow.g, Style.yellow.b, opacity)
|
||||||
borderColor: color
|
borderColor: color
|
||||||
borderWidth: 0
|
borderWidth: 0
|
||||||
|
property real opacity: d.selectedSet == null || d.selectedSet == returnSet ? 1 : 0.3
|
||||||
values: {
|
values: {
|
||||||
var ret = []
|
var ret = []
|
||||||
for (var i = 0; i < d.config.count; i++) {
|
for (var i = 0; i < d.config.count; i++) {
|
||||||
@ -362,13 +366,20 @@ StatsBase {
|
|||||||
height: Style.smallIconSize
|
height: Style.smallIconSize
|
||||||
anchors.margins: Style.margins
|
anchors.margins: Style.margins
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSet(consumptionSet)
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSet(consumptionSet)
|
||||||
|
}
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
opacity: consumptionSet.opacity
|
||||||
ColorIcon {
|
ColorIcon {
|
||||||
name: "powersocket"
|
name: "powersocket"
|
||||||
size: Style.smallIconSize
|
size: Style.smallIconSize
|
||||||
@ -385,13 +396,19 @@ StatsBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSet(productionSet)
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSet(productionSet)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
opacity: productionSet.opacity
|
||||||
ColorIcon {
|
ColorIcon {
|
||||||
name: "weathericons/weather-clear-day"
|
name: "weathericons/weather-clear-day"
|
||||||
size: Style.smallIconSize
|
size: Style.smallIconSize
|
||||||
@ -408,13 +425,19 @@ StatsBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSet(acquisitionSet)
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSet(acquisitionSet)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
opacity: acquisitionSet.opacity
|
||||||
Row {
|
Row {
|
||||||
ColorIcon {
|
ColorIcon {
|
||||||
name: "power-grid"
|
name: "power-grid"
|
||||||
@ -437,13 +460,19 @@ StatsBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MouseArea {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
onClicked: d.selectSet(returnSet)
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: -Style.smallMargins
|
||||||
|
anchors.bottomMargin: -Style.smallMargins
|
||||||
|
onClicked: d.selectSet(returnSet)
|
||||||
|
}
|
||||||
Row {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.smallMargins
|
spacing: Style.smallMargins
|
||||||
|
opacity: returnSet.opacity
|
||||||
Row {
|
Row {
|
||||||
ColorIcon {
|
ColorIcon {
|
||||||
name: "power-grid"
|
name: "power-grid"
|
||||||
|
|||||||
Reference in New Issue
Block a user