--- a/phonebookui/pbkcommonui/src/cntfavoritesview.cpp Tue Jul 06 14:05:47 2010 +0300
+++ b/phonebookui/pbkcommonui/src/cntfavoritesview.cpp Wed Aug 18 09:39:00 2010 +0300
@@ -16,7 +16,7 @@
*/
#include "cntfavoritesview.h"
-#include "cntfetchcontactsview.h"
+#include "cntfetchcontactpopup.h"
#include "cntglobal.h"
#include <hbpushbutton.h>
#include <hbaction.h>
@@ -30,8 +30,7 @@
mContact(NULL),
mView(NULL),
mSoftkey(NULL),
- mViewManager(NULL),
- mFetchView(NULL)
+ mViewManager(NULL)
{
bool ok = false;
mDocumentLoader.load(CNT_FAVORITE_UI_XML, &ok);
@@ -57,10 +56,7 @@
mView->deleteLater();
delete mContact;
- mContact = 0;
-
- delete mFetchView;
- mFetchView = 0;
+ mContact = NULL;
}
void CntFavoritesView::activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs )
@@ -85,50 +81,61 @@
void CntFavoritesView::openSelectionPopup()
{
+ /*
QSet<QContactLocalId> emptySet;
-
if (!mFetchView) {
mFetchView = new CntFetchContacts(*getContactManager());
connect(mFetchView, SIGNAL(clicked()), this, SLOT(handleMemberSelection()));
}
mFetchView->setDetails(hbTrId("txt_phob_subtitle_favorites"), hbTrId("txt_common_button_save"));
mFetchView->displayContacts(HbAbstractItemView::MultiSelection, emptySet);
+ */
+ CntFetchContactPopup* popup = CntFetchContactPopup::createMultiSelectionPopup(
+ hbTrId("txt_phob_subtitle_favorites"),
+ hbTrId("txt_common_button_save"),
+ *getContactManager());
+ connect(popup, SIGNAL(fetchReady(QSet<QContactLocalId>)),
+ this, SLOT(handleMemberSelection(QSet<QContactLocalId>)));
+ popup->showPopup();
}
-void CntFavoritesView::handleMemberSelection()
+void CntFavoritesView::handleMemberSelection( QSet<QContactLocalId> aIds )
{
- QSet<QContactLocalId> members = mFetchView->getSelectedContacts();
- QList<QContactRelationship> memberships;
- bool saveChanges = !mFetchView->wasCanceled();
+ //QSet<QContactLocalId> members = mFetchView->getSelectedContacts();
+ //bool saveChanges = !mFetchView->wasCanceled();
- delete mFetchView;
- mFetchView = 0;
-
- if (!saveChanges || members.count() == 0) {
- showPreviousView();
- return;
- }
+ //delete mFetchView;
+ //mFetchView = 0;
- foreach (QContactLocalId id, members) {
- QContact contact = getContactManager()->contact(id);
- QContactRelationship membership;
- membership.setRelationshipType(QContactRelationship::HasMember);
- membership.setFirst(mContact->id());
- membership.setSecond(contact.id());
- memberships.append(membership);
+ //if (!saveChanges || members.count() == 0)
+ if ( aIds.isEmpty() )
+ {
+ showPreviousView();
}
-
- if (!memberships.isEmpty()) {
- QMap<int, QContactManager::Error> errors;
- getContactManager()->saveRelationships(&memberships, &errors);
+ else
+ {
+ QList<QContactRelationship> memberships;
+ foreach (QContactLocalId id, aIds) {
+ QContact contact = getContactManager()->contact(id);
+ QContactRelationship membership;
+ membership.setRelationshipType(QContactRelationship::HasMember);
+ membership.setFirst(mContact->id());
+ membership.setSecond(contact.id());
+ memberships.append(membership);
+ }
+
+ if (!memberships.isEmpty()) {
+ QMap<int, QContactManager::Error> errors;
+ getContactManager()->saveRelationships(&memberships, &errors);
+ }
+
+ CntViewParameters viewParameters;
+ viewParameters.insert(EViewId, favoritesMemberView);
+ QVariant var;
+ var.setValue(*mContact);
+ viewParameters.insert(ESelectedGroupContact, var);
+ mViewManager->changeView(viewParameters);
}
-
- CntViewParameters viewParameters;
- viewParameters.insert(EViewId, FavoritesMemberView);
- QVariant var;
- var.setValue(*mContact);
- viewParameters.insert(ESelectedGroupContact, var);
- mViewManager->changeView(viewParameters);
}
void CntFavoritesView::setOrientation(Qt::Orientation orientation)