mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAudioSettingDialog.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAudioSettingDialog.cpp Tue Feb 02 01:56:55 2010 +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;
+ }