--- 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;
--- 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") );
}
--- 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)
{
--- 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
--- 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
--- 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;
--- /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 @@
+<?xml version="1.0" standalone="yes"?>
+<backup_registration>
+ <system_backup/>
+ <public_backup>
+ <include_directory name="C:\MeCo" />
+</public_backup>
+ <restore requires_reboot = "no"/>
+</backup_registration>
\ No newline at end of file
--- 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
--- 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
--- 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"
--- 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] );
}
}
}
--- 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
*
--- 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
--- 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 ") );
}
--- 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 );
--- 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;
};
--- 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
*/
--- 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
--- 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") );
}
--- 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; }
--- 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 ) )
--- 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);
}
// ---------------------------------------------------------
--- 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);
--- 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 <aknenv.h>
#include <aknlists.h>
@@ -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);
}
// ---------------------------------------------------------
--- 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();
--- 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) );