homescreenapp/hsdomainmodel/src/hsdatabase.cpp
changeset 85 35368b604b28
parent 61 2b1b11a301d2
equal deleted inserted replaced
77:4b195f3bea29 85:35368b604b28
    29 {
    29 {
    30     template<class T>
    30     template<class T>
    31     QVariantList toVariantList(const QList<T> &list)
    31     QVariantList toVariantList(const QList<T> &list)
    32     {
    32     {
    33         QVariantList vlist;
    33         QVariantList vlist;
    34         for (int i=0; i<list.count(); ++i) {
    34         for (int i = 0; i < list.count(); ++i) {
    35             T item = list.at(i);
    35             T item = list.at(i);
    36             vlist << item;
    36             vlist << item;
    37         }
    37         }
    38         return vlist;
    38         return vlist;
    39     }
    39     }
   811     }
   811     }
   812 
   812 
   813     return false;
   813     return false;
   814 }
   814 }
   815 
   815 
       
   816 bool HsDatabase::updateWidgetZValues(const QHash<int, qreal> &data, Qt::Orientation orientation)
       
   817 {
       
   818     if (!checkConnection()) {
       
   819         return false;
       
   820     }
       
   821 
       
   822     QString key = orientation == Qt::Vertical ?
       
   823         QLatin1String("portrait") : QLatin1String("landscape");
       
   824 
       
   825     QSqlQuery query(QSqlDatabase::database(mConnectionName));
       
   826     
       
   827     QString statement = 
       
   828         "UPDATE WidgetPresentations "
       
   829         "SET zValue = ? "
       
   830         "WHERE key = ? AND widgetId = ?";
       
   831     
       
   832     if (query.prepare(statement)) {
       
   833         query.addBindValue(toVariantList(data.values()));
       
   834         query.addBindValue(toVariantList(key, data.count()));
       
   835         query.addBindValue(toVariantList(data.keys()));
       
   836         if (!query.execBatch()) {
       
   837             return false;
       
   838         }
       
   839     } else {
       
   840         return false;
       
   841     }
       
   842 
       
   843     return true;
       
   844 }
       
   845 
   816 /*!
   846 /*!
   817     Sets the database instance. The existing instance
   847     Sets the database instance. The existing instance
   818     will be deleted.
   848     will be deleted.
   819 */
   849 */
   820 void HsDatabase::setInstance(HsDatabase *instance)
   850 void HsDatabase::setInstance(HsDatabase *instance)