messagingapp/shareui/src/shareuiprivate.cpp
changeset 51 3507212d340e
parent 48 4f501b74aeb1
child 62 fdbe8253b596
--- a/messagingapp/shareui/src/shareuiprivate.cpp	Tue Aug 03 21:34:40 2010 +0530
+++ b/messagingapp/shareui/src/shareuiprivate.cpp	Fri Aug 06 23:19:50 2010 +0530
@@ -86,7 +86,6 @@
         delete request;
     }
     mAiwRequestList.clear();
-    mServiceInterfaceMap.clear();
     }
 
 /**
@@ -153,23 +152,20 @@
     if (serviceDescriptorList.size() > 0) {
         initializeUi();
         //sorting the services based on service names,
-        //reinserting sorted list into serviceDescriptorList
+        QMap<QString,XQAiwInterfaceDescriptor > serviceInterfaceMap;
         for (int i = 0; i < serviceDescriptorList.count(); i++) {
-            mServiceInterfaceMap.insert(serviceDescriptorList[i].serviceName(),
+            serviceInterfaceMap.insert(serviceDescriptorList[i].serviceName(),
                 serviceDescriptorList[i]);
         }
-        QStringList serviceNames = mServiceInterfaceMap.keys();
-        serviceNames.sort();
+        QStringList serviceNames = serviceInterfaceMap.keys();
         serviceDescriptorList.clear();
+        
         for (int i = 0; i < serviceNames.count(); i++) {
-            serviceDescriptorList.append(mServiceInterfaceMap.value(serviceNames.at(i)));
-        }
-        for (int i = 0; i < serviceDescriptorList.count(); i++) {
 #ifdef __SHAREUI_MIME_HANDLING__          
             // Filter services based on content type
-            QString allowedTypes = serviceDescriptorList[i].customProperty(QString(
+            QString allowedTypes = serviceInterfaceMap[serviceNames.at(i)].customProperty(QString(
                 "allowed_mime_types"));
-            QString blockedTypes = serviceDescriptorList[i].customProperty(QString(
+            QString blockedTypes = serviceInterfaceMap[serviceNames.at(i)].customProperty(QString(
                 "blocked_mime_types"));
 
             // Check against MIME filters
@@ -179,12 +175,13 @@
             if (isContentBlocked(filteredMimeList, blockedTypes))
                 continue;
 #endif            
-            HbAction* action = fetchServiceAction(serviceDescriptorList[i]);
-            QString iconName = serviceDescriptorList[i].customProperty(QString("aiw_action_icon"));
+            HbAction* action = fetchServiceAction(serviceInterfaceMap[serviceNames.at(i)]);
+            QString iconName = serviceInterfaceMap[serviceNames.at(i)].customProperty(QString("aiw_action_icon"));
             if (action) {
                 updateShareUiDialogList(action, iconName);
             }
         }
+        serviceInterfaceMap.clear();
         if (mContentItemModel->rowCount() == 0) {
             showNote(LOC_NO_SERVICES);
             return true;