phonebookui/pbkcommonui/src/cntcollectionlistmodel.cpp
changeset 46 efe85016a067
parent 40 b46a585f6909
child 47 7cbcb2896f0e
--- a/phonebookui/pbkcommonui/src/cntcollectionlistmodel.cpp	Fri Jun 11 13:29:23 2010 +0300
+++ b/phonebookui/pbkcommonui/src/cntcollectionlistmodel.cpp	Wed Jun 23 18:02:44 2010 +0300
@@ -21,12 +21,17 @@
 
 #include <cntuiextensionfactory.h>
 #include <cntuigroupsupplier.h>
+#include <cntuids.h>
+#include <xqsettingskey.h>
 
 #include <QIcon>
 #include <qtcontacts.h>
 #include <hbglobal.h>
 #include <hbiconitem.h>
 
+// CONTSTANTS
+const int CntNamesLengthLimit = 30;
+
 /*!
 Constructor
 */
@@ -45,7 +50,6 @@
 */
 CntCollectionListModel::~CntCollectionListModel()
 {
-    
 }
 
 /*!
@@ -173,33 +177,51 @@
         sortOrderLastName.setCaseSensitivity(Qt::CaseInsensitive);
 
         QList<QContactSortOrder> sortOrders;
-        sortOrders.append(sortOrderFirstName);
-        sortOrders.append(sortOrderLastName);
-
+        XQSettingsKey nameOrderKey(XQSettingsKey::TargetCentralRepository,
+            KCRUiContacts.iUid,
+            KCntNameOrdering);
+        int order = mSettings.readItemValue(nameOrderKey, XQSettingsManager::TypeInt).toInt();
+        if (order == CntOrderFirstLast)
+        {
+            sortOrders.append(sortOrderFirstName);
+            sortOrders.append(sortOrderLastName);
+        } 
+        else
+        {
+            sortOrders.append(sortOrderLastName);
+            sortOrders.append(sortOrderFirstName);
+        }
         // group members and their count
-       QList<QContactLocalId> groupMemberIds = mContactManager->contactIds(rFilter, sortOrders);
+        QList<QContactLocalId> groupMemberIds = mContactManager->contactIds(rFilter, sortOrders);
 
-       if (!groupMemberIds.isEmpty())
-       {
-           QStringList nameList;
-           for(int i = 0;i < groupMemberIds.count();i++)
-           {
-               QContact contact = mContactManager->contact(groupMemberIds.at(i));
-               QString memberName = contact.displayLabel();
-               nameList << memberName;
-               if (nameList.join(", ").length() > 30)
-               {
-                   break;
-               }
-           }
-           QString names = nameList.join(", ");
-           displayList.append(names);
-           displayList.append(hbTrId("(%1)").arg(groupMemberIds.count()));
-       }
-       else
-       {
-           displayList.append(hbTrId("txt_phob_dblist_favorites_val_no_favorites_selecte"));
-       }
+        if (!groupMemberIds.isEmpty())
+        {
+            QStringList nameList;
+            for(int i = 0;i < groupMemberIds.count();i++)
+            {
+                QContact contact = mContactManager->contact(groupMemberIds.at(i));
+                QString memberName = contact.displayLabel();
+                if (memberName.isEmpty())
+                {
+                    memberName = hbTrId("txt_phob_dblist_unnamed");
+                }
+                
+                // Incase the format is LastnameCommaFirstname, remove the commas
+                memberName = memberName.replace(", ", " ");
+                nameList << memberName;
+                if (nameList.join(", ").length() > CntNamesLengthLimit)
+                {
+                    break;
+                }
+            }
+            QString names = nameList.join(", ").trimmed();
+            displayList.append(names);
+            displayList.append(hbTrId("(%1)").arg(groupMemberIds.count()));
+        }
+        else
+        {
+            displayList.append(hbTrId("txt_phob_dblist_favorites_val_no_favorites_selecte"));
+        }
     }
     else
     {
@@ -309,8 +331,20 @@
             sortOrderLastName.setCaseSensitivity(Qt::CaseInsensitive);
 
             QList<QContactSortOrder> sortOrders;
-            sortOrders.append(sortOrderFirstName);
-            sortOrders.append(sortOrderLastName);
+            XQSettingsKey nameOrderKey(XQSettingsKey::TargetCentralRepository,
+                KCRUiContacts.iUid,
+                KCntNameOrdering);
+            int order = mSettings.readItemValue(nameOrderKey, XQSettingsManager::TypeInt).toInt();
+            if (order == CntOrderFirstLast)
+            {
+                sortOrders.append(sortOrderFirstName);
+                sortOrders.append(sortOrderLastName);
+            } 
+            else
+            {
+                sortOrders.append(sortOrderLastName);
+                sortOrders.append(sortOrderFirstName);
+            }
 
             // group members and their count
             QList<QContactLocalId> groupMemberIds = mContactManager->contactIds(rFilter, sortOrders);
@@ -322,30 +356,37 @@
                 {
                     QContact contact = mContactManager->contact(groupMemberIds.at(i));
                     QString memberName = contact.displayLabel();
+                    if (memberName.isEmpty())
+                    {
+                        memberName = hbTrId("txt_phob_dblist_unnamed");
+                    }
+                        
+                    // Incase the format is LastnameCommaFirstname, remove the commas
+                    memberName = memberName.replace(", ", " ");
                     nameList << memberName;
-                    if (nameList.join(", ").length() > 30)
+                    if (nameList.join(", ").length() > CntNamesLengthLimit)
                     {
                         break;
                     }
                 }
-                QString names = nameList.join(", ");
+                QString names = nameList.join(", ").trimmed();
                 displayList.append(names);
                 displayList.append(hbTrId("(%1)").arg(groupMemberIds.count()));
             }
             else
             {
-                displayList.append(hbTrId("No members selected"));
+                displayList.append(hbTrId("txt_phob_dblist_val_no_members_selected"));
             }
             dataList.append(displayList);
 
             // Default if no image for group 
             bool icon = false;
             QList<QContactAvatar> details = contact.details<QContactAvatar>();
-            for (int i = 0;i < details.count();i++)
+            for (int k = 0;k < details.count();k++)
             {
-                if (details.at(i).imageUrl().isValid())
+                if (details.at(k).imageUrl().isValid())
                 {
-                    dataList.append(QStringList(details.at(i).imageUrl().toString()));
+                    dataList.append(QStringList(details.at(k).imageUrl().toString()));
                     icon = true;
                     break;
                 }