contentstorage/caclient/s60/src/caobjectadapter.cpp
changeset 88 7f0462e8c3da
parent 87 9d806967057c
child 89 1e87eb3b400f
--- a/contentstorage/caclient/s60/src/caobjectadapter.cpp	Tue Mar 23 23:42:03 2010 +0200
+++ b/contentstorage/caclient/s60/src/caobjectadapter.cpp	Tue Mar 23 23:55:55 2010 +0200
@@ -112,11 +112,10 @@
         fromEntry.iconDescription();
 
     toEntry.SetIconDataL(
-        static_cast<TInt>(fromIconDescription.bitmapId()),
-        static_cast<TInt>(fromIconDescription.maskId()),
-        static_cast<TInt>(fromIconDescription.skinMajorId()),
-        static_cast<TInt>(fromIconDescription.skinMinorId()),
-        convertToDescriptor(fromIconDescription.filename()));
+        convertToDescriptor(fromIconDescription.filename()),
+        convertToDescriptor(fromIconDescription.skinId()),
+        convertToDescriptor(fromIconDescription.applicationId())
+        );
 
     const QMap<QString, QString> attributesMap = fromEntry.attributes();
 
@@ -167,6 +166,14 @@
     Qt::SortOrder sortOrder;
     fromQuery.getSort(sortAttr, sortOrder);
     toQuery.SetSort(CaObjectAdapter::getSortCode(sortAttr, sortOrder));
+    
+    const QMap<QString, QString> attributesMap = fromQuery.attributes();
+
+    foreach(QString key, attributesMap.keys()) {
+            toQuery.AddAttributeL(
+                convertToDescriptor(key),
+                convertToDescriptor(attributesMap.value(key)));
+    }
 }
 
 //----------------------------------------------------------------------------
@@ -189,18 +196,16 @@
 
     CaIconDescription iconDescription;
     iconDescription.setId(icon.iId);
-    iconDescription.setBitmapId(icon.iBitmapId);
-    iconDescription.setMaskId(icon.iMaskId);
-    iconDescription.setSkinMajorId(icon.iSkinMajorId);
-    iconDescription.setSkinMinorId(icon.iSkinMinorId);
     iconDescription.setFilename(convertToString(icon.iFileName));
+    iconDescription.setSkinId(convertToString(icon.iSkinId));
+    iconDescription.setApplicationId(convertToString(icon.iApplicationId));
 
     toEntry.setIconDescription(iconDescription);
 
     const RCaEntryAttrArray &attributesArray = fromEntry.GetAttributes();
 
-    if (toEntry.entryTypeName() == applicationEntryName()
-            || toEntry.entryTypeName() == widgetEntryName()) {
+    if (toEntry.entryTypeName() == applicationEntryTypeName()
+            || toEntry.entryTypeName() == widgetEntryTypeName()) {
         toEntry.setAttribute(applicationUidAttributeName(),
                              QString::number(fromEntry.GetUid()));
     }
@@ -356,7 +361,7 @@
 //----------------------------------------------------------------------------
 //
 //----------------------------------------------------------------------------
-const QString &CaObjectAdapter::applicationUidAttributeName()
+const QString CaObjectAdapter::applicationUidAttributeName()
 {
     const static QString name("application:uid");
     return name;
@@ -365,7 +370,7 @@
 //----------------------------------------------------------------------------
 //
 //----------------------------------------------------------------------------
-const QString &CaObjectAdapter::applicationEntryName()
+const QString CaObjectAdapter::applicationEntryTypeName()
 {
     const static QString name("application");
     return name;
@@ -374,12 +379,29 @@
 //----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
-const QString &CaObjectAdapter::widgetEntryName()
+const QString CaObjectAdapter::widgetEntryTypeName()
 {
     const static QString name("widget");
     return name;
 }
 
+//----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+const QString CaObjectAdapter::urlEntryTypeName()
+{
+    const static QString name("url");
+    return name;
+}
+
+//----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+const QString CaObjectAdapter::templateApplicationEntryTypeName()
+{
+    const static QString name("templatedApplication");
+    return name;
+}
 // -----------------------------------------------------------------------------
 // copying compressed bitmap
 //----------------------------------------------------------------------------
@@ -405,14 +427,21 @@
 HbIcon CaObjectAdapter::makeIconL(const CaEntry &entry, const QSize &size)
 {
     HbIcon icon;
-    CCaInnerEntry *innerEntry = CCaInnerEntry::NewLC();
-    CaObjectAdapter::convertL(entry, *innerEntry);
-    QString filename(entry.iconDescription().filename());
-    if (!filename.isEmpty()) {
-        icon = HbIcon(filename);
+    QString skinId(entry.iconDescription().skinId());
+    if (!skinId.isEmpty()) {
+        icon = HbIcon(skinId);
+    }
+    if (icon.isNull() || !(icon.size().isValid())) {
+        QString filename(entry.iconDescription().filename());
+        if (!filename.isEmpty()) {
+            icon = HbIcon(filename);
+        }
     }
     //try to load symbian icon from multi-bitmap (mbm, mbg)
     if (icon.isNull() || !(icon.size().isValid())) {
+        CCaInnerEntry *innerEntry = CCaInnerEntry::NewLC();
+        CaObjectAdapter::convertL(entry, *innerEntry);
+
         CAknIcon *aknIcon = CaMenuIconUtility::GetItemIcon(*innerEntry);
         QPixmap pixmap;
         if (aknIcon) {
@@ -443,8 +472,8 @@
             CleanupStack::PopAndDestroy(aknIcon);
             icon = HbIcon(QIcon(pixmap));
         }
+        CleanupStack::PopAndDestroy(innerEntry);
     }
-    CleanupStack::PopAndDestroy(innerEntry);
     return icon;
 }