# HG changeset patch # User hgs # Date 1281007869 -10800 # Node ID 47627ab5d7a4590bc807c12c33c72fcae8df178b # Parent e6aff7b69165269224530899352805ef25672b8f 201031 diff -r e6aff7b69165 -r 47627ab5d7a4 contacts_plat/contacts_ui_api/inc/cntviewparams.h --- a/contacts_plat/contacts_ui_api/inc/cntviewparams.h Fri Jul 23 12:43:48 2010 +0300 +++ b/contacts_plat/contacts_ui_api/inc/cntviewparams.h Thu Aug 05 14:31:09 2010 +0300 @@ -77,6 +77,7 @@ importsView, settingsView, ringToneFetcherView, + serviceGroupMemberView, customPhonebookView = 100, // reserved for internal view plugins, DO NOT USE THESE customView = 200 // for all other view plugins }; diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/bwins/pbkcommonuiu.def --- a/phonebookui/bwins/pbkcommonuiu.def Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/bwins/pbkcommonuiu.def Thu Aug 05 14:31:09 2010 +0300 @@ -2,142 +2,172 @@ ?trUtf8@CntDefaultViewManager@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString CntDefaultViewManager::trUtf8(char const *, char const *) ?setViewNavigator@CntDefaultViewManager@@QAEXPAVCntViewNavigator@@@Z @ 2 NONAME ; void CntDefaultViewManager::setViewNavigator(class CntViewNavigator *) ?tr@CntActionPopup@@SA?AVQString@@PBD0@Z @ 3 NONAME ; class QString CntActionPopup::tr(char const *, char const *) - ?cleanup@CntDefaultViewManager@@AAEXXZ @ 4 NONAME ; void CntDefaultViewManager::cleanup(void) - ??0CntDefaultViewFactory@@QAE@XZ @ 5 NONAME ; CntDefaultViewFactory::CntDefaultViewFactory(void) - ??1CntMainWindow@@UAE@XZ @ 6 NONAME ; CntMainWindow::~CntMainWindow(void) - ?viewActivated@CntContactCardView@@IAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 7 NONAME ; void CntContactCardView::viewActivated(class CntAbstractViewManager *, class QMap) - ?view@CntEditView@@UBEPAVHbView@@XZ @ 8 NONAME ; class HbView * CntEditView::view(void) const - ?qt_metacall@CntBaseSelectionView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int CntBaseSelectionView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?closeView@CntBaseSelectionView@@AAEXXZ @ 10 NONAME ; void CntBaseSelectionView::closeView(void) + ?currentViewId@CntDefaultViewManager@@QAEHXZ @ 4 NONAME ; int CntDefaultViewManager::currentViewId(void) + ?cleanup@CntDefaultViewManager@@AAEXXZ @ 5 NONAME ; void CntDefaultViewManager::cleanup(void) + ??0CntDefaultViewFactory@@QAE@XZ @ 6 NONAME ; CntDefaultViewFactory::CntDefaultViewFactory(void) + ??1CntMainWindow@@UAE@XZ @ 7 NONAME ; CntMainWindow::~CntMainWindow(void) + ?viewActivated@CntContactCardView@@IAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 8 NONAME ; void CntContactCardView::viewActivated(class CntAbstractViewManager *, class QMap) + ?view@CntEditView@@UBEPAVHbView@@XZ @ 9 NONAME ; class HbView * CntEditView::view(void) const + ?qt_metacall@CntBaseSelectionView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int CntBaseSelectionView::qt_metacall(enum QMetaObject::Call, int, void * *) ?tr@CntMainWindow@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString CntMainWindow::tr(char const *, char const *) ?staticMetaObject@CntBaseSelectionView@@2UQMetaObject@@B @ 12 NONAME ; struct QMetaObject const CntBaseSelectionView::staticMetaObject ?d_func@CntEditView@@AAEPAVCntEditViewPrivate@@XZ @ 13 NONAME ; class CntEditViewPrivate * CntEditView::d_func(void) ?changesDiscarded@CntEditView@@IAEXXZ @ 14 NONAME ; void CntEditView::changesDiscarded(void) - ?keyPressEvent@CntMainWindow@@UAEXPAVQKeyEvent@@@Z @ 15 NONAME ; void CntMainWindow::keyPressEvent(class QKeyEvent *) - ??_ECntDefaultViewManager@@UAE@I@Z @ 16 NONAME ; CntDefaultViewManager::~CntDefaultViewManager(unsigned int) - ??_ECntBaseSelectionView@@UAE@I@Z @ 17 NONAME ; CntBaseSelectionView::~CntBaseSelectionView(unsigned int) - ?view@CntBaseSelectionView@@UBEPAVHbView@@XZ @ 18 NONAME ; class HbView * CntBaseSelectionView::view(void) const - ??1CntDefaultViewFactory@@UAE@XZ @ 19 NONAME ; CntDefaultViewFactory::~CntDefaultViewFactory(void) - ??_ECntDefaultViewFactory@@UAE@I@Z @ 20 NONAME ; CntDefaultViewFactory::~CntDefaultViewFactory(unsigned int) - ?trUtf8@CntDefaultViewManager@@SA?AVQString@@PBD0H@Z @ 21 NONAME ; class QString CntDefaultViewManager::trUtf8(char const *, char const *, int) - ?qt_metacast@CntActionPopup@@UAEPAXPBD@Z @ 22 NONAME ; void * CntActionPopup::qt_metacast(char const *) - ?deleteOldView@CntDefaultViewManager@@AAEXXZ @ 23 NONAME ; void CntDefaultViewManager::deleteOldView(void) - ?trUtf8@CntMainWindow@@SA?AVQString@@PBD0H@Z @ 24 NONAME ; class QString CntMainWindow::trUtf8(char const *, char const *, int) - ?trUtf8@CntEditView@@SA?AVQString@@PBD0H@Z @ 25 NONAME ; class QString CntEditView::trUtf8(char const *, char const *, int) - ??1CntEditView@@UAE@XZ @ 26 NONAME ; CntEditView::~CntEditView(void) - ?qt_metacast@CntBaseSelectionView@@UAEPAXPBD@Z @ 27 NONAME ; void * CntBaseSelectionView::qt_metacast(char const *) - ?metaObject@CntBaseSelectionView@@UBEPBUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const * CntBaseSelectionView::metaObject(void) const - ?back@CntDefaultViewManager@@UAEXV?$QMap@HVQVariant@@@@_N@Z @ 29 NONAME ; void CntDefaultViewManager::back(class QMap, bool) + ??_ECntDefaultViewManager@@UAE@I@Z @ 15 NONAME ; CntDefaultViewManager::~CntDefaultViewManager(unsigned int) + ??_ECntBaseSelectionView@@UAE@I@Z @ 16 NONAME ; CntBaseSelectionView::~CntBaseSelectionView(unsigned int) + ?view@CntBaseSelectionView@@UBEPAVHbView@@XZ @ 17 NONAME ; class HbView * CntBaseSelectionView::view(void) const + ??1CntDefaultViewFactory@@UAE@XZ @ 18 NONAME ; CntDefaultViewFactory::~CntDefaultViewFactory(void) + ??_ECntDefaultViewFactory@@UAE@I@Z @ 19 NONAME ; CntDefaultViewFactory::~CntDefaultViewFactory(unsigned int) + ?trUtf8@CntDefaultViewManager@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString CntDefaultViewManager::trUtf8(char const *, char const *, int) + ?qt_metacast@CntActionPopup@@UAEPAXPBD@Z @ 21 NONAME ; void * CntActionPopup::qt_metacast(char const *) + ?deleteOldView@CntDefaultViewManager@@AAEXXZ @ 22 NONAME ; void CntDefaultViewManager::deleteOldView(void) + ?trUtf8@CntMainWindow@@SA?AVQString@@PBD0H@Z @ 23 NONAME ; class QString CntMainWindow::trUtf8(char const *, char const *, int) + ?trUtf8@CntEditView@@SA?AVQString@@PBD0H@Z @ 24 NONAME ; class QString CntEditView::trUtf8(char const *, char const *, int) + ??1CntEditView@@UAE@XZ @ 25 NONAME ; CntEditView::~CntEditView(void) + ?qt_metacast@CntBaseSelectionView@@UAEPAXPBD@Z @ 26 NONAME ; void * CntBaseSelectionView::qt_metacast(char const *) + ?metaObject@CntBaseSelectionView@@UBEPBUQMetaObject@@XZ @ 27 NONAME ; struct QMetaObject const * CntBaseSelectionView::metaObject(void) const + ?back@CntDefaultViewManager@@UAEXV?$QMap@HVQVariant@@@@_N@Z @ 28 NONAME ; void CntDefaultViewManager::back(class QMap, bool) + ??0CntKeyGrabber@@QAE@PAVHbMainWindow@@PAVQObject@@@Z @ 29 NONAME ; CntKeyGrabber::CntKeyGrabber(class HbMainWindow *, class QObject *) ?backPressed@CntContactCardView@@IAEXXZ @ 30 NONAME ; void CntContactCardView::backPressed(void) ?qt_metacall@CntViewNavigator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 31 NONAME ; int CntViewNavigator::qt_metacall(enum QMetaObject::Call, int, void * *) ?activate@CntBaseSelectionView@@UAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 32 NONAME ; void CntBaseSelectionView::activate(class CntAbstractViewManager *, class QMap) - ?tr@CntDefaultViewManager@@SA?AVQString@@PBD0H@Z @ 33 NONAME ; class QString CntDefaultViewManager::tr(char const *, char const *, int) - ?viewId@CntEditView@@UBEHXZ @ 34 NONAME ; int CntEditView::viewId(void) const - ?qt_metacast@CntContactCardView@@UAEPAXPBD@Z @ 35 NONAME ; void * CntContactCardView::qt_metacast(char const *) - ?activate@CntEditView@@UAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 36 NONAME ; void CntEditView::activate(class CntAbstractViewManager *, class QMap) - ?viewClosed@CntBaseSelectionView@@IAEXXZ @ 37 NONAME ; void CntBaseSelectionView::viewClosed(void) - ?showActionPopup@CntActionPopup@@QAE_NVQString@@@Z @ 38 NONAME ; bool CntActionPopup::showActionPopup(class QString) - ?trUtf8@CntActionPopup@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString CntActionPopup::trUtf8(char const *, char const *) - ?keyPressed@CntMainWindow@@IAEXPAVQKeyEvent@@@Z @ 40 NONAME ; void CntMainWindow::keyPressed(class QKeyEvent *) - ?tr@CntBaseSelectionView@@SA?AVQString@@PBD0H@Z @ 41 NONAME ; class QString CntBaseSelectionView::tr(char const *, char const *, int) - ?metaObject@CntContactCardView@@UBEPBUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const * CntContactCardView::metaObject(void) const - ??0CntViewNavigator@@QAE@PAVQObject@@@Z @ 43 NONAME ; CntViewNavigator::CntViewNavigator(class QObject *) - ?d_func@CntContactCardView@@ABEPBVCntContactCardViewPrivate@@XZ @ 44 NONAME ; class CntContactCardViewPrivate const * CntContactCardView::d_func(void) const - ?trUtf8@CntBaseSelectionView@@SA?AVQString@@PBD0H@Z @ 45 NONAME ; class QString CntBaseSelectionView::trUtf8(char const *, char const *, int) - ?getStaticMetaObject@CntBaseSelectionView@@SAABUQMetaObject@@XZ @ 46 NONAME ; struct QMetaObject const & CntBaseSelectionView::getStaticMetaObject(void) - ??0CntDefaultViewManager@@QAE@PAVHbMainWindow@@@Z @ 47 NONAME ; CntDefaultViewManager::CntDefaultViewManager(class HbMainWindow *) - ?actionPopupCancelPressed@CntActionPopup@@IAEXXZ @ 48 NONAME ; void CntActionPopup::actionPopupCancelPressed(void) - ?getStaticMetaObject@CntActionPopup@@SAABUQMetaObject@@XZ @ 49 NONAME ; struct QMetaObject const & CntActionPopup::getStaticMetaObject(void) - ?next@CntViewNavigator@@QAEXABHAAV?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 50 NONAME ; void CntViewNavigator::next(int const &, class QFlags &) - ?createView@CntDefaultViewFactory@@UAEPAVCntAbstractView@@H@Z @ 51 NONAME ; class CntAbstractView * CntDefaultViewFactory::createView(int) - ?qt_metacast@CntEditView@@UAEPAXPBD@Z @ 52 NONAME ; void * CntEditView::qt_metacast(char const *) - ??0CntContactCardView@@QAE@_N@Z @ 53 NONAME ; CntContactCardView::CntContactCardView(bool) - ?contactRemoved@CntEditView@@IAEX_N@Z @ 54 NONAME ; void CntEditView::contactRemoved(bool) - ?d_func@CntActionPopup@@ABEPBVCntActionPopupPrivate@@XZ @ 55 NONAME ; class CntActionPopupPrivate const * CntActionPopup::d_func(void) const - ?trUtf8@CntContactCardView@@SA?AVQString@@PBD0@Z @ 56 NONAME ; class QString CntContactCardView::trUtf8(char const *, char const *) - ?metaObject@CntActionPopup@@UBEPBUQMetaObject@@XZ @ 57 NONAME ; struct QMetaObject const * CntActionPopup::metaObject(void) const - ?staticMetaObject@CntDefaultViewManager@@2UQMetaObject@@B @ 58 NONAME ; struct QMetaObject const CntDefaultViewManager::staticMetaObject - ?removeException@CntViewNavigator@@QAEXABH@Z @ 59 NONAME ; void CntViewNavigator::removeException(int const &) - ?trUtf8@CntViewNavigator@@SA?AVQString@@PBD0@Z @ 60 NONAME ; class QString CntViewNavigator::trUtf8(char const *, char const *) - ?metaObject@CntMainWindow@@UBEPBUQMetaObject@@XZ @ 61 NONAME ; struct QMetaObject const * CntMainWindow::metaObject(void) const - ??_ECntMainWindow@@UAE@I@Z @ 62 NONAME ; CntMainWindow::~CntMainWindow(unsigned int) - ?metaObject@CntDefaultViewManager@@UBEPBUQMetaObject@@XZ @ 63 NONAME ; struct QMetaObject const * CntDefaultViewManager::metaObject(void) const - ?changeView@CntDefaultViewManager@@UAEXV?$QMap@HVQVariant@@@@@Z @ 64 NONAME ; void CntDefaultViewManager::changeView(class QMap) - ??_ECntContactCardView@@UAE@I@Z @ 65 NONAME ; CntContactCardView::~CntContactCardView(unsigned int) - ?staticMetaObject@CntViewNavigator@@2UQMetaObject@@B @ 66 NONAME ; struct QMetaObject const CntViewNavigator::staticMetaObject - ?qt_metacall@CntContactCardView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 67 NONAME ; int CntContactCardView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?qt_metacall@CntMainWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 68 NONAME ; int CntMainWindow::qt_metacall(enum QMetaObject::Call, int, void * *) - ?trUtf8@CntMainWindow@@SA?AVQString@@PBD0@Z @ 69 NONAME ; class QString CntMainWindow::trUtf8(char const *, char const *) - ?staticMetaObject@CntMainWindow@@2UQMetaObject@@B @ 70 NONAME ; struct QMetaObject const CntMainWindow::staticMetaObject - ?isDefault@CntContactCardView@@UBE_NXZ @ 71 NONAME ; bool CntContactCardView::isDefault(void) const - ??1CntContactCardView@@UAE@XZ @ 72 NONAME ; CntContactCardView::~CntContactCardView(void) - ?qt_metacall@CntActionPopup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 73 NONAME ; int CntActionPopup::qt_metacall(enum QMetaObject::Call, int, void * *) - ??0CntBaseSelectionView@@QAE@XZ @ 74 NONAME ; CntBaseSelectionView::CntBaseSelectionView(void) - ??0CntMainWindow@@QAE@PAVQWidget@@H@Z @ 75 NONAME ; CntMainWindow::CntMainWindow(class QWidget *, int) - ??1CntActionPopup@@UAE@XZ @ 76 NONAME ; CntActionPopup::~CntActionPopup(void) - ?viewId@CntContactCardView@@UBEHXZ @ 77 NONAME ; int CntContactCardView::viewId(void) const - ?removeEffect@CntViewNavigator@@QAEXABH@Z @ 78 NONAME ; void CntViewNavigator::removeEffect(int const &) - ?getStaticMetaObject@CntContactCardView@@SAABUQMetaObject@@XZ @ 79 NONAME ; struct QMetaObject const & CntContactCardView::getStaticMetaObject(void) - ?activate@CntContactCardView@@UAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 80 NONAME ; void CntContactCardView::activate(class CntAbstractViewManager *, class QMap) - ?staticMetaObject@CntActionPopup@@2UQMetaObject@@B @ 81 NONAME ; struct QMetaObject const CntActionPopup::staticMetaObject - ?staticMetaObject@CntEditView@@2UQMetaObject@@B @ 82 NONAME ; struct QMetaObject const CntEditView::staticMetaObject - ?viewOpened@CntBaseSelectionView@@IAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 83 NONAME ; void CntBaseSelectionView::viewOpened(class CntAbstractViewManager *, class QMap) - ?isDefault@CntEditView@@UBE_NXZ @ 84 NONAME ; bool CntEditView::isDefault(void) const - ??_ECntViewNavigator@@UAE@I@Z @ 85 NONAME ; CntViewNavigator::~CntViewNavigator(unsigned int) - ?trUtf8@CntContactCardView@@SA?AVQString@@PBD0H@Z @ 86 NONAME ; class QString CntContactCardView::trUtf8(char const *, char const *, int) - ?addException@CntViewNavigator@@QAEXABH0@Z @ 87 NONAME ; void CntViewNavigator::addException(int const &, int const &) - ?closeApp@CntDefaultViewManager@@MAEXXZ @ 88 NONAME ; void CntDefaultViewManager::closeApp(void) - ?deactivate@CntBaseSelectionView@@UAEXXZ @ 89 NONAME ; void CntBaseSelectionView::deactivate(void) - ?d_func@CntEditView@@ABEPBVCntEditViewPrivate@@XZ @ 90 NONAME ; class CntEditViewPrivate const * CntEditView::d_func(void) const - ?setViewFactory@CntDefaultViewManager@@QAEXPAVCntAbstractViewFactory@@@Z @ 91 NONAME ; void CntDefaultViewManager::setViewFactory(class CntAbstractViewFactory *) - ?getStaticMetaObject@CntViewNavigator@@SAABUQMetaObject@@XZ @ 92 NONAME ; struct QMetaObject const & CntViewNavigator::getStaticMetaObject(void) - ?tr@CntViewNavigator@@SA?AVQString@@PBD0@Z @ 93 NONAME ; class QString CntViewNavigator::tr(char const *, char const *) - ?trUtf8@CntActionPopup@@SA?AVQString@@PBD0H@Z @ 94 NONAME ; class QString CntActionPopup::trUtf8(char const *, char const *, int) - ?tr@CntViewNavigator@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CntViewNavigator::tr(char const *, char const *, int) - ?tr@CntActionPopup@@SA?AVQString@@PBD0H@Z @ 96 NONAME ; class QString CntActionPopup::tr(char const *, char const *, int) - ?qt_metacast@CntDefaultViewManager@@UAEPAXPBD@Z @ 97 NONAME ; void * CntDefaultViewManager::qt_metacast(char const *) - ?qt_metacall@CntDefaultViewManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 98 NONAME ; int CntDefaultViewManager::qt_metacall(enum QMetaObject::Call, int, void * *) - ??0CntEditView@@QAE@XZ @ 99 NONAME ; CntEditView::CntEditView(void) - ?qt_metacast@CntViewNavigator@@UAEPAXPBD@Z @ 100 NONAME ; void * CntViewNavigator::qt_metacast(char const *) - ?view@CntContactCardView@@UBEPAVHbView@@XZ @ 101 NONAME ; class HbView * CntContactCardView::view(void) const - ?addToContacts@CntContactCardView@@IAEXXZ @ 102 NONAME ; void CntContactCardView::addToContacts(void) - ?tr@CntContactCardView@@SA?AVQString@@PBD0H@Z @ 103 NONAME ; class QString CntContactCardView::tr(char const *, char const *, int) - ?addRoot@CntViewNavigator@@QAEXABH@Z @ 104 NONAME ; void CntViewNavigator::addRoot(int const &) - ?tr@CntContactCardView@@SA?AVQString@@PBD0@Z @ 105 NONAME ; class QString CntContactCardView::tr(char const *, char const *) - ?tr@CntEditView@@SA?AVQString@@PBD0@Z @ 106 NONAME ; class QString CntEditView::tr(char const *, char const *) - ?d_func@CntContactCardView@@AAEPAVCntContactCardViewPrivate@@XZ @ 107 NONAME ; class CntContactCardViewPrivate * CntContactCardView::d_func(void) - ?metaObject@CntViewNavigator@@UBEPBUQMetaObject@@XZ @ 108 NONAME ; struct QMetaObject const * CntViewNavigator::metaObject(void) const - ?staticMetaObject@CntContactCardView@@2UQMetaObject@@B @ 109 NONAME ; struct QMetaObject const CntContactCardView::staticMetaObject - ?tr@CntBaseSelectionView@@SA?AVQString@@PBD0@Z @ 110 NONAME ; class QString CntBaseSelectionView::tr(char const *, char const *) - ?trUtf8@CntBaseSelectionView@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString CntBaseSelectionView::trUtf8(char const *, char const *) - ?switchView@CntDefaultViewManager@@AAEXV?$QMap@HVQVariant@@@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 112 NONAME ; void CntDefaultViewManager::switchView(class QMap, class QFlags) - ?deactivate@CntEditView@@UAEXXZ @ 113 NONAME ; void CntEditView::deactivate(void) - ?contactManager@CntDefaultViewManager@@UAEPAVQContactManager@QtMobility@@ABVQString@@@Z @ 114 NONAME ; class QtMobility::QContactManager * CntDefaultViewManager::contactManager(class QString const &) - ?addEffect@CntViewNavigator@@QAEXABH0@Z @ 115 NONAME ; void CntViewNavigator::addEffect(int const &, int const &) - ??_ECntActionPopup@@UAE@I@Z @ 116 NONAME ; CntActionPopup::~CntActionPopup(unsigned int) - ?d_func@CntActionPopup@@AAEPAVCntActionPopupPrivate@@XZ @ 117 NONAME ; class CntActionPopupPrivate * CntActionPopup::d_func(void) - ?metaObject@CntEditView@@UBEPBUQMetaObject@@XZ @ 118 NONAME ; struct QMetaObject const * CntEditView::metaObject(void) const - ?contactUpdated@CntEditView@@IAEXH@Z @ 119 NONAME ; void CntEditView::contactUpdated(int) - ??1CntDefaultViewManager@@UAE@XZ @ 120 NONAME ; CntDefaultViewManager::~CntDefaultViewManager(void) - ?deactivate@CntContactCardView@@UAEXXZ @ 121 NONAME ; void CntContactCardView::deactivate(void) - ?getStaticMetaObject@CntDefaultViewManager@@SAABUQMetaObject@@XZ @ 122 NONAME ; struct QMetaObject const & CntDefaultViewManager::getStaticMetaObject(void) - ?trUtf8@CntViewNavigator@@SA?AVQString@@PBD0H@Z @ 123 NONAME ; class QString CntViewNavigator::trUtf8(char const *, char const *, int) - ?qt_metacall@CntEditView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 124 NONAME ; int CntEditView::qt_metacall(enum QMetaObject::Call, int, void * *) - ?tr@CntEditView@@SA?AVQString@@PBD0H@Z @ 125 NONAME ; class QString CntEditView::tr(char const *, char const *, int) - ?getStaticMetaObject@CntEditView@@SAABUQMetaObject@@XZ @ 126 NONAME ; struct QMetaObject const & CntEditView::getStaticMetaObject(void) - ??1CntViewNavigator@@UAE@XZ @ 127 NONAME ; CntViewNavigator::~CntViewNavigator(void) - ?qt_metacast@CntMainWindow@@UAEPAXPBD@Z @ 128 NONAME ; void * CntMainWindow::qt_metacast(char const *) - ?trUtf8@CntEditView@@SA?AVQString@@PBD0@Z @ 129 NONAME ; class QString CntEditView::trUtf8(char const *, char const *) - ?isDefault@CntBaseSelectionView@@UBE_NXZ @ 130 NONAME ; bool CntBaseSelectionView::isDefault(void) const - ?back@CntViewNavigator@@QAEABHAAV?$QFlags@W4ViewSwitchFlag@Hb@@@@_N@Z @ 131 NONAME ; int const & CntViewNavigator::back(class QFlags &, bool) - ??1CntBaseSelectionView@@UAE@XZ @ 132 NONAME ; CntBaseSelectionView::~CntBaseSelectionView(void) - ?tr@CntMainWindow@@SA?AVQString@@PBD0H@Z @ 133 NONAME ; class QString CntMainWindow::tr(char const *, char const *, int) - ?createPluginView@CntDefaultViewFactory@@AAEPAVCntAbstractView@@H@Z @ 134 NONAME ; class CntAbstractView * CntDefaultViewFactory::createPluginView(int) - ??_ECntEditView@@UAE@I@Z @ 135 NONAME ; CntEditView::~CntEditView(unsigned int) - ??0CntActionPopup@@QAE@PAVQContact@QtMobility@@@Z @ 136 NONAME ; CntActionPopup::CntActionPopup(class QtMobility::QContact *) - ?executeContactAction@CntActionPopup@@IAEXAAVQContact@QtMobility@@VQContactDetail@3@VQString@@@Z @ 137 NONAME ; void CntActionPopup::executeContactAction(class QtMobility::QContact &, class QtMobility::QContactDetail, class QString) - ?getStaticMetaObject@CntMainWindow@@SAABUQMetaObject@@XZ @ 138 NONAME ; struct QMetaObject const & CntMainWindow::getStaticMetaObject(void) - ?tr@CntDefaultViewManager@@SA?AVQString@@PBD0@Z @ 139 NONAME ; class QString CntDefaultViewManager::tr(char const *, char const *) - ?removeCurrentView@CntDefaultViewManager@@AAEXXZ @ 140 NONAME ; void CntDefaultViewManager::removeCurrentView(void) - ?currentViewId@CntDefaultViewManager@@QAEHXZ @ 141 NONAME ; int CntDefaultViewManager::currentViewId(void) + ?tr@CntKeyGrabber@@SA?AVQString@@PBD0H@Z @ 33 NONAME ; class QString CntKeyGrabber::tr(char const *, char const *, int) + ?tr@CntDefaultViewManager@@SA?AVQString@@PBD0H@Z @ 34 NONAME ; class QString CntDefaultViewManager::tr(char const *, char const *, int) + ?viewId@CntEditView@@UBEHXZ @ 35 NONAME ; int CntEditView::viewId(void) const + ?qt_metacast@CntContactCardView@@UAEPAXPBD@Z @ 36 NONAME ; void * CntContactCardView::qt_metacast(char const *) + ?activate@CntEditView@@UAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 37 NONAME ; void CntEditView::activate(class CntAbstractViewManager *, class QMap) + ?viewClosed@CntBaseSelectionView@@IAEXXZ @ 38 NONAME ; void CntBaseSelectionView::viewClosed(void) + ??1CntKeyGrabber@@UAE@XZ @ 39 NONAME ; CntKeyGrabber::~CntKeyGrabber(void) + ?showActionPopup@CntActionPopup@@QAE_NVQString@@@Z @ 40 NONAME ; bool CntActionPopup::showActionPopup(class QString) + ?trUtf8@CntActionPopup@@SA?AVQString@@PBD0@Z @ 41 NONAME ; class QString CntActionPopup::trUtf8(char const *, char const *) + ?tr@CntBaseSelectionView@@SA?AVQString@@PBD0H@Z @ 42 NONAME ; class QString CntBaseSelectionView::tr(char const *, char const *, int) + ?metaObject@CntContactCardView@@UBEPBUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const * CntContactCardView::metaObject(void) const + ??0CntViewNavigator@@QAE@PAVQObject@@@Z @ 44 NONAME ; CntViewNavigator::CntViewNavigator(class QObject *) + ?d_func@CntContactCardView@@ABEPBVCntContactCardViewPrivate@@XZ @ 45 NONAME ; class CntContactCardViewPrivate const * CntContactCardView::d_func(void) const + ?trUtf8@CntBaseSelectionView@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString CntBaseSelectionView::trUtf8(char const *, char const *, int) + ?getStaticMetaObject@CntBaseSelectionView@@SAABUQMetaObject@@XZ @ 47 NONAME ; struct QMetaObject const & CntBaseSelectionView::getStaticMetaObject(void) + ??0CntDefaultViewManager@@QAE@PAVHbMainWindow@@@Z @ 48 NONAME ; CntDefaultViewManager::CntDefaultViewManager(class HbMainWindow *) + ?actionPopupCancelPressed@CntActionPopup@@IAEXXZ @ 49 NONAME ; void CntActionPopup::actionPopupCancelPressed(void) + ?getStaticMetaObject@CntActionPopup@@SAABUQMetaObject@@XZ @ 50 NONAME ; struct QMetaObject const & CntActionPopup::getStaticMetaObject(void) + ?next@CntViewNavigator@@QAEXABHAAV?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 51 NONAME ; void CntViewNavigator::next(int const &, class QFlags &) + ?createView@CntDefaultViewFactory@@UAEPAVCntAbstractView@@H@Z @ 52 NONAME ; class CntAbstractView * CntDefaultViewFactory::createView(int) + ?qt_metacast@CntEditView@@UAEPAXPBD@Z @ 53 NONAME ; void * CntEditView::qt_metacast(char const *) + ??0CntContactCardView@@QAE@_N@Z @ 54 NONAME ; CntContactCardView::CntContactCardView(bool) + ?contactRemoved@CntEditView@@IAEX_N@Z @ 55 NONAME ; void CntEditView::contactRemoved(bool) + ?d_func@CntActionPopup@@ABEPBVCntActionPopupPrivate@@XZ @ 56 NONAME ; class CntActionPopupPrivate const * CntActionPopup::d_func(void) const + ?trUtf8@CntContactCardView@@SA?AVQString@@PBD0@Z @ 57 NONAME ; class QString CntContactCardView::trUtf8(char const *, char const *) + ?metaObject@CntActionPopup@@UBEPBUQMetaObject@@XZ @ 58 NONAME ; struct QMetaObject const * CntActionPopup::metaObject(void) const + ?staticMetaObject@CntDefaultViewManager@@2UQMetaObject@@B @ 59 NONAME ; struct QMetaObject const CntDefaultViewManager::staticMetaObject + ?removeException@CntViewNavigator@@QAEXABH@Z @ 60 NONAME ; void CntViewNavigator::removeException(int const &) + ?trUtf8@CntViewNavigator@@SA?AVQString@@PBD0@Z @ 61 NONAME ; class QString CntViewNavigator::trUtf8(char const *, char const *) + ?getStaticMetaObject@CntKeyGrabber@@SAABUQMetaObject@@XZ @ 62 NONAME ; struct QMetaObject const & CntKeyGrabber::getStaticMetaObject(void) + ?metaObject@CntMainWindow@@UBEPBUQMetaObject@@XZ @ 63 NONAME ; struct QMetaObject const * CntMainWindow::metaObject(void) const + ??_ECntMainWindow@@UAE@I@Z @ 64 NONAME ; CntMainWindow::~CntMainWindow(unsigned int) + ?metaObject@CntDefaultViewManager@@UBEPBUQMetaObject@@XZ @ 65 NONAME ; struct QMetaObject const * CntDefaultViewManager::metaObject(void) const + ?changeView@CntDefaultViewManager@@UAEXV?$QMap@HVQVariant@@@@@Z @ 66 NONAME ; void CntDefaultViewManager::changeView(class QMap) + ??_ECntContactCardView@@UAE@I@Z @ 67 NONAME ; CntContactCardView::~CntContactCardView(unsigned int) + ?staticMetaObject@CntViewNavigator@@2UQMetaObject@@B @ 68 NONAME ; struct QMetaObject const CntViewNavigator::staticMetaObject + ?qt_metacall@CntContactCardView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 69 NONAME ; int CntContactCardView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_metacall@CntMainWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 70 NONAME ; int CntMainWindow::qt_metacall(enum QMetaObject::Call, int, void * *) + ?trUtf8@CntMainWindow@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString CntMainWindow::trUtf8(char const *, char const *) + ?trUtf8@CntKeyGrabber@@SA?AVQString@@PBD0H@Z @ 72 NONAME ; class QString CntKeyGrabber::trUtf8(char const *, char const *, int) + ?staticMetaObject@CntMainWindow@@2UQMetaObject@@B @ 73 NONAME ; struct QMetaObject const CntMainWindow::staticMetaObject + ?isDefault@CntContactCardView@@UBE_NXZ @ 74 NONAME ; bool CntContactCardView::isDefault(void) const + ??1CntContactCardView@@UAE@XZ @ 75 NONAME ; CntContactCardView::~CntContactCardView(void) + ?qt_metacall@CntActionPopup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 76 NONAME ; int CntActionPopup::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0CntBaseSelectionView@@QAE@XZ @ 77 NONAME ; CntBaseSelectionView::CntBaseSelectionView(void) + ?tr@CntKeyGrabber@@SA?AVQString@@PBD0@Z @ 78 NONAME ; class QString CntKeyGrabber::tr(char const *, char const *) + ??0CntMainWindow@@QAE@PAVQWidget@@H@Z @ 79 NONAME ; CntMainWindow::CntMainWindow(class QWidget *, int) + ??1CntActionPopup@@UAE@XZ @ 80 NONAME ; CntActionPopup::~CntActionPopup(void) + ?viewId@CntContactCardView@@UBEHXZ @ 81 NONAME ; int CntContactCardView::viewId(void) const + ?removeEffect@CntViewNavigator@@QAEXABH@Z @ 82 NONAME ; void CntViewNavigator::removeEffect(int const &) + ?getStaticMetaObject@CntContactCardView@@SAABUQMetaObject@@XZ @ 83 NONAME ; struct QMetaObject const & CntContactCardView::getStaticMetaObject(void) + ?activate@CntContactCardView@@UAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 84 NONAME ; void CntContactCardView::activate(class CntAbstractViewManager *, class QMap) + ?staticMetaObject@CntActionPopup@@2UQMetaObject@@B @ 85 NONAME ; struct QMetaObject const CntActionPopup::staticMetaObject + ?staticMetaObject@CntEditView@@2UQMetaObject@@B @ 86 NONAME ; struct QMetaObject const CntEditView::staticMetaObject + ?staticMetaObject@CntKeyGrabber@@2UQMetaObject@@B @ 87 NONAME ; struct QMetaObject const CntKeyGrabber::staticMetaObject + ?viewOpened@CntBaseSelectionView@@IAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 88 NONAME ; void CntBaseSelectionView::viewOpened(class CntAbstractViewManager *, class QMap) + ?isDefault@CntEditView@@UBE_NXZ @ 89 NONAME ; bool CntEditView::isDefault(void) const + ?qt_metacall@CntKeyGrabber@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 90 NONAME ; int CntKeyGrabber::qt_metacall(enum QMetaObject::Call, int, void * *) + ??_ECntViewNavigator@@UAE@I@Z @ 91 NONAME ; CntViewNavigator::~CntViewNavigator(unsigned int) + ?trUtf8@CntContactCardView@@SA?AVQString@@PBD0H@Z @ 92 NONAME ; class QString CntContactCardView::trUtf8(char const *, char const *, int) + ?metaObject@CntKeyGrabber@@UBEPBUQMetaObject@@XZ @ 93 NONAME ; struct QMetaObject const * CntKeyGrabber::metaObject(void) const + ?addException@CntViewNavigator@@QAEXABH0@Z @ 94 NONAME ; void CntViewNavigator::addException(int const &, int const &) + ?closeApp@CntDefaultViewManager@@MAEXXZ @ 95 NONAME ; void CntDefaultViewManager::closeApp(void) + ??_ECntKeyGrabber@@UAE@I@Z @ 96 NONAME ; CntKeyGrabber::~CntKeyGrabber(unsigned int) + ?deactivate@CntBaseSelectionView@@UAEXXZ @ 97 NONAME ; void CntBaseSelectionView::deactivate(void) + ?d_func@CntEditView@@ABEPBVCntEditViewPrivate@@XZ @ 98 NONAME ; class CntEditViewPrivate const * CntEditView::d_func(void) const + ?setViewFactory@CntDefaultViewManager@@QAEXPAVCntAbstractViewFactory@@@Z @ 99 NONAME ; void CntDefaultViewManager::setViewFactory(class CntAbstractViewFactory *) + ?getStaticMetaObject@CntViewNavigator@@SAABUQMetaObject@@XZ @ 100 NONAME ; struct QMetaObject const & CntViewNavigator::getStaticMetaObject(void) + ?tr@CntViewNavigator@@SA?AVQString@@PBD0@Z @ 101 NONAME ; class QString CntViewNavigator::tr(char const *, char const *) + ?trUtf8@CntActionPopup@@SA?AVQString@@PBD0H@Z @ 102 NONAME ; class QString CntActionPopup::trUtf8(char const *, char const *, int) + ?tr@CntViewNavigator@@SA?AVQString@@PBD0H@Z @ 103 NONAME ; class QString CntViewNavigator::tr(char const *, char const *, int) + ?tr@CntActionPopup@@SA?AVQString@@PBD0H@Z @ 104 NONAME ; class QString CntActionPopup::tr(char const *, char const *, int) + ?qt_metacast@CntDefaultViewManager@@UAEPAXPBD@Z @ 105 NONAME ; void * CntDefaultViewManager::qt_metacast(char const *) + ?qt_metacall@CntDefaultViewManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 106 NONAME ; int CntDefaultViewManager::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0CntEditView@@QAE@XZ @ 107 NONAME ; CntEditView::CntEditView(void) + ?qt_metacast@CntViewNavigator@@UAEPAXPBD@Z @ 108 NONAME ; void * CntViewNavigator::qt_metacast(char const *) + ?view@CntContactCardView@@UBEPAVHbView@@XZ @ 109 NONAME ; class HbView * CntContactCardView::view(void) const + ?addToContacts@CntContactCardView@@IAEXXZ @ 110 NONAME ; void CntContactCardView::addToContacts(void) + ?tr@CntContactCardView@@SA?AVQString@@PBD0H@Z @ 111 NONAME ; class QString CntContactCardView::tr(char const *, char const *, int) + ?addRoot@CntViewNavigator@@QAEXABH@Z @ 112 NONAME ; void CntViewNavigator::addRoot(int const &) + ?tr@CntContactCardView@@SA?AVQString@@PBD0@Z @ 113 NONAME ; class QString CntContactCardView::tr(char const *, char const *) + ?tr@CntEditView@@SA?AVQString@@PBD0@Z @ 114 NONAME ; class QString CntEditView::tr(char const *, char const *) + ?d_func@CntContactCardView@@AAEPAVCntContactCardViewPrivate@@XZ @ 115 NONAME ; class CntContactCardViewPrivate * CntContactCardView::d_func(void) + ?metaObject@CntViewNavigator@@UBEPBUQMetaObject@@XZ @ 116 NONAME ; struct QMetaObject const * CntViewNavigator::metaObject(void) const + ?staticMetaObject@CntContactCardView@@2UQMetaObject@@B @ 117 NONAME ; struct QMetaObject const CntContactCardView::staticMetaObject + ?tr@CntBaseSelectionView@@SA?AVQString@@PBD0@Z @ 118 NONAME ; class QString CntBaseSelectionView::tr(char const *, char const *) + ?trUtf8@CntBaseSelectionView@@SA?AVQString@@PBD0@Z @ 119 NONAME ; class QString CntBaseSelectionView::trUtf8(char const *, char const *) + ?trUtf8@CntKeyGrabber@@SA?AVQString@@PBD0@Z @ 120 NONAME ; class QString CntKeyGrabber::trUtf8(char const *, char const *) + ?switchView@CntDefaultViewManager@@AAEXV?$QMap@HVQVariant@@@@V?$QFlags@W4ViewSwitchFlag@Hb@@@@@Z @ 121 NONAME ; void CntDefaultViewManager::switchView(class QMap, class QFlags) + ?deactivate@CntEditView@@UAEXXZ @ 122 NONAME ; void CntEditView::deactivate(void) + ?contactManager@CntDefaultViewManager@@UAEPAVQContactManager@QtMobility@@ABVQString@@@Z @ 123 NONAME ; class QtMobility::QContactManager * CntDefaultViewManager::contactManager(class QString const &) + ?addEffect@CntViewNavigator@@QAEXABH0@Z @ 124 NONAME ; void CntViewNavigator::addEffect(int const &, int const &) + ??_ECntActionPopup@@UAE@I@Z @ 125 NONAME ; CntActionPopup::~CntActionPopup(unsigned int) + ?d_func@CntActionPopup@@AAEPAVCntActionPopupPrivate@@XZ @ 126 NONAME ; class CntActionPopupPrivate * CntActionPopup::d_func(void) + ?metaObject@CntEditView@@UBEPBUQMetaObject@@XZ @ 127 NONAME ; struct QMetaObject const * CntEditView::metaObject(void) const + ?contactUpdated@CntEditView@@IAEXH@Z @ 128 NONAME ; void CntEditView::contactUpdated(int) + ??1CntDefaultViewManager@@UAE@XZ @ 129 NONAME ; CntDefaultViewManager::~CntDefaultViewManager(void) + ?deactivate@CntContactCardView@@UAEXXZ @ 130 NONAME ; void CntContactCardView::deactivate(void) + ?getStaticMetaObject@CntDefaultViewManager@@SAABUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const & CntDefaultViewManager::getStaticMetaObject(void) + ?trUtf8@CntViewNavigator@@SA?AVQString@@PBD0H@Z @ 132 NONAME ; class QString CntViewNavigator::trUtf8(char const *, char const *, int) + ?qt_metacall@CntEditView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 133 NONAME ; int CntEditView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?tr@CntEditView@@SA?AVQString@@PBD0H@Z @ 134 NONAME ; class QString CntEditView::tr(char const *, char const *, int) + ?getStaticMetaObject@CntEditView@@SAABUQMetaObject@@XZ @ 135 NONAME ; struct QMetaObject const & CntEditView::getStaticMetaObject(void) + ?trUtf8@CntEditView@@SA?AVQString@@PBD0@Z @ 136 NONAME ; class QString CntEditView::trUtf8(char const *, char const *) + ??1CntViewNavigator@@UAE@XZ @ 137 NONAME ; CntViewNavigator::~CntViewNavigator(void) + ?qt_metacast@CntMainWindow@@UAEPAXPBD@Z @ 138 NONAME ; void * CntMainWindow::qt_metacast(char const *) + ?isDefault@CntBaseSelectionView@@UBE_NXZ @ 139 NONAME ; bool CntBaseSelectionView::isDefault(void) const + ?back@CntViewNavigator@@QAEABHAAV?$QFlags@W4ViewSwitchFlag@Hb@@@@_N@Z @ 140 NONAME ; int const & CntViewNavigator::back(class QFlags &, bool) + ??1CntBaseSelectionView@@UAE@XZ @ 141 NONAME ; CntBaseSelectionView::~CntBaseSelectionView(void) + ?tr@CntMainWindow@@SA?AVQString@@PBD0H@Z @ 142 NONAME ; class QString CntMainWindow::tr(char const *, char const *, int) + ?createPluginView@CntDefaultViewFactory@@AAEPAVCntAbstractView@@H@Z @ 143 NONAME ; class CntAbstractView * CntDefaultViewFactory::createPluginView(int) + ??_ECntEditView@@UAE@I@Z @ 144 NONAME ; CntEditView::~CntEditView(unsigned int) + ??0CntActionPopup@@QAE@PAVQContact@QtMobility@@@Z @ 145 NONAME ; CntActionPopup::CntActionPopup(class QtMobility::QContact *) + ?executeContactAction@CntActionPopup@@IAEXAAVQContact@QtMobility@@VQContactDetail@3@VQString@@@Z @ 146 NONAME ; void CntActionPopup::executeContactAction(class QtMobility::QContact &, class QtMobility::QContactDetail, class QString) + ?getStaticMetaObject@CntMainWindow@@SAABUQMetaObject@@XZ @ 147 NONAME ; struct QMetaObject const & CntMainWindow::getStaticMetaObject(void) + ?eventFilter@CntKeyGrabber@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 148 NONAME ; bool CntKeyGrabber::eventFilter(class QObject *, class QEvent *) + ?qt_metacast@CntKeyGrabber@@UAEPAXPBD@Z @ 149 NONAME ; void * CntKeyGrabber::qt_metacast(char const *) + ?tr@CntDefaultViewManager@@SA?AVQString@@PBD0@Z @ 150 NONAME ; class QString CntDefaultViewManager::tr(char const *, char const *) + ?removeCurrentView@CntDefaultViewManager@@AAEXXZ @ 151 NONAME ; void CntDefaultViewManager::removeCurrentView(void) + ?trUtf8@CntGroupMemberView@@SA?AVQString@@PBD0H@Z @ 152 NONAME ; class QString CntGroupMemberView::trUtf8(char const *, char const *, int) + ?d_func@CntGroupMemberView@@AAEPAVCntGroupMemberViewPrivate@@XZ @ 153 NONAME ; class CntGroupMemberViewPrivate * CntGroupMemberView::d_func(void) + ?view@CntGroupMemberView@@UBEPAVHbView@@XZ @ 154 NONAME ; class HbView * CntGroupMemberView::view(void) const + ?staticMetaObject@CntGroupMemberView@@2UQMetaObject@@B @ 155 NONAME ; struct QMetaObject const CntGroupMemberView::staticMetaObject + ??1CntGroupMemberView@@UAE@XZ @ 156 NONAME ; CntGroupMemberView::~CntGroupMemberView(void) + ?tr@CntGroupMemberView@@SA?AVQString@@PBD0H@Z @ 157 NONAME ; class QString CntGroupMemberView::tr(char const *, char const *, int) + ?activate@CntGroupMemberView@@UAEXPAVCntAbstractViewManager@@V?$QMap@HVQVariant@@@@@Z @ 158 NONAME ; void CntGroupMemberView::activate(class CntAbstractViewManager *, class QMap) + ??_ECntGroupMemberView@@UAE@I@Z @ 159 NONAME ; CntGroupMemberView::~CntGroupMemberView(unsigned int) + ?viewId@CntGroupMemberView@@UBEHXZ @ 160 NONAME ; int CntGroupMemberView::viewId(void) const + ?isDefault@CntGroupMemberView@@UBE_NXZ @ 161 NONAME ; bool CntGroupMemberView::isDefault(void) const + ?qt_metacast@CntGroupMemberView@@UAEPAXPBD@Z @ 162 NONAME ; void * CntGroupMemberView::qt_metacast(char const *) + ?trUtf8@CntGroupMemberView@@SA?AVQString@@PBD0@Z @ 163 NONAME ; class QString CntGroupMemberView::trUtf8(char const *, char const *) + ?d_func@CntGroupMemberView@@ABEPBVCntGroupMemberViewPrivate@@XZ @ 164 NONAME ; class CntGroupMemberViewPrivate const * CntGroupMemberView::d_func(void) const + ?getStaticMetaObject@CntGroupMemberView@@SAABUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const & CntGroupMemberView::getStaticMetaObject(void) + ??0CntGroupMemberView@@QAE@XZ @ 166 NONAME ; CntGroupMemberView::CntGroupMemberView(void) + ?deactivate@CntGroupMemberView@@UAEXXZ @ 167 NONAME ; void CntGroupMemberView::deactivate(void) + ?qt_metacall@CntGroupMemberView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 168 NONAME ; int CntGroupMemberView::qt_metacall(enum QMetaObject::Call, int, void * *) + ?metaObject@CntGroupMemberView@@UBEPBUQMetaObject@@XZ @ 169 NONAME ; struct QMetaObject const * CntGroupMemberView::metaObject(void) const + ?tr@CntGroupMemberView@@SA?AVQString@@PBD0@Z @ 170 NONAME ; class QString CntGroupMemberView::tr(char const *, char const *) + ?backPressed@CntGroupMemberView@@IAEXXZ @ 171 NONAME ; void CntGroupMemberView::backPressed(void) diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/eabi/pbkcommonuiu.def --- a/phonebookui/eabi/pbkcommonuiu.def Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/eabi/pbkcommonuiu.def Thu Aug 05 14:31:09 2010 +0300 @@ -13,155 +13,190 @@ _ZN11CntEditViewD0Ev @ 12 NONAME _ZN11CntEditViewD1Ev @ 13 NONAME _ZN11CntEditViewD2Ev @ 14 NONAME - _ZN13CntMainWindow10keyPressedEP9QKeyEvent @ 15 NONAME - _ZN13CntMainWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 16 NONAME - _ZN13CntMainWindow11qt_metacastEPKc @ 17 NONAME - _ZN13CntMainWindow13keyPressEventEP9QKeyEvent @ 18 NONAME - _ZN13CntMainWindow16staticMetaObjectE @ 19 NONAME DATA 16 - _ZN13CntMainWindow19getStaticMetaObjectEv @ 20 NONAME - _ZN13CntMainWindowC1EP7QWidgeti @ 21 NONAME - _ZN13CntMainWindowC2EP7QWidgeti @ 22 NONAME - _ZN13CntMainWindowD0Ev @ 23 NONAME - _ZN13CntMainWindowD1Ev @ 24 NONAME - _ZN13CntMainWindowD2Ev @ 25 NONAME - _ZN14CntActionPopup11qt_metacallEN11QMetaObject4CallEiPPv @ 26 NONAME - _ZN14CntActionPopup11qt_metacastEPKc @ 27 NONAME - _ZN14CntActionPopup15showActionPopupE7QString @ 28 NONAME - _ZN14CntActionPopup16staticMetaObjectE @ 29 NONAME DATA 16 - _ZN14CntActionPopup19getStaticMetaObjectEv @ 30 NONAME - _ZN14CntActionPopup20executeContactActionERN10QtMobility8QContactENS0_14QContactDetailE7QString @ 31 NONAME - _ZN14CntActionPopup24actionPopupCancelPressedEv @ 32 NONAME - _ZN14CntActionPopupC1EPN10QtMobility8QContactE @ 33 NONAME - _ZN14CntActionPopupC2EPN10QtMobility8QContactE @ 34 NONAME - _ZN14CntActionPopupD0Ev @ 35 NONAME - _ZN14CntActionPopupD1Ev @ 36 NONAME - _ZN14CntActionPopupD2Ev @ 37 NONAME - _ZN16CntViewNavigator11qt_metacallEN11QMetaObject4CallEiPPv @ 38 NONAME - _ZN16CntViewNavigator11qt_metacastEPKc @ 39 NONAME - _ZN16CntViewNavigator12addExceptionERKiS1_ @ 40 NONAME - _ZN16CntViewNavigator12removeEffectERKi @ 41 NONAME - _ZN16CntViewNavigator15removeExceptionERKi @ 42 NONAME - _ZN16CntViewNavigator16staticMetaObjectE @ 43 NONAME DATA 16 - _ZN16CntViewNavigator19getStaticMetaObjectEv @ 44 NONAME - _ZN16CntViewNavigator4backER6QFlagsIN2Hb14ViewSwitchFlagEEb @ 45 NONAME - _ZN16CntViewNavigator4nextERKiR6QFlagsIN2Hb14ViewSwitchFlagEE @ 46 NONAME - _ZN16CntViewNavigator7addRootERKi @ 47 NONAME - _ZN16CntViewNavigator9addEffectERKiS1_ @ 48 NONAME - _ZN16CntViewNavigatorC1EP7QObject @ 49 NONAME - _ZN16CntViewNavigatorC2EP7QObject @ 50 NONAME - _ZN16CntViewNavigatorD0Ev @ 51 NONAME - _ZN16CntViewNavigatorD1Ev @ 52 NONAME - _ZN16CntViewNavigatorD2Ev @ 53 NONAME - _ZN18CntContactCardView10deactivateEv @ 54 NONAME - _ZN18CntContactCardView11backPressedEv @ 55 NONAME - _ZN18CntContactCardView11qt_metacallEN11QMetaObject4CallEiPPv @ 56 NONAME - _ZN18CntContactCardView11qt_metacastEPKc @ 57 NONAME - _ZN18CntContactCardView13addToContactsEv @ 58 NONAME - _ZN18CntContactCardView13viewActivatedEP22CntAbstractViewManager4QMapIi8QVariantE @ 59 NONAME - _ZN18CntContactCardView16staticMetaObjectE @ 60 NONAME DATA 16 - _ZN18CntContactCardView19getStaticMetaObjectEv @ 61 NONAME - _ZN18CntContactCardView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 62 NONAME - _ZN18CntContactCardViewC1Eb @ 63 NONAME - _ZN18CntContactCardViewC2Eb @ 64 NONAME - _ZN18CntContactCardViewD0Ev @ 65 NONAME - _ZN18CntContactCardViewD1Ev @ 66 NONAME - _ZN18CntContactCardViewD2Ev @ 67 NONAME - _ZN20CntBaseSelectionView10deactivateEv @ 68 NONAME - _ZN20CntBaseSelectionView10viewClosedEv @ 69 NONAME - _ZN20CntBaseSelectionView10viewOpenedEP22CntAbstractViewManager4QMapIi8QVariantE @ 70 NONAME - _ZN20CntBaseSelectionView11qt_metacallEN11QMetaObject4CallEiPPv @ 71 NONAME - _ZN20CntBaseSelectionView11qt_metacastEPKc @ 72 NONAME - _ZN20CntBaseSelectionView16staticMetaObjectE @ 73 NONAME DATA 16 - _ZN20CntBaseSelectionView19getStaticMetaObjectEv @ 74 NONAME - _ZN20CntBaseSelectionView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 75 NONAME - _ZN20CntBaseSelectionView9closeViewEv @ 76 NONAME - _ZN20CntBaseSelectionViewC2Ev @ 77 NONAME - _ZN20CntBaseSelectionViewD0Ev @ 78 NONAME - _ZN20CntBaseSelectionViewD1Ev @ 79 NONAME - _ZN20CntBaseSelectionViewD2Ev @ 80 NONAME - _ZN21CntDefaultViewFactory10createViewEi @ 81 NONAME - _ZN21CntDefaultViewFactory16createPluginViewEi @ 82 NONAME - _ZN21CntDefaultViewFactoryC1Ev @ 83 NONAME - _ZN21CntDefaultViewFactoryC2Ev @ 84 NONAME - _ZN21CntDefaultViewFactoryD0Ev @ 85 NONAME - _ZN21CntDefaultViewFactoryD1Ev @ 86 NONAME - _ZN21CntDefaultViewFactoryD2Ev @ 87 NONAME - _ZN21CntDefaultViewManager10changeViewE4QMapIi8QVariantE @ 88 NONAME - _ZN21CntDefaultViewManager10switchViewE4QMapIi8QVariantE6QFlagsIN2Hb14ViewSwitchFlagEE @ 89 NONAME - _ZN21CntDefaultViewManager11qt_metacallEN11QMetaObject4CallEiPPv @ 90 NONAME - _ZN21CntDefaultViewManager11qt_metacastEPKc @ 91 NONAME - _ZN21CntDefaultViewManager13currentViewIdEv @ 92 NONAME - _ZN21CntDefaultViewManager13deleteOldViewEv @ 93 NONAME - _ZN21CntDefaultViewManager14contactManagerERK7QString @ 94 NONAME - _ZN21CntDefaultViewManager14setViewFactoryEP22CntAbstractViewFactory @ 95 NONAME - _ZN21CntDefaultViewManager16setViewNavigatorEP16CntViewNavigator @ 96 NONAME - _ZN21CntDefaultViewManager16staticMetaObjectE @ 97 NONAME DATA 16 - _ZN21CntDefaultViewManager17removeCurrentViewEv @ 98 NONAME - _ZN21CntDefaultViewManager19getStaticMetaObjectEv @ 99 NONAME - _ZN21CntDefaultViewManager4backE4QMapIi8QVariantEb @ 100 NONAME - _ZN21CntDefaultViewManager7cleanupEv @ 101 NONAME - _ZN21CntDefaultViewManager8closeAppEv @ 102 NONAME - _ZN21CntDefaultViewManagerC1EP12HbMainWindow @ 103 NONAME - _ZN21CntDefaultViewManagerC2EP12HbMainWindow @ 104 NONAME - _ZN21CntDefaultViewManagerD0Ev @ 105 NONAME - _ZN21CntDefaultViewManagerD1Ev @ 106 NONAME - _ZN21CntDefaultViewManagerD2Ev @ 107 NONAME - _ZNK11CntEditView10metaObjectEv @ 108 NONAME - _ZNK11CntEditView4viewEv @ 109 NONAME - _ZNK11CntEditView6viewIdEv @ 110 NONAME - _ZNK11CntEditView9isDefaultEv @ 111 NONAME - _ZNK13CntMainWindow10metaObjectEv @ 112 NONAME - _ZNK14CntActionPopup10metaObjectEv @ 113 NONAME - _ZNK16CntViewNavigator10metaObjectEv @ 114 NONAME - _ZNK18CntContactCardView10metaObjectEv @ 115 NONAME - _ZNK18CntContactCardView4viewEv @ 116 NONAME - _ZNK18CntContactCardView6viewIdEv @ 117 NONAME - _ZNK18CntContactCardView9isDefaultEv @ 118 NONAME - _ZNK20CntBaseSelectionView10metaObjectEv @ 119 NONAME - _ZNK20CntBaseSelectionView4viewEv @ 120 NONAME - _ZNK20CntBaseSelectionView9isDefaultEv @ 121 NONAME - _ZNK21CntDefaultViewManager10metaObjectEv @ 122 NONAME - _ZTI11CntEditView @ 123 NONAME - _ZTI13CntMainWindow @ 124 NONAME - _ZTI14CntActionPopup @ 125 NONAME - _ZTI16CntViewNavigator @ 126 NONAME - _ZTI18CntContactCardView @ 127 NONAME - _ZTI20CntBaseSelectionView @ 128 NONAME - _ZTI21CntDefaultViewFactory @ 129 NONAME - _ZTI21CntDefaultViewManager @ 130 NONAME - _ZTV11CntEditView @ 131 NONAME - _ZTV13CntMainWindow @ 132 NONAME - _ZTV14CntActionPopup @ 133 NONAME - _ZTV16CntViewNavigator @ 134 NONAME - _ZTV18CntContactCardView @ 135 NONAME - _ZTV20CntBaseSelectionView @ 136 NONAME - _ZTV21CntDefaultViewFactory @ 137 NONAME - _ZTV21CntDefaultViewManager @ 138 NONAME - _ZThn8_N11CntEditView10deactivateEv @ 139 NONAME - _ZThn8_N11CntEditView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 140 NONAME - _ZThn8_N11CntEditViewD0Ev @ 141 NONAME - _ZThn8_N11CntEditViewD1Ev @ 142 NONAME - _ZThn8_N13CntMainWindowD0Ev @ 143 NONAME - _ZThn8_N13CntMainWindowD1Ev @ 144 NONAME - _ZThn8_N18CntContactCardView10deactivateEv @ 145 NONAME - _ZThn8_N18CntContactCardView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 146 NONAME - _ZThn8_N18CntContactCardViewD0Ev @ 147 NONAME - _ZThn8_N18CntContactCardViewD1Ev @ 148 NONAME - _ZThn8_N20CntBaseSelectionView10deactivateEv @ 149 NONAME - _ZThn8_N20CntBaseSelectionView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 150 NONAME - _ZThn8_N20CntBaseSelectionViewD0Ev @ 151 NONAME - _ZThn8_N20CntBaseSelectionViewD1Ev @ 152 NONAME - _ZThn8_N21CntDefaultViewManager10changeViewE4QMapIi8QVariantE @ 153 NONAME - _ZThn8_N21CntDefaultViewManager14contactManagerERK7QString @ 154 NONAME - _ZThn8_N21CntDefaultViewManager4backE4QMapIi8QVariantEb @ 155 NONAME - _ZThn8_N21CntDefaultViewManagerD0Ev @ 156 NONAME - _ZThn8_N21CntDefaultViewManagerD1Ev @ 157 NONAME - _ZThn8_NK11CntEditView4viewEv @ 158 NONAME - _ZThn8_NK11CntEditView6viewIdEv @ 159 NONAME - _ZThn8_NK11CntEditView9isDefaultEv @ 160 NONAME - _ZThn8_NK18CntContactCardView4viewEv @ 161 NONAME - _ZThn8_NK18CntContactCardView6viewIdEv @ 162 NONAME - _ZThn8_NK18CntContactCardView9isDefaultEv @ 163 NONAME - _ZThn8_NK20CntBaseSelectionView4viewEv @ 164 NONAME - _ZThn8_NK20CntBaseSelectionView9isDefaultEv @ 165 NONAME + _ZN13CntKeyGrabber11eventFilterEP7QObjectP6QEvent @ 15 NONAME + _ZN13CntKeyGrabber11qt_metacallEN11QMetaObject4CallEiPPv @ 16 NONAME + _ZN13CntKeyGrabber11qt_metacastEPKc @ 17 NONAME + _ZN13CntKeyGrabber16staticMetaObjectE @ 18 NONAME DATA 16 + _ZN13CntKeyGrabber19getStaticMetaObjectEv @ 19 NONAME + _ZN13CntKeyGrabberC1EP12HbMainWindowP7QObject @ 20 NONAME + _ZN13CntKeyGrabberC2EP12HbMainWindowP7QObject @ 21 NONAME + _ZN13CntKeyGrabberD0Ev @ 22 NONAME + _ZN13CntKeyGrabberD1Ev @ 23 NONAME + _ZN13CntKeyGrabberD2Ev @ 24 NONAME + _ZN13CntMainWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 25 NONAME + _ZN13CntMainWindow11qt_metacastEPKc @ 26 NONAME + _ZN13CntMainWindow16staticMetaObjectE @ 27 NONAME DATA 16 + _ZN13CntMainWindow19getStaticMetaObjectEv @ 28 NONAME + _ZN13CntMainWindowC1EP7QWidgeti @ 29 NONAME + _ZN13CntMainWindowC2EP7QWidgeti @ 30 NONAME + _ZN13CntMainWindowD0Ev @ 31 NONAME + _ZN13CntMainWindowD1Ev @ 32 NONAME + _ZN13CntMainWindowD2Ev @ 33 NONAME + _ZN14CntActionPopup11qt_metacallEN11QMetaObject4CallEiPPv @ 34 NONAME + _ZN14CntActionPopup11qt_metacastEPKc @ 35 NONAME + _ZN14CntActionPopup15showActionPopupE7QString @ 36 NONAME + _ZN14CntActionPopup16staticMetaObjectE @ 37 NONAME DATA 16 + _ZN14CntActionPopup19getStaticMetaObjectEv @ 38 NONAME + _ZN14CntActionPopup20executeContactActionERN10QtMobility8QContactENS0_14QContactDetailE7QString @ 39 NONAME + _ZN14CntActionPopup24actionPopupCancelPressedEv @ 40 NONAME + _ZN14CntActionPopupC1EPN10QtMobility8QContactE @ 41 NONAME + _ZN14CntActionPopupC2EPN10QtMobility8QContactE @ 42 NONAME + _ZN14CntActionPopupD0Ev @ 43 NONAME + _ZN14CntActionPopupD1Ev @ 44 NONAME + _ZN14CntActionPopupD2Ev @ 45 NONAME + _ZN16CntViewNavigator11qt_metacallEN11QMetaObject4CallEiPPv @ 46 NONAME + _ZN16CntViewNavigator11qt_metacastEPKc @ 47 NONAME + _ZN16CntViewNavigator12addExceptionERKiS1_ @ 48 NONAME + _ZN16CntViewNavigator12removeEffectERKi @ 49 NONAME + _ZN16CntViewNavigator15removeExceptionERKi @ 50 NONAME + _ZN16CntViewNavigator16staticMetaObjectE @ 51 NONAME DATA 16 + _ZN16CntViewNavigator19getStaticMetaObjectEv @ 52 NONAME + _ZN16CntViewNavigator4backER6QFlagsIN2Hb14ViewSwitchFlagEEb @ 53 NONAME + _ZN16CntViewNavigator4nextERKiR6QFlagsIN2Hb14ViewSwitchFlagEE @ 54 NONAME + _ZN16CntViewNavigator7addRootERKi @ 55 NONAME + _ZN16CntViewNavigator9addEffectERKiS1_ @ 56 NONAME + _ZN16CntViewNavigatorC1EP7QObject @ 57 NONAME + _ZN16CntViewNavigatorC2EP7QObject @ 58 NONAME + _ZN16CntViewNavigatorD0Ev @ 59 NONAME + _ZN16CntViewNavigatorD1Ev @ 60 NONAME + _ZN16CntViewNavigatorD2Ev @ 61 NONAME + _ZN18CntContactCardView10deactivateEv @ 62 NONAME + _ZN18CntContactCardView11backPressedEv @ 63 NONAME + _ZN18CntContactCardView11qt_metacallEN11QMetaObject4CallEiPPv @ 64 NONAME + _ZN18CntContactCardView11qt_metacastEPKc @ 65 NONAME + _ZN18CntContactCardView13addToContactsEv @ 66 NONAME + _ZN18CntContactCardView13viewActivatedEP22CntAbstractViewManager4QMapIi8QVariantE @ 67 NONAME + _ZN18CntContactCardView16staticMetaObjectE @ 68 NONAME DATA 16 + _ZN18CntContactCardView19getStaticMetaObjectEv @ 69 NONAME + _ZN18CntContactCardView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 70 NONAME + _ZN18CntContactCardViewC1Eb @ 71 NONAME + _ZN18CntContactCardViewC2Eb @ 72 NONAME + _ZN18CntContactCardViewD0Ev @ 73 NONAME + _ZN18CntContactCardViewD1Ev @ 74 NONAME + _ZN18CntContactCardViewD2Ev @ 75 NONAME + _ZN20CntBaseSelectionView10deactivateEv @ 76 NONAME + _ZN20CntBaseSelectionView10viewClosedEv @ 77 NONAME + _ZN20CntBaseSelectionView10viewOpenedEP22CntAbstractViewManager4QMapIi8QVariantE @ 78 NONAME + _ZN20CntBaseSelectionView11qt_metacallEN11QMetaObject4CallEiPPv @ 79 NONAME + _ZN20CntBaseSelectionView11qt_metacastEPKc @ 80 NONAME + _ZN20CntBaseSelectionView16staticMetaObjectE @ 81 NONAME DATA 16 + _ZN20CntBaseSelectionView19getStaticMetaObjectEv @ 82 NONAME + _ZN20CntBaseSelectionView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 83 NONAME + _ZN20CntBaseSelectionViewC2Ev @ 84 NONAME + _ZN20CntBaseSelectionViewD0Ev @ 85 NONAME + _ZN20CntBaseSelectionViewD1Ev @ 86 NONAME + _ZN20CntBaseSelectionViewD2Ev @ 87 NONAME + _ZN21CntDefaultViewFactory10createViewEi @ 88 NONAME + _ZN21CntDefaultViewFactory16createPluginViewEi @ 89 NONAME + _ZN21CntDefaultViewFactoryC1Ev @ 90 NONAME + _ZN21CntDefaultViewFactoryC2Ev @ 91 NONAME + _ZN21CntDefaultViewFactoryD0Ev @ 92 NONAME + _ZN21CntDefaultViewFactoryD1Ev @ 93 NONAME + _ZN21CntDefaultViewFactoryD2Ev @ 94 NONAME + _ZN21CntDefaultViewManager10changeViewE4QMapIi8QVariantE @ 95 NONAME + _ZN21CntDefaultViewManager10switchViewE4QMapIi8QVariantE6QFlagsIN2Hb14ViewSwitchFlagEE @ 96 NONAME + _ZN21CntDefaultViewManager11qt_metacallEN11QMetaObject4CallEiPPv @ 97 NONAME + _ZN21CntDefaultViewManager11qt_metacastEPKc @ 98 NONAME + _ZN21CntDefaultViewManager13currentViewIdEv @ 99 NONAME + _ZN21CntDefaultViewManager13deleteOldViewEv @ 100 NONAME + _ZN21CntDefaultViewManager14contactManagerERK7QString @ 101 NONAME + _ZN21CntDefaultViewManager14setViewFactoryEP22CntAbstractViewFactory @ 102 NONAME + _ZN21CntDefaultViewManager16setViewNavigatorEP16CntViewNavigator @ 103 NONAME + _ZN21CntDefaultViewManager16staticMetaObjectE @ 104 NONAME DATA 16 + _ZN21CntDefaultViewManager17removeCurrentViewEv @ 105 NONAME + _ZN21CntDefaultViewManager19getStaticMetaObjectEv @ 106 NONAME + _ZN21CntDefaultViewManager4backE4QMapIi8QVariantEb @ 107 NONAME + _ZN21CntDefaultViewManager7cleanupEv @ 108 NONAME + _ZN21CntDefaultViewManager8closeAppEv @ 109 NONAME + _ZN21CntDefaultViewManagerC1EP12HbMainWindow @ 110 NONAME + _ZN21CntDefaultViewManagerC2EP12HbMainWindow @ 111 NONAME + _ZN21CntDefaultViewManagerD0Ev @ 112 NONAME + _ZN21CntDefaultViewManagerD1Ev @ 113 NONAME + _ZN21CntDefaultViewManagerD2Ev @ 114 NONAME + _ZNK11CntEditView10metaObjectEv @ 115 NONAME + _ZNK11CntEditView4viewEv @ 116 NONAME + _ZNK11CntEditView6viewIdEv @ 117 NONAME + _ZNK11CntEditView9isDefaultEv @ 118 NONAME + _ZNK13CntKeyGrabber10metaObjectEv @ 119 NONAME + _ZNK13CntMainWindow10metaObjectEv @ 120 NONAME + _ZNK14CntActionPopup10metaObjectEv @ 121 NONAME + _ZNK16CntViewNavigator10metaObjectEv @ 122 NONAME + _ZNK18CntContactCardView10metaObjectEv @ 123 NONAME + _ZNK18CntContactCardView4viewEv @ 124 NONAME + _ZNK18CntContactCardView6viewIdEv @ 125 NONAME + _ZNK18CntContactCardView9isDefaultEv @ 126 NONAME + _ZNK20CntBaseSelectionView10metaObjectEv @ 127 NONAME + _ZNK20CntBaseSelectionView4viewEv @ 128 NONAME + _ZNK20CntBaseSelectionView9isDefaultEv @ 129 NONAME + _ZNK21CntDefaultViewManager10metaObjectEv @ 130 NONAME + _ZTI11CntEditView @ 131 NONAME + _ZTI13CntKeyGrabber @ 132 NONAME + _ZTI13CntMainWindow @ 133 NONAME + _ZTI14CntActionPopup @ 134 NONAME + _ZTI16CntViewNavigator @ 135 NONAME + _ZTI18CntContactCardView @ 136 NONAME + _ZTI20CntBaseSelectionView @ 137 NONAME + _ZTI21CntDefaultViewFactory @ 138 NONAME + _ZTI21CntDefaultViewManager @ 139 NONAME + _ZTV11CntEditView @ 140 NONAME + _ZTV13CntKeyGrabber @ 141 NONAME + _ZTV13CntMainWindow @ 142 NONAME + _ZTV14CntActionPopup @ 143 NONAME + _ZTV16CntViewNavigator @ 144 NONAME + _ZTV18CntContactCardView @ 145 NONAME + _ZTV20CntBaseSelectionView @ 146 NONAME + _ZTV21CntDefaultViewFactory @ 147 NONAME + _ZTV21CntDefaultViewManager @ 148 NONAME + _ZThn8_N11CntEditView10deactivateEv @ 149 NONAME + _ZThn8_N11CntEditView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 150 NONAME + _ZThn8_N11CntEditViewD0Ev @ 151 NONAME + _ZThn8_N11CntEditViewD1Ev @ 152 NONAME + _ZThn8_N13CntMainWindowD0Ev @ 153 NONAME + _ZThn8_N13CntMainWindowD1Ev @ 154 NONAME + _ZThn8_N18CntContactCardView10deactivateEv @ 155 NONAME + _ZThn8_N18CntContactCardView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 156 NONAME + _ZThn8_N18CntContactCardViewD0Ev @ 157 NONAME + _ZThn8_N18CntContactCardViewD1Ev @ 158 NONAME + _ZThn8_N20CntBaseSelectionView10deactivateEv @ 159 NONAME + _ZThn8_N20CntBaseSelectionView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 160 NONAME + _ZThn8_N20CntBaseSelectionViewD0Ev @ 161 NONAME + _ZThn8_N20CntBaseSelectionViewD1Ev @ 162 NONAME + _ZThn8_N21CntDefaultViewManager10changeViewE4QMapIi8QVariantE @ 163 NONAME + _ZThn8_N21CntDefaultViewManager14contactManagerERK7QString @ 164 NONAME + _ZThn8_N21CntDefaultViewManager4backE4QMapIi8QVariantEb @ 165 NONAME + _ZThn8_N21CntDefaultViewManagerD0Ev @ 166 NONAME + _ZThn8_N21CntDefaultViewManagerD1Ev @ 167 NONAME + _ZThn8_NK11CntEditView4viewEv @ 168 NONAME + _ZThn8_NK11CntEditView6viewIdEv @ 169 NONAME + _ZThn8_NK11CntEditView9isDefaultEv @ 170 NONAME + _ZThn8_NK18CntContactCardView4viewEv @ 171 NONAME + _ZThn8_NK18CntContactCardView6viewIdEv @ 172 NONAME + _ZThn8_NK18CntContactCardView9isDefaultEv @ 173 NONAME + _ZThn8_NK20CntBaseSelectionView4viewEv @ 174 NONAME + _ZThn8_NK20CntBaseSelectionView9isDefaultEv @ 175 NONAME + _ZN18CntGroupMemberView10deactivateEv @ 176 NONAME + _ZN18CntGroupMemberView11backPressedEv @ 177 NONAME + _ZN18CntGroupMemberView11qt_metacallEN11QMetaObject4CallEiPPv @ 178 NONAME + _ZN18CntGroupMemberView11qt_metacastEPKc @ 179 NONAME + _ZN18CntGroupMemberView16staticMetaObjectE @ 180 NONAME DATA 16 + _ZN18CntGroupMemberView19getStaticMetaObjectEv @ 181 NONAME + _ZN18CntGroupMemberView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 182 NONAME + _ZN18CntGroupMemberViewC1Ev @ 183 NONAME + _ZN18CntGroupMemberViewC2Ev @ 184 NONAME + _ZN18CntGroupMemberViewD0Ev @ 185 NONAME + _ZN18CntGroupMemberViewD1Ev @ 186 NONAME + _ZN18CntGroupMemberViewD2Ev @ 187 NONAME + _ZNK18CntGroupMemberView10metaObjectEv @ 188 NONAME + _ZNK18CntGroupMemberView4viewEv @ 189 NONAME + _ZNK18CntGroupMemberView6viewIdEv @ 190 NONAME + _ZNK18CntGroupMemberView9isDefaultEv @ 191 NONAME + _ZTI18CntGroupMemberView @ 192 NONAME + _ZTV18CntGroupMemberView @ 193 NONAME + _ZThn8_N18CntGroupMemberView10deactivateEv @ 194 NONAME + _ZThn8_N18CntGroupMemberView8activateEP22CntAbstractViewManager4QMapIi8QVariantE @ 195 NONAME + _ZThn8_N18CntGroupMemberViewD0Ev @ 196 NONAME + _ZThn8_N18CntGroupMemberViewD1Ev @ 197 NONAME + _ZThn8_NK18CntGroupMemberView4viewEv @ 198 NONAME + _ZThn8_NK18CntGroupMemberView6viewIdEv @ 199 NONAME + _ZThn8_NK18CntGroupMemberView9isDefaultEv @ 200 NONAME diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntbaseselectionview.h --- a/phonebookui/pbkcommonui/inc/cntbaseselectionview.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntbaseselectionview.h Thu Aug 05 14:31:09 2010 +0300 @@ -48,10 +48,7 @@ HbView* view() const; virtual int viewId() const = 0; - -private slots: - void closeView(); - + protected: HbDocumentLoader* mDocument; HbListView* mListView; diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntcontactcardview_p.h --- a/phonebookui/pbkcommonui/inc/cntcontactcardview_p.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntcontactcardview_p.h Thu Aug 05 14:31:09 2010 +0300 @@ -25,7 +25,6 @@ #include #include "cntglobal.h" #include -#include class HbView; class HbScrollArea; @@ -48,7 +47,6 @@ class HbSelectionDialog; class CntPresenceListener; class HbLabel; -class XQAiwRequest; QTM_BEGIN_NAMESPACE class QContact; @@ -82,7 +80,10 @@ public: CntContactCardViewPrivate(bool isTemporary); - virtual ~CntContactCardViewPrivate(); + virtual ~CntContactCardViewPrivate(); + +protected: + bool eventFilter(QObject *obj, QEvent *event); public slots: void onItemActivated(); @@ -95,7 +96,6 @@ void sendToHs(); void onAddedToContacts(); void mapTileStatusReceived(int contactid, int addressType, int status); - void keyPressed(QKeyEvent *event); private slots: void sendBusinessCard(); @@ -154,7 +154,7 @@ void executeAction(QContact& aContact, const QContactDetail& aDetail, const QString& aAction, CntContactCardDetailItem* aItem); void executeDynamicAction(QContact& aContact, QContactDetail aDetail, QContactActionDescriptor aActionDescriptor); - void sendKeyPressed(); + bool sendKeyPressed(); #ifdef PBK_UNIT_TEST public: #else @@ -180,9 +180,7 @@ QContactAction *mContactAction; HbAction *mBackKey; CntImageLabel *mImageLabel; - XQApplicationManager mAppManager; - XQServiceRequest *mHighwayService; - XQAiwRequest *mRequest; // own + XQServiceRequest *mHighwayService; HbIcon *mVCardIcon; CntViewParameters mArgs; ShareUi *mShareUi; diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntdetailconst.h --- a/phonebookui/pbkcommonui/inc/cntdetailconst.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntdetailconst.h Thu Aug 05 14:31:09 2010 +0300 @@ -52,6 +52,8 @@ const int CNT_SPOUSE_MAXLENGTH = 50; const int CNT_CHILDREN_MAXLENGTH = 250; +const int CNT_GROUPNAME_MAXLENGTH = 50; + const QDate CNT_DATEPICKER_FROM(1900,0,0); const QDate CNT_DATEPICKER_TO(2050,0,0); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntgroupactionsview.h --- a/phonebookui/pbkcommonui/inc/cntgroupactionsview.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntgroupactionsview.h Thu Aug 05 14:31:09 2010 +0300 @@ -35,6 +35,7 @@ QTM_BEGIN_NAMESPACE class QContact; +class QContactAction; QTM_END_NAMESPACE QTM_USE_NAMESPACE @@ -50,6 +51,9 @@ HbView* view() const { return mView; } int viewId() const { return groupActionsView; } +protected: + bool eventFilter(QObject *obj, QEvent *event); + public: CntGroupActionsView(); ~CntGroupActionsView(); @@ -66,6 +70,7 @@ void executeAction(QContact&, QContactDetail, QString); void actionExecuted(CntActionLauncher* aAction); void actionCancelled(); + void executeConferenceCallAction(QContact& aContact, const QContactDetail& aDetail, const QString& aAction); #ifdef PBK_UNIT_TEST public: @@ -73,6 +78,7 @@ private: #endif void populatelist(QString label,HbIcon icon, QString secondaryText, QString action); + bool sendKeyPressed(); #ifdef PBK_UNIT_TEST public: @@ -92,6 +98,7 @@ int mPopupCount; QStringList mEmailActionParams; QVariantMap mMessageActionParams; + bool mIsExecutingAction; }; #endif // CNTGROUPACTIONSVIEW_H diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntgroupdeletepopup.h --- a/phonebookui/pbkcommonui/inc/cntgroupdeletepopup.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntgroupdeletepopup.h Thu Aug 05 14:31:09 2010 +0300 @@ -35,6 +35,7 @@ class CntGroupDeletePopup : public HbSelectionDialog { Q_OBJECT + friend class TestCntGroupDeletePopup; public: CntGroupDeletePopup(QContactManager *manager, QGraphicsItem *parent = 0); @@ -43,12 +44,7 @@ void populateListOfGroup(); QList deleteGroup() const; -#ifdef PBK_UNIT_TEST -public: -#else private: -#endif - HbListView *mListView; QContactManager *mContactManager; CntGroupDeletePopupModel *mModel; }; diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntgroupmemberview.h --- a/phonebookui/pbkcommonui/inc/cntgroupmemberview.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntgroupmemberview.h Thu Aug 05 14:31:09 2010 +0300 @@ -19,32 +19,14 @@ #define CNTGROUPMEMBERVIEW_H #include -#include -#include -#include #include +#include "cntglobal.h" -class CntListModel; -class CntAbstractViewManager; -class CntContactCardHeadingItem; +class CntGroupMemberViewPrivate; class HbView; -class HbAction; -class HbListView; -class HbAbstractViewItem; -class ThumbnailManager; -class QModelIndex; -class CntImageLabel; -class HbDocumentLoader; -QTM_BEGIN_NAMESPACE -class QContact; -QTM_END_NAMESPACE - -QTM_USE_NAMESPACE - -class CntGroupMemberView : public QObject, public CntAbstractView +class QTPBK_EXPORT CntGroupMemberView : public QObject, public CntAbstractView { - friend class TestCntGroupMemberView; Q_OBJECT public: @@ -54,62 +36,17 @@ public: // From CntAbstractView void activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs ); void deactivate(); - bool isDefault() const { return false; } - HbView* view() const { return mView; } - int viewId() const { return groupMemberView; } - -public slots: - void setOrientation(Qt::Orientation orientation); - - -private slots: - void showPreviousView(); - void openGroupActions(); - void manageMembers(); - void handleManageMembers(QSet aIds); - void editGroup(); - void deleteGroup(); - void handleDeleteGroup(int action); - - void showContextMenu(HbAbstractViewItem *item, const QPointF &coords); - void handleMenu(HbAction* action); + bool isDefault() const; + HbView* view() const; + int viewId() const; - void showContactView(const QModelIndex &index); - void removeFromGroup(const QModelIndex &index); - void editContact(const QModelIndex &index); - void thumbnailReady(const QPixmap& pixmap, void *data, int id, int error); - void openImageEditor(); - - void drawImageMenu(const QPointF &aCoords); - void createModel(); - - void removeImage(); - void sendToHs(const QModelIndex &index); - -private: - QContactManager* getContactManager(); - void setRelationship(QSet &aLocalId, - QList &aRelationshipList); - +signals: + void backPressed(); + private: - QContact* mGroupContact; // own - CntAbstractViewManager* mViewManager; - HbDocumentLoader mDocumentLoader; - HbView* mView; // own - HbAction* mSoftkey; // owned by view - CntContactCardHeadingItem* mHeadingItem; // owned by layout - ThumbnailManager* mThumbnailManager; // own - HbAction* mManageAction; // owned by view - HbAction* mDeleteAction; // owned by view - HbAction* mShowActionsAction; // owned by view - HbAction* mEditGroupAction; // owned by view - CntListModel* mModel; // own - CntImageLabel* mImageLabel; - HbListView* mListView; // owned by layout - HbDocumentLoader* mDocument; - QList mOriginalGroupMembers; - QContactAvatar* mAvatar; - CntViewParameters mArgs; + CntGroupMemberViewPrivate* const d_ptr; + Q_DECLARE_PRIVATE_D(d_ptr, CntGroupMemberView) + Q_DISABLE_COPY(CntGroupMemberView) }; #endif // CNTGROUPMEMBERVIEW_H diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntgroupmemberview_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/inc/cntgroupmemberview_p.h Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,119 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef CNTGROUPMEMBERVIEW_P_H +#define CNTGROUPMEMBERVIEW_P_H + +#include "cntgroupmemberview.h" +#include "cntglobal.h" + +#include +#include +#include +#include +#include + +class CntListModel; +class CntAbstractViewManager; +class CntContactCardHeadingItem; +class HbView; +class HbAction; +class HbListView; +class HbAbstractViewItem; +class ThumbnailManager; +class QModelIndex; +class CntImageLabel; +class HbDocumentLoader; + +QTM_BEGIN_NAMESPACE +class QContact; +QTM_END_NAMESPACE + +QTM_USE_NAMESPACE + +class CntGroupMemberViewPrivate : public QObject +{ + Q_OBJECT + +public: + CntGroupMemberViewPrivate(); + ~CntGroupMemberViewPrivate(); + + void activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs ); + void deactivate(); + +public: + CntGroupMemberView* q_ptr; + +private slots: + void showPreviousView(); + void openGroupActions(); + void manageMembers(); + void handleManageMembers(QSet aIds); + void editGroup(); + void deleteGroup(); + void handleDeleteGroup(int action); // Delete action + + void showContextMenu(HbAbstractViewItem *item, const QPointF &coords); // item owned by HbListView + void handleMenu(HbAction* action); + + void showContactView(const QModelIndex &index); + void removeFromGroup(const QModelIndex &index); + void editContact(const QModelIndex &index); + void thumbnailReady(const QPixmap& pixmap, void *data, int id, int error); + void openImageEditor(); + void setOrientation(Qt::Orientation orientation); + + void drawImageMenu(const QPointF &aCoords); + void createModel(); + + void removeImage(); + void sendToHs(const QModelIndex &index); + +private: + QContactManager* getContactManager(); + void setRelationship(QSet &aLocalId, + QList &aRelationshipList); + +private: + Q_DECLARE_PUBLIC(CntGroupMemberView) + friend class TestCntGroupMemberView; + +private: + QContact* mGroupContact; // own + CntAbstractViewManager* mViewManager; + HbDocumentLoader mDocumentLoader; + HbView* mView; // own + HbAction* mSoftkey; // owned by view + CntContactCardHeadingItem* mHeadingItem; // owned by layout + ThumbnailManager* mThumbnailManager; // own + HbAction* mManageAction; // owned by view + HbAction* mDeleteAction; // owned by view + HbAction* mShowActionsAction; // owned by view + HbAction* mEditGroupAction; // owned by view + CntListModel* mModel; // own + CntImageLabel* mImageLabel; + HbListView* mListView; // owned by layout + HbDocumentLoader* mDocument; + QList mOriginalGroupMembers; + QContactAvatar* mAvatar; + CntViewParameters mArgs; +}; + +#endif // CNTGROUPMEMBERVIEW_P_H + +// EOF diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntimportsview.h --- a/phonebookui/pbkcommonui/inc/cntimportsview.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntimportsview.h Thu Aug 05 14:31:09 2010 +0300 @@ -53,6 +53,7 @@ void importFetchResultReceivedADN(); void importFetchResultReceivedSDN(); void adnCacheStatusReady(CntSimUtility::CacheStatus& cacheStatus, int error); + void endKeyPressed(); public: CntImportsView(); @@ -117,6 +118,7 @@ int mSdnStoreEntries; bool mSimError; bool mWaitingForAdnCache; + bool mImportInProgress; }; #endif /* CNTIMPORTSVIEW_H_ */ diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntkeygrabber.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/inc/cntkeygrabber.h Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,46 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef CNTKEYGRABBER_H +#define CNTKEYGRABBER_H + +#include + +#include "cntglobal.h" + +class HbMainWindow; +class XQAiwRequest; + +class QTPBK_EXPORT CntKeyGrabber : public QObject +{ + Q_OBJECT + friend class TestCntKeyGrabber; + +public: + CntKeyGrabber(HbMainWindow *window, QObject *parent = NULL); + ~CntKeyGrabber(); + +protected: + bool eventFilter(QObject *obj, QEvent *event); + +private: + HbMainWindow *mMainWindow; + XQAiwRequest *mRequest; + +}; + +#endif // CNTKEYGRABBER_H diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntmainwindow.h --- a/phonebookui/pbkcommonui/inc/cntmainwindow.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntmainwindow.h Thu Aug 05 14:31:09 2010 +0300 @@ -19,7 +19,6 @@ #define CNTMAINWINDOW_H #include -#include #include "cntglobal.h" #include @@ -29,28 +28,15 @@ class QTPBK_EXPORT CntMainWindow : public HbMainWindow { Q_OBJECT + friend class TestCntMainWindow; public: CntMainWindow(QWidget *parent=0, int defaultView = namesView); virtual ~CntMainWindow(); - void keyPressEvent(QKeyEvent *event); - -signals: - - void keyPressed(QKeyEvent *event); - -public slots: - -private slots: - -#ifdef PBK_UNIT_TEST -public: -#else -protected: -#endif +private: CntDefaultViewManager *mViewManager; - int mDefaultView; + int mDefaultView; }; diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntmycardselectionview.h --- a/phonebookui/pbkcommonui/inc/cntmycardselectionview.h Fri Jul 23 12:43:48 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#ifndef CNTMYCARDSELECTIONVIEW_H -#define CNTMYCARDSELECTIONVIEW_H - -#include "cntbaseselectionview.h" - -class QModelIndex; - -class CntMyCardSelectionView : public CntBaseSelectionView -{ - Q_OBJECT -public: - CntMyCardSelectionView(); - ~CntMyCardSelectionView(); - -public: - int viewId() const { return myCardSelectionView; } - -private slots: - void onListViewActivated(const QModelIndex& index); - -#ifdef PBK_UNIT_TEST -public: -#else -private: -#endif - void removeFromGroup(const QContact* contact); -}; - -#endif /* CNTMYCARDSELECTIONVIEW_H */ diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/inc/cntvcarddetailhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/inc/cntvcarddetailhandler.h Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,69 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +#include +#include + +#ifndef CNTVCARDDETAILHANDLER_H +#define CNTVCARDDETAILHANDLER_H + +class CntVCardDetailHandler : public QVersitContactExporterDetailHandlerV2 +{ +public: + inline CntVCardDetailHandler(){} + inline void detailProcessed(const QContact& contact, + const QContactDetail& detail, + const QSet& processedFields, + const QVersitDocument& document, + QList* toBeRemoved, + QList* toBeAdded) + { + Q_UNUSED(contact) + Q_UNUSED(detail) + Q_UNUSED(processedFields) + Q_UNUSED(document) + Q_UNUSED(toBeRemoved) + Q_UNUSED(toBeAdded) + } + + inline void contactProcessed(const QContact& contact, + QVersitDocument* document) + { + Q_UNUSED(contact) + // If there is not a FN or N value use an empty FN value. This ensures + // that the vCard created is valid. vCard standard requires a vCard to + // have atlease a name (N) of formatted name (FN) field to be valid. + bool vCardValid(false); + foreach (const QVersitProperty& property, document->properties()) { + const QString& name = property.name(); + if (name == QLatin1String("FN") || name == QLatin1String("N")) { + vCardValid = true; + break; + } + } + + if (!vCardValid) { + QVersitProperty fnProperty; + fnProperty.setName(QLatin1String("FN")); + fnProperty.setValue(QString()); + document->addProperty(fnProperty); + } + } +}; + +#endif diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/pbkcommonui.pro --- a/phonebookui/pbkcommonui/pbkcommonui.pro Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/pbkcommonui.pro Thu Aug 05 14:31:09 2010 +0300 @@ -97,9 +97,9 @@ inc/cnteditviewdetailitem.h \ inc/cnteditviewheadingitem.h \ inc/cntstringmapper.h \ - inc/cntmycardselectionview.h \ inc/cntmycardview.h \ inc/cntgroupmemberview.h \ + inc/cntgroupmemberview_p.h \ inc/cntgroupactionsview.h \ inc/cntgroupeditormodel.h \ inc/cnthistoryview.h \ @@ -140,7 +140,8 @@ ../../inc/cntdebug.h \ inc/cntactionpopup_p.h \ inc/cntactionpopup.h \ - inc/cntsavemanager.h + inc/cntsavemanager.h \ + inc/cntkeygrabber.h SOURCES += \ @@ -176,9 +177,9 @@ src/cnteditviewdetailitem.cpp \ src/cnteditviewheadingitem.cpp \ src/cnteditviewseparator.cpp \ - src/cntmycardselectionview.cpp \ src/cntmycardview.cpp \ src/cntgroupmemberview.cpp\ + src/cntgroupmemberview_p.cpp\ src/cntgroupactionsview.cpp \ src/cntgroupeditormodel.cpp \ src/cnthistoryview.cpp \ @@ -215,7 +216,26 @@ src/cntcommondetailviewitem.cpp \ src/cntactionpopup_p.cpp \ src/cntactionpopup.cpp \ - src/cntsavemanager.cpp + src/cntsavemanager.cpp \ + src/cntkeygrabber.cpp + +DOCML += resources/contacts_contactcard.docml \ + resources/contacts_ev.docml \ + resources/contacts_mc.docml \ + resources/contacts_if.docml \ + resources/contacts_list.docml \ + resources/contacts_namelist.docml \ + resources/contacts_groupactions.docml \ + resources/contacts_history.docml \ + resources/contacts_editor.docml \ + resources/contacts_sim.docml \ + resources/contacts_favorite.docml \ + resources/contacts_favmember.docml \ + resources/contacts_collections.docml \ + resources/contacts_groupmembers.docml \ + resources/contacts_detail_editor.docml \ + resources/contacts_fetchdialog.docml \ + resources/contacts_settings.docml RESOURCES += resources/pbkcommonui.qrc diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/resources/contacts_actions.docml --- a/phonebookui/pbkcommonui/resources/contacts_actions.docml Fri Jul 23 12:43:48 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/resources/pbkcommonui.qrc --- a/phonebookui/pbkcommonui/resources/pbkcommonui.qrc Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/resources/pbkcommonui.qrc Thu Aug 05 14:31:09 2010 +0300 @@ -1,24 +1,23 @@ - contacts_actions.docml - contacts_contactcard.docml - contacts_ev.docml - contacts_mc.docml - contacts_if.docml - contacts_list.docml - contacts_namelist.docml - contacts_groupactions.docml - contacts_history.docml - contacts_editor.docml - contacts_sim.docml - contacts_favorite.docml - contacts_favmember.docml - contacts_collections.docml - contacts_groupmembers.docml - contacts_detail_editor.docml - contacts_fetchdialog.docml - contacts_settings.docml + contacts_contactcard.docml.bin + contacts_ev.docml.bin + contacts_mc.docml.bin + contacts_if.docml.bin + contacts_list.docml.bin + contacts_namelist.docml.bin + contacts_groupactions.docml.bin + contacts_history.docml.bin + contacts_editor.docml.bin + contacts_sim.docml.bin + contacts_favorite.docml.bin + contacts_favmember.docml.bin + contacts_collections.docml.bin + contacts_groupmembers.docml.bin + contacts_detail_editor.docml.bin + contacts_fetchdialog.docml.bin + contacts_settings.docml.bin style/cnteditviewlistitem.hblistviewitem.widgetml diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntbaseselectionview.cpp --- a/phonebookui/pbkcommonui/src/cntbaseselectionview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntbaseselectionview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -52,7 +52,7 @@ indexFeedback->setItemView(mListView); mSoftkey = new HbAction(Hb::BackNaviAction, mView); - connect( mSoftkey, SIGNAL(triggered()), this, SLOT(closeView()) ); + connect( mSoftkey, SIGNAL(triggered()), this, SIGNAL(viewClosed()) ); } CntBaseSelectionView::~CntBaseSelectionView() @@ -105,12 +105,4 @@ return mView; } -void CntBaseSelectionView::closeView() -{ - emit viewClosed(); - - CntViewParameters args; - mMgr->back( args ); -} - // EOF diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntcollectionview.cpp --- a/phonebookui/pbkcommonui/src/cntcollectionview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntcollectionview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -22,6 +22,7 @@ #include "cntextensionmanager.h" #include "cntglobal.h" #include "cntfavourite.h" +#include "cntdetailconst.h" #include "cntdebug.h" #include @@ -30,7 +31,7 @@ #include #include #include -#include +#include #include #include #include @@ -41,6 +42,7 @@ #include #include +#include #include const char *CNT_COLLECTIONVIEW_XML = ":/xml/contacts_collections.docml"; @@ -99,6 +101,8 @@ mFindAction = static_cast(mDocumentLoader.findObject("cnt:find")); connect(mFindAction, SIGNAL(triggered()), this, SLOT(showNamesViewWithFinder())); mExtensionAction = static_cast (mDocumentLoader.findObject("cnt:activity")); + + connect( qApp, SIGNAL(aboutToQuit()), this, SLOT(notifyNewGroup())); } /*! @@ -308,6 +312,7 @@ HbLineEdit *lineEdit = popup->lineEdit(); lineEdit->setInputMethodHints(Qt::ImhNoPredictiveText); + lineEdit->setMaxLength( CNT_GROUPNAME_MAXLENGTH ); popup->setPromptText(hbTrId("txt_phob_title_new_group_name")); popup->clearActions(); @@ -397,15 +402,19 @@ void CntCollectionView::notifyNewGroup() { - QString groupNameCreated = mHandledContact->displayLabel(); - if (groupNameCreated.isEmpty()) + if (mHandledContact != NULL) { - groupNameCreated = hbTrId("txt_phob_list_unnamed"); + QString groupNameCreated = mHandledContact->displayLabel(); + if (groupNameCreated.isEmpty()) + { + groupNameCreated = hbTrId("txt_phob_list_unnamed"); + } + HbDeviceNotificationDialog::notification(QString(), + HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_new_group_1_created")).arg(groupNameCreated)); + + delete mHandledContact; + mHandledContact = NULL; } - HbNotificationDialog::launchDialog(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_new_group_1_created")).arg(groupNameCreated)); - - delete mHandledContact; - mHandledContact = NULL; } void CntCollectionView::refreshDataModel() diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntcontactcardview_p.cpp --- a/phonebookui/pbkcommonui/src/cntcontactcardview_p.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntcontactcardview_p.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -46,10 +46,7 @@ #include #include #include -#include -#include #include //Progress indication icon -#include #include #include "cntcontactcarddatacontainer.h" @@ -66,6 +63,7 @@ #include "cntactionlauncher.h" #include "cntpresencelistener.h" #include "cntactionpopup.h" +#include "cntvcarddetailhandler.h" #define CNT_MAPTILE_PROGRESS_TIMER 100 //100 msec #define CNT_UNKNOWN_MAPTILE_STATUS -1 @@ -93,7 +91,6 @@ mContactAction(NULL), mBackKey(NULL), mImageLabel(NULL), - mRequest(NULL), mVCardIcon(NULL), mShareUi(NULL), mAcceptSendKey(true), @@ -175,9 +172,6 @@ delete mPresenceListener; mPresenceListener = NULL; - - delete mRequest; - mRequest = NULL; delete mMaptile; mMaptile = NULL; @@ -232,10 +226,13 @@ mArgs = aArgs; HbMainWindow* window = mView->mainWindow(); - connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); - connect(window, SIGNAL(keyPressed(QKeyEvent*)), this, SLOT(keyPressed(QKeyEvent*))); - - setOrientation(window->orientation()); + if (window) + { + connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); + window->installEventFilter(this); + + setOrientation(window->orientation()); + } QContact contact = aArgs.value(ESelectedContact).value(); mContact = new QContact( contact ); @@ -1247,12 +1244,19 @@ } } - QString vCardName = QString(mContact->displayLabel().append(".vcf")); + QString vCardName; + if ( mContact->displayLabel().isEmpty() ) { + vCardName = hbTrId("txt_phob_list_unnamed").append(".vcf"); + } else + vCardName = mContact->displayLabel().append(".vcf"); + QString vCardPath = dir.absolutePath().append(QDir::separator()); vCardPath.append(vCardName); vCardPath = QDir::toNativeSeparators(vCardPath); - + QVersitContactExporter exporter; + CntVCardDetailHandler hanlder; + exporter.setDetailHandler(&hanlder); // The vCard version needs to be 2.1 due to backward compatiblity when sending if (exporter.exportContacts(list, QVersitDocument::VCard21Type)) { @@ -1337,7 +1341,7 @@ { HbMenu *menu = new HbMenu(); menu->addAction(hbTrId("txt_phob_menu_change_picture"), this, SLOT(doChangeImage()) ); - if (mAvatar) + if (mAvatar && !mAvatar->imageUrl().isEmpty()) { menu->addAction(hbTrId("txt_phob_menu_remove_image"), this, SLOT(doRemoveImage()) ); } @@ -1366,17 +1370,24 @@ return mViewManager->contactManager(SYMBIAN_BACKEND); } -void CntContactCardViewPrivate::keyPressed(QKeyEvent *event) +bool CntContactCardViewPrivate::eventFilter(QObject *obj, QEvent *event) { - if (event->key() == Qt::Key_Yes ) + if (event->type() == QEvent::KeyPress && obj == mView->mainWindow()) { - sendKeyPressed(); + QKeyEvent *keyEvent = static_cast(event); + if (keyEvent->key() == Qt::Key_Yes) + { + return sendKeyPressed(); + } } + return false; } -void CntContactCardViewPrivate::sendKeyPressed() +bool CntContactCardViewPrivate::sendKeyPressed() { int count = 0; + bool keyConsumed = false; + for (int index = 0; index < mDataContainer->itemCount(); index++) { CntContactCardDataItem* dataItem = mDataContainer->dataItem(index); @@ -1385,41 +1396,23 @@ count++; } } - if (!count) - { - if (mRequest) - { - delete mRequest; - mRequest = 0; - } - - mRequest = mAppManager.create("com.nokia.symbian.ILogsView", "show(QVariantMap)", false); - - if (mRequest) - { - QList args; - QVariantMap map; - map.insert("view_index", QVariant(int(LogsServices::ViewAll))); - map.insert("show_dialpad", QVariant(true)); - map.insert("dialpad_text", QVariant(QString())); - args.append(QVariant(map)); - mRequest->setArguments(args); - mRequest->send(); - } - } - else + + if (count) { QContactDetail preferredDetail = mContact->preferredDetail("call"); if (!preferredDetail.isEmpty()) { - executeAction(*mContact, preferredDetail, "call"); + keyConsumed = true; + executeAction(*mContact, preferredDetail, "call"); } else if (count == 1 ) { + keyConsumed = true; executeAction( *mContact, mContact->details().first(), "call"); } else if(count >= 2 && mAcceptSendKey) - { + { + keyConsumed = true; mAcceptSendKey = false; CntActionPopup *actionPopup = new CntActionPopup(mContact); actionPopup->showActionPopup("call"); @@ -1433,6 +1426,8 @@ //ignore } } + + return keyConsumed; } void CntContactCardViewPrivate::sendKeyCancelSlot() diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntdefaultviewfactory.cpp --- a/phonebookui/pbkcommonui/src/cntdefaultviewfactory.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntdefaultviewfactory.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -34,7 +34,6 @@ #include "cntgroupactionsview.h" #include "cnthistoryview.h" #include "cnteditview.h" -#include "cntmycardselectionview.h" #include "cntimportsview.h" #include "cntsettingsview.h" #include "cntextensionmanager.h" @@ -61,8 +60,6 @@ return new CntContactCardView(); case myCardView: return new CntMyCardView(); - case myCardSelectionView: - return new CntMyCardSelectionView(); case collectionView: return new CntCollectionView(*mExtensionManager); case collectionFavoritesView: diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntdefaultviewmanager.cpp --- a/phonebookui/pbkcommonui/src/cntdefaultviewmanager.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntdefaultviewmanager.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -193,10 +193,6 @@ { connect(mMainWindow, SIGNAL(viewReady()), this, SLOT(deleteOldView())); } - else - { - mMainWindow->setInteractive( true ); - } CNT_EXIT } @@ -211,7 +207,8 @@ { mOldView->deactivate(); - mMainWindow->removeView(mOldView->view()); + HbView* oldView = mOldView->view(); + mMainWindow->removeView( oldView ); if (!mOldView->isDefault()) { @@ -225,8 +222,6 @@ mDefaults.insert( mOldView->viewId(), mOldView ); } } - - mMainWindow->setInteractive(true); CNT_EXIT } @@ -234,8 +229,7 @@ void CntDefaultViewManager::switchView(const CntViewParameters aArgs, QFlags flags) { CNT_ENTRY - - mMainWindow->setInteractive(false); + int id = aArgs.value(EViewId).toInt(); if ( id != noView ) { diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntfetchcontactpopup.cpp --- a/phonebookui/pbkcommonui/src/cntfetchcontactpopup.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntfetchcontactpopup.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -83,6 +83,7 @@ CntFetchContactPopup::~CntFetchContactPopup() { delete mDoc; + delete mModel; } CntFetchContactPopup* CntFetchContactPopup::createMultiSelectionPopup( QString aTitle, QString aAction, QContactManager& aManager ) @@ -212,7 +213,6 @@ } mMarkAll->setSelectedContactCount( mIdList.size() ); - CNT_EXIT } @@ -370,6 +370,8 @@ { mHeading = new HbLabel( mTitle ); mPopup->setHeadingWidget( mHeading ); + qreal popupHeight = mPopup->mainWindow()->layoutRect().height(); + mPopup->setMinimumHeight(popupHeight); mDoc->load( CNT_FETCHLIST_XML, multi ? "find_list" : "find_list_single"); } } @@ -384,6 +386,8 @@ { mHeading = new HbLabel( mTitle ); mPopup->setHeadingWidget( mHeading ); + qreal popupHeight = mPopup->mainWindow()->layoutRect().height(); + mPopup->setMinimumHeight(popupHeight); mDoc->load( CNT_FETCHLIST_XML, multi ? "find_empty" : "find_empty_single" ); } } diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntfetchmarkall.cpp --- a/phonebookui/pbkcommonui/src/cntfetchmarkall.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntfetchmarkall.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -59,10 +59,23 @@ { mSelectionCount = aSelectedCount; mCounterLabel->setText( QString("%1/%2").arg(mSelectionCount).arg(mContactCount) ); + + if ( mSelectionCount < mContactCount ) + { + blockSignals( true ); + mCheckBox->setCheckState( Qt::Unchecked ); + blockSignals( false ); + } } CntFetchMarkAll::~CntFetchMarkAll() { + delete mCheckBox; + mCheckBox = NULL; + delete mCounterLabel; + mCounterLabel = NULL; + delete mFrame; + mFrame = NULL; } // EOF diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntgroupactionsview.cpp --- a/phonebookui/pbkcommonui/src/cntgroupactionsview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntgroupactionsview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -34,7 +34,12 @@ #include #include #include +#include +#include +#include +#include "cntactionlauncher.h" +#include #include const char *CNT_GROUPACTIONSVIEW_XML = ":/xml/contacts_groupactions.docml"; @@ -44,7 +49,8 @@ mModel(NULL), mViewManager(NULL), mListView(NULL), -mPopupCount(0) +mPopupCount(0), +mIsExecutingAction(false) { bool ok = false; mDocumentLoader.load(CNT_GROUPACTIONSVIEW_XML, &ok); @@ -171,6 +177,11 @@ connect(mListView, SIGNAL(activated(const QModelIndex&)), this, SLOT(listItemSelected(const QModelIndex&))); + HbMainWindow* window = mView->mainWindow(); + if (window) + { + window->installEventFilter(this); + } } void CntGroupActionsView::populatelist(QString primaryText,HbIcon icon,QString secondaryText,QString action) @@ -294,6 +305,51 @@ } } +bool CntGroupActionsView::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::KeyPress && obj == mView->mainWindow()) + { + QKeyEvent *keyEvent = static_cast(event); + if (keyEvent->key() == Qt::Key_Yes) + { + return sendKeyPressed(); + } + } + return false; +} + +bool CntGroupActionsView::sendKeyPressed() +{ + QList numberDetails = mGroupContact->details(); + bool keyConsumed = false; + + // check if conference call number is present + if (!numberDetails.isEmpty()) + { + executeConferenceCallAction( *mGroupContact, mGroupContact->details().first(), "call"); + + keyConsumed = true; + } + + return keyConsumed; +} + +void CntGroupActionsView::executeConferenceCallAction(QContact& aContact, const QContactDetail& aDetail, const QString& aAction) +{ + if (mIsExecutingAction) + { + return; + } + else + { + mIsExecutingAction = true; + } + + CntActionLauncher* other = new CntActionLauncher(*mViewManager->contactManager(SYMBIAN_BACKEND), aAction); + connect(other, SIGNAL(actionExecuted(CntActionLauncher*)), this, SLOT(actionExecuted(CntActionLauncher*))); + other->execute(aContact, aDetail); +} + void CntGroupActionsView::actionCancelled() { //actionpopup cancelled, decrement counter @@ -305,5 +361,6 @@ { //cleanup aAction->deleteLater(); + mIsExecutingAction = false; } diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntgroupdeletepopup.cpp --- a/phonebookui/pbkcommonui/src/cntgroupdeletepopup.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntgroupdeletepopup.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -22,10 +22,10 @@ #include #include #include +#include CntGroupDeletePopup::CntGroupDeletePopup(QContactManager *manager, QGraphicsItem *parent): HbSelectionDialog(parent), - mListView(0), mContactManager(manager), mModel(0) { @@ -44,41 +44,30 @@ headingLabel->setHeading(hbTrId("txt_phob_opt_delete_groups")); setHeadingWidget(headingLabel); - - mListView = new HbListView(this); - + + setSelectionMode( HbAbstractItemView::MultiSelection ); mModel->initializeGroupsList(); - - //Get the index of the contacts - // Set the select option for those contacts in the selectionModel - mListView->setModel(mModel); - // set the listview to multiSelection mode, this will bring MarkAll functionality (from Orbit) - mListView->setSelectionMode(HbAbstractItemView::MultiSelection); - mListView->setFrictionEnabled(true); - mListView->setScrollingStyle(HbScrollArea::PanWithFollowOn); - - HbListViewItem *prototype = mListView->listItemPrototype(); - prototype->setGraphicsSize(HbListViewItem::Thumbnail); - prototype->setStretchingStyle(HbListViewItem::StretchLandscape); - - setContentWidget(mListView); - - setTimeout(HbDialog::NoTimeout); - setDismissPolicy(HbDialog::NoDismiss); - setModal(true); - setAttribute(Qt::WA_DeleteOnClose, true); - + setModel(mModel); clearActions(); HbAction *mPrimaryAction = new HbAction(hbTrId("txt_phob_button_delete_selected"), this); addAction(mPrimaryAction); HbAction *mSecondaryAction = new HbAction(hbTrId("txt_common_button_cancel"), this); addAction(mSecondaryAction); + + setTimeout(HbDialog::NoTimeout); + setDismissPolicy(HbDialog::NoDismiss); + setAttribute(Qt::WA_DeleteOnClose, true); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum ); + + qreal heightToSet = mainWindow()->layoutRect().height(); + setMinimumHeight(heightToSet); } QList CntGroupDeletePopup::deleteGroup() const { - QModelIndexList indexes = mListView->selectionModel()->selection().indexes(); + + QModelIndexList indexes = selectedModelIndexes(); QList selectionList; for (int i = 0; i < indexes.count(); i++) { diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntgroupeditormodel.cpp --- a/phonebookui/pbkcommonui/src/cntgroupeditormodel.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntgroupeditormodel.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -46,6 +46,7 @@ iNumberItem = new HbDataFormModelItem(type, hbTrId("txt_phob_formlabel_conference_number")); iNameItem->setContentWidgetData("text", iGroupName.customLabel()); + iNameItem->setContentWidgetData("maxLength", CNT_GROUPNAME_MAXLENGTH); iNumberItem->setContentWidgetData("text", iGroupConfCallNumber.number() ); HbDataFormModelItem* root = invisibleRootItem(); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntgroupmemberview.cpp --- a/phonebookui/pbkcommonui/src/cntgroupmemberview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntgroupmemberview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -16,31 +16,8 @@ */ #include "cntgroupmemberview.h" -#include "cntfetchcontactpopup.h" -#include "cntcontactcardheadingitem.h" -#include "cntglobal.h" -#include "cntimagelabel.h" -#include "cntimageutility.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cntdocumentloader.h" - -const char *CNT_GROUPMEMBERVIEW_XML = ":/xml/contacts_groupmembers.docml"; +#include "cntgroupmemberview_p.h" +#include "cntabstractviewmanager.h" /*! \class CntGroupMemberView @@ -57,469 +34,44 @@ \a viewManager is the parent that creates this view. \a parent is a pointer to parent QGraphicsItem (by default this is 0) */ -CntGroupMemberView::CntGroupMemberView() : - mGroupContact(NULL), - mViewManager(NULL), - mHeadingItem(NULL), - mModel(NULL), - mImageLabel(NULL), - mListView(NULL), - mAvatar(NULL) +CntGroupMemberView::CntGroupMemberView() : d_ptr(new CntGroupMemberViewPrivate()) { - mDocument = new CntDocumentLoader; - - bool ok; - mDocument->load( CNT_GROUPMEMBERVIEW_XML, &ok ); - if ( !ok ){ - qFatal( "Unable to load %S", CNT_GROUPMEMBERVIEW_XML ); - } - - mView = static_cast( mDocument->findWidget("view") ); - - //back button - mSoftkey = new HbAction(Hb::BackNaviAction, mView); - connect(mSoftkey, SIGNAL(triggered()), this, SLOT(showPreviousView())); - - mImageLabel = static_cast(mDocument->findWidget("editViewImage")); - connect( mImageLabel, SIGNAL(iconClicked()), this, SLOT(openImageEditor()) ); - connect( mImageLabel, SIGNAL(iconLongPressed(const QPointF&)), this, SLOT(drawImageMenu(const QPointF&)) ); - - mListView = static_cast( mDocument->findWidget("listView") ); - connect(mListView, SIGNAL(longPressed(HbAbstractViewItem*,QPointF)), this, - SLOT(showContextMenu(HbAbstractViewItem*,QPointF))); - connect(mListView, SIGNAL(activated (const QModelIndex&)), this, - SLOT(showContactView(const QModelIndex&))); - - mHeadingItem = static_cast( mDocument->findWidget("editViewHeading") ); - connect(mHeadingItem, SIGNAL(passShortPressed(const QPointF&)), this, SLOT(openImageEditor()) ); - connect(mHeadingItem, SIGNAL(passLongPressed(const QPointF&)), this, SLOT(drawImageMenu(const QPointF&))); - - // menu actions - mEditGroupAction = static_cast( mDocument->findObject("cnt:editgroupdetails")); - connect(mEditGroupAction, SIGNAL(triggered()), this, SLOT(editGroup())); - - // toolbar actions - mManageAction = static_cast( mDocument->findObject("cnt:managemembers")); - connect(mManageAction, SIGNAL(triggered()), this, SLOT(manageMembers())); - mDeleteAction = static_cast( mDocument->findObject("cnt:deletegroup")); - connect(mDeleteAction, SIGNAL(triggered()), this, SLOT(deleteGroup())); - mShowActionsAction = static_cast( mDocument->findObject("cnt:groupactions")); - connect(mShowActionsAction, SIGNAL(triggered()), this, SLOT(openGroupActions())); - - // thumbnail manager - mThumbnailManager = new ThumbnailManager(this); - mThumbnailManager->setMode(ThumbnailManager::Default); - mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); - mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); - - connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void*, int, int)), - this, SLOT(thumbnailReady(QPixmap, void*, int, int))); + Q_D( CntGroupMemberView ); + d->q_ptr = this; } -/*! -Destructor -*/ CntGroupMemberView::~CntGroupMemberView() { - mView->deleteLater(); - - delete mGroupContact; - mGroupContact = NULL; - - delete mModel; - mModel = NULL; - - delete mAvatar; - mAvatar = NULL; + Q_D(CntGroupMemberView); + delete d; } - -void CntGroupMemberView::setOrientation(Qt::Orientation orientation) -{ - if (orientation == Qt::Vertical) - { - // reading "portrait" section - mDocument->load( CNT_GROUPMEMBERVIEW_XML, "portrait" ); - } - else - { - // reading "landscape" section - mDocument->load( CNT_GROUPMEMBERVIEW_XML, "landscape" ); - } -} - + void CntGroupMemberView::activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs ) { - mViewManager = aMgr; - mArgs = aArgs; - - if (mView->navigationAction() != mSoftkey) - { - mView->setNavigationAction(mSoftkey); - } - - QVariant contact = mArgs.value( ESelectedGroupContact ); - mGroupContact = new QContact( contact.value() ); - - HbMainWindow* window = mView->mainWindow(); - if ( window ) - { - connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); - setOrientation(window->orientation()); - } - - mHeadingItem->setGroupDetails(mGroupContact); - - // avatar - QList details = mGroupContact->details(); - for (int i = 0;i < details.count();i++) - { - if (details.at(i).imageUrl().isValid()) - { - mAvatar = new QContactAvatar(details.at(i)); - mThumbnailManager->getThumbnail(mAvatar->imageUrl().toString()); - break; - } - } - - // create list & model - mListView->setFrictionEnabled(true); - mListView->setScrollingStyle(HbScrollArea::PanWithFollowOn); - mListView->verticalScrollBar()->setInteractive(true); - mListView->setUniformItemSizes(true); - mListView->listItemPrototype()->setGraphicsSize(HbListViewItem::Thumbnail); - HbIndexFeedback *indexFeedback = new HbIndexFeedback(mView); - indexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter); - indexFeedback->setItemView(mListView); - - HbFrameBackground frame; - frame.setFrameGraphicsName("qtg_fr_list_normal"); - frame.setFrameType(HbFrameDrawer::NinePieces); - mListView->itemPrototypes().first()->setDefaultFrame(frame); - - createModel(); - - if (mArgs.value(ESelectedAction).toString() == CNT_SAVE_ACTION) - { - QString name = getContactManager()->synthesizedContactDisplayLabel(*mGroupContact); - HbNotificationDialog::launchDialog(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_new_group_1_created").arg(name))); - } + Q_D(CntGroupMemberView); + d->activate(aMgr,aArgs); } void CntGroupMemberView::deactivate() { - -} - -void CntGroupMemberView::showPreviousView() -{ - //save the contact if avatar has been changed. - QContact contact = mViewManager->contactManager( SYMBIAN_BACKEND )->contact(mGroupContact->localId()); - if ( contact != *mGroupContact ) - { - getContactManager()->saveContact(mGroupContact); - } - mViewManager->back(mArgs); -} - -void CntGroupMemberView::openGroupActions() -{ - QVariant var; - var.setValue(*mGroupContact); - - mArgs.insert(EViewId, groupActionsView); - mArgs.insert(ESelectedGroupContact, var); - mViewManager->changeView(mArgs); -} - -void CntGroupMemberView::manageMembers() -{ - QContactRelationshipFilter membersFilter; - membersFilter.setRelationshipType(QContactRelationship::HasMember); - membersFilter.setRelatedContactRole(QContactRelationship::First); - membersFilter.setRelatedContactId(mGroupContact->id()); - - mOriginalGroupMembers = getContactManager()->contactIds(membersFilter); - - QContactName contactName = mGroupContact->detail( QContactName::DefinitionName ); - QString groupName = contactName.value( QContactName::FieldCustomLabel ); - if (groupName.isEmpty()) - { - groupName = hbTrId("txt_phob_list_unnamed"); - } - - CntFetchContactPopup* popup = CntFetchContactPopup::createMultiSelectionPopup( - HbParameterLengthLimiter(hbTrId("txt_phob_title_members_of_1_group")).arg(groupName), - hbTrId("txt_common_button_save"), - *mViewManager->contactManager(SYMBIAN_BACKEND)); - connect( popup, SIGNAL(fetchReady(QSet)),this, SLOT(handleManageMembers(QSet)) ); - popup->setSelectedContacts( mOriginalGroupMembers.toSet() ); - popup->showPopup(); -} - -void CntGroupMemberView::handleManageMembers(QSet aIds) -{ - QList removedMemberships; - QList addedMemberships; - - QSet removedMembers = mOriginalGroupMembers.toSet() - aIds; - setRelationship(removedMembers, removedMemberships); - - QSet addedMembers = aIds - mOriginalGroupMembers.toSet(); - setRelationship(addedMembers, addedMemberships); - - QMap errors; - if (!addedMemberships.isEmpty()) - { - getContactManager()->saveRelationships(&addedMemberships, &errors); - } - - if (!removedMemberships.isEmpty()) - { - getContactManager()->removeRelationships(removedMemberships, &errors); - } + Q_D(CntGroupMemberView); + d->deactivate(); } -void CntGroupMemberView::createModel() -{ - QContactRelationshipFilter rFilter; - rFilter.setRelationshipType(QContactRelationship::HasMember); - rFilter.setRelatedContactRole(QContactRelationship::First); - rFilter.setRelatedContactId(mGroupContact->id()); - - mModel = new CntListModel(getContactManager(), rFilter, false); - mListView->setModel(mModel); -} - -void CntGroupMemberView::editGroup() -{ - mArgs.insert(EViewId, groupEditorView); - QVariant var; - var.setValue(*mGroupContact); - mArgs.insert(ESelectedGroupContact, var); - mViewManager->changeView(mArgs); -} - -void CntGroupMemberView::deleteGroup() +bool CntGroupMemberView::isDefault() const { - QContactName contactName = mGroupContact->detail( QContactName::DefinitionName ); - QString groupName = contactName.value( QContactName::FieldCustomLabel ); - if (groupName.isNull()) - { - groupName = hbTrId("txt_phob_list_unnamed"); - } - - HbLabel *headingLabel = new HbLabel(); - headingLabel->setPlainText(HbParameterLengthLimiter(hbTrId("txt_phob_dialog_delete_1_group")).arg(groupName)); - - HbMessageBox::question(hbTrId("txt_phob_dialog_only_group_will_be_removed_contac"), this, SLOT(handleDeleteGroup(int)), - HbMessageBox::Delete | HbMessageBox::Cancel, headingLabel); -} - -void CntGroupMemberView::handleDeleteGroup(int action) -{ - if (action == HbMessageBox::Delete) - { - getContactManager()->removeContact(mGroupContact->localId()); - showPreviousView(); - } -} - -/*! -Called when a list item is longpressed -*/ -void CntGroupMemberView::showContextMenu(HbAbstractViewItem *aItem, const QPointF &aCoords) -{ - QVariant data( aItem->modelIndex().row() ); - - QModelIndex index = aItem->modelIndex(); - - HbMenu *menu = new HbMenu(); - menu->setAttribute(Qt::WA_DeleteOnClose); - menu->setPreferredPos( aCoords ); - - HbAction *removeFromGroupAction = 0; - HbAction *openContactAction = 0; - HbAction *editContactAction = 0; - HbAction *sendToHsAction = 0; - - openContactAction = menu->addAction(hbTrId("txt_common_menu_open")); - editContactAction = menu->addAction(hbTrId("txt_common_menu_edit")); - removeFromGroupAction = menu->addAction(hbTrId("txt_phob_menu_remove_from_group")); - sendToHsAction = menu->addAction(hbTrId("txt_phob_menu_send_to_homescreen")); - - openContactAction->setData( data ); - editContactAction->setData( data ); - removeFromGroupAction->setData( data ); - sendToHsAction->setData( data ); - - menu->open(this, SLOT(handleMenu(HbAction*))); + return false; } -void CntGroupMemberView::handleMenu(HbAction* action) -{ - int row = action->data().toInt(); - HbMenu *menuItem = static_cast(sender()); - QModelIndex index = mModel->index(row); - - if ( action == menuItem->actions().first() ) - { - showContactView(index); - } - else if (action == menuItem->actions().at(1)) - { - editContact(index); - } - else if (action == menuItem->actions().at(2)) - { - removeFromGroup(index); - } - else if (action == menuItem->actions().at(3)) - { - sendToHs(index); - } -} - -/*! -Called after user clicked on the listview. -*/ -void CntGroupMemberView::sendToHs(const QModelIndex &index) +HbView* CntGroupMemberView::view() const { - QVariantHash preferences; - preferences["contactId"] = mModel->contact(index).id().localId(); - - XQServiceRequest snd("com.nokia.symbian.IHomeScreenClient", - "addWidget(QString,QVariantHash)", - false); - snd << QString("contactwidgethsplugin"); - snd << preferences; - snd.send(); -} - -/*! -Called after user clicked on the listview. -*/ -void CntGroupMemberView::showContactView(const QModelIndex &index) -{ - mArgs.insert(EViewId, contactCardView); - QVariant var; - var.setValue(mModel->contact(index)); - mArgs.insert(ESelectedContact, var); - QVariant varGroup; - varGroup.setValue(*mGroupContact); - mArgs.insert(ESelectedGroupContact, varGroup); - mViewManager->changeView(mArgs); - -} - -void CntGroupMemberView::removeFromGroup(const QModelIndex &index) -{ - // get contact id using index - QContact selectedContact = mModel->contact(index); - QContactRelationship relationship; - relationship.setRelationshipType(QContactRelationship::HasMember); - relationship.setFirst(mGroupContact->id()); - relationship.setSecond(selectedContact.id()); - getContactManager()->removeRelationship(relationship); -} - -void CntGroupMemberView::editContact(const QModelIndex &index) -{ - - mArgs.insert(EViewId, editView); - QVariant var; - var.setValue(mModel->contact(index)); - mArgs.insert(ESelectedContact, var); - mViewManager->changeView(mArgs); + Q_D( const CntGroupMemberView ); + return d->mView; } -void CntGroupMemberView::thumbnailReady(const QPixmap& pixmap, void *data, int id, int error) -{ - Q_UNUSED(data); - Q_UNUSED(id); - Q_UNUSED(error); - if (!error) - { - HbIcon icon(pixmap); - mHeadingItem->setIcon(icon); - - mImageLabel->clear(); - mImageLabel->setIcon(pixmap); - } -} - -void CntGroupMemberView::openImageEditor() +int CntGroupMemberView::viewId() const { - QVariant var; - var.setValue(*mGroupContact); - - // SelectedGroupContact is needed so we know which group to show - // when we come back to this view, and selected contact is needed - // for image editor to be able to assign the image to correct contact. - mArgs.insert(ESelectedGroupContact, var); - mArgs.insert(ESelectedContact, var); - - mArgs.insert(EViewId, imageEditorView ); - - mViewManager->changeView( mArgs ); -} - -QContactManager* CntGroupMemberView::getContactManager() -{ - return mViewManager->contactManager(SYMBIAN_BACKEND); -} - -void CntGroupMemberView::setRelationship(QSet &aLocalId, - QList &aRelationshipList) -{ - foreach (QContactLocalId id, aLocalId) { - QContact contact = getContactManager()->contact(id); + return groupMemberView; +} +// EOF - QContactRelationship membership; - membership.setRelationshipType(QContactRelationship::HasMember); - membership.setFirst(mGroupContact->id()); - membership.setSecond(contact.id()); - aRelationshipList.append(membership); - } -} - -/*! -Draw the image specific content menu -*/ -void CntGroupMemberView::drawImageMenu(const QPointF &aCoords) -{ - HbMenu *menu = new HbMenu(); - HbAction *changeImageAction = menu->addAction(hbTrId("txt_phob_menu_change_picture"), this, SLOT(openImageEditor())); - if (mAvatar) - { - HbAction *removeAction = menu->addAction(hbTrId("txt_phob_menu_remove_image"), this, SLOT(removeImage())); - } - menu->setPreferredPos(aCoords); - menu->open(); -} - - -void CntGroupMemberView::removeImage() -{ - if (mAvatar) - { - if (!mAvatar->imageUrl().isEmpty()) - { - bool success = mGroupContact->removeDetail(mAvatar); - // Check if image removable. - CntImageUtility imageUtility; - if(imageUtility.isImageRemovable(mAvatar->imageUrl().toString())) - { - imageUtility.removeImage(mAvatar->imageUrl().toString()); - } - mAvatar->setImageUrl(QUrl()); - mImageLabel->clear(); - mImageLabel->setAvatarIcon(HbIcon("qtg_large_add_group_picture")); - mHeadingItem->setIcon(HbIcon("qtg_large_add_group_picture")); - mViewManager->contactManager( SYMBIAN_BACKEND )->saveContact(mGroupContact); - } - } -} - - - -// end of file diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntgroupmemberview_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/src/cntgroupmemberview_p.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,526 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include "cntgroupmemberview_p.h" +#include "cntfetchcontactpopup.h" +#include "cntcontactcardheadingitem.h" +#include "cntglobal.h" +#include "cntimagelabel.h" +#include "cntimageutility.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cntdocumentloader.h" + +const char *CNT_GROUPMEMBERVIEW_XML = ":/xml/contacts_groupmembers.docml"; + +/*! +\class CntGroupMemberViewPrivate +\brief + +This is the group members view class that shows list of contacts for a user group. View contains a listview that shows actual contacts that +have been added to a particular group. There is also toolbar and menu for navigating between different views. Instance of this class is +created by our viewmanager but view itself is owned by the mainwindow which will also delete it in the end. + +*/ + +/*! +Constructor, initialize member variables. +\a viewManager is the parent that creates this view. \a parent is a pointer to parent QGraphicsItem (by default this is 0) + +*/ +CntGroupMemberViewPrivate::CntGroupMemberViewPrivate() : + mGroupContact(NULL), + mViewManager(NULL), + mHeadingItem(NULL), + mModel(NULL), + mImageLabel(NULL), + mListView(NULL), + mAvatar(NULL) +{ + mDocument = new CntDocumentLoader; + + bool ok; + mDocument->load( CNT_GROUPMEMBERVIEW_XML, &ok ); + if ( !ok ){ + qFatal( "Unable to load %S", CNT_GROUPMEMBERVIEW_XML ); + } + + mView = static_cast( mDocument->findWidget("view") ); + + //back button + mSoftkey = new HbAction(Hb::BackNaviAction, mView); + connect(mSoftkey, SIGNAL(triggered()), this, SLOT(showPreviousView())); + + mImageLabel = static_cast(mDocument->findWidget("editViewImage")); + connect( mImageLabel, SIGNAL(iconClicked()), this, SLOT(openImageEditor()) ); + connect( mImageLabel, SIGNAL(iconLongPressed(const QPointF&)), this, SLOT(drawImageMenu(const QPointF&)) ); + + mListView = static_cast( mDocument->findWidget("listView") ); + connect(mListView, SIGNAL(longPressed(HbAbstractViewItem*,QPointF)), this, + SLOT(showContextMenu(HbAbstractViewItem*,QPointF))); + connect(mListView, SIGNAL(activated (const QModelIndex&)), this, + SLOT(showContactView(const QModelIndex&))); + + mHeadingItem = static_cast( mDocument->findWidget("editViewHeading") ); + connect(mHeadingItem, SIGNAL(passShortPressed(const QPointF&)), this, SLOT(openImageEditor()) ); + connect(mHeadingItem, SIGNAL(passLongPressed(const QPointF&)), this, SLOT(drawImageMenu(const QPointF&))); + + // menu actions + mEditGroupAction = static_cast( mDocument->findObject("cnt:editgroupdetails")); + connect(mEditGroupAction, SIGNAL(triggered()), this, SLOT(editGroup())); + + // toolbar actions + mManageAction = static_cast( mDocument->findObject("cnt:managemembers")); + connect(mManageAction, SIGNAL(triggered()), this, SLOT(manageMembers())); + mDeleteAction = static_cast( mDocument->findObject("cnt:deletegroup")); + connect(mDeleteAction, SIGNAL(triggered()), this, SLOT(deleteGroup())); + mShowActionsAction = static_cast( mDocument->findObject("cnt:groupactions")); + connect(mShowActionsAction, SIGNAL(triggered()), this, SLOT(openGroupActions())); + + // thumbnail manager + mThumbnailManager = new ThumbnailManager(this); + mThumbnailManager->setMode(ThumbnailManager::Default); + mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); + mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); + + connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void*, int, int)), + this, SLOT(thumbnailReady(QPixmap, void*, int, int))); +} + +/*! +Destructor +*/ +CntGroupMemberViewPrivate::~CntGroupMemberViewPrivate() +{ + mView->deleteLater(); + + delete mGroupContact; + mGroupContact = NULL; + + delete mModel; + mModel = NULL; + + delete mAvatar; + mAvatar = NULL; +} + +void CntGroupMemberViewPrivate::setOrientation(Qt::Orientation orientation) +{ + if (orientation == Qt::Vertical) + { + // reading "portrait" section + mDocument->load( CNT_GROUPMEMBERVIEW_XML, "portrait" ); + } + else + { + // reading "landscape" section + mDocument->load( CNT_GROUPMEMBERVIEW_XML, "landscape" ); + } +} + +void CntGroupMemberViewPrivate::activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs ) +{ + mViewManager = aMgr; + mArgs = aArgs; + + if (mView->navigationAction() != mSoftkey) + { + mView->setNavigationAction(mSoftkey); + } + + QVariant contact = mArgs.value( ESelectedGroupContact ); + mGroupContact = new QContact( contact.value() ); + + HbMainWindow* window = mView->mainWindow(); + if ( window ) + { + connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); + setOrientation(window->orientation()); + } + + mHeadingItem->setGroupDetails(mGroupContact); + + // avatar + QList details = mGroupContact->details(); + for (int i = 0;i < details.count();i++) + { + if (details.at(i).imageUrl().isValid()) + { + mAvatar = new QContactAvatar(details.at(i)); + mThumbnailManager->getThumbnail(mAvatar->imageUrl().toString()); + break; + } + } + + // create list & model + mListView->setFrictionEnabled(true); + mListView->setScrollingStyle(HbScrollArea::PanWithFollowOn); + mListView->verticalScrollBar()->setInteractive(true); + mListView->setUniformItemSizes(true); + mListView->listItemPrototype()->setGraphicsSize(HbListViewItem::Thumbnail); + HbIndexFeedback *indexFeedback = new HbIndexFeedback(mView); + indexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter); + indexFeedback->setItemView(mListView); + + HbFrameBackground frame; + frame.setFrameGraphicsName("qtg_fr_list_normal"); + frame.setFrameType(HbFrameDrawer::NinePieces); + mListView->itemPrototypes().first()->setDefaultFrame(frame); + + createModel(); + + if (mArgs.value(ESelectedAction).toString() == CNT_SAVE_ACTION) + { + QString name = getContactManager()->synthesizedContactDisplayLabel(*mGroupContact); + HbNotificationDialog::launchDialog(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_new_group_1_created").arg(name))); + } +} + +void CntGroupMemberViewPrivate::deactivate() +{ +} + +void CntGroupMemberViewPrivate::showPreviousView() +{ + Q_Q(CntGroupMemberView); + + emit q->backPressed(); + + //save the contact if avatar has been changed. + QContact contact = mViewManager->contactManager( SYMBIAN_BACKEND )->contact(mGroupContact->localId()); + if ( contact != *mGroupContact ) + { + getContactManager()->saveContact(mGroupContact); + } + mViewManager->back(mArgs); +} + +void CntGroupMemberViewPrivate::openGroupActions() +{ + QVariant var; + var.setValue(*mGroupContact); + + mArgs.insert(EViewId, groupActionsView); + mArgs.insert(ESelectedGroupContact, var); + mViewManager->changeView(mArgs); +} + +void CntGroupMemberViewPrivate::manageMembers() +{ + QContactRelationshipFilter membersFilter; + membersFilter.setRelationshipType(QContactRelationship::HasMember); + membersFilter.setRelatedContactRole(QContactRelationship::First); + membersFilter.setRelatedContactId(mGroupContact->id()); + + mOriginalGroupMembers = getContactManager()->contactIds(membersFilter); + + QContactName contactName = mGroupContact->detail( QContactName::DefinitionName ); + QString groupName = contactName.value( QContactName::FieldCustomLabel ); + if (groupName.isEmpty()) + { + groupName = hbTrId("txt_phob_list_unnamed"); + } + + CntFetchContactPopup* popup = CntFetchContactPopup::createMultiSelectionPopup( + HbParameterLengthLimiter(hbTrId("txt_phob_title_members_of_1_group")).arg(groupName), + hbTrId("txt_common_button_save"), + *mViewManager->contactManager(SYMBIAN_BACKEND)); + connect( popup, SIGNAL(fetchReady(QSet)),this, SLOT(handleManageMembers(QSet)) ); + popup->setSelectedContacts( mOriginalGroupMembers.toSet() ); + popup->showPopup(); +} + +void CntGroupMemberViewPrivate::handleManageMembers( QSet aIds ) +{ + QList removedMemberships; + QList addedMemberships; + + QSet removedMembers = mOriginalGroupMembers.toSet() - aIds; + setRelationship(removedMembers, removedMemberships); + + QSet addedMembers = aIds - mOriginalGroupMembers.toSet(); + setRelationship(addedMembers, addedMemberships); + + QMap errors; + if (!addedMemberships.isEmpty()) + { + getContactManager()->saveRelationships(&addedMemberships, &errors); + } + + if (!removedMemberships.isEmpty()) + { + getContactManager()->removeRelationships(removedMemberships, &errors); + } +} + +void CntGroupMemberViewPrivate::createModel() +{ + QContactRelationshipFilter rFilter; + rFilter.setRelationshipType(QContactRelationship::HasMember); + rFilter.setRelatedContactRole(QContactRelationship::First); + rFilter.setRelatedContactId(mGroupContact->id()); + + mModel = new CntListModel(getContactManager(), rFilter, false); + mListView->setModel(mModel); +} + +void CntGroupMemberViewPrivate::editGroup() +{ + mArgs.insert(EViewId, groupEditorView); + QVariant var; + var.setValue(*mGroupContact); + mArgs.insert(ESelectedGroupContact, var); + mViewManager->changeView(mArgs); +} + +void CntGroupMemberViewPrivate::deleteGroup() +{ + QContactName contactName = mGroupContact->detail( QContactName::DefinitionName ); + QString groupName = contactName.value( QContactName::FieldCustomLabel ); + if (groupName.isNull()) + { + groupName = hbTrId("txt_phob_list_unnamed"); + } + + HbLabel *headingLabel = new HbLabel(); + headingLabel->setPlainText(HbParameterLengthLimiter(hbTrId("txt_phob_dialog_delete_1_group")).arg(groupName)); + + HbMessageBox::question(hbTrId("txt_phob_dialog_only_group_will_be_removed_contac"), this, SLOT(handleDeleteGroup(int)), + HbMessageBox::Delete | HbMessageBox::Cancel, headingLabel); +} + +void CntGroupMemberViewPrivate::handleDeleteGroup(int action) +{ + if (action == HbMessageBox::Delete) + { + getContactManager()->removeContact(mGroupContact->localId()); + showPreviousView(); + } +} + +/*! +Called when a list item is longpressed +*/ +void CntGroupMemberViewPrivate::showContextMenu(HbAbstractViewItem *aItem, const QPointF &aCoords) +{ + QVariant data( aItem->modelIndex().row() ); + + QModelIndex index = aItem->modelIndex(); + + HbMenu *menu = new HbMenu(); + menu->setAttribute(Qt::WA_DeleteOnClose); + menu->setPreferredPos( aCoords ); + + HbAction *removeFromGroupAction = 0; + HbAction *openContactAction = 0; + HbAction *editContactAction = 0; + HbAction *sendToHsAction = 0; + + openContactAction = menu->addAction(hbTrId("txt_common_menu_open")); + editContactAction = menu->addAction(hbTrId("txt_common_menu_edit")); + removeFromGroupAction = menu->addAction(hbTrId("txt_phob_menu_remove_from_group")); + sendToHsAction = menu->addAction(hbTrId("txt_phob_menu_send_to_homescreen")); + + openContactAction->setData( data ); + editContactAction->setData( data ); + removeFromGroupAction->setData( data ); + sendToHsAction->setData( data ); + + menu->open(this, SLOT(handleMenu(HbAction*))); +} + +void CntGroupMemberViewPrivate::handleMenu(HbAction* action) +{ + int row = action->data().toInt(); + HbMenu *menuItem = static_cast(sender()); + QModelIndex index = mModel->index(row); + + if ( action == menuItem->actions().first() ) + { + showContactView(index); + } + else if (action == menuItem->actions().at(1)) + { + editContact(index); + } + else if (action == menuItem->actions().at(2)) + { + removeFromGroup(index); + } + else if (action == menuItem->actions().at(3)) + { + sendToHs(index); + } +} + +/*! +Called after user clicked on the listview. +*/ +void CntGroupMemberViewPrivate::sendToHs(const QModelIndex &index) +{ + QVariantHash preferences; + preferences["contactId"] = mModel->contact(index).id().localId(); + + XQServiceRequest snd("com.nokia.symbian.IHomeScreenClient", + "addWidget(QString,QVariantHash)", + false); + snd << QString("contactwidgethsplugin"); + snd << preferences; + snd.send(); +} + +/*! +Called after user clicked on the listview. +*/ +void CntGroupMemberViewPrivate::showContactView(const QModelIndex &index) +{ + mArgs.insert(EViewId, contactCardView); + QVariant var; + var.setValue(mModel->contact(index)); + mArgs.insert(ESelectedContact, var); + QVariant varGroup; + varGroup.setValue(*mGroupContact); + mArgs.insert(ESelectedGroupContact, varGroup); + mViewManager->changeView(mArgs); + +} + +void CntGroupMemberViewPrivate::removeFromGroup(const QModelIndex &index) +{ + // get contact id using index + QContact selectedContact = mModel->contact(index); + QContactRelationship relationship; + relationship.setRelationshipType(QContactRelationship::HasMember); + relationship.setFirst(mGroupContact->id()); + relationship.setSecond(selectedContact.id()); + getContactManager()->removeRelationship(relationship); +} + +void CntGroupMemberViewPrivate::editContact(const QModelIndex &index) +{ + + mArgs.insert(EViewId, editView); + QVariant var; + var.setValue(mModel->contact(index)); + mArgs.insert(ESelectedContact, var); + mViewManager->changeView(mArgs); +} + +void CntGroupMemberViewPrivate::thumbnailReady(const QPixmap& pixmap, void *data, int id, int error) +{ + Q_UNUSED(data); + Q_UNUSED(id); + Q_UNUSED(error); + if (!error) + { + HbIcon icon(pixmap); + mHeadingItem->setIcon(icon); + + mImageLabel->clear(); + mImageLabel->setIcon(pixmap); + } +} + +void CntGroupMemberViewPrivate::openImageEditor() +{ + QVariant var; + var.setValue(*mGroupContact); + + // only group contact is assigned since we want to only + // change the groups image + mArgs.insert(ESelectedGroupContact, var); + + mArgs.insert(EViewId, imageEditorView ); + + mViewManager->changeView( mArgs ); +} + +QContactManager* CntGroupMemberViewPrivate::getContactManager() +{ + return mViewManager->contactManager(SYMBIAN_BACKEND); +} + +void CntGroupMemberViewPrivate::setRelationship(QSet &aLocalId, + QList &aRelationshipList) +{ + foreach (QContactLocalId id, aLocalId) { + QContact contact = getContactManager()->contact(id); + + QContactRelationship membership; + membership.setRelationshipType(QContactRelationship::HasMember); + membership.setFirst(mGroupContact->id()); + membership.setSecond(contact.id()); + aRelationshipList.append(membership); + } +} + +/*! +Draw the image specific content menu +*/ +void CntGroupMemberViewPrivate::drawImageMenu(const QPointF &aCoords) +{ + HbMenu *menu = new HbMenu(); + HbAction *changeImageAction = menu->addAction(hbTrId("txt_phob_menu_change_picture"), this, SLOT(openImageEditor())); + if (mAvatar && !mAvatar->imageUrl().isEmpty()) + { + HbAction *removeAction = menu->addAction(hbTrId("txt_phob_menu_remove_image"), this, SLOT(removeImage())); + } + menu->setPreferredPos(aCoords); + menu->open(); +} + + +void CntGroupMemberViewPrivate::removeImage() +{ + if (mAvatar) + { + if (!mAvatar->imageUrl().isEmpty()) + { + bool success = mGroupContact->removeDetail(mAvatar); + // Check if image removable. + CntImageUtility imageUtility; + if(imageUtility.isImageRemovable(mAvatar->imageUrl().toString())) + { + imageUtility.removeImage(mAvatar->imageUrl().toString()); + } + mAvatar->setImageUrl(QUrl()); + mImageLabel->clear(); + mImageLabel->setAvatarIcon(HbIcon("qtg_large_add_group_picture")); + mHeadingItem->setIcon(HbIcon("qtg_large_add_group_picture")); + getContactManager()->saveContact(mGroupContact); + } + } +} + + + +// end of file diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntimageeditorview.cpp --- a/phonebookui/pbkcommonui/src/cntimageeditorview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntimageeditorview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -127,11 +127,19 @@ HbMainWindow* window = mView->mainWindow(); if ( window ) { - connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); - setOrientation(window->orientation()); + connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); + setOrientation(window->orientation()); } - mContact = new QContact(mArgs.value(ESelectedContact).value()); + if ( mArgs.contains(ESelectedContact)) + { + mContact = new QContact(mArgs.value(ESelectedContact).value()); + } + + if ( mArgs.contains(ESelectedGroupContact) && !mContact ) + { + mContact = new QContact(mArgs.value(ESelectedGroupContact).value()); + } QString myCard = mArgs.value( EMyCard ).toString(); QContactLocalId localId = mContact->localId(); @@ -288,8 +296,18 @@ QVariant var; var.setValue(*mContact); - mArgs.insert(ESelectedContact, var); - mArgs.insert(ESelectedGroupContact, var); + // If the arguments didn't originally contain "normal" contact, + // then the group contact should be updated. This case applies only + // when group image is edited + if ( !mArgs.contains(ESelectedContact) ) + { + mArgs.insert(ESelectedGroupContact, var); + } + else + { + mArgs.insert(ESelectedContact, var); + } + mArgs.insert(ECustomParam, viewId()); mViewManager->back( mArgs ); } diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntimportsview.cpp --- a/phonebookui/pbkcommonui/src/cntimportsview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntimportsview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -37,6 +37,8 @@ #include #include #include +#include +#include const char *CNT_IMPORT_UI_XML = ":/xml/contacts_sim.docml"; const int KTimerValue = 1; // used as 1 msec timer for saving ADN contacts from SIM @@ -59,7 +61,8 @@ mAdnStoreEntries(0), mSdnStoreEntries(0), mSimError(0), - mWaitingForAdnCache(0) + mWaitingForAdnCache(0), + mImportInProgress(false) { bool ok = false; mDocumentLoader.load(CNT_IMPORT_UI_XML, &ok); @@ -111,6 +114,7 @@ Q_UNUSED(aArgs); //back button HbMainWindow* window = mView->mainWindow(); + if (mView->navigationAction() != mSoftkey) { mView->setNavigationAction(mSoftkey); @@ -290,6 +294,7 @@ mListView->setModel(mModel); mListView->setSelectionMode(HbAbstractItemView::NoSelection); + connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(endKeyPressed())); } void CntImportsView::simInfoErrorMessage(int infoError) @@ -324,6 +329,7 @@ { bool started = false; + mImportInProgress = true; delete mFetchRequestADN; mContactSimManagerADN = mViewManager->contactManager(SIM_BACKEND_ADN); @@ -371,6 +377,7 @@ void CntImportsView::stopSimImport() { mImportSimPopup->close(); + mImportInProgress = false; if (mFetchIsDone) { // indicates that timer has been started @@ -423,6 +430,7 @@ mListView->reset(); } } + } void CntImportsView::importFetchResultReceivedADN() @@ -585,6 +593,7 @@ // no SDN contacts to fetch showSimImportResults(); mImportSimPopup->close(); + mImportInProgress = false; // Importing finished, go back to NamesView showPreviousView(); } @@ -603,6 +612,7 @@ showSimImportResults(); mSaveSimContactsListSDN.clear(); mImportSimPopup->close(); + mImportInProgress = false; // Importing finished, go back to NamesView showPreviousView(); } @@ -669,6 +679,7 @@ showSimImportResults(); mSaveSimContactsListSDN.clear(); mImportSimPopup->close(); + mImportInProgress = false; // Importing finished, go back to NamesView showPreviousView(); } @@ -708,6 +719,7 @@ { //dismiss wait note mImportSimPopup->close(); + mImportInProgress = false; //and show error note simInfoErrorMessage(KErrAccessDenied); } @@ -735,4 +747,14 @@ } } +void CntImportsView::endKeyPressed() +{ + if(mImportInProgress && !mSimError) + { + QString results = hbTrId("txt_phob_dpophead_ln_contacts_imported").arg(mSaveCount).arg(mAdnStoreEntries + mSdnStoreEntries); + HbDeviceNotificationDialog::notification(QString(),results); + } +} + + // EOF diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntkeygrabber.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/src/cntkeygrabber.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,101 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include "cntkeygrabber.h" + +#include +#include +#include +#include +#include +#include +#include + +/*! + Key press event handler for default actions when pressing either send or end key. + End key closes the application and send key opens dialer. Default functionality + can be overwritten to have view-specific functionality by installing an additional + event filter for the main window. + + See CntGroupActionsView for an example. +*/ +CntKeyGrabber::CntKeyGrabber(HbMainWindow *window, QObject *parent) : + QObject(parent), + mMainWindow(window), + mRequest(NULL) +{ + mMainWindow->installEventFilter(this); +} + +/*! + Destructor +*/ +CntKeyGrabber::~CntKeyGrabber() +{ + delete mRequest; +} + +/*! + Listens to events coming to the QObject obj (in this case HbMainWindow instance) and + grabs/handles the necessary ones. + + \param obj QObject to which the event was sent to + \param event QEvent that happened (key press, mouse press etc...) + \return bool true if the event was handled (and thus it wont be passed on anymore) +*/ +bool CntKeyGrabber::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::KeyPress && obj == mMainWindow) + { + QKeyEvent *keyEvent = static_cast(event); + + if (keyEvent->key() == Qt::Key_No ) + { + qApp->exit(); + + return true; + } + else if (keyEvent->key() == Qt::Key_Yes) + { + XQApplicationManager appManager; + + if (mRequest) + { + delete mRequest; + mRequest = NULL; + } + + mRequest = appManager.create(XQI_LOGS_VIEW, XQOP_LOGS_SHOW, false); + + if (mRequest) + { + QList args; + QVariantMap map; + map.insert(XQLOGS_VIEW_INDEX, QVariant(int(LogsServices::ViewAll))); + map.insert(XQLOGS_SHOW_DIALPAD, QVariant(true)); + map.insert(XQLOGS_DIALPAD_TEXT, QVariant(QString())); + args.append(QVariant(map)); + mRequest->setArguments(args); + mRequest->send(); + } + + return true; + } + } + + return QObject::eventFilter(obj, event); +} diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntmainwindow.cpp --- a/phonebookui/pbkcommonui/src/cntmainwindow.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntmainwindow.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -18,11 +18,7 @@ #include "cntmainwindow.h" #include "cntdefaultviewmanager.h" #include "cntviewnavigator.h" -#include -#include -#include -#include -#include +#include "cntkeygrabber.h" #include CntMainWindow::CntMainWindow(QWidget *parent, int defaultView) @@ -32,6 +28,8 @@ { CNT_ENTRY + CntKeyGrabber *keyGrabber = new CntKeyGrabber(this, this); + if (defaultView != noView) { CntViewNavigator* navigator = new CntViewNavigator(this); @@ -67,40 +65,4 @@ CNT_EXIT } -/* - * Lets let views handle send/end key press events, because if toolbar or menu has been focused - * the view wont get the key press events - */ -void CntMainWindow::keyPressEvent(QKeyEvent *event) -{ - if (event->key() == Qt::Key_Yes && mDefaultView != noView) - { - if (mViewManager->currentViewId() == contactCardView) - { - emit keyPressed(event); - } - else - { - XQApplicationManager appManager; - XQAiwRequest* request = appManager.create("com.nokia.symbian.ILogsView", "show(QVariantMap)", false); - - if (request) - { - QList args; - QVariantMap map; - map.insert("view_index", QVariant(int(LogsServices::ViewAll))); - map.insert("show_dialpad", QVariant(true)); - map.insert("dialpad_text", QVariant(QString())); - args.append(QVariant(map)); - request->setArguments(args); - request->send(); - } - } - } - else - { - HbMainWindow::keyPressEvent(event); - } -} - // end of file diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntmycardselectionview.cpp --- a/phonebookui/pbkcommonui/src/cntmycardselectionview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#include "cntmycardselectionview.h" -#include -#include -#include -#include - -CntMyCardSelectionView::CntMyCardSelectionView() : CntBaseSelectionView() -{ - connect(mListView, SIGNAL(activated(const QModelIndex&)), this, SLOT(onListViewActivated(const QModelIndex&))); -} - -CntMyCardSelectionView::~CntMyCardSelectionView() -{ -} - -/*! -Set index to mycard -*/ -void CntMyCardSelectionView::onListViewActivated(const QModelIndex& index) -{ - if (index.isValid()) - { - QContact contact = mListModel->contact(index); - QContactManager* mgr = mMgr->contactManager(SYMBIAN_BACKEND); - mgr->setSelfContactId(contact.localId()); - - removeFromGroup(&contact); - - CntViewParameters params; - params.insert(EViewId, namesView); - mMgr->changeView(params); - } -} - -void CntMyCardSelectionView::removeFromGroup(const QContact* aContact) -{ - QContactDetailFilter groupFilter; - groupFilter.setDetailDefinitionName(QContactType::DefinitionName, QContactType::FieldType); - groupFilter.setValue(QLatin1String(QContactType::TypeGroup)); - - QContactManager* mgr = mMgr->contactManager(SYMBIAN_BACKEND); - QList groupContactIds = mgr->contactIds(groupFilter); - if (!groupContactIds.isEmpty()) - { - for(int i = 0;i < groupContactIds.count();i++) - { - QContact groupContact = mgr->contact(groupContactIds.at(i)); - QContactRelationship relationship; - relationship.setRelationshipType(QContactRelationship::HasMember); - relationship.setFirst(groupContact.id()); - relationship.setSecond(aContact->id()); - mgr->removeRelationship(relationship); - } - } -} - diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/pbkcommonui/src/cntnamesview_p.cpp --- a/phonebookui/pbkcommonui/src/cntnamesview_p.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/pbkcommonui/src/cntnamesview_p.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -47,6 +47,8 @@ #include #include +#include + const char *CNT_CONTACTLIST_XML = ":/xml/contacts_namelist.docml"; static const int CNT_MIN_ROW_COUNT = 2; @@ -186,6 +188,10 @@ CNT_ENTRY mViewManager = aMgr; + if (mView->mainWindow() != NULL && !(mView->visibleItems() & Hb::AllItems)) + { + hideFinder(); + } if (!mListModel) { QContactDetailFilter filter; @@ -238,14 +244,8 @@ { CNT_ENTRY HbMainWindow* win = mView->mainWindow(); - // in UTs there is no mainwindow and therefore calling HbView::visibleItems() would cause a crash if ( win != NULL) { - if (!(mView->visibleItems() & Hb::AllItems)) - { - hideFinder(); - } - CntApplication* cntApp = static_cast(qApp); disconnect(win, SIGNAL(viewReady()), cntApp, SIGNAL(applicationReady())); } @@ -277,6 +277,16 @@ { editor->setText(""); editor->setFocus(); + + // This opens the VKB + QInputContext *ic = qApp->inputContext(); + if (ic) + { + QEvent *event = new QEvent(QEvent::RequestSoftwareInputPanel); + ic->filterEvent(event); + delete event; + } + } CNT_EXIT @@ -320,6 +330,8 @@ mImportSim->setVisible(false); mNewContact->setVisible(false); mMultipleDeleter->setVisible(false); + HbAction* settings = static_cast(document()->findObject("cnt:settings") ); + settings->setVisible(false); CNT_EXIT } @@ -328,9 +340,6 @@ { CNT_ENTRY - mVirtualKeyboard->closeKeypad(); - mView->setMaximumHeight(-1); - document()->load( CNT_CONTACTLIST_XML, "no_find" ); mView->showItems(Hb::AllItems); @@ -349,6 +358,8 @@ mNewContact->setVisible(true); mImportSim->setVisible(true); mMultipleDeleter->setVisible(true); + HbAction* settings = static_cast(document()->findObject("cnt:settings") ); + settings->setVisible(true); CNT_EXIT } @@ -504,6 +515,7 @@ if (mMenu) { delete mMenu; + mMenu = NULL; } mMenu = mMenuBuilder->actionMenu( contact, mListModel->myCardId() ); mMenu->setPreferredPos( aPoint ); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookapp/phonebookapp.pro --- a/phonebookui/phonebookapp/phonebookapp.pro Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookapp/phonebookapp.pro Thu Aug 05 14:31:09 2010 +0300 @@ -64,8 +64,8 @@ SKINICON = qtg_large_phonebook - :BLD_INF_RULES.prj_exports += "resources/phonebook.splashml \epoc32\release\winscw\udeb\z\resource\hb\splashml\phonebook.splashml - :BLD_INF_RULES.prj_exports += "resources/phonebook.splashml \epoc32\data\z\resource\hb\splashml\phonebook.splashml - :BLD_INF_RULES.prj_exports += "resources/phonebook.docml \epoc32\release\winscw\udeb\z\resource\hb\splashml\phonebook.docml - :BLD_INF_RULES.prj_exports += "resources/phonebook.docml \epoc32\data\z\resource\hb\splashml\phonebook.docml + :BLD_INF_RULES.prj_exports += "resources/phonebook.splashml /epoc32/release/winscw/udeb/z/resource/hb/splashml/phonebook.splashml + :BLD_INF_RULES.prj_exports += "resources/phonebook.splashml /epoc32/data/z/resource/hb/splashml/phonebook.splashml + :BLD_INF_RULES.prj_exports += "resources/phonebook.docml /epoc32/release/winscw/udeb/z/resource/hb/splashml/phonebook.docml + :BLD_INF_RULES.prj_exports += "resources/phonebook.docml /epoc32/data/z/resource/hb/splashml/phonebook.docml } \ No newline at end of file diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookapp/src/main.cpp --- a/phonebookui/phonebookapp/src/main.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookapp/src/main.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -15,8 +15,7 @@ * */ -#include -#include +#include #include "cntmainwindow.h" #include "cntappservicehandler.h" #include "cntglobal.h" @@ -29,11 +28,9 @@ CntApplication a( argc, argv ); - QTranslator translator; - QString lang = QLocale::system().name(); - QString path = "z:/resource/qt/translations/"; - translator.load(path + "contacts_" + lang); - a.installTranslator(&translator); + //For translation, loading and installing translator + HbTranslator translator("contacts"); + translator.loadCommon(); CntAppServiceHandler serviceHandler; CntMainWindow mainWindow; diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/inc/cntservicecontactfetchview.h --- a/phonebookui/phonebookservices/inc/cntservicecontactfetchview.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/inc/cntservicecontactfetchview.h Thu Aug 05 14:31:09 2010 +0300 @@ -21,8 +21,10 @@ #include #include "cntbaseselectionview.h" +#include #include "cntabstractserviceprovider.h" +class CntServicesContact; class CntServiceContactFetchView : public CntBaseSelectionView { @@ -38,9 +40,20 @@ void aboutToOpenView(CntAbstractViewManager* aMgr, const CntViewParameters viewParameters); void closeFetchView(); void cancelFetch(); + void popupContactAction(QContact& aContact,QContactDetail contactDetail, QString aAction); + void actionPopupCancelSlot(); + +private: + void serviceCallMessageAction(QContact& aContact, QString aAction); + void serviceEmailAction(QContact& aContact); + void serviceAllAction(QContact& aContact); + void showPreviousView(); private: CntAbstractServiceProvider& mProvider; + QString mAction; + CntServicesContactList mServiceList; + int mIndex; }; #endif /* CNTSERVICECONTACTFETCHVIEW_H */ diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/inc/cntservicegroupmemberview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/phonebookservices/inc/cntservicegroupmemberview.h Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef CNTSERVICEGROUPMEMBERVIEW_H +#define CNTSERVICEGROUPMEMBERVIEW_H + +#include +#include "cntgroupmemberview.h" + +class CntServiceHandler; +class CntAbstractServiceProvider; + +class CntServiceGroupMemberView : public CntGroupMemberView +{ + Q_OBJECT + +public: + CntServiceGroupMemberView( CntAbstractServiceProvider& aServiceProvider ); + ~CntServiceGroupMemberView(); + + int viewId() const { return serviceGroupMemberView; } + +private slots: + void closeGroupMemberView(); + +private: + CntAbstractServiceProvider& mProvider; + +}; + +#endif // CNTSERVICEGROUPMEMBERVIEW_H + +// EOF diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/inc/cntserviceproviderviewing.h --- a/phonebookui/phonebookservices/inc/cntserviceproviderviewing.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/inc/cntserviceproviderviewing.h Thu Aug 05 14:31:09 2010 +0300 @@ -53,6 +53,12 @@ * @param aValue The value for the field. */ void openTemporaryContactCard( QString aFieldName, QString aFieldValue ); + + /** + * Opens Group Member View. + * @param aContactId + */ + void openGroup( int aContactId ); private: // from CntAbstractServiceProvider void CompleteServiceAndCloseApp(const QVariant& retValue); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/inc/cntservices.h --- a/phonebookui/phonebookservices/inc/cntservices.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/inc/cntservices.h Thu Aug 05 14:31:09 2010 +0300 @@ -133,6 +133,14 @@ */ void launchContactCard(int contactId, CntAbstractServiceProvider& aServiceProvider ); + + /** + * Opens Group member view. + * @param contactId The contact ID + * @param aServiceProvider The service provider + */ + void launchGroupMemberView(int contactId, + CntAbstractServiceProvider& aServiceProvider ); /** * Opens Contact Card for non-saved contact. @@ -163,6 +171,7 @@ void removeNotSupportedFields(QContact& contact); void removeNotSupportedDetails(QContact& contact); void fillOnlineAccount( QContactOnlineAccount& account, const QString& value, const QString& subType, bool defaultForOnlineAccountIsImpp); + QContactManager* contactManager(); private: // from CntAbstractServiceProvider void CompleteServiceAndCloseApp(const QVariant& retValue); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/phonebookservices.pro --- a/phonebookui/phonebookservices/phonebookservices.pro Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/phonebookservices.pro Thu Aug 05 14:31:09 2010 +0300 @@ -38,6 +38,7 @@ inc/cntservicecontactselectionview.h \ inc/cntserviceeditview.h \ inc/cntservicecontactcardview.h \ + inc/cntservicegroupmemberview.h \ inc/cntserviceassigncontactcardview.h \ inc/cntserviceviewfactory.h \ inc/cntservices.h \ @@ -55,6 +56,7 @@ src/cntservicecontactselectionview.cpp \ src/cntserviceeditview.cpp \ src/cntservicecontactcardview.cpp \ + src/cntservicegroupmemberview.cpp \ src/cntserviceassigncontactcardview.cpp \ src/cntserviceviewfactory.cpp \ src/cntservices.cpp \ diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntservicecontactcardview.cpp --- a/phonebookui/phonebookservices/src/cntservicecontactcardview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntservicecontactcardview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -18,6 +18,7 @@ #include "cntservicecontactcardview.h" #include "cntabstractserviceprovider.h" #include "cntdebug.h" +#include /*! Constructor, initialize member variables. @@ -47,9 +48,8 @@ void CntServiceContactCardView::closeContactCard() { CNT_ENTRY - int retValue = -2; // Dummy return value. Not relevant. QVariant variant; - variant.setValue(retValue); + variant.setValue(KCntServicesTerminated); mProvider.CompleteServiceAndCloseApp(variant); CNT_EXIT } diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntservicecontactfetchview.cpp --- a/phonebookui/phonebookservices/src/cntservicecontactfetchview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntservicecontactfetchview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -26,6 +26,7 @@ #include #include #include +#include "cntactionpopup.h" #include @@ -35,7 +36,6 @@ { HbAction* cancel = static_cast( mDocument->findObject( "cnt:cancel" ) ); mView->menu()->addAction( cancel ); - connect(cancel, SIGNAL(triggered()), this, SLOT(cancelFetch()) ); connect( this, SIGNAL(viewClosed()), this, SLOT(closeFetchView()) ); connect( this, SIGNAL(viewOpened(CntAbstractViewManager*, const CntViewParameters)), this, SLOT(aboutToOpenView(CntAbstractViewManager*, const CntViewParameters)) ); @@ -58,44 +58,171 @@ void CntServiceContactFetchView::closeFetchView() { - CntServicesContactList serviceList; QContactManager* mgr = mMgr->contactManager(SYMBIAN_BACKEND); QModelIndexList temp = mListView->selectionModel()->selection().indexes(); + mIndex = 0; for(int i = 0; i < temp.count(); i++ ) { QContact contact = mListModel->contact(temp.at(i)); - CntServicesContact servicesContact; - - //get the name - servicesContact.mDisplayName = contact.displayLabel(); - - //get the phonenumber - QList phonenumbers = contact.details(); - if(phonenumbers.count() > 0) + if (mAction == KCntActionCall) + { + serviceCallMessageAction(contact, KCntActionCall); + } + else if (mAction == KCntActionSms ) { - servicesContact.mPhoneNumber = phonenumbers.first().number(); + serviceCallMessageAction(contact, "message"); + } + else if (mAction == KCntActionEmail) + { + serviceEmailAction(contact); } else { - servicesContact.mPhoneNumber = ""; + serviceAllAction(contact); } + } + showPreviousView(); +} + +void CntServiceContactFetchView::serviceCallMessageAction(QContact& aContact, QString aAction) +{ + CntServicesContact servicesContact; + //get the phonenumber + QList phonenumbers = aContact.details(); + + Q_ASSERT_X( phonenumbers.count() > 0, "serviceCallMessageAction", "Number count is zero"); + + QContactDetail detail = aContact.preferredDetail(aAction); + if (!detail.isEmpty()) + { + //Set preferred detail for services + QContactPhoneNumber number = detail; + servicesContact.mDisplayName = aContact.displayLabel(); + servicesContact.mPhoneNumber = number.number(); + servicesContact.mEmailAddress = ""; + servicesContact.mContactId = aContact.localId(); + mServiceList.append(servicesContact); + } + else + { + // show popup for call numbers + CntActionPopup *actionPopup = new CntActionPopup(&aContact); + bool popup = actionPopup->showActionPopup(aAction); + if(popup) + { + //if call numbers are present wait for signals + mIndex++; + connect( actionPopup, SIGNAL(executeContactAction(QContact&,QContactDetail, QString)), this, + SLOT(popupContactAction(QContact&, QContactDetail, QString))); + connect( actionPopup, SIGNAL(actionPopupCancelPressed()), this, + SLOT(actionPopupCancelSlot())); + } + else + { + //else delete popup if no call number present + delete actionPopup; + } + } +} +void CntServiceContactFetchView::serviceEmailAction(QContact& aContact) +{ + CntServicesContact servicesContact; + //get the email address + QList emailAddresses = aContact.details(); + + Q_ASSERT_X( emailAddresses.count() > 0, "serviceEmailAction", "email address count is zero"); + + QContactDetail detail = aContact.preferredDetail("email"); + if (!detail.isEmpty()) + { + //Set preferred detail for services + QContactEmailAddress email = detail; + servicesContact.mDisplayName = aContact.displayLabel(); + servicesContact.mPhoneNumber = ""; + servicesContact.mEmailAddress = email.emailAddress(); + servicesContact.mContactId = aContact.localId(); + mServiceList.append(servicesContact); + + } + else + { + // show popup for email id's + CntActionPopup *actionPopup = new CntActionPopup(&aContact); + bool popup = actionPopup->showActionPopup("email"); + if(popup) + { + //if email id's are present wait for signals + mIndex++; + connect( actionPopup, SIGNAL(executeContactAction(QContact&,QContactDetail, QString)), this, + SLOT(popupContactAction(QContact&, QContactDetail, QString))); + connect( actionPopup, SIGNAL(actionPopupCancelPressed()), this, + SLOT(actionPopupCancelSlot())); + } + else + { + //else delete popup if no email present + delete actionPopup; + } + } +} + +void CntServiceContactFetchView::serviceAllAction(QContact& aContact) +{ + CntServicesContact servicesContact; + servicesContact.mDisplayName = aContact.displayLabel(); + QContactDetail callDetail = aContact.preferredDetail("call"); + //Check for preferredDetail from call + // if not present check for preferredDetail for message + // if not present pick first phone number + if (!callDetail.isEmpty()) + { + QContactPhoneNumber number = callDetail; + servicesContact.mPhoneNumber = number.number(); + } + else + { + QContactDetail smsDetail = aContact.preferredDetail("message"); + if (!callDetail.isEmpty()) + { + QContactPhoneNumber number = smsDetail; + servicesContact.mPhoneNumber = number.number(); + } + else + { + QList phonenumbers = aContact.details(); + if(phonenumbers.count() > 0) + { + servicesContact.mPhoneNumber = phonenumbers.first().number(); + } + else + { + servicesContact.mPhoneNumber = ""; + } + } + } + + QContactDetail emailDetail = aContact.preferredDetail("email"); + if (!emailDetail.isEmpty()) + { + QContactEmailAddress email = emailDetail; + servicesContact.mEmailAddress = email.emailAddress(); + } + else + { //get first email address - QList emailAddresses = contact.details(); + QList emailAddresses = aContact.details(); if(emailAddresses.count() > 0) { servicesContact.mEmailAddress = emailAddresses.first().emailAddress(); } - //contact id - servicesContact.mContactId = contact.localId(); - - //append it to the list - serviceList.append(servicesContact); + else + { + servicesContact.mEmailAddress = ""; + } } - - QVariant variant; - variant.setValue(serviceList); - mProvider.CompleteServiceAndCloseApp(variant); + servicesContact.mContactId = aContact.localId(); + mServiceList.append(servicesContact); } void CntServiceContactFetchView::aboutToOpenView(CntAbstractViewManager* aMgr, const CntViewParameters aArgs) @@ -107,26 +234,26 @@ mView->setTitle(title); // Set action filter - QString action = aArgs.value(ESelectedAction).toString(); + mAction = aArgs.value(ESelectedAction).toString(); // ESelectedAction is defined in cntviewparams.h // Has never been implemented. //QString filterStr = aArgs.value(KCntServiceViewParamFilter).toString(); // KCntServiceViewParamFilter is defined in cntserviceviewparams.h - if (action == KCntActionSms) + if (mAction == KCntActionSms) { QContactActionFilter actionFilter; actionFilter.setActionName("message"); mListModel->setFilter(actionFilter); } - else if (action == KCntActionCall) + else if (mAction == KCntActionCall) { QContactActionFilter actionFilter; actionFilter.setActionName("call"); mListModel->setFilter(actionFilter); } - else if (action == KCntActionEmail) + else if (mAction == KCntActionEmail) { QContactActionFilter actionFilter; actionFilter.setActionName("email"); @@ -148,4 +275,59 @@ } } +void CntServiceContactFetchView::popupContactAction(QContact& aContact,QContactDetail contactDetail, QString aAction) +{ + if (aAction.compare("call", Qt::CaseInsensitive) == 0 + || aAction.compare("message", Qt::CaseInsensitive) == 0 ) + { + CntServicesContact servicesContact; + QContactPhoneNumber number = static_cast(contactDetail); + QString name = aContact.displayLabel(); + servicesContact.mDisplayName = aContact.displayLabel(); + servicesContact.mPhoneNumber = number.number(); + servicesContact.mEmailAddress = ""; + servicesContact.mContactId = aContact.localId(); + mServiceList.append(servicesContact); + mIndex--; + } + else if (aAction.compare("email", Qt::CaseInsensitive) == 0 ) + { + CntServicesContact servicesContact; + QContactEmailAddress email = static_cast(contactDetail); + servicesContact.mDisplayName = aContact.displayLabel(); + servicesContact.mPhoneNumber = ""; + servicesContact.mEmailAddress = email.emailAddress(); + servicesContact.mContactId = aContact.localId(); + mServiceList.append(servicesContact); + mIndex--; + } + + if (aContact.preferredDetail(aAction).isEmpty() && (aAction == "call" || aAction == "message" || aAction == "email")) + { + aContact.setPreferredDetail(aAction, contactDetail); + //return value will be ignored because we cannot do anything if it fails. + mMgr->contactManager(SYMBIAN_BACKEND)->saveContact(&aContact); + } + + showPreviousView(); +} + +void CntServiceContactFetchView::actionPopupCancelSlot() +{ + mIndex--; + showPreviousView(); +} + +void CntServiceContactFetchView::showPreviousView() +{ + if(mIndex==0) + { + QVariant variant; + variant.setValue(mServiceList); + mProvider.CompleteServiceAndCloseApp(variant); + + CntViewParameters args; + mMgr->back( args ); + } +} // EOF diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntservicecontactselectionview.cpp --- a/phonebookui/phonebookservices/src/cntservicecontactselectionview.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntservicecontactselectionview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -56,6 +56,8 @@ QVariant variant; variant.setValue(KCntServicesReturnValueContactNotModified); mProvider.CompleteServiceAndCloseApp(variant); + CntViewParameters args; + mMgr->back( args ); } void CntServiceContactSelectionView::aboutToOpenView(CntAbstractViewManager* aMgr, const CntViewParameters viewParameters) diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntservicegroupmemberview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/phonebookservices/src/cntservicegroupmemberview.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include "cntservicegroupmemberview.h" +#include "cntabstractserviceprovider.h" +#include "cntdebug.h" +#include + +/*! +Constructor, initialize member variables. +\a viewManager is the parent that creates this view. \a parent is a pointer to parent QGraphicsItem (by default this is 0) +*/ +CntServiceGroupMemberView::CntServiceGroupMemberView( CntAbstractServiceProvider& aServiceProvider ) : + CntGroupMemberView(), + mProvider( aServiceProvider ) +{ + CNT_ENTRY + connect(this, SIGNAL(backPressed()), this, SLOT(closeGroupMemberView())); + CNT_EXIT +} + +/*! +Destructor +*/ +CntServiceGroupMemberView::~CntServiceGroupMemberView() +{ + CNT_ENTRY + CNT_EXIT +} + +/*! +Close the view (quits the service as well) +*/ +void CntServiceGroupMemberView::closeGroupMemberView() +{ + CNT_ENTRY + QVariant variant; + variant.setValue(KCntServicesTerminated); + mProvider.CompleteServiceAndCloseApp(variant); + CNT_EXIT +} + +// end of file diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntserviceproviderviewing.cpp --- a/phonebookui/phonebookservices/src/cntserviceproviderviewing.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntserviceproviderviewing.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -60,18 +60,27 @@ CNT_EXIT } +void CntServiceProviderViewing::openGroup( int aContactId ) + { + CNT_ENTRY + mCurrentRequestIndex = setCurrentRequestAsync(); + mServices.setQuittable(requestInfo().isEmbedded()); + mServices.launchGroupMemberView( aContactId, *this ); + CNT_EXIT + } + void CntServiceProviderViewing::CompleteServiceAndCloseApp(const QVariant& retValue) { CNT_ENTRY connect(this, SIGNAL(returnValueDelivered()), qApp, SLOT(quit())); if ( mCurrentRequestIndex != 0 ) - { + { const bool success = completeRequest(mCurrentRequestIndex, retValue); if ( !success ) { CNT_LOG_ARGS("Failed to complete highway request."); } mCurrentRequestIndex = 0; - } + } CNT_EXIT } diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntservices.cpp --- a/phonebookui/phonebookservices/src/cntservices.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntservices.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -293,7 +293,7 @@ CntViewParameters params; params.insert(EViewId, serviceEditView); - QContact contact = mViewManager->contactManager(SYMBIAN_BACKEND)->contact(contactId); + QContact contact = contactManager()->contact(contactId); QVariant varContact; varContact.setValue(contact); params.insert(ESelectedContact, varContact); @@ -308,8 +308,7 @@ CNT_ENTRY mCurrentProvider = &aServiceProvider; - QContactManager manager("symbian"); - QContact contact = manager.contact(aContactId); + QContact contact = contactManager()->contact(aContactId); // Launch Contact Card view CntViewParameters params; @@ -372,6 +371,23 @@ CNT_EXIT } +void CntServices::launchGroupMemberView(int aContactId, + CntAbstractServiceProvider& aServiceProvider ) +{ + CNT_ENTRY + mCurrentProvider = &aServiceProvider; + + QContact contact = contactManager()->contact(aContactId); + + // Launch Group member view + CntViewParameters params; + params.insert(EViewId, serviceGroupMemberView); + QVariant var; + var.setValue(contact); + params.insert(ESelectedGroupContact, var); + mViewManager->changeView( params ); + CNT_EXIT +} void CntServices::setQuittable(bool quittable) { @@ -411,7 +427,6 @@ void CntServices::removeNotSupportedFields(QContact& contact) { CNT_ENTRY - QContactManager cm("symbian"); QList removeList; // Not all fields are supported in symbian back-end @@ -449,7 +464,10 @@ if(phoneDetail.subTypes().contains(QContactPhoneNumber::SubTypeVoice) || phoneDetail.subTypes().contains(QContactPhoneNumber::SubTypeMessagingCapable)) { - detail.removeValue(QContactPhoneNumber::FieldSubTypes); + // Default to subtype mobile + QStringList l; + l << QLatin1String(QContactPhoneNumber::SubTypeMobile); + detail.setValue(QContactPhoneNumber::FieldSubTypes, l); contact.saveDetail(&detail); } } @@ -509,9 +527,9 @@ { CNT_ENTRY if ( mCurrentProvider ) - { + { mCurrentProvider->CompleteServiceAndCloseApp( retValue ); - } + } CNT_EXIT } @@ -519,14 +537,21 @@ { CNT_ENTRY if ( mCurrentProvider ) - { + { // Complete the service with KCntServicesTerminated return value QVariant var(KCntServicesTerminated); mCurrentProvider->CompleteServiceAndCloseApp( var ); - } + } CNT_EXIT } +QContactManager* CntServices::contactManager() +{ + if ( mViewManager ) + return mViewManager->contactManager(SYMBIAN_BACKEND); + return NULL; +} + Q_IMPLEMENT_USER_METATYPE(CntServicesContact) Q_IMPLEMENT_USER_METATYPE_NO_OPERATORS(CntServicesContactList) diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntserviceviewfactory.cpp --- a/phonebookui/phonebookservices/src/cntserviceviewfactory.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntserviceviewfactory.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -23,6 +23,7 @@ #include "cntservicecontactselectionview.h" #include "cntservicecontactcardview.h" +#include "cntservicegroupmemberview.h" #include "cntservicecontactfetchview.h" #include "cntserviceassigncontactcardview.h" @@ -57,6 +58,9 @@ case serviceAssignContactCardView: return new CntServiceAssignContactCardView( mProvider ); + + case serviceGroupMemberView: + return new CntServiceGroupMemberView( mProvider ); default: return CntDefaultViewFactory::createView( aViewId ); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/main.cpp --- a/phonebookui/phonebookservices/src/main.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/main.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -28,6 +28,7 @@ #include "cntservices.h" #include "cntserviceviewmanager.h" #include "cntviewnavigator.h" +#include "cntkeygrabber.h" #include "cntdebug.h" #include @@ -44,6 +45,7 @@ a.installTranslator(&translator); HbMainWindow mainWindow; + CntKeyGrabber *keyGrabber = new CntKeyGrabber(&mainWindow, &mainWindow); CntViewNavigator* navigator = new CntViewNavigator( &mainWindow ); navigator->addException( serviceEditView, noView ); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/main.cpp --- a/phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/main.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/main.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -204,6 +204,13 @@ mainLayout->addItem(button, row, 1); row++; + // Launch - Group Member View ========================================================== + + button = new HbPushButton("Launch group member view"); + QObject::connect(button, SIGNAL(pressed()), service, SLOT(launchGroupMemberView())); + mainLayout->addItem(button, row, 0); + row++; + QGraphicsWidget *graphicsWidget = new QGraphicsWidget(); graphicsWidget->setLayout(mainLayout); HbScrollArea *scrollArea = new HbScrollArea(); diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/testpbkservices.cpp --- a/phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/testpbkservices.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/testpbkservices.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -420,6 +420,67 @@ CNT_EXIT } +void testPbkServices::launchGroupMemberView() +{ + CNT_ENTRY + delete mRequest; + mRequest=0; + + // save test contact + QContactManager mgr("symbian"); + QContact contact; + QContactName name; + QContactPhoneNumber number; + + name.setFirstName("Test_Contact"); + number.setNumber("0202223344"); + contact.saveDetail(&name); + contact.saveDetail(&number); + mgr.saveContact(&contact); + + // save test group + QString text("Work"); + QContact groupContact; + groupContact.setType(QContactType::TypeGroup); + QContactName groupName; + groupName.setCustomLabel(text); + groupContact.saveDetail(&groupName); + mgr.saveContact(&groupContact); + QContactRelationship relationship; + relationship.setRelationshipType(QContactRelationship::HasMember); + relationship.setFirst(groupContact.id()); + relationship.setSecond(contact.id()); + // Save relationship + mgr.saveRelationship(&relationship); + + // get contact id + int id = groupContact.id().localId(); + + QVariantList args; + XQApplicationManager appMng; + QString interface("com.nokia.symbian.IContactsView"); + QString operation("openGroup(int)"); + // interface name is not needed + mRequest = appMng.create( interface, operation, true); // embedded + if ( mRequest ) + { + CNT_LOG_ARGS("Request created.") + // Result handlers + connect (mRequest, SIGNAL(requestOk(const QVariant&)), this, SLOT(onRequestCompleted(const QVariant&))); + + args << id; + + mRequest->setArguments(args); + mRequest->send(); + CNT_LOG_ARGS("Request sent.") + } + else + { + CNT_LOG_ARGS("Failed to create request") + } + CNT_EXIT +} + void testPbkServices::onEditCompleted(const QVariant& value) { CNT_ENTRY diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/testpbkservices.h --- a/phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/testpbkservices.h Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/tsrc/qtpbkservicestestapp/testpbkservices.h Thu Aug 05 14:31:09 2010 +0300 @@ -81,6 +81,9 @@ void launchContactCardEmail_old(); void launchContactCardOnlineAccount(); void launchContactCardOnlineAccount_old(); + + // GROUP MEMBER VIEW + void launchGroupMemberView(); void onEditCompleted(const QVariant& value); void onRequestCompleted(const QVariant& value);