# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1266612071 -7200 # Node ID f5911524345e00c77569750a06a738315fd5c610 # Parent 5e5d6b214f4fe683ef1e92146b904be45e50ba5c Revision: 201003 Kit: 201007 diff -r 5e5d6b214f4f -r f5911524345e group/brandfile.bin.r47 Binary file group/brandfile.bin.r47 has changed diff -r 5e5d6b214f4f -r f5911524345e group/r47.conversations.mif Binary file group/r47.conversations.mif has changed diff -r 5e5d6b214f4f -r f5911524345e imstatuspaneindicatorplugin/rss/20026767.rss --- a/imstatuspaneindicatorplugin/rss/20026767.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/imstatuspaneindicatorplugin/rss/20026767.rss Fri Feb 19 22:41:11 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008 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" @@ -11,13 +11,12 @@ * * Contributors: * -* Description: This file contains all the resources to launch IM indicator plugin -* -* +* Description: constant declaration class + * + * */ - #include "../inc/imstatuspaneindicatorpluginuids.h" #include diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiapp/group/imcvuiapp.mmp --- a/imstutils/imconversationview/imcvuiapp/group/imcvuiapp.mmp Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/group/imcvuiapp.mmp Fri Feb 19 22:41:11 2010 +0200 @@ -126,7 +126,8 @@ LIBRARY charconv.lib LANG SC - +LIBRARY aiwdialdata.lib +LIBRARY ServiceHandler.lib LIBRARY serviceprovidersettings.lib //CCA LIBRARY ccaclient.lib diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiapp/inc/cimcvappview.h --- a/imstutils/imconversationview/imcvuiapp/inc/cimcvappview.h Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/inc/cimcvappview.h Fri Feb 19 22:41:11 2010 +0200 @@ -33,6 +33,7 @@ //For KMaxPackedContactLinkLength #include "imcvuiparams.h" #include "mimcvngineservicechangeobserver.h" +#include // FORWARD DECLARATIONS class CIMCVAppUi; class MIMCVEngineChatInterface; @@ -45,6 +46,8 @@ class MCCAParameter; class CIMCVMenuExtensionManager; class MIMCVEngineFactory; +class CAiwServiceHandler; + // CLASS DECLARATION @@ -355,7 +358,9 @@ // not owned , chat interface MIMCVEngineChatInterface* iActiveChatInterface; - + //owns. object of aiwservicehandler. + CAiwServiceHandler *iAiwServiceHandler; + //Keep track if Detail view is opened. TBool iDetailViewOpen; diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.hrh --- a/imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.hrh Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.hrh Fri Feb 19 22:41:11 2010 +0200 @@ -34,7 +34,8 @@ EIMCVCmdExit, EIMCVCmdToolbarSend, EIMCVCmdToolbarInsertSmiley, - EIMCVCmdToolbarDetails + EIMCVCmdToolbarDetails, + EIMCVCmdInternetCall }; // Size of Array used in launching context sensitive help diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.rss --- a/imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/rss/imcvuiapp.rss Fri Feb 19 22:41:11 2010 +0200 @@ -34,6 +34,9 @@ #include #include "imcvappsmileutility.hrh" #include "imcvappsmileutility.rh" +#include +#include +#include // --------------------------------------------------------- @@ -202,7 +205,27 @@ }; } - +// --------------------------------------------------------------------------- +// aiw_internetcall +// AIW app interest for calling +// --------------------------------------------------------------------------- +// +RESOURCE AIW_INTEREST aiw_internetcall + { + items= + { + // This application is interested in calling from menu. + AIW_CRITERIA_ITEM + { + id = KAiwCmdCall; + serviceCmd = KAiwCmdCall; + serviceClass = KAiwClassMenu; + contentType = "*"; + defaultProvider = 0x101F868E; + maxProviders = 1; + } + }; + } //---------------------------------------------------- // @@ -218,8 +241,15 @@ MENU_ITEM { command = EIMCVCmdSend; txt = qtn_im_ibox_om_send; }, MENU_ITEM { command = EIMCVCmdSmiley; txt = qtn_chat_conv_insert_smiley; } , MENU_ITEM { command = EIMCVCmdFindMenuPlaceHolder;txt = ""; }, - MENU_ITEM { command = EIMCVCmdCloseConversation; txt = qtn_servtab_close_conversation; } - + MENU_ITEM { command = EIMCVCmdCloseConversation; txt = qtn_servtab_close_conversation; }, + MENU_ITEM + { + command = KAiwCmdCall; // The same ID than in interest. + txt = ""; // Will be replaced by AIW (plugin). + cascade=AIW_CASCADE_ID; + cascade = AIW_INTELLIGENT_CASCADE_ID; + } + }; } diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiapp/src/cimcvappui.cpp --- a/imstutils/imconversationview/imcvuiapp/src/cimcvappui.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/src/cimcvappui.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -63,7 +63,7 @@ iDestructingFlag = EFalse; BaseConstructL( EAknEnableSkin | ENoAppResourceFile | - EAppOrientationAutomatic | EAknEnableMSK ); + EAppOrientationAutomatic | EAknEnableMSK | EAknSingleClickCompatible ); //Message extension handler. This must be created before views. iChatMbmFullPath = Application()->BitmapStoreName(); diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiapp/src/cimcvappview.cpp --- a/imstutils/imconversationview/imcvuiapp/src/cimcvappview.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiapp/src/cimcvappview.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -70,6 +70,16 @@ #include #include +// AIW Include Files +#include +#include +#include +#include +#include +#include +#include + + // Dll Uid of vimpstui, to maintain uniqueness of help uid const TUid KHelpUid = { 0x2001FDC2 } ; // ============================ MEMBER FUNCTIONS =============================== @@ -131,7 +141,10 @@ //Creates manager for menu extension iMenuExtManager = CIMCVMenuExtensionManager::NewL(); - + iAiwServiceHandler = CAiwServiceHandler::NewL(); + iAiwServiceHandler->AttachL( AIW_INTERNETCALL); + iAiwServiceHandler->AttachMenuL( R_CONVERSATIONVIEW_VIEW_MENU,AIW_INTERNETCALL ); + iConvViewDel = EFalse; iDetailViewOpen = EFalse; IM_CV_LOGS(TXT("CIMCVAppView::ConstructL() end") ); @@ -192,6 +205,12 @@ { delete iMenuExtManager; } + if (iAiwServiceHandler) + { + iAiwServiceHandler->Reset(); + delete iAiwServiceHandler; + iAiwServiceHandler = NULL; + } } @@ -226,6 +245,24 @@ { case R_CONVERSATIONVIEW_VIEW_MENU: { + if(iActiveEngine->IsVoipServiceL())// internet call + { + aMenuPane->SetItemDimmed(KAiwCmdCall, EFalse); + CAiwDialDataExt* dialDataExt = CAiwDialDataExt::NewL(); + CleanupStack::PushL( dialDataExt ); + dialDataExt->SetServiceId( iServiceId ); + CAiwGenericParamList& paramList = iAiwServiceHandler->InParamListL(); + dialDataExt->FillInParamListL( paramList ); + TAiwGenericParam param (EGenericParamSIPAddress); + paramList.AppendL( param ); + iAiwServiceHandler->InitializeMenuPaneL( *aMenuPane, + R_CONVERSATIONVIEW_VIEW_MENU,EIMCVCmdInternetCall,paramList ); + CleanupStack::PopAndDestroy( dialDataExt ); + } + else + { + aMenuPane->SetItemDimmed(KAiwCmdCall, ETrue); + } if( iContainer->Editor().Editor().TextLength() > 0 ) { aMenuPane->SetItemDimmed(EIMCVCmdSend, EFalse); @@ -344,9 +381,36 @@ } switch ( aCommand ) - { - - case EIMCVCmdToolbarDetails: + { + case EIMCVCmdInternetCall: + { + // Truncating till ':' if exists - Extracting Userid from "ServiceName:Userid". + TInt indexposition = iRecipientUserId->Locate(':'); + HBufC* phonenumber = NULL; // Phonenumber = Userid + if ( KErrNotFound != indexposition ) + { + phonenumber = iRecipientUserId->Right(iRecipientUserId->Length() - (indexposition+1)).AllocLC(); + } + else + { + phonenumber = iRecipientUserId->AllocLC(); // does't contain ':' + } + TPtr phonenumberptr( phonenumber->Des ()); + CommonPhoneParser::ParsePhoneNumber ( phonenumberptr,CommonPhoneParser::EPhoneClientNumber); + CAiwDialDataExt* dialDataExt = CAiwDialDataExt::NewLC(); + dialDataExt->SetPhoneNumberL ( phonenumber->Des ()); + dialDataExt->SetServiceId(iServiceId); + dialDataExt->SetCallType( CAiwDialData::EAIWVoiP); + dialDataExt->SetWindowGroup ( CCoeEnv::Static()->RootWin().Identifier() ); + CAiwGenericParamList& paramList = iAiwServiceHandler->InParamListL(); + dialDataExt->FillInParamListL ( paramList); + iAiwServiceHandler->ExecuteServiceCmdL ( KAiwCmdCall,paramList, + iAiwServiceHandler->OutParamListL(),0,NULL); + CleanupStack::PopAndDestroy(dialDataExt); + CleanupStack::PopAndDestroy(phonenumber); + break; + } + case EIMCVCmdToolbarDetails: //Launch the cca LaunchCcaL(); break; diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiengine/bwins/imcvengineu.def --- a/imstutils/imconversationview/imcvuiengine/bwins/imcvengineu.def Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiengine/bwins/imcvengineu.def Fri Feb 19 22:41:11 2010 +0200 @@ -18,4 +18,5 @@ ?IsLoggedIn@CIMCVEngine@@QBEHXZ @ 17 NONAME ; int CIMCVEngine::IsLoggedIn(void) const ?ReleaseConnectionL@CIMCVEngine@@QAEXXZ @ 18 NONAME ; void CIMCVEngine::ReleaseConnectionL(void) ?GetBrandId@CIMCVEngine@@QAEABVTDesC8@@XZ @ 19 NONAME ; class TDesC8 const & CIMCVEngine::GetBrandId(void) + ?IsVoipServiceL@CIMCVEngine@@QAEHXZ @ 20 NONAME ; int CIMCVEngine::IsVoipServiceL(void) diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiengine/eabi/imcvengineu.def --- a/imstutils/imconversationview/imcvuiengine/eabi/imcvengineu.def Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiengine/eabi/imcvengineu.def Fri Feb 19 22:41:11 2010 +0200 @@ -40,4 +40,5 @@ _ZTV26CIMCVEngineContextObserver @ 39 NONAME _ZTV26CIMCVEngineStorageListener @ 40 NONAME _ZTV27CIMCVEngineMessageContainer @ 41 NONAME + _ZN11CIMCVEngine14IsVoipServiceLEv @ 42 NONAME diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiengine/inc/cimcvengine.h --- a/imstutils/imconversationview/imcvuiengine/inc/cimcvengine.h Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiengine/inc/cimcvengine.h Fri Feb 19 22:41:11 2010 +0200 @@ -210,6 +210,14 @@ */ void CloseAllOpenChatsL(); + /** + * Check whether the service is VOIP Enabled Service + * + * @since S60 5.0 + * @return ETrue/EFalse + */ + IMPORT_C TBool IsVoipServiceL(); + private: /** diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiengine/src/cimcvengine.cpp --- a/imstutils/imconversationview/imcvuiengine/src/cimcvengine.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiengine/src/cimcvengine.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -547,7 +547,23 @@ CleanupStack::PopAndDestroy( 2 ); } - +// --------------------------------------------------------------------------- +// CIMCVEngine::IsVoipServiceL() +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CIMCVEngine::IsVoipServiceL() + { + TBool isvoipservice = EFalse; + CSPSettings* settings = CSPSettings::NewLC(); + CSPProperty* property = CSPProperty::NewLC(); + settings->FindPropertyL(iServiceId, ESubPropertyVoIPEnabled, *property); + if (property) + { + isvoipservice = ETrue; + } + CleanupStack::PopAndDestroy(2); //property,settings + return isvoipservice; + } diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp --- a/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -280,8 +280,19 @@ { IM_CV_LOGS(TXT("CVEngineCCHHnadler::DoHandleServiceStatusChangedL ") ); - - if (aType == ECCHIMSub) + + if (aType == ECCHPresenceSub) + { + /* SIP Adaptation -- sends error in Network Lost. This is added so that once we get it, we will unbindL and delete the context + * This happens only in case of SIP as it does not send the event in IM Subservice. + */ + if (aServiceStatus.Error() && ECCHDisabled != aServiceStatus.State()) + { + iEngine.ReleaseConnectionL (); + iEngine.DeleteContextL (); + } + } + else if (aType == ECCHIMSub) { MIMCVEngineCCHObserver::TServiceState notifyEvent = MIMCVEngineCCHObserver::ENotLoggedIn; diff -r 5e5d6b214f4f -r f5911524345e imstutils/xmppadapter/data/wpgeneralxmppsettingsadapter.rss --- a/imstutils/xmppadapter/data/wpgeneralxmppsettingsadapter.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/xmppadapter/data/wpgeneralxmppsettingsadapter.rss Fri Feb 19 22:41:11 2010 +0200 @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include #include diff -r 5e5d6b214f4f -r f5911524345e instantmessagesalert/tsrc/testinstantmsgalert/group/testinstantmsgalert_DoxyFile.txt --- a/instantmessagesalert/tsrc/testinstantmsgalert/group/testinstantmsgalert_DoxyFile.txt Tue Feb 02 10:12:18 2010 +0200 +++ b/instantmessagesalert/tsrc/testinstantmsgalert/group/testinstantmsgalert_DoxyFile.txt Fri Feb 19 22:41:11 2010 +0200 @@ -2,7 +2,7 @@ # 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" +# under the terms of the License "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r 5e5d6b214f4f -r f5911524345e servicewidget/servicewidgetdatapublisher/rss/servicewidgetpluginres.rss --- a/servicewidget/servicewidgetdatapublisher/rss/servicewidgetpluginres.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/servicewidget/servicewidgetdatapublisher/rss/servicewidgetpluginres.rss Fri Feb 19 22:41:11 2010 +0200 @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstdetailsviewplugin/data/vimpstdetailfields.rss --- a/uiservicetab/vimpstdetailsviewplugin/data/vimpstdetailfields.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/data/vimpstdetailfields.rss Fri Feb 19 22:41:11 2010 +0200 @@ -224,11 +224,3 @@ } }; } - - - // end of file - - - - - \ No newline at end of file diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstdetailsviewplugin/group/vimpstdetailsviewplugin.mmp --- a/uiservicetab/vimpstdetailsviewplugin/group/vimpstdetailsviewplugin.mmp Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/group/vimpstdetailsviewplugin.mmp Fri Feb 19 22:41:11 2010 +0200 @@ -111,6 +111,7 @@ LIBRARY vimpstutils.lib //help library LIBRARY hlplch.lib +LIBRARY bitmaptransforms.lib LIBRARY flogger.lib LIBRARY edbms.lib diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsheadercontrol.h --- a/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsheadercontrol.h Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsheadercontrol.h Fri Feb 19 22:41:11 2010 +0200 @@ -190,6 +190,8 @@ */ CVIMPSTDetailsImageDecoder* iImageDecoder; + TSize iContactImageSize; + }; diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsimagedecoder.h --- a/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsimagedecoder.h Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsimagedecoder.h Fri Feb 19 22:41:11 2010 +0200 @@ -25,6 +25,7 @@ class CVIMPSTDetailsHeaderControl; class CImageDecoder; class CFbsBitmap; +class CBitmapScaler; /** * Utility class for asynchronously decoding the header thumbnail image @@ -56,7 +57,7 @@ * @since S60 v5.0 * */ - void Start(); + void StartL(TSize aBitmapSize); /** * From CActive @@ -85,7 +86,23 @@ * @param aBitmapData Descriptor containing the bitmap data stream */ void ConstructL(const TDesC8& aBitmapData); - + /** + * Scales bitmap + * + */ + void ScaleBitmapL(); + + enum TCcaImageDecoderState + { + ECcaConvertThumbnailImage = 1, + ECcaScaleThumbnail, + }; + + /** + * Create bitmap + * + */ + void CreateBitmapL(); private : // data @@ -115,6 +132,19 @@ * Owns : Copy of the bitmap data stream */ HBufC8* iBitmapData; + + /** + * The image scaler whose service is called to scale the image + * Own. + */ + CBitmapScaler* iBitmapScaler; + + TSize iBitmapSize; + + /** + * Decoder internal state + */ + TInt iDecoderState; }; #endif /*CVIMPSTDETAILSIMAGEDECODER_H_*/ diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsheadercontrol.cpp --- a/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsheadercontrol.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsheadercontrol.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -42,6 +42,9 @@ // constants declaration const TInt KLabelLineCount = 3; +// Size of thumbnail images stored to contacts +#define KPbkPersonalImageSize TSize(80,96) + // --------------------------------------------------------------------------- // NewL, two-phase construction // --------------------------------------------------------------------------- @@ -89,6 +92,7 @@ iLabels.AppendL(label); CleanupStack::Pop(label); } + iContactImageSize = KPbkPersonalImageSize; } // --------------------------------------------------------------------------- @@ -169,6 +173,29 @@ AknLayoutUtils::LayoutImage( iImage, Rect(), AknLayoutScalable_Apps::cl_header_pane_g1(isLandscape)); + + TPoint position = iImage->Position(); + TSize size = iImage->Size(); + + const TPoint newImagePosition = TPoint( position.iX/2, position.iY/2 ); + iImage->SetPosition( newImagePosition ); + + const TSize newImageSize = TSize( size.iWidth + 2*( position.iX - newImagePosition.iX ) , + size.iHeight + 2*( position.iY - newImagePosition.iY ) ); + + iImage->SetSize( newImageSize ); + + iContactImageSize = newImageSize; + + if ( iImageDecoder ) + { + // if bitmap was set resize it + if (iImageDecoder->IsActive()) + { + iImageDecoder->Cancel(); + } + TRAP_IGNORE( iImageDecoder->StartL( iContactImageSize ) ); + } TAknLayoutRect labelsRect; labelsRect.LayoutRect(Rect(), AknLayoutScalable_Apps::cl_header_name_pane(isLandscape)); @@ -344,7 +371,7 @@ iImageDecoder = NULL; } iImageDecoder = CVIMPSTDetailsImageDecoder::NewL(*this, data ); - iImageDecoder->Start(); + iImageDecoder->StartL(iContactImageSize); } } diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsimagedecoder.cpp --- a/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsimagedecoder.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsimagedecoder.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -22,6 +22,7 @@ #include #include +#include // --------------------------------------------------------------------------- // CVIMPSTDetailsImageDecoder::NewL @@ -56,11 +57,7 @@ void CVIMPSTDetailsImageDecoder::ConstructL(const TDesC8& aBitmapData) { iBitmapData = aBitmapData.AllocL(); - User::LeaveIfError( iFs.Connect() ); - iImgDecoder = CImageDecoder::DataNewL( iFs, *iBitmapData ); - TFrameInfo info = iImgDecoder->FrameInfo(); - iBitmap = new ( ELeave ) CFbsBitmap; - User::LeaveIfError( iBitmap->Create( info.iOverallSizeInPixels, info.iFrameDisplayMode )); + User::LeaveIfError( iFs.Connect() ); } // --------------------------------------------------------------------------- @@ -85,6 +82,12 @@ delete iBitmapData; iBitmapData = NULL; } + if (iBitmapScaler) + { + delete iBitmapScaler; + iBitmapScaler = NULL; + } + iFs.Close(); } @@ -93,11 +96,11 @@ // Starts the decoding process // --------------------------------------------------------------------------- // -void CVIMPSTDetailsImageDecoder::Start() +void CVIMPSTDetailsImageDecoder::StartL(TSize aBitmapSize) { - iStatus = KRequestPending; - iImgDecoder->Convert( &iStatus, *iBitmap ); - SetActive(); + iDecoderState = ECcaConvertThumbnailImage; + iBitmapSize = aBitmapSize; + CreateBitmapL(); } // --------------------------------------------------------------------------- @@ -109,9 +112,25 @@ void CVIMPSTDetailsImageDecoder::RunL() { User::LeaveIfError( iStatus.Int() ); - // Ownership of the bitmap is transferred - iHeader.SetBitmap(iBitmap, NULL ); - iBitmap = NULL; + switch ( iDecoderState ) + { + case ECcaConvertThumbnailImage: + { + iDecoderState = ECcaScaleThumbnail; + ScaleBitmapL(); + break; + } + case ECcaScaleThumbnail: + { + // don't delete + // Ownership of the bitmap is transferred + iHeader.SetBitmap(iBitmap, NULL ); + iBitmap = NULL; + } + default: + break; + } + } // --------------------------------------------------------------------------- @@ -124,4 +143,38 @@ iImgDecoder->Cancel(); } +// --------------------------------------------------------------------------- +// CVIMPSTDetailsImageDecoder::ScaleBitmapL +// scaling it to fit to the screen +// --------------------------------------------------------------------------- +// +void CVIMPSTDetailsImageDecoder::ScaleBitmapL() + { + iBitmapScaler = CBitmapScaler::NewL(); + iBitmapScaler->Scale( &iStatus, *iBitmap, iBitmapSize ); + SetActive(); + } + +// --------------------------------------------------------------------------- +// CVIMPSTDetailsImageDecoder::CreateBitmapL +// creates the bitmap +// --------------------------------------------------------------------------- +// + +void CVIMPSTDetailsImageDecoder::CreateBitmapL() + { + if ( iDecoderState == ECcaConvertThumbnailImage ) + { + iImgDecoder = CImageDecoder::DataNewL( iFs, *iBitmapData, CImageDecoder::EOptionAlwaysThread ); + } + if ( !iBitmap ) + { + TFrameInfo info = iImgDecoder->FrameInfo(); + iBitmap = new ( ELeave ) CFbsBitmap; + User::LeaveIfError( iBitmap->Create( info.iOverallSizeInPixels, info.iFrameDisplayMode )); + } + iStatus = KRequestPending; + iImgDecoder->Convert( &iStatus, *iBitmap ); + SetActive(); + } // end of file diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstengine/inc/mvimpstengineserviceconnectioneventobserver.h --- a/uiservicetab/vimpstengine/inc/mvimpstengineserviceconnectioneventobserver.h Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstengine/inc/mvimpstengineserviceconnectioneventobserver.h Fri Feb 19 22:41:11 2010 +0200 @@ -1,8 +1,8 @@ /* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002 - 2007 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" +* under the terms of the License "Eclipse Public License v1.0" * which accompanies this distribution, and is available * at the URL "http://www.eclipse.org/legal/epl-v10.html". * @@ -11,7 +11,7 @@ * * Contributors: * -* Description: MVIMPSTEngineServiceConnectionEventObserver +* Description: MVIMPSTENGINESERVICECONNECTIONEVENTOBSERVER.h * */ diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontact_ut/group/CVIMPSTStorageContact_UT_DoxyFile.txt --- a/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontact_ut/group/CVIMPSTStorageContact_UT_DoxyFile.txt Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontact_ut/group/CVIMPSTStorageContact_UT_DoxyFile.txt Fri Feb 19 22:41:11 2010 +0200 @@ -2,7 +2,7 @@ # 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" +# under the terms of the License "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactlist_ut/group/CVIMPSTStorageContactList_UT_DoxyFile.txt --- a/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactlist_ut/group/CVIMPSTStorageContactList_UT_DoxyFile.txt Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactlist_ut/group/CVIMPSTStorageContactList_UT_DoxyFile.txt Fri Feb 19 22:41:11 2010 +0200 @@ -2,7 +2,7 @@ # 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" +# under the terms of the License "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactsorter_ut/group/CVIMPSTStorageContactSorter_UT_DoxyFile.txt --- a/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactsorter_ut/group/CVIMPSTStorageContactSorter_UT_DoxyFile.txt Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactsorter_ut/group/CVIMPSTStorageContactSorter_UT_DoxyFile.txt Fri Feb 19 22:41:11 2010 +0200 @@ -2,7 +2,7 @@ # 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" +# under the terms of the License "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstui/rss/vimpstuires.rss --- a/uiservicetab/vimpstui/rss/vimpstuires.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstui/rss/vimpstuires.rss Fri Feb 19 22:41:11 2010 +0200 @@ -141,6 +141,7 @@ { command = ECmdContactAddAsFriend; txt = qtn_servtab_add_as_friend; + flags = EEikMenuItemSpecific; }, MENU_ITEM @@ -1100,7 +1101,7 @@ buttons = { CBA_BUTTON {id= EAknSoftkeyOptions; txt=text_softkey_option;}, // left softkey - CBA_BUTTON {id=EAknSoftkeyExit; txt=qtn_options_exit; }, // right + CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit; }, // right CBA_BUTTON {id=ECmdLogin; txt= qtn_msk_login;} // MSK }; } @@ -1111,7 +1112,7 @@ buttons = { CBA_BUTTON {id= EAknSoftkeyOptions; txt=text_softkey_option;}, // left softkey - CBA_BUTTON {id=EAknSoftkeyExit; txt=qtn_options_exit; }, // right + CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit; }, // right CBA_BUTTON {id=ECmdChangeConnectioninWaitingState; txt= qtn_msk_change_conn;} // MSK }; } @@ -1122,8 +1123,8 @@ buttons = { CBA_BUTTON {id= EAknSoftkeyOptions; txt=text_softkey_option;}, // left softkey - CBA_BUTTON {id=EAknSoftkeyExit; txt=qtn_options_exit; }, // right - CBA_BUTTON {id=ECmdCancelLogin; txt= qtn_msk_cancel;} // MSK + CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit; }, // right + CBA_BUTTON {id=ECmdCancelLogin; txt= text_softkey_cancel;} // MSK }; } @@ -1165,7 +1166,7 @@ buttons = { CBA_BUTTON {id= EAknSoftkeyOptions; txt=text_softkey_option;}, // left softkey - CBA_BUTTON {id=EAknSoftkeyExit; txt=qtn_options_exit; }, // right + CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit; }, // right CBA_BUTTON {id=ECmdOpenConversation; txt= qtn_msk_chat;} // MSK }; } @@ -1176,8 +1177,8 @@ buttons = { CBA_BUTTON {id= EAknSoftkeyOptions; txt=text_softkey_option;}, // left softkey - CBA_BUTTON {id=EAknSoftkeyExit; txt=qtn_options_exit; }, // right - CBA_BUTTON {id=ECmdOpenFriendRequest; txt= qtn_msk_open;} // MSK + CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit; }, // right + CBA_BUTTON {id=ECmdOpenFriendRequest; txt= text_softkey_open;} // MSK }; } //---------------------------------------------------------- @@ -1192,8 +1193,8 @@ buttons = { CBA_BUTTON { id= EAknSoftkeyOptions; txt=text_softkey_option; }, - CBA_BUTTON { id= EAknSoftkeyExit; txt=qtn_options_exit; }, - CBA_BUTTON { id = ECmdContactDetails; txt = qtn_msk_open; } + CBA_BUTTON { id= EAknSoftkeyExit; txt=text_softkey_exit; }, + CBA_BUTTON { id = ECmdContactDetails; txt = text_softkey_open; } }; } //---------------------------------------------------------- diff -r 5e5d6b214f4f -r f5911524345e uiservicetab/vimpstui/rss/vimpstuisearchdlg.rss --- a/uiservicetab/vimpstui/rss/vimpstuisearchdlg.rss Tue Feb 02 10:12:18 2010 +0200 +++ b/uiservicetab/vimpstui/rss/vimpstuisearchdlg.rss Fri Feb 19 22:41:11 2010 +0200 @@ -106,7 +106,7 @@ { CBA_BUTTON { id = EBasicSearch; txt = qtn_servtab_basic_search; }, CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }, - CBA_BUTTON { id = EAknSoftkeyEdit; txt = qtn_msk_edit; } + CBA_BUTTON { id = EAknSoftkeyEdit; txt = text_softkey_edit; } }; } @@ -123,7 +123,7 @@ { CBA_BUTTON { id = EAdvancedSearch; txt = qtn_servtab_advanced_search; }, CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }, - CBA_BUTTON { id = EAknSoftkeyEdit; txt = qtn_msk_edit; } + CBA_BUTTON { id = EAknSoftkeyEdit; txt = text_softkey_edit; } }; }