From c30edaafdc4c2aec20ac0e2218d2e987af894e5d Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 7 May 2020 15:24:41 +0200 Subject: [PATCH] Small improvments in the edit rules page --- nymea-app/ui/magic/EditRulePage.qml | 10 +++++----- nymea-app/ui/magic/RuleActionDelegate.qml | 13 +++++++++++-- nymea-app/ui/magic/SimpleStateEvaluatorDelegate.qml | 11 +++++++++-- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/nymea-app/ui/magic/EditRulePage.qml b/nymea-app/ui/magic/EditRulePage.qml index 1c4f9ce7..60e9099c 100644 --- a/nymea-app/ui/magic/EditRulePage.qml +++ b/nymea-app/ui/magic/EditRulePage.qml @@ -499,7 +499,7 @@ Page { Button { Layout.fillWidth: true - Layout.margins: app.margins + Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.bottomMargin: app.margins text: eventsRepeater.count == 0 && timeEventRepeater.count === 0 ? qsTr("Configure...") : qsTr("Add another...") visible: !root.isStateBased onClicked: { @@ -592,8 +592,8 @@ Page { Button { Layout.fillWidth: true - Layout.margins: app.margins - text: root.rule.stateEvaluator === null && root.rule.timeDescriptor.calendarItems.count === 0 ? + Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.bottomMargin: app.margins + text: root.rule.stateEvaluator === null || root.rule.timeDescriptor.calendarItems.count === 0 ? qsTr("Configure...") : qsTr("Add another...") visible: root.rule.timeDescriptor.timeEventItems.count === 0 || root.rule.stateEvaluator === null @@ -661,7 +661,7 @@ Page { Button { Layout.fillWidth: true - Layout.margins: app.margins + Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.bottomMargin: app.margins text: root.isEmpty ? qsTr("Configure...") : actionsRepeater.count == 0 ? qsTr("Add an action...") : qsTr("Add another action...") onClicked: { @@ -697,7 +697,7 @@ Page { Button { Layout.fillWidth: true - Layout.margins: app.margins + Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.bottomMargin: app.margins text: actionsRepeater.count == 0 ? qsTr("Add an action...") : qsTr("Add another action...") onClicked: { var page = pageStack.push(ruleActionQuestionPageComponent, {exitAction: true}); diff --git a/nymea-app/ui/magic/RuleActionDelegate.qml b/nymea-app/ui/magic/RuleActionDelegate.qml index e8557b72..1bf93385 100644 --- a/nymea-app/ui/magic/RuleActionDelegate.qml +++ b/nymea-app/ui/magic/RuleActionDelegate.qml @@ -64,9 +64,18 @@ NymeaListItemDelegate { var ruleActionParam = root.ruleAction.ruleActionParams.get(i) print("populating subtext:", ruleActionParam.eventTypeId, ruleActionParam.eventParamTypeId, ruleActionParam.stateDeviceId, ruleActionParam.stateTypeId, ruleActionParam.isValueBased, ruleActionParam.isEventParamBased, ruleActionParam.isStateValueBased) - var paramString = qsTr("%1: %2").arg(root.actionType.paramTypes.getParamType(ruleActionParam.paramTypeId).displayName) + var paramType = root.actionType.paramTypes.getParamType(ruleActionParam.paramTypeId); + var paramString = qsTr("%1: %2").arg(paramType.displayName) if (ruleActionParam.isValueBased) { - paramString = paramString.arg(ruleActionParam.value) + var text = "" + switch (paramType.type.toLowerCase()) { + case "bool": + text = ruleActionParam.value === true ? qsTr("True") : qsTr("False") + break; + default: + text = ruleActionParam.value + } + paramString = paramString.arg(text) } else if (ruleActionParam.isEventParamBased) { paramString = paramString.arg(qsTr("value from event")) } else if (ruleActionParam.isStateValueBased) { diff --git a/nymea-app/ui/magic/SimpleStateEvaluatorDelegate.qml b/nymea-app/ui/magic/SimpleStateEvaluatorDelegate.qml index fe84366c..fd23ed6a 100644 --- a/nymea-app/ui/magic/SimpleStateEvaluatorDelegate.qml +++ b/nymea-app/ui/magic/SimpleStateEvaluatorDelegate.qml @@ -97,10 +97,17 @@ SwipeDelegate { if (!root.stateType) { return qsTr("Press to edit condition") } + var valueText = root.stateEvaluator.stateDescriptor.value; + switch (root.stateType.type.toLowerCase()) { + case "bool": + valueText = root.stateEvaluator.stateDescriptor.value === true ? qsTr("True") : qsTr("False") + break; + } + if (root.device) { - return qsTr("%1: %2 %3 %4").arg(root.device.name).arg(root.stateType.displayName).arg(operatorString).arg(root.stateEvaluator.stateDescriptor.value) + return qsTr("%1: %2 %3 %4").arg(root.device.name).arg(root.stateType.displayName).arg(operatorString).arg(valueText) } else if (root.iface) { - return qsTr("%1: %2 %3 %4").arg(root.iface.displayName).arg(root.stateType.displayName).arg(operatorString).arg(root.stateEvaluator.stateDescriptor.value) + return qsTr("%1: %2 %3 %4").arg(root.iface.displayName).arg(root.stateType.displayName).arg(operatorString).arg(valueText) } return "--"; }