phonebookui/pbkcommonui/src/cntfavoritesview.cpp
changeset 31 2a11b5b00470
parent 27 de1630741fbe
child 37 fd64c38c277d
--- a/phonebookui/pbkcommonui/src/cntfavoritesview.cpp	Mon May 03 12:24:20 2010 +0300
+++ b/phonebookui/pbkcommonui/src/cntfavoritesview.cpp	Fri May 14 15:42:23 2010 +0300
@@ -84,25 +84,35 @@
    // call a dialog to display the contacts
    CntGroupSelectionPopup *groupSelectionPopup = new CntGroupSelectionPopup(mViewManager->contactManager(SYMBIAN_BACKEND), mContact);
    groupSelectionPopup->populateListOfContact();
-   HbAction* action = groupSelectionPopup->exec();
-   
-   if (action == groupSelectionPopup->primaryAction())
-   {
-       groupSelectionPopup->saveOldGroup();
-       delete groupSelectionPopup;
-       
-       CntViewParameters viewParameters;
-       viewParameters.insert(EViewId, FavoritesMemberView);
-       QVariant var;
-       var.setValue(*mContact);
-       viewParameters.insert(ESelectedContact, var);
-       mViewManager->changeView(viewParameters);
-   }
-   else if (action == groupSelectionPopup->secondaryAction())
-   {
-       delete groupSelectionPopup;
-       showPreviousView();
-   }
+   groupSelectionPopup->open(this, SLOT(handleMemberSelection(HbAction*)));
+}
+
+void CntFavoritesView::handleMemberSelection(HbAction *action)
+{
+    CntGroupSelectionPopup *groupSelectionPopup = static_cast<CntGroupSelectionPopup*>(sender());
+    
+    if (groupSelectionPopup && action == groupSelectionPopup->actions().first())
+    {
+        bool membersSaved = groupSelectionPopup->saveOldGroup();
+        
+        if (membersSaved)
+        {
+            CntViewParameters viewParameters;
+            viewParameters.insert(EViewId, FavoritesMemberView);
+            QVariant var;
+            var.setValue(*mContact);
+            viewParameters.insert(ESelectedContact, var);
+            mViewManager->changeView(viewParameters);
+        }
+        else
+        {
+            showPreviousView();
+        }
+    }
+    else if (groupSelectionPopup && action == groupSelectionPopup->actions().at(1))
+    {
+        showPreviousView();
+    }
 }
 
 void CntFavoritesView::setOrientation(Qt::Orientation orientation)