diff -r 000000000000 -r bde4ae8d615e os/mm/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAudioSettingDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/mm/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAudioSettingDialog.cpp Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,206 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// Part of the MVS Application for TechView +// + + +#include "MVSAudioSettingDialog.h" +#include "MVSApp.hrh" + + +void CMVSAudioSettingDialog::SetupDialogLD(TInt aNoRepeats, + TTimeIntervalMicroSeconds aTrailingSilence,TInt aAudioPriority, + TMdaPriorityPreference aPriorityPreference, TInt& aMaxFileBuf, + CMVSAppUi* aAppUi) + { + CMVSAudioSettingDialog* dialog = new (ELeave) CMVSAudioSettingDialog(aNoRepeats, + aTrailingSilence,aAudioPriority, aPriorityPreference, aMaxFileBuf, aAppUi); + dialog->ExecuteLD(R_NEW_MVS_DIALOG_AUDIOSETTING); + } + +void CMVSAudioSettingDialog::PreLayoutDynInitL() + { + CEikNumberEditor* repeatControl = static_cast<CEikNumberEditor*>(Control(EMVSCmdSetRepeats)); + CEikNumberEditor* myTrSilenceControl = static_cast<CEikNumberEditor*>(Control(EMVSCmdSetTrailingSilence)); + iMaxFileSizeCtrl = static_cast<CEikNumberEditor*>(Control(EMVSCmdSetMaxFileSizeNum)); + + if(iMaxFileBuf>0) + { + iMaxFileSizeCtrl->SetNumber(iMaxFileBuf); + } + else + { + iMaxFileSizeCtrl->SetNumber(0); + } + //Now seed the controls with appropriate values + if(repeatControl) + { + repeatControl->SetNumber(iNoRepeats); + } + if(myTrSilenceControl) + { + myTrSilenceControl->SetNumber(I64INT(iTrailingSilence.Int64()/1000000)); + } + // Get a downcasted pointer to the controls + CEikChoiceList* audioPriority = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriority)); + + CEikChoiceList* audioPriorityPref = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriorityPreference)); + + + if(audioPriority) + { + //Set the current item based on the argument passed to the object + switch (iAudioPriority) + { + case(EMdaPriorityMin): + audioPriority->SetCurrentItem(0); + break; + + case(EMdaPriorityMax): + audioPriority->SetCurrentItem(2); + break; + + case(EMdaPriorityNormal): + default: + audioPriority->SetCurrentItem(1); + break; + } + } + if(audioPriorityPref) + { + //Set the priority preference based on the argument passed to the object + switch (iPriorityPreference) + { + case(EMdaPriorityPreferenceTime): + audioPriorityPref->SetCurrentItem(1); + break; + + case(EMdaPriorityPreferenceQuality): + audioPriorityPref->SetCurrentItem(2); + break; + + case(EMdaPriorityPreferenceTimeAndQuality): + audioPriorityPref->SetCurrentItem(3); + break; + + case(EMdaPriorityPreferenceNone): + default: + audioPriorityPref->SetCurrentItem(0); + } + } + } + + +CMVSAudioSettingDialog::CMVSAudioSettingDialog(TInt aNoRepeats, + TTimeIntervalMicroSeconds aTrailingSilence,TInt aAudioPriority, + TMdaPriorityPreference aPriorityPreference, TInt& aMaxFileBuf, + CMVSAppUi* aAppUi) +: iAppUi(aAppUi),iAudioPriority(aAudioPriority), iPriorityPreference (aPriorityPreference), +iNoRepeats(aNoRepeats),iTrailingSilence(aTrailingSilence), iMaxFileBuf(aMaxFileBuf) + { + + } + +TKeyResponse CMVSAudioSettingDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) + { + if(aKeyEvent.iCode == EKeyEnter && aType == EEventKeyDown) + { + OkToExitL(EMVSButtonUpdate); + } + else if(aKeyEvent.iCode == EKeyEscape && aType == EEventKeyDown) + { + OkToExitL(EMVSButtonCancel); + } + return CEikDialog::OfferKeyEventL(aKeyEvent,aType); + } + +TBool CMVSAudioSettingDialog::OkToExitL(TInt aButtonId) + { + // Get a pointer to the progress bar control. + // Downcast the returned CCoeControl* pointer to the correct type. + CEikChoiceList* audioPriority = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriority)); + + CEikChoiceList* audioPriorityPref = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriorityPreference)); + + iMaxFileBuf = iMaxFileSizeCtrl->Number(); + iAppUi->SetMaxFileSize(iMaxFileBuf); + //Identify current Audio Priority item, and set that + if(audioPriority) + { + switch (audioPriority->CurrentItem()) + { + case 0: + iAudioPriority = EMdaPriorityMin; + break; + + case 1: + iAudioPriority = EMdaPriorityNormal; + break; + + case 2: + iAudioPriority = EMdaPriorityMax; + break; + + default: + iAudioPriority = EMdaPriorityNormal; + break; + } + } + + //Now do the same for the Priority Preference. + if(audioPriorityPref) + { + switch (audioPriorityPref->CurrentItem()) + { + case 1: + iPriorityPreference = EMdaPriorityPreferenceTime; + break; + + case 2: + iPriorityPreference = EMdaPriorityPreferenceQuality; + break; + + case 3: + iPriorityPreference = EMdaPriorityPreferenceTimeAndQuality; + break; + + case 0: + default: + iPriorityPreference = EMdaPriorityPreferenceNone; + break; + } + } + iNoRepeats = static_cast<CEikNumberEditor*> + (Control(EMVSCmdSetRepeats))->Number(); + + //Update the trailing silence from the control. + TInt64 silence64 = (static_cast<CEikNumberEditor*> + (Control(EMVSCmdSetTrailingSilence))->Number()); + TInt silence = I64INT(silence64*1000000); + TTimeIntervalMicroSeconds theSilence(silence); + + switch(aButtonId) + { + case(EMVSButtonUpdate): + iAppUi->SetPriorityL(iAudioPriority, iPriorityPreference); + iAppUi->SetRepeats(iNoRepeats, theSilence); + return ETrue; + + case(EMVSButtonCancel): + return ETrue; + default: + break; + } + return ETrue; + }