diff -r 3916af29624a -r 7dd137878ff8 homescreenapp/hsdomainmodel/src/hsdatabase.cpp --- a/homescreenapp/hsdomainmodel/src/hsdatabase.cpp Fri Aug 13 14:38:12 2010 +0300 +++ b/homescreenapp/hsdomainmodel/src/hsdatabase.cpp Wed Aug 18 10:33:57 2010 +0300 @@ -31,7 +31,7 @@ QVariantList toVariantList(const QList &list) { QVariantList vlist; - for (int i=0; i &data, Qt::Orientation orientation) +{ + if (!checkConnection()) { + return false; + } + + QString key = orientation == Qt::Vertical ? + QLatin1String("portrait") : QLatin1String("landscape"); + + QSqlQuery query(QSqlDatabase::database(mConnectionName)); + + QString statement = + "UPDATE WidgetPresentations " + "SET zValue = ? " + "WHERE key = ? AND widgetId = ?"; + + if (query.prepare(statement)) { + query.addBindValue(toVariantList(data.values())); + query.addBindValue(toVariantList(key, data.count())); + query.addBindValue(toVariantList(data.keys())); + if (!query.execBatch()) { + return false; + } + } else { + return false; + } + + return true; +} + /*! Sets the database instance. The existing instance will be deleted.