# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268401293 -7200 # Node ID 78867dafe7eb00662908a637ee2c0eb8189b6334 # Parent f5911524345e00c77569750a06a738315fd5c610 Revision: 201007 Kit: 201008 diff -r f5911524345e -r 78867dafe7eb imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.rss --- a/imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.rss Fri Feb 19 22:41:11 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.rss Fri Mar 12 15:41:33 2010 +0200 @@ -454,7 +454,7 @@ AVKON_BUTTON_STATE { helptxt = qtn_servtab_toolbar_send; - bmpfile = BITMAP_DIR"//imcvuiapp.mif"; + bmpfile = BITMAP_DIR"\\imcvuiapp.mif"; bmpid = EMbmImcvuiappQgn_indi_tb_msg_send; bmpmask = EMbmImcvuiappQgn_indi_tb_msg_send_mask; extension = r_im_cv_toolbar_indi_tb_msg_send_extension; @@ -474,7 +474,7 @@ AVKON_BUTTON_STATE { helptxt = qtn_servtab_toolbar_smiley; - bmpfile = BITMAP_DIR"//imcvuiapp.mif"; + bmpfile = BITMAP_DIR"\\imcvuiapp.mif"; bmpid = EMbmImcvuiappQgn_indi_tb_smiley; bmpmask = EMbmImcvuiappQgn_indi_tb_smiley_mask; extension = r_im_cv_toolbar_indi_tb_smiley_extension; @@ -494,7 +494,7 @@ AVKON_BUTTON_STATE { helptxt = qtn_servtab_toolbar_details; - bmpfile = BITMAP_DIR"//imcvuiapp.mif"; + bmpfile = BITMAP_DIR"\\imcvuiapp.mif"; bmpid = EMbmImcvuiappQgn_indi_tb_business_card; bmpmask = EMbmImcvuiappQgn_indi_tb_business_card_mask; extension = r_im_cv_toolbar_indi_tb_business_card_extension; diff -r f5911524345e -r 78867dafe7eb imstutils/imconversationview/imcvuiapp/src/cimcvapptextviewcontrol.cpp --- a/imstutils/imconversationview/imcvuiapp/src/cimcvapptextviewcontrol.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/src/cimcvapptextviewcontrol.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -187,24 +187,25 @@ vSbarModel.iThumbSpan = span; // bar length // Double span - if( iScrollBar && - iScrollBar->TypeOfVScrollBar() == CEikScrollBarFrame::EDoubleSpan ) + if( iScrollBar ) { - TAknDoubleSpanScrollBarModel vDsModel( vSbarModel ); - iScrollBar->Tile( &vDsModel ); - iScrollBar->SetVFocusPosToThumbPos( vDsModel.FocusPosition()); + if ( iScrollBar->TypeOfVScrollBar() == CEikScrollBarFrame::EDoubleSpan ) + { + TAknDoubleSpanScrollBarModel vDsModel( vSbarModel ); + iScrollBar->Tile( &vDsModel ); + iScrollBar->SetVFocusPosToThumbPos( vDsModel.FocusPosition()); + } + // ArrowHead + else + { + iScrollBar->Tile( &vSbarModel ); + iScrollBar->SetVFocusPosToThumbPos( vSbarModel.iThumbPosition ); + } + if( aScrollDraw ) + { + iScrollBar->DrawScrollBarsNow(); + } } - // ArrowHead - else - { - iScrollBar->Tile( &vSbarModel ); - iScrollBar->SetVFocusPosToThumbPos( vSbarModel.iThumbPosition ); - } - - if( aScrollDraw ) - { - iScrollBar->DrawScrollBarsNow(); - } IM_CV_LOGS(TXT("CIMCVAppTextViewControl::UpdateScrollBarsL() end") ); } diff -r f5911524345e -r 78867dafe7eb imstutils/imconversationview/imcvuiapp/src/cimcvappview.cpp --- a/imstutils/imconversationview/imcvuiapp/src/cimcvappview.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/src/cimcvappview.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -584,6 +584,8 @@ } else { + TPtrC activeRecipientId = iEngineFactory->GetActiveItemL (); + iActiveEngine->MessageHandler().StartNewConversationL (activeRecipientId); SetStatusPaneIconsL(); if (iStatusPane) { diff -r f5911524345e -r 78867dafe7eb imstutils/loc/meco.loc --- a/imstutils/loc/meco.loc Fri Feb 19 22:41:11 2010 +0200 +++ b/imstutils/loc/meco.loc Fri Mar 12 15:41:33 2010 +0200 @@ -1597,4 +1597,9 @@ // #define qtn_servtab_widget_servdesc "My online service" +// d: Text shown when service tab is not usable after uninstall +// l: main_pane_empty_t1/opt2 +// r: MCL +#define qtn_servtab_swupdate_restart "Please restart phone to use %U service" + //end of file diff -r f5911524345e -r 78867dafe7eb servicewidget/themes/install-themes/install/servicewidget_20021383/group/bld.inf --- a/servicewidget/themes/install-themes/install/servicewidget_20021383/group/bld.inf Fri Feb 19 22:41:11 2010 +0200 +++ b/servicewidget/themes/install-themes/install/servicewidget_20021383/group/bld.inf Fri Mar 12 15:41:33 2010 +0200 @@ -42,8 +42,8 @@ // Support for S60 localization //***************************** // export localizable loc files (engineering versions) -//../loc/servicewidget.loc MW_LAYER_LOC_EXPORT_PATH(servicewidget.loc) -../loc/servicewidget.loc /epoc32/include/platform/app/loc/servicewidget.loc +../loc/servicewidget.loc APP_LAYER_LOC_EXPORT_PATH(servicewidget.loc) + // Support for S60 builds diff -r f5911524345e -r 78867dafe7eb servicewidget/themes/install-themes/install/servicewidget_20021383/xuikon/37/servicewidget.css --- a/servicewidget/themes/install-themes/install/servicewidget_20021383/xuikon/37/servicewidget.css Fri Feb 19 22:41:11 2010 +0200 +++ b/servicewidget/themes/install-themes/install/servicewidget_20021383/xuikon/37/servicewidget.css Fri Mar 12 15:41:33 2010 +0200 @@ -18,7 +18,7 @@ block-progression: tb; nav-index:auto; background-size:90%; - } + } box#second_inner_box @@ -98,7 +98,6 @@ text.first_text { - display: block; visibility: visible; position: static; text-align: right; diff -r f5911524345e -r 78867dafe7eb uiservicetab/Group/backup_registration.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/Group/backup_registration.xml Fri Mar 12 15:41:33 2010 +0200 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff -r f5911524345e -r 78867dafe7eb uiservicetab/Group/bld.inf --- a/uiservicetab/Group/bld.inf Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/Group/bld.inf Fri Mar 12 15:41:33 2010 +0200 @@ -34,6 +34,7 @@ ../inc/servicetabmenucommandinfo.hrh APP_LAYER_PLATFORM_EXPORT_PATH( servicetabmenucommandinfo.hrh) // ROM SIS stubs ../sis/uiservicetabstub.sis /epoc32/data/Z/System/Install/uiservicetabstub.sis +backup_registration.xml z:/private/20012423/backup_registration.xml // MMP files for project components PRJ_MMPFILES diff -r f5911524345e -r 78867dafe7eb uiservicetab/inc/tvimpstconsts.h --- a/uiservicetab/inc/tvimpstconsts.h Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/inc/tvimpstconsts.h Fri Mar 12 15:41:33 2010 +0200 @@ -195,6 +195,7 @@ // Name for database. _LIT( KStorageExtn, ".db"); //hardcoded path for the local service db file. -_LIT(KDbPath, "c:\\"); +_LIT(KDbPath, "c:\\MeCo\\"); + #endif // TVIMPSTCONSTS_H diff -r f5911524345e -r 78867dafe7eb uiservicetab/sis/uiservicetab.pkg --- a/uiservicetab/sis/uiservicetab.pkg Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/sis/uiservicetab.pkg Fri Mar 12 15:41:33 2010 +0200 @@ -41,6 +41,8 @@ "/EPOC32/DATA/Z/Resource/vimpstuires.rsc" -"!:/Resource/vimpstuires.rsc" "/EPOC32/DATA/Z/Resource/Plugins/vimpstui.rsc" -"!:/Resource/Plugins/vimpstui.rsc" "/EPOC32/DATA/Z/Resource/Plugins/vimpstdetailsviewplugin.rsc" -"!:/Resource/Plugins/vimpstdetailsviewplugin.rsc" +; Backup & restore +"../group/backup_registration.xml" -"!:/private/20012423/backup_registration.xml" "/EPOC32/DATA/Z/Resource/apps/vimpstui.mif" -"!:/Resource/apps/vimpstui.mif" diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstcmdprocess/src/cvimpstcmdaddfrompbk.cpp --- a/uiservicetab/vimpstcmdprocess/src/cvimpstcmdaddfrompbk.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstcmdprocess/src/cvimpstcmdaddfrompbk.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -178,35 +178,37 @@ const MVPbkFieldType* fieldType = field.BestMatchingFieldType(); //find the relevant voip fields/email id fileds. - if ( fieldType && - ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_VOIPHOME ) || + if ( fieldType ) + { + if ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_VOIPHOME ) || ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_VOIPWORK ) || ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_VOIPGEN ) || ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_SIP )|| ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_EMAILWORK ) || ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_EMAILHOME ) || ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_EMAILGEN )) - { - CHAT_DP_FUNC_ENTER("[CVIMPSTStorageContact::GetServiceFieldsL] -> GetServiceFieldsL - Found"); - values[0] = MVPbkContactFieldTextData::Cast( - iStoreContact.Fields().FieldAt( index ). - FieldData() ).Text().AllocLC(); - if ( values[0] ) { - // Check for prefix and remove if found - TInt prefixLocation = values[0]->Locate( ':' ); - if ( KErrNotFound != prefixLocation ) + CHAT_DP_FUNC_ENTER("[CVIMPSTStorageContact::GetServiceFieldsL] -> GetServiceFieldsL - Found"); + values[0] = MVPbkContactFieldTextData::Cast( + iStoreContact.Fields().FieldAt( index ). + FieldData() ).Text().AllocLC(); + if ( values[0] ) { - CHAT_DP_FUNC_ENTER("[CVIMPSTStorageContact::GetServiceFieldsL] -> Prefix found -> remove"); - aArrayForServiceFields.AppendL( values[0]->Des().Mid( + // Check for prefix and remove if found + TInt prefixLocation = values[0]->Locate( ':' ); + if ( KErrNotFound != prefixLocation ) + { + CHAT_DP_FUNC_ENTER("[CVIMPSTStorageContact::GetServiceFieldsL] -> Prefix found -> remove"); + aArrayForServiceFields.AppendL( values[0]->Des().Mid( prefixLocation+1 ) ); + } + else + { + CHAT_DP_FUNC_ENTER("[CVIMPSTStorageContact::GetServiceFieldsL] -> No Prefix found"); + aArrayForServiceFields.AppendL( values[0]->Des() ); + } + CleanupStack::PopAndDestroy( values[0] ); } - else - { - CHAT_DP_FUNC_ENTER("[CVIMPSTStorageContact::GetServiceFieldsL] -> No Prefix found"); - aArrayForServiceFields.AppendL( values[0]->Des() ); - } - CleanupStack::PopAndDestroy( values[0] ); } } } diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/inc/s_vimpstengin.h --- a/uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/inc/s_vimpstengin.h Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/inc/s_vimpstengin.h Fri Mar 12 15:41:33 2010 +0200 @@ -75,7 +75,10 @@ */ const TDesC& ServiceName() const ; - + /* + * See MVIMPSTEngine + */ + TBool IsUnInstalled(); /** * See MVIMPSTEngine * diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/src/stub/s_vimpstengin.cpp --- a/uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/src/stub/s_vimpstengin.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/src/stub/s_vimpstengin.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -372,5 +372,11 @@ { } + + TBool vimpstengine_stub::IsUnInstalled() + { + return EFalse; + } + //end of file diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailscontacthandler.cpp --- a/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailscontacthandler.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailscontacthandler.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -151,9 +151,12 @@ { // launched from other than service tab // need to open service store - TPtr serviceStoreNamePtr = iServiceStoreUri->Des(); - uriArray->AppendL( TVPbkContactStoreUriPtr( serviceStoreNamePtr ) ); - TRACED( T_LIT("ServiceStoreUriL() - storename3: %S"), &serviceStoreNamePtr ); + if ( iServiceStoreUri ) + { + TPtr serviceStoreNamePtr = iServiceStoreUri->Des(); + uriArray->AppendL( TVPbkContactStoreUriPtr( serviceStoreNamePtr ) ); + TRACED( T_LIT("ServiceStoreUriL() - storename3: %S"), &serviceStoreNamePtr ); + } } HBufC& contactData = aParameter.ContactDataL(); @@ -526,14 +529,15 @@ if (iLinks && iCurrentLink) { index = iLinks->Find(*iCurrentLink) + 1; - } - if ( index >= iLinks->Count() ) - { - TRACED( T_LIT("CVIMPSTDetailsContactHandler:: VPbkSingleContactOperationFailed calling HandleContactUnavailableL start") ); - TRAP_IGNORE( iObserver.HandleContactUnavailableL() ); - TRACED( T_LIT("CVIMPSTDetailsContactHandler:: VPbkSingleContactOperationFailed calling HandleContactUnavailableL end ") ); - return; - } + + if ( index >= iLinks->Count() ) + { + TRACED( T_LIT("CVIMPSTDetailsContactHandler:: VPbkSingleContactOperationFailed calling HandleContactUnavailableL start") ); + TRAP_IGNORE( iObserver.HandleContactUnavailableL() ); + TRACED( T_LIT("CVIMPSTDetailsContactHandler:: VPbkSingleContactOperationFailed calling HandleContactUnavailableL end ") ); + return; + } + } IssueRequest(); TRACED( T_LIT("CVIMPSTDetailsContactHandler:: VPbkSingleContactOperationFailed end ") ); } diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsviewmenuhandler.cpp --- a/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsviewmenuhandler.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsviewmenuhandler.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -15,7 +15,7 @@ * */ - + #include "cvimpstdetailsviewmenuhandler.h" #include "cvimpstdetailsviewlistboxmodel.h" @@ -84,21 +84,27 @@ void CVIMPSTDetailsViewMenuHandler::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane ) { - if (iAiwServiceHandler && iAiwServiceHandler->HandleSubmenuL(*aMenuPane)) - { - return; - } + if (iAiwServiceHandler) + { + if ( iAiwServiceHandler->HandleSubmenuL(*aMenuPane)) + { + return; + } + } switch (aResourceId) { case R_VIMPSTDETAILSVIEW_MENUPANE: { TInt pos = 0; - if ( iAiwServiceHandler->IsAiwMenu(aResourceId)) - { - iAiwServiceHandler->InitializeMenuPaneL( *aMenuPane, - aResourceId, ECCAppDetailsViewAiwBaseCmd, - iAiwServiceHandler->InParamListL() ); - } + if ( iAiwServiceHandler ) + { + if ( iAiwServiceHandler->IsAiwMenu(aResourceId)) + { + iAiwServiceHandler->InitializeMenuPaneL( *aMenuPane, + aResourceId, ECCAppDetailsViewAiwBaseCmd, + iAiwServiceHandler->InParamListL() ); + } + } if ( aMenuPane->MenuItemExists(ECCAppDetailsViewSetTopContactCmd, pos) ) { aMenuPane->SetItemDimmed(ECCAppDetailsViewSetTopContactCmd, ETrue ); diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstengine/inc/cvimpstengine.h --- a/uiservicetab/vimpstengine/inc/cvimpstengine.h Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstengine/inc/cvimpstengine.h Fri Mar 12 15:41:33 2010 +0200 @@ -133,6 +133,11 @@ */ void ContactStoreIdL( TDes& aContactStoreId ) const ; + + /* + * See MVIMPSTEngine + */ + TBool IsUnInstalled( ); /** * See MVIMPSTEngine @@ -410,6 +415,10 @@ //block list observer to notify the blocked list has been fetched. MVIMPSTEngineBlockedListFetchEventObserver* iBlockListObs; + + // UnInstall Flag; Set to true during engine construction + // if engine fails to find ximp object implementation + TBool iUnInstall; }; diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstengine/inc/mvimpstengine.h --- a/uiservicetab/vimpstengine/inc/mvimpstengine.h Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstengine/inc/mvimpstengine.h Fri Mar 12 15:41:33 2010 +0200 @@ -255,6 +255,11 @@ */ virtual void RegisterBlockedListObserver( MVIMPSTEngineBlockedListFetchEventObserver* aOb) = 0; + + /* + * Returns whether ximp implementation was uninstalled + */ + virtual TBool IsUnInstalled()=0; /** * Destructor */ diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstengine/src/cvimpstengine.cpp --- a/uiservicetab/vimpstengine/src/cvimpstengine.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstengine/src/cvimpstengine.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -150,19 +150,27 @@ TBool imSupported = IsSubServiceSupportedInternal(TVIMPSTEnums::EIM); requireXimp |= presenceSupported; - requireXimp |= imSupported; - + requireXimp |= imSupported; + + TPtr serviceIdPtr(iServiceName->Des()); + iTableFetcher.GetServiceNameL(aServiceId, serviceIdPtr); + //if either of Presence/IM Subservice supported then we need //to bind to XIMP context. if ( KErrNotFound != ximpAdapterUid && requireXimp ) { - iSessionCntxtObserver = CVIMPSTEngineSessionCntxtObserver::NewL(aServiceId); + TRAPD( err, (iSessionCntxtObserver = CVIMPSTEngineSessionCntxtObserver::NewL(aServiceId))); + TRACE( T_LIT("ConstructL() -1st Creating session context observer: %d"), err ); + if (KErrNotFound == err) + { + TRACE( T_LIT("Ximp impl not found. Calling Logout") ); + iUnInstall = ETrue; + LogoutL(); + TRACE( T_LIT("Logout Called on account of uninstall") ); + return; + } } - TPtr serviceIdPtr( iServiceName->Des() ); - iTableFetcher.GetServiceNameL(aServiceId, serviceIdPtr); - - // iterate the service array for ( TInt index = TVIMPSTEnums::EVoip; index < TVIMPSTEnums::ELast ; index++ ) { @@ -234,7 +242,7 @@ iServiceId(aServiceId), iTableFetcher(aTableFetcher) { - + iUnInstall = EFalse; } // --------------------------------------------------------- @@ -1394,6 +1402,15 @@ { iSessionCntxtObserver->ServerUnBindL(ETrue); } + } +// ------------------------------------------------------- +// CVIMPSTEngine :: IsUnInstalled +// For Description see MVIMPSTEngine +// ------------------------------------------------------- +// +TBool CVIMPSTEngine::IsUnInstalled( ) + { + return iUnInstall; } // End of File diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpststorage/src/cvimpststorageserviceview.cpp --- a/uiservicetab/vimpststorage/src/cvimpststorageserviceview.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpststorage/src/cvimpststorageserviceview.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -547,10 +547,16 @@ } else if( aUserId.Compare( iOwnContact->UserId() ) != 0 ) { + _LIT (KNullWithSpace, " "); TRACE( T_LIT("CVIMPSTStorageServiceView::SetOwnUserIdL iOwnContact was existing") ); + if(KNullWithSpace ().Compare(iOwnContact->UserId())!=0) + { + iVPbkContactStore->RemoveAllVPbkContactsL(); // if user id is changed remove all contacts + RemoveAllCacheContactsL(); + } iOwnContact->SetUserIdL( aUserId ); iOwnContact->SetAvatarContentL(KNullDesC8,*iVPbkContactStore ); - iVPbkContactStore->RemoveAllVPbkContactsL(); // if user id is changed remove all contacts + NotifyAllObserversL( TVIMPSTEnums::EStorageEventOwnUserChanged,NULL,iOwnContact,0 ); TRACE( T_LIT("CVIMPSTStorageServiceView::SetOwnUserIdL NotifyAllObserversL delivered") ); } diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/rss/vimpstuires.rss --- a/uiservicetab/vimpstui/rss/vimpstuires.rss Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/rss/vimpstuires.rss Fri Mar 12 15:41:33 2010 +0200 @@ -257,6 +257,8 @@ }; } +// Empty Tabbed View Message +RESOURCE TBUF r_qtn_servtab_swupdate_restart { buf = qtn_servtab_swupdate_restart; } // these are used with double line listbox RESOURCE TBUF r_qtn_servtab_login_list_item { buf = qtn_servtab_login_list_item; } RESOURCE TBUF r_qtn_servtab_logging_list_item { buf = qtn_servtab_logging_list_item; } diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/src/cvimpstuiblockviewcontrol.cpp --- a/uiservicetab/vimpstui/src/cvimpstuiblockviewcontrol.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/src/cvimpstuiblockviewcontrol.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -359,7 +359,10 @@ return EKeyWasConsumed; } TKeyResponse result = EKeyWasNotConsumed; - iCurrentItemIndex = iListBox->CurrentItemIndex(); + if (iListBox) + { + iCurrentItemIndex = iListBox->CurrentItemIndex(); + } // Offer key event first to the key event handler if ( (&iKeyEventHandler ) && iKeyEventHandler.Pbk2ProcessKeyEventL ( aKeyEvent, aType ) ) diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/src/cvimpstuidoublelistboxtabviewcontrol.cpp --- a/uiservicetab/vimpstui/src/cvimpstuidoublelistboxtabviewcontrol.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/src/cvimpstuidoublelistboxtabviewcontrol.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -106,23 +106,34 @@ (CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto); // set marquee on iListBox->ItemDrawer()->FormattedCellData()->EnableMarqueeL( ETrue ); - CVIMPSTUiDoubleListboxArray* friendsArray = CVIMPSTUiDoubleListboxArray::NewL( iArrayProcess, - iListBox->ItemDrawer()->ColumnData(), - *iListBox , - *this); - // now set the array - iListBox->Model()->SetItemTextArray(friendsArray ); - - iListBox->Model()->SetOwnershipType(ELbmOwnsItemArray); - // if there is any contact other than owndata , show findpane - if( iListBox->Model()->NumberOfItems() > KMinContact) - { - // Create find-pane - ActivateFindPaneL(); + // If engine is uninstalled, do not construct the list view. + // Display empty message + if (iEngine.IsUnInstalled()) + { + SetListEmptyTextL( R_QTN_SERVTAB_SWUPDATE_RESTART ); + return; } - LoadBitmapsL(); - - SetCbaLockL( EFalse ); + else + { + // Construction of the listbox view. Engine is not uninstalled. + CVIMPSTUiDoubleListboxArray* friendsArray = + CVIMPSTUiDoubleListboxArray::NewL(iArrayProcess, + iListBox->ItemDrawer()->ColumnData(), *iListBox, + *this); + // now set the array + iListBox->Model()->SetItemTextArray(friendsArray); + + iListBox->Model()->SetOwnershipType(ELbmOwnsItemArray); + // if there is any contact other than owndata , show findpane + if (iListBox->Model()->NumberOfItems() > KMinContact) + { + // Create find-pane + ActivateFindPaneL(); + } + LoadBitmapsL(); + SetCbaLockL(EFalse); + } + } // -------------------------------------------------------------------------- // CVIMPSTUiDoubleListBoxTabViewControl::NewL @@ -596,9 +607,16 @@ // void CVIMPSTUiDoubleListBoxTabViewControl::SetListEmptyTextL(TInt aResourceId) { - HBufC* emptyText = iCoeEnv->AllocReadResourceLC(aResourceId); - iListBox->View()->SetListEmptyTextL(*emptyText); - CleanupStack::PopAndDestroy(emptyText); + HBufC* msgText; + TRACE( T_LIT("CVIMPSTUiDoubleListBoxTabViewControl:SetListEmptyTextL:Start")); + // Get Service Name from Engine , load string from resource and display. + // This text is shown to tell the user to restart phone to get the service again. + TPtrC serviceNamePtr(iEngine.ServiceName()); + msgText = StringLoader::LoadLC(aResourceId, serviceNamePtr, iCoeEnv); + iListBox->View()->SetListEmptyTextL(*msgText); + TRACE( T_LIT("Display Text %S"), msgText ); + TRACE( T_LIT("CVIMPSTUiDoubleListBoxTabViewControl:SetListEmptyTextL:End")); + CleanupStack::PopAndDestroy(msgText); } // --------------------------------------------------------- diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/src/cvimpstuisearchview.cpp --- a/uiservicetab/vimpstui/src/cvimpstuisearchview.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/src/cvimpstuisearchview.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -570,10 +570,11 @@ CVIMPSTUiSearchQueryDialog* querydialog = CVIMPSTUiSearchQueryDialog::NewL( fieldArray ); - querydialog->ExecuteLD(); + if (querydialog) { + querydialog->ExecuteLD(); iEndKeyPressed = querydialog->IsEndKeyPressed(); } @@ -598,13 +599,15 @@ iExtensionService.SetSearchStringL( searchStrPtr ); UpdateNaviPaneTextL(); - if ( iContainer->ListBox()->Model()->NumberOfItems() > 0 ) - { - iContainer->ClearListBoxContents(); - } - // set the empty string blank - iContainer->SetSearchingTextToListboxL(); - + if ( iContainer) + { + if ( iContainer->ListBox()->Model()->NumberOfItems() > 0 ) + { + iContainer->ClearListBoxContents(); + } + // set the empty string blank + iContainer->SetSearchingTextToListboxL(); + } HBufC* searchWaitNoteText = StringLoader::LoadLC( R_QTN_SERVTAB_SEARCHING , searchStrPtr, CCoeEnv::Static() ); iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( *searchWaitNoteText, EFalse , ETrue ); CleanupStack::PopAndDestroy(searchWaitNoteText); diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/src/cvimpstuisinglelistboxtabviewcontrol.cpp --- a/uiservicetab/vimpstui/src/cvimpstuisinglelistboxtabviewcontrol.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/src/cvimpstuisinglelistboxtabviewcontrol.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -31,7 +31,7 @@ #include "mvimpstengine.h" #include "cvimpststoragemanagerfactory.h" #include "mvimpststorageserviceview.h" - +#include "vimpstdebugtrace.h" // system include #include #include @@ -113,22 +113,34 @@ (CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto); // set marquee on iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue ); - CVIMPSTUiSingleListboxArray* friendsArray = CVIMPSTUiSingleListboxArray::NewL( iArrayProcess, - iListBox->ItemDrawer()->ColumnData(), - *iListBox ); - // now set the array - iListBox->Model()->SetItemTextArray(friendsArray ); + // If engine is uninstalled, do not construct the list view. + // Display empty message + if (iEngine.IsUnInstalled()) + { + SetListEmptyTextL( R_QTN_SERVTAB_SWUPDATE_RESTART ); + return; + } + else + { + // Construction of the listbox view. Engine is not uninstalled. + CVIMPSTUiSingleListboxArray* friendsArray = + CVIMPSTUiSingleListboxArray::NewL(iArrayProcess, + iListBox->ItemDrawer()->ColumnData(), *iListBox); + // now set the array + iListBox->Model()->SetItemTextArray(friendsArray); + + iListBox->Model()->SetOwnershipType(ELbmOwnsItemArray); + // if there is any contact other than owndata , show findpane + if (iListBox->Model()->NumberOfItems() > KMinContact) + { + // Create find-pane + ActivateFindPaneL(); + } + LoadBitmapsL(); + SetCbaLockL(EFalse); + } + - iListBox->Model()->SetOwnershipType(ELbmOwnsItemArray); - // if there is any contact other than owndata , show findpane - if( iListBox->Model()->NumberOfItems() > KMinContact) - { - // Create find-pane - ActivateFindPaneL(); - } - LoadBitmapsL(); - - SetCbaLockL( EFalse ); } @@ -504,9 +516,16 @@ // void CVIMPSTUiSingleListBoxTabViewControl::SetListEmptyTextL(TInt aResourceId) { - HBufC* emptyText = iCoeEnv->AllocReadResourceLC(aResourceId); - iListBox->View()->SetListEmptyTextL(*emptyText); - CleanupStack::PopAndDestroy(emptyText); + HBufC* msgText; + TRACE( T_LIT("CVIMPSTUiSingleListBoxTabViewControl:SetListEmptyTextL:Start")); + // Get Service Name from Engine , load string from resource and display. + // This text is shown to tell the user to restart phone to get the service again. + TPtrC serviceNamePtr(iEngine.ServiceName()); + msgText = StringLoader::LoadLC(aResourceId, serviceNamePtr, iCoeEnv); + iListBox->View()->SetListEmptyTextL(*msgText); + TRACE( T_LIT("Display Text %S"), msgText ); + TRACE( T_LIT("CVIMPSTUiSingleListBoxTabViewControl:SetListEmptyTextL:End")); + CleanupStack::PopAndDestroy(msgText); } // --------------------------------------------------------- diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/src/cvimpstuitabbedview.cpp --- a/uiservicetab/vimpstui/src/cvimpstuitabbedview.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/src/cvimpstuitabbedview.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -336,6 +336,12 @@ // void CVIMPSTUiTabbedView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ) { + + if (iEngine.IsUnInstalled()) + { + // if engine is uninstalled, do not initiate the menu pane. + return; + } // AIW knows its own submenu hooks, so we can return from // here if AIW handled this. ReInitializeServiceHandlerL(); @@ -773,14 +779,16 @@ return; } ReInitializeServiceHandlerL(); - TInt serviceCommandId =iServiceHandler->ServiceCmdByMenuCmd(aCommand); - - if ( iContainer && serviceCommandId == KAiwCmdCall ) - { - MakeVoipCallL(); - return; - } - + if ( iServiceHandler ) + { + TInt serviceCommandId =iServiceHandler->ServiceCmdByMenuCmd(aCommand); + + if ( iContainer && serviceCommandId == KAiwCmdCall ) + { + MakeVoipCallL(); + return; + } + } if( iContainer ) { iContainer->SetClrFindPaneFlag(ETrue); @@ -1052,7 +1060,17 @@ NotifyViewActivationL( iView.Id() ); } - iView.Cba()->SetCommandSetL( R_IM_CONTACTS_TABBED_VIEW_SOFTKEYS ); + if (iEngine.IsUnInstalled()) + { + // engine is uninstalled, disable left softkey i.e options and provide only exit. + iView.Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_EXIT); + } + else + { + // engine is constructed completely, provide tabbed view softkeys. + iView.Cba()->SetCommandSetL(R_IM_CONTACTS_TABBED_VIEW_SOFTKEYS); + } + ReadAndSetOwnUserIdL(); diff -r f5911524345e -r 78867dafe7eb uiservicetab/vimpstui/src/cvimpstuitermsofusedlg.cpp --- a/uiservicetab/vimpstui/src/cvimpstuitermsofusedlg.cpp Fri Feb 19 22:41:11 2010 +0200 +++ b/uiservicetab/vimpstui/src/cvimpstuitermsofusedlg.cpp Fri Mar 12 15:41:33 2010 +0200 @@ -428,14 +428,18 @@ charFormatMask.SetAttrib( EAttFontHeight ); //can't leave here - TRAPD(err, iParaFormatLayer->SetL( ¶Format, paraFormatMask ); - iCharFormatLayer->SetL( charFormat, charFormatMask ); - iEditor->HandleTextChangedL(); ); - if( err != KErrNone ) - { - CActiveScheduler::Current()->Error( err ); - } - + if( iEditor ) + { + TRAPD(err, iParaFormatLayer->SetL( ¶Format, paraFormatMask ); + iCharFormatLayer->SetL( charFormat, charFormatMask ); + iEditor->HandleTextChangedL(); ); + + + if( err != KErrNone ) + { + CActiveScheduler::Current()->Error( err ); + } + } TRAP_IGNORE(iEditor->MoveDisplayL(TCursorPosition::EFPageDown) ); TRAP_IGNORE(iEditor->MoveDisplayL(TCursorPosition::EFPageDown) );