phonebookui/pbkcommonui/src/cntfavoritesmemberview.cpp
changeset 53 e6aff7b69165
parent 47 7cbcb2896f0e
child 61 d30183af6ca6
equal deleted inserted replaced
51:81c360d47083 53:e6aff7b69165
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #include "cntfavoritesmemberview.h"
    18 #include "cntfavoritesmemberview.h"
    19 #include "cntfetchcontactsview.h"
    19 #include "cntfetchcontactpopup.h"
    20 #include "cntglobal.h"
    20 #include "cntglobal.h"
    21 
    21 
    22 #include <hblistview.h>
    22 #include <hblistview.h>
    23 #include <hbmenu.h>
    23 #include <hbmenu.h>
    24 #include <hbaction.h>
    24 #include <hbaction.h>
   135     membersFilter.setRelationshipType(QContactRelationship::HasMember);
   135     membersFilter.setRelationshipType(QContactRelationship::HasMember);
   136     membersFilter.setRelatedContactRole(QContactRelationship::First);
   136     membersFilter.setRelatedContactRole(QContactRelationship::First);
   137     membersFilter.setRelatedContactId(mContact->id());   
   137     membersFilter.setRelatedContactId(mContact->id());   
   138     mOriginalGroupMembers = getContactManager()->contactIds(membersFilter).toSet();
   138     mOriginalGroupMembers = getContactManager()->contactIds(membersFilter).toSet();
   139     
   139     
       
   140     /*
   140     if (!mFetchView) {
   141     if (!mFetchView) {
   141         mFetchView = new CntFetchContacts(*getContactManager());
   142         mFetchView = new CntFetchContacts(*getContactManager());
   142         connect(mFetchView, SIGNAL(clicked()), this, SLOT(handleManageFavorites()));
   143         connect(mFetchView, SIGNAL(clicked()), this, SLOT(handleManageFavorites()));
   143     }
   144     }
   144     mFetchView->setDetails(hbTrId("txt_phob_subtitle_favorites"), hbTrId("txt_common_button_save"));
   145     mFetchView->setDetails(hbTrId("txt_phob_subtitle_favorites"), hbTrId("txt_common_button_save"));
   145     mFetchView->displayContacts(HbAbstractItemView::MultiSelection, mOriginalGroupMembers);
   146     mFetchView->displayContacts(HbAbstractItemView::MultiSelection, mOriginalGroupMembers);
   146 }
   147     */
   147 
   148     CntFetchContactPopup* popup = CntFetchContactPopup::createMultiSelectionPopup(
   148 void CntFavoritesMemberView::handleManageFavorites()
   149             hbTrId("txt_phob_subtitle_favorites"), 
   149 {
   150             hbTrId("txt_common_button_save"),
       
   151             *getContactManager());
       
   152     connect( popup, SIGNAL(fetchReady(QSet<QContactLocalId>)), this, SLOT(handleManageFavorites(QSet<QContactLocalId>)) );
       
   153     popup->setSelectedContacts( mOriginalGroupMembers );
       
   154     popup->showPopup();
       
   155 }
       
   156 
       
   157 void CntFavoritesMemberView::handleManageFavorites(QSet<QContactLocalId> aIds)
       
   158 {
       
   159 /*
   150     QSet<QContactLocalId> selectedContacts = mFetchView->getSelectedContacts();
   160     QSet<QContactLocalId> selectedContacts = mFetchView->getSelectedContacts();
   151     bool saveChanges = !mFetchView->wasCanceled();
   161     bool saveChanges = !mFetchView->wasCanceled();
   152 
   162 
   153     delete mFetchView;
   163     delete mFetchView;
   154     mFetchView = 0;
   164     mFetchView = 0;
   155     
   165     
   156     if (!saveChanges) {
   166     if (!saveChanges) {
   157         return;
   167         return;
   158     }
   168     }
   159 
   169 */
   160     for (int i = 0; i < 2; ++i) {
   170     for (int i = 0; i < 2; ++i) {
   161         // first iteration processes added members, second removed members
   171         // first iteration processes added members, second removed members
   162         QSet<QContactLocalId> members = (i == 0 ? selectedContacts - mOriginalGroupMembers
   172         QSet<QContactLocalId> members = (i == 0 ? aIds - mOriginalGroupMembers
   163                                                 : mOriginalGroupMembers - selectedContacts);
   173                                                 : mOriginalGroupMembers - aIds);
   164         QList<QContactRelationship> memberships;
   174         QList<QContactRelationship> memberships;
   165 
   175 
   166         foreach (QContactLocalId id, members) {
   176         foreach (QContactLocalId id, members) {
   167             QContact contact = getContactManager()->contact(id);
   177             QContact contact = getContactManager()->contact(id);
   168             QContactRelationship membership;
   178             QContactRelationship membership;
   259 void CntFavoritesMemberView::openContact(const QModelIndex &index)
   269 void CntFavoritesMemberView::openContact(const QModelIndex &index)
   260 {
   270 {
   261     QContact selectedContact = mModel->contact(index);
   271     QContact selectedContact = mModel->contact(index);
   262     
   272     
   263     CntViewParameters viewParameters;
   273     CntViewParameters viewParameters;
   264     viewParameters.insert(EViewId, commLauncherView);
   274     viewParameters.insert(EViewId, contactCardView);
   265     QVariant var;
   275     QVariant var;
   266     var.setValue(selectedContact);
   276     var.setValue(selectedContact);
   267     viewParameters.insert(ESelectedContact, var);
   277     viewParameters.insert(ESelectedContact, var);
   268     QVariant varGroup;
   278     QVariant varGroup;
   269     varGroup.setValue(*mContact);
   279     varGroup.setValue(*mContact);
   278     CntViewParameters viewParameters;
   288     CntViewParameters viewParameters;
   279     viewParameters.insert(EViewId, editView);
   289     viewParameters.insert(EViewId, editView);
   280     QVariant var;
   290     QVariant var;
   281     var.setValue(selectedContact);
   291     var.setValue(selectedContact);
   282     viewParameters.insert(ESelectedContact, var);
   292     viewParameters.insert(ESelectedContact, var);
       
   293     QVariant varGroup;
       
   294     varGroup.setValue(*mContact);
       
   295     viewParameters.insert(ESelectedGroupContact, varGroup);
   283     mViewManager->changeView(viewParameters);
   296     mViewManager->changeView(viewParameters);
   284 }
   297 }
   285 
   298 
   286 /*!
   299 /*!
   287 Called after user clicked on the listview.
   300 Called after user clicked on the listview.