From fc454d4ab8eea1d76203c8dc7c30564c85149915 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Sat, 23 Oct 2010 12:14:33 +0000 Subject: [PATCH] * "source" is "group" * if no group is specified, "default" is assumed svn path=/trunk/KDE/kdelibs/; revision=1188942 --- datacontainer.cpp | 2 +- private/storage.cpp | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/datacontainer.cpp b/datacontainer.cpp index a51c2ab79..72a2292fc 100644 --- a/datacontainer.cpp +++ b/datacontainer.cpp @@ -203,7 +203,7 @@ void DataContainerPrivate::store() } KConfigGroup op = storage->operationDescription("save"); - op.writeEntry("source", q->objectName()); + op.writeEntry("group", q->objectName()); DataEngine::Data dataToStore = q->data(); DataEngine::Data::const_iterator it = dataToStore.constBegin(); while (it != dataToStore.constEnd() && dataToStore.constEnd() == q->data().constEnd()) { diff --git a/private/storage.cpp b/private/storage.cpp index 0db40c123..bccdba0f4 100644 --- a/private/storage.cpp +++ b/private/storage.cpp @@ -66,16 +66,22 @@ void StorageJob::start() QMap params = parameters(); + QString valueGroup = params["group"].toString(); + if (valueGroup.isEmpty()) { + valueGroup = "default"; + } + + if (operationName() == "save") { QSqlQuery query(m_db); query.prepare("delete from "+m_clientName+" where valueGroup=:valueGroup and id = :id"); - query.bindValue(":valueGroup", params["valueGroup"].toString()); + query.bindValue(":valueGroup", valueGroup); query.bindValue(":id", params["key"].toString()); query.exec(); query.prepare("insert into "+m_clientName+" values(:valueGroup, :id, :datavalue, 'now')"); query.bindValue(":id", params["key"].toString()); - query.bindValue(":valueGroup", params["valueGroup"].toString()); + query.bindValue(":valueGroup", valueGroup); query.bindValue(":datavalue", params["data"]); const bool success = query.exec(); setResult(success); @@ -90,15 +96,12 @@ void StorageJob::start() query.exec(); //a bit redundant but should be the faster way with less string concatenation as possible - if (params["valueGroup"].isNull()) { - setError(true); - return; - } else if (params["key"].isNull()) { + if (params["key"].isNull()) { query.prepare("select * from "+m_clientName+" where valueGroup=:valueGroup"); - query.bindValue(":valueGroup", params["valueGroup"].toString()); + query.bindValue(":valueGroup", valueGroup); } else { query.prepare("select * from "+m_clientName+" where valueGroup=:valueGroup and key=:key"); - query.bindValue(":valueGroup", params["valueGroup"].toString()); + query.bindValue(":valueGroup", valueGroup); query.bindValue(":key", params["key"].toString()); }