VideoFileDetailsDialog.cpp
上传用户:xinrui0099
上传日期:2010-03-05
资源大小:48k
文件大小:25k
源码类别:
Symbian
开发平台:
C/C++
- /*
- * ============================================================================
- * Name : CVideoFileDetailsDialog from VideoFileDetailsDialog.h
- * Part of : Video
- * Created : 10/14/2003 by Forum Nokia
- * Description:
- * Declares Video file details dialog
- * Version :
- * Copyright: Forum Corporation, 2003
- * ============================================================================
- */
- #include <aknlists.h>
- #include <bautils.h>
- #include <stringloader.h>
- #include <e32base.h>
- #include <utf.h>
- #include <Video.rsg>
- #include "Videoengine.h"
- #include "VideoFileDetailsDialog.h"
- #include "MPlayerUIControllerListener.h"
- const TInt KFileSizeOneKilobyte = 1024;
- const TInt KMaxUrlLength = 1024;
- // For meta data
- _LIT(KMPTitle,"Title");
- _LIT(KMPCopyright,"Copyright");
- /*
- -----------------------------------------------------------------------------
- CVideoFileDetailsDialog::CVideoFileDetailsDialog()
- Description: C++ default constructor can NOT contain any code that might leave.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- CVideoFileDetailsDialog::CVideoFileDetailsDialog() : iResult(KErrNone)
- {
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::ConstructL()
- Description: Symbian 2nd phase constructor can leave.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::ConstructL()
- {
- iListBox = new (ELeave) CAknDoublePopupMenuStyleListBox();
- }
- /*
- -----------------------------------------------------------------------------
- CVideoFileDetailsDialog* CVideoFileDetailsDialog::NewL()
- Description: Two-phased constructor.
- Comments :
- Return values: CVideoFileDetailsDialog object pointer
- -----------------------------------------------------------------------------
- */
- CVideoFileDetailsDialog* CVideoFileDetailsDialog::NewL()
- {
- CVideoFileDetailsDialog* self = new( ELeave ) CVideoFileDetailsDialog();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
- /*
- -----------------------------------------------------------------------------
- CVideoFileDetailsDialog::~CVideoFileDetailsDialog()
- Description: Destructor
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- CVideoFileDetailsDialog::~CVideoFileDetailsDialog()
- {
- delete iListBox;
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::ExecuteLD(const TDesC& aFileName)
- Description: Launches the file details dialog
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::ExecuteLD(const TDesC& aFileName)
- {
- CVideoFileDetails* fileDetails = new (ELeave) CVideoFileDetails();
- CleanupStack::PushL(fileDetails);
- CleanupStack::PushL(this);
- // filename
- TParse parse;
- parse.Set(aFileName,NULL,NULL);
- fileDetails->iFileName = parse.Name().AllocL();
- CPDummyController* dummy = CPDummyController::NewLC();
- TRect tmp;
- CVideoPlayerUtility* videoPlayer = CVideoPlayerUtility::NewL(*this,EMdaPriorityNormal,EMdaPriorityPreferenceNone,
- dummy->GetClientWsSession(),dummy->GetScreenDevice(),dummy->GetClientWindow(),tmp,tmp);
- CleanupStack::PushL(videoPlayer);
- // open
- videoPlayer->OpenFileL(aFileName);
- // wait open to complete
- iWait.Start();
- User::LeaveIfError(iResult);
- // prepare
- videoPlayer->Prepare();
- // wait prepare to complete
- iWait.Start();
- User::LeaveIfError(iResult);
- // get video file details
- // duration
- fileDetails->iDurationInSeconds = videoPlayer->DurationL().Int64() / KMPOneSecond;
- // resolution
- TSize size;
- videoPlayer->VideoFrameSizeL(size);
- fileDetails->iResolutionHeight = size.iHeight;
- fileDetails->iResolutionWidth = size.iWidth;
- // bitrate
- fileDetails->iBitrate = videoPlayer->VideoBitRateL();
- // format
- TBuf<KMaxDataTypeLength> format;
- CnvUtfConverter::ConvertToUnicodeFromUtf8(format,videoPlayer->VideoFormatMimeType());
- if (format.CompareF(_L("")))
- {
- fileDetails->iFormat = format.AllocL();
- }
- // copyright & title
- TInt metaCount = videoPlayer->NumberOfMetaDataEntriesL();
- CMMFMetaDataEntry* metaData;
- for (TInt i = 0; i < metaCount; i++)
- {
- metaData = videoPlayer->MetaDataEntryL(i);
- if (!metaData->Name().CompareF(KMPCopyright))
- {
- fileDetails->iCopyright = metaData->Value().AllocL();
- }
- if (!metaData->Name().CompareF(KMPTitle))
- {
- fileDetails->iTitle = metaData->Value().AllocL();
- }
- delete metaData;
- }
- CleanupStack::PopAndDestroy(2); // dummy and videoPlayer
- CleanupStack::Pop(); //this
- // Show File Details in differend ExecuteLD
- ExecuteLD(fileDetails);
- CleanupStack::PopAndDestroy(); // fileDetails
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::ExecuteLD(CVideoFileDetails* aFileDetails)
- Description: Launches the dialog
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::ExecuteLD(CVideoFileDetails* aFileDetails)
- {
- CleanupStack::PushL(this);
- CAknPopupList* popupList = CAknPopupList::NewL(iListBox,R_AVKON_SOFTKEYS_OK_EMPTY, AknPopupLayouts::EMenuDoubleWindow);
- CleanupStack::PushL(popupList);
- iListBox->ConstructL(popupList, EAknListBoxViewerFlags);
- iListBox->CreateScrollBarFrameL(ETrue);
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
- SetTitleL(popupList);
- FillListBoxL(aFileDetails);
- CleanupStack::Pop(); //popupList
- popupList->ExecuteLD();
- CleanupStack::PopAndDestroy(); //this
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::SetTitleL(CAknPopupList* aPopupList)
- Description: Sets the title for the Popup list
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::SetTitleL(CAknPopupList* aPopupList)
- {
- HBufC* title = StringLoader::LoadLC(R_VIDEO_FILE_DETAILS);
- aPopupList->SetTitleL(*title);
- CleanupStack::PopAndDestroy(); //title
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::FillListBoxL(CVideoFileDetails* aFileDetails)
- Description: Fills the listbox
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::FillListBoxL(CVideoFileDetails* aFileDetails)
- {
- CDesCArray* itemArray = static_cast<CDesCArray*>(iListBox->Model()->ItemTextArray());
- MakeTitleItemL(itemArray,aFileDetails);
- MakeUrlItemL(itemArray,aFileDetails);
- MakeFormatItemL(itemArray,aFileDetails);
- MakeResolutionItemL(itemArray,aFileDetails);
- MakeDurationItemL(itemArray,aFileDetails);
- MakeBitrateItemL(itemArray,aFileDetails);
- MakeSizeItemL(itemArray,aFileDetails);
- MakeDateItemL(itemArray,aFileDetails);
- MakeTimeItemL(itemArray,aFileDetails);
- MakeCopyrightItemL(itemArray,aFileDetails);
- iListBox->HandleItemAdditionL();
- iListBox->SetCurrentItemIndex(0);
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::AddItemToListBoxL(const TDesC& aHeading,
- const TDesC& aValue, CDesCArray* aItemArray)
- Description: Adds item to the list box
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::AddItemToListBoxL(const TDesC& aHeading, const TDesC& aValue, CDesCArray* aItemArray)
- {
- CDesCArrayFlat* items = new (ELeave) CDesCArrayFlat(2);
- CleanupStack::PushL(items);
- items->AppendL(aHeading); //First string (heading)
- items->AppendL(aValue); //Second string (value)
- HBufC* headingAndValue = StringLoader::LoadLC( R_VIDEO_FILE_DETAILS_ROW_FORMAT, *items);
- aItemArray->AppendL(*headingAndValue);
- CleanupStack::PopAndDestroy(2); // items & headingAndValue
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeTitleItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes the title item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeTitleItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iTitle)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_TITLE_HEADING);
- AddItemToListBoxL(*heading,*aFileDetails->iTitle,aItemArray);
- CleanupStack::PopAndDestroy(); // heading
- return;
- }
- if (aFileDetails->iFileName)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_NAME_HEADING);
- AddItemToListBoxL(*heading,*aFileDetails->iFileName,aItemArray);
- CleanupStack::PopAndDestroy(); // heading
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeUrlItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes Url item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeUrlItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iUrl)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_URL_HEADING);
- AddItemToListBoxL(*heading,*aFileDetails->iUrl,aItemArray);
- CleanupStack::PopAndDestroy(); // heading
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeFormatItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes video file heading
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeFormatItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iFormat)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_FORMAT_HEADING);
- AddItemToListBoxL(*heading,*aFileDetails->iFormat,aItemArray);
- CleanupStack::PopAndDestroy(); // heading
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeResolutionItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes resolution item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeResolutionItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iResolutionWidth && aFileDetails->iResolutionHeight)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_RESOLUTION_HEADING);
- CArrayFix<TInt>* items = new (ELeave) CArrayFixFlat<TInt>(2);
- CleanupStack::PushL(items);
- items->AppendL(aFileDetails->iResolutionWidth);
- items->AppendL(aFileDetails->iResolutionHeight);
- HBufC* value = StringLoader::LoadLC(R_VIDEO_FILE_RESOLUTION,*items);
- AddItemToListBoxL(*heading,*value,aItemArray);
- CleanupStack::PopAndDestroy(3); // heading,items,value
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeDurationItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes duration item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeDurationItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- TInt64 duration = aFileDetails->iDurationInSeconds;
- if (duration > 0)
- {
- HBufC* dateFormatString;
- if (duration < KOneHourInSeconds)
- {
- dateFormatString = StringLoader::LoadLC(R_QTN_TIME_DURAT_MIN_SEC); // Read time format string from AVKON resource
- }
- else
- {
- dateFormatString = StringLoader::LoadLC(R_QTN_TIME_DURAT_LONG); // Read time format string from AVKON resource
- }
- TBuf<16> dur;
- TTime durTime = TTime(duration*KMPOneSecond);
- durTime.FormatL(dur, *dateFormatString);
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_DURATION_HEADING);
- AddItemToListBoxL(*heading,dur,aItemArray);
- CleanupStack::PopAndDestroy(2); // heading & dateFormatString
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeBitrateItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes bit-rate item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeBitrateItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iBitrate > 0)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_BITRATE_HEADING);
- HBufC* value = StringLoader::LoadLC(R_VIDEO_FILE_BITRATE,aFileDetails->iBitrate / KFileSizeOneKilobyte);
- AddItemToListBoxL(*heading,*value,aItemArray);
- CleanupStack::PopAndDestroy(2); // heading & value
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeSizeItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes size item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeSizeItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iSize)
- {
- TRealFormat format = TRealFormat(256,2);
- TBuf<256> sizeString;
- HBufC* value;
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_SIZE_HEADING);
- TReal size = aFileDetails->iSize;
- size = size/KFileSizeOneKilobyte;
- // Show kilobytes with 3 digits. If more digits needed, show size in megabytes
- if (size < 1000)
- {
- sizeString.Num(size,format);
- switch (sizeString.Length())
- {
- case 6:
- sizeString = sizeString.Left(3);
- break;
- case 5:
- sizeString = sizeString.Left(4);
- break;
- default:
- break;
- }
- value = StringLoader::LoadLC(R_VIDEO_FILE_SIZE_KB,sizeString);
- }
- else
- {
- size = size/KFileSizeOneKilobyte;
- sizeString.Num(size,format);
- switch (sizeString.Length())
- {
- case 6:
- sizeString = sizeString.Left(3);
- break;
- case 5:
- sizeString = sizeString.Left(4);
- break;
- default:
- break;
- }
- value = StringLoader::LoadLC(R_VIDEO_FILE_SIZE_MB,sizeString);
- }
- AddItemToListBoxL(*heading,*value,aItemArray);
- CleanupStack::PopAndDestroy(2); // heading & value
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeSizeItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes date item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeDateItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iTime > TTime(0))
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_DATE_HEADING);
- HBufC* dateFormatString = StringLoader::LoadLC(R_QTN_DATE_USUAL_WITH_ZERO);
- TBuf<32> date;
- aFileDetails->iTime.FormatL(date,*dateFormatString);
- AddItemToListBoxL(*heading,date,aItemArray);
- CleanupStack::PopAndDestroy(2); // heading & dateFormatString
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeTimeItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes time item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeTimeItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iTime > TTime(0))
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_TIME_HEADING);
- HBufC* timeFormatString = StringLoader::LoadLC(R_QTN_TIME_USUAL_WITH_ZERO);
- TBuf<32> time;
- aFileDetails->iTime.FormatL(time,*timeFormatString);
- AddItemToListBoxL(*heading,time,aItemArray);
- CleanupStack::PopAndDestroy(2); // heading & timeFormatString
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MakeCopyrightItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- Description: Makes copyright item
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MakeCopyrightItemL(CDesCArray* aItemArray,
- CVideoFileDetails* aFileDetails)
- {
- if (aFileDetails->iCopyright)
- {
- HBufC* heading = StringLoader::LoadLC(R_VIDEO_FILE_COPYRIGHT_HEADING);
- AddItemToListBoxL(*heading,*aFileDetails->iCopyright,aItemArray);
- CleanupStack::PopAndDestroy(); // heading
- }
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MapcInitComplete(TInt aError,
- const TTimeIntervalMicroSeconds& aDuration)
- Description: Defines required client behaviour when an attempt to open and
- initialise an audio sample has completed, successfully or
- otherwise.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
- {
- // Open completed, resume ExecuteLD(const TDesC& aFileName)
- iResult = aError;
- iWait.AsyncStop();
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MapcPlayComplete(TInt aError)
- Description: Defines required client behaviour when an attempt to play an
- audio sample has completed, successfully or otherwise.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MapcPlayComplete(TInt /*aError*/)
- {
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MvpuoOpenComplete(TInt aError)
- Description: Open has been completed
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MvpuoOpenComplete(TInt aError)
- {
- // Open completed, resume ExecuteLD(const TDesC& aFileName)
- iResult = aError;
- iWait.AsyncStop();
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError)
- Description: Frame is ready.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MvpuoFrameReady(CFbsBitmap& /*aFrame*/,TInt /*aError*/)
- {
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MvpuoPlayComplete(TInt aError)
- Description: Play has been completed
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MvpuoPlayComplete(TInt /*aError*/)
- {
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MvpuoPrepareComplete(TInt aError)
- Description: Prepare has been completed
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MvpuoPrepareComplete(TInt aError)
- {
- // Prepare completed, resume ExecuteLD(const TDesC& aFileName)
- iResult = aError;
- iWait.AsyncStop();
- }
- /*
- -----------------------------------------------------------------------------
- void CVideoFileDetailsDialog::MvpuoEvent(const TMMFEvent& aEvent)
- Description: Mvpuo Event comes in
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CVideoFileDetailsDialog::MvpuoEvent(const TMMFEvent& /*aEvent*/)
- {
- }
- /*
- -----------------------------------------------------------------------------
- CPDummyController::CPDummyController()
- Description: C++ default constructor can NOT contain any code that might
- leave
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- CPDummyController::CPDummyController()
- {
- }
- /*
- -----------------------------------------------------------------------------
- void CPDummyController::ConstructL()
- Description: Symbian 2nd phase constructor can leave.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- void CPDummyController::ConstructL()
- {
- CreateWindowL();
- SetExtent(TPoint(0,0), TSize(50,50));
- ActivateL();
- SetPointerCapture(ETrue);
- ClaimPointerGrab(ETrue);
- iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityEnvironmentFilter);
- }
- /*
- -----------------------------------------------------------------------------
- void CPDummyController::ConstructL()
- Description: Two-phased constructor.
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- CPDummyController* CPDummyController::NewLC()
- {
- CPDummyController* self= new (ELeave) CPDummyController();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
- /*
- -----------------------------------------------------------------------------
- CPDummyController::~CPDummyController()
- Description: destructor
- Comments :
- Return values: N/A
- -----------------------------------------------------------------------------
- */
- CPDummyController::~CPDummyController()
- {
- if (iCoeEnv && iEikonEnv->EikAppUi())
- iEikonEnv->EikAppUi()->RemoveFromStack(this);
- }
- /*
- -----------------------------------------------------------------------------
- TKeyResponse CPDummyController::OfferKeyEventL(const TKeyEvent& aKeyEvent,
- TEventCode aType)
- Description: Absorbs all the key presses
- Comments :
- Return values: EKeyWasConsumed
- -----------------------------------------------------------------------------
- */
- TKeyResponse CPDummyController::OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/)
- {
- return EKeyWasConsumed;
- }