From 2dd43fd6023dac7babc8fddd9c4e94f137e51b7a Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 2 Jan 2014 02:08:42 +0100 Subject: [PATCH] load/store actions to config --- libhive/devicemanager.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libhive/devicemanager.cpp b/libhive/devicemanager.cpp index cfc8112e..19131ad7 100644 --- a/libhive/devicemanager.cpp +++ b/libhive/devicemanager.cpp @@ -172,6 +172,7 @@ void DeviceManager::loadConfiguredDevices() Device *device = new Device(QUuid(idString), settings.value("deviceClassId").toUuid(), this); device->setName(settings.value("devicename").toString()); device->setParams(settings.value("params").toMap()); + settings.beginGroup("triggers"); QList triggerList; foreach (const QString &triggerId, settings.childGroups()) { settings.beginGroup(triggerId); @@ -184,6 +185,20 @@ void DeviceManager::loadConfiguredDevices() } device->setTriggers(triggerList); settings.endGroup(); + settings.beginGroup("actions"); + QList actionList; + foreach (const QString &actionId, settings.childGroups()) { + settings.beginGroup(actionId); + QUuid id(actionId); + Action action(id); + action.setName(settings.value("actionname").toString()); + action.setParams(settings.value("params").toList()); + settings.endGroup(); + actionList.append(action); + } + device->setActions(actionList); + settings.endGroup(); + settings.endGroup(); m_configuredDevices.append(device); } } @@ -196,6 +211,7 @@ void DeviceManager::storeConfiguredDevices() settings.setValue("devicename", device->name()); settings.setValue("deviceClassId", device->deviceClassId().toString()); settings.setValue("params", device->params()); + settings.beginGroup("triggers"); foreach (const Trigger &trigger, device->triggers()) { settings.beginGroup(trigger.id().toString()); settings.setValue("triggername", trigger.name()); @@ -203,5 +219,14 @@ void DeviceManager::storeConfiguredDevices() settings.endGroup(); } settings.endGroup(); + settings.beginGroup("actions"); + foreach (const Trigger &trigger, device->triggers()) { + settings.beginGroup(trigger.id().toString()); + settings.setValue("triggername", trigger.name()); + settings.setValue("params", trigger.params()); + settings.endGroup(); + } + settings.endGroup(); + settings.endGroup(); } }