From df20745dbf71c6e805271842550b5fbd20478137 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 20 Mar 2020 11:20:40 +0100 Subject: [PATCH] Allow removing childs which weren't autocreated --- nymea-app/ui/thingconfiguration/ConfigureThingPage.qml | 8 ++++++-- nymea-app/ui/thingconfiguration/EditThingsPage.qml | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/nymea-app/ui/thingconfiguration/ConfigureThingPage.qml b/nymea-app/ui/thingconfiguration/ConfigureThingPage.qml index 56b84b04..f5db5e1d 100644 --- a/nymea-app/ui/thingconfiguration/ConfigureThingPage.qml +++ b/nymea-app/ui/thingconfiguration/ConfigureThingPage.qml @@ -57,10 +57,14 @@ Page { Component.onCompleted: { deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Rename"), iconSource: "../images/edit.svg", functionName: "renameThing"})) - if (!root.device.isChild) { + // FIXME: This isn't entirely correct... we should have a way to know if a particular thing is in fact autocreated + // This check might be wrong for thingClasses with multiple create methods... + if (!root.device.isChild || root.deviceClass.createMethods !== ["auto"]) { deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Delete"), iconSource: "../images/delete.svg", functionName: "deleteThing"})) } - if (!root.device.isChild) { + // FIXME: This isn't entirely correct... we should have a way to know if a particular thing is in fact autocreated + // This check might be wrong for thingClasses with multiple create methods... + if (!root.device.isChild || root.deviceClass.createMethods !== ["auto"]) { deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Reconfigure"), iconSource: "../images/configure.svg", functionName: "reconfigureThing"})) } } diff --git a/nymea-app/ui/thingconfiguration/EditThingsPage.qml b/nymea-app/ui/thingconfiguration/EditThingsPage.qml index 1ccac231..0654650e 100644 --- a/nymea-app/ui/thingconfiguration/EditThingsPage.qml +++ b/nymea-app/ui/thingconfiguration/EditThingsPage.qml @@ -105,7 +105,9 @@ Page { delegate: ThingDelegate { device: deviceProxy.getDevice(model.id) - canDelete: !device.isChild + // FIXME: This isn't entirely correct... we should have a way to know if a particular thing is in fact autocreated + // This check might be wrong for thingClasses with multiple create methods... + canDelete: !device.isChild && device.deviceClass.createMethods === ["auto"] onClicked: { print("clicked:", model.id) pageStack.push(Qt.resolvedUrl("ConfigureThingPage.qml"), {device: device})