os/mm/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAudioSettingDialog.cpp
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/mm/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAudioSettingDialog.cpp	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,206 @@
     1.4 +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of "Eclipse Public License v1.0"
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +// Part of the MVS Application for TechView
    1.18 +//
    1.19 +
    1.20 +
    1.21 +#include "MVSAudioSettingDialog.h"
    1.22 +#include "MVSApp.hrh"
    1.23 +
    1.24 +
    1.25 +void CMVSAudioSettingDialog::SetupDialogLD(TInt aNoRepeats, 
    1.26 +                          TTimeIntervalMicroSeconds aTrailingSilence,TInt aAudioPriority,
    1.27 +                          TMdaPriorityPreference aPriorityPreference, TInt& aMaxFileBuf,
    1.28 +                          CMVSAppUi* aAppUi)
    1.29 +	{
    1.30 +    CMVSAudioSettingDialog* dialog = new (ELeave) CMVSAudioSettingDialog(aNoRepeats,
    1.31 +                                                       aTrailingSilence,aAudioPriority, aPriorityPreference, aMaxFileBuf, aAppUi);
    1.32 +    dialog->ExecuteLD(R_NEW_MVS_DIALOG_AUDIOSETTING);
    1.33 +    }
    1.34 +
    1.35 +void CMVSAudioSettingDialog::PreLayoutDynInitL()
    1.36 +    {
    1.37 +    CEikNumberEditor* repeatControl = static_cast<CEikNumberEditor*>(Control(EMVSCmdSetRepeats));
    1.38 +    CEikNumberEditor* myTrSilenceControl = static_cast<CEikNumberEditor*>(Control(EMVSCmdSetTrailingSilence));
    1.39 +    iMaxFileSizeCtrl = static_cast<CEikNumberEditor*>(Control(EMVSCmdSetMaxFileSizeNum));
    1.40 +        
    1.41 +    if(iMaxFileBuf>0)
    1.42 +    	{
    1.43 +    	iMaxFileSizeCtrl->SetNumber(iMaxFileBuf);
    1.44 +    	}
    1.45 +    else
    1.46 +    	{
    1.47 +    	iMaxFileSizeCtrl->SetNumber(0);
    1.48 +     	}
    1.49 +    //Now seed the controls with appropriate values
    1.50 +    if(repeatControl)
    1.51 +	    {
    1.52 +	    repeatControl->SetNumber(iNoRepeats);
    1.53 +	    }
    1.54 +    if(myTrSilenceControl)
    1.55 +    	{
    1.56 +    	myTrSilenceControl->SetNumber(I64INT(iTrailingSilence.Int64()/1000000));	
    1.57 +    	}
    1.58 +    // Get a downcasted pointer to the controls
    1.59 +    CEikChoiceList* audioPriority = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriority));
    1.60 +
    1.61 +    CEikChoiceList* audioPriorityPref = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriorityPreference));
    1.62 +
    1.63 +    
    1.64 +    if(audioPriority)
    1.65 +	    {
    1.66 +	    //Set the current item based on the argument passed to the object
    1.67 +	    switch (iAudioPriority)
    1.68 +	    	{
    1.69 +	        case(EMdaPriorityMin):
    1.70 +	        	audioPriority->SetCurrentItem(0);
    1.71 +	          	break;
    1.72 +
    1.73 +	        case(EMdaPriorityMax):
    1.74 +	        	audioPriority->SetCurrentItem(2);
    1.75 +	          	break;
    1.76 +
    1.77 +	    	case(EMdaPriorityNormal):
    1.78 +	        default:
    1.79 +	        	audioPriority->SetCurrentItem(1);
    1.80 +	          	break;
    1.81 +	        }	
    1.82 +	    }
    1.83 +     if(audioPriorityPref)
    1.84 +	     {
    1.85 +	     //Set the priority preference based on the argument passed to the object
    1.86 +	     switch (iPriorityPreference)
    1.87 +	     	{
    1.88 +	        case(EMdaPriorityPreferenceTime):
    1.89 +	        	audioPriorityPref->SetCurrentItem(1);
    1.90 +	          	break;
    1.91 +	          
    1.92 +	        case(EMdaPriorityPreferenceQuality):
    1.93 +	        	audioPriorityPref->SetCurrentItem(2);
    1.94 +	          	break;
    1.95 +	          
    1.96 +	     	case(EMdaPriorityPreferenceTimeAndQuality):
    1.97 +	        	audioPriorityPref->SetCurrentItem(3);
    1.98 +	          	break;
    1.99 +	        
   1.100 +	     	case(EMdaPriorityPreferenceNone):
   1.101 +	     	default:
   1.102 +	     		audioPriorityPref->SetCurrentItem(0);
   1.103 +	        }	
   1.104 +	     }
   1.105 +    }
   1.106 +
   1.107 +
   1.108 +CMVSAudioSettingDialog::CMVSAudioSettingDialog(TInt aNoRepeats, 
   1.109 +                             TTimeIntervalMicroSeconds aTrailingSilence,TInt aAudioPriority,
   1.110 +                      TMdaPriorityPreference aPriorityPreference, TInt& aMaxFileBuf,
   1.111 +                      CMVSAppUi* aAppUi)
   1.112 +: iAppUi(aAppUi),iAudioPriority(aAudioPriority), iPriorityPreference (aPriorityPreference),
   1.113 +iNoRepeats(aNoRepeats),iTrailingSilence(aTrailingSilence), iMaxFileBuf(aMaxFileBuf)
   1.114 +	{
   1.115 +    
   1.116 +    }
   1.117 +
   1.118 +TKeyResponse CMVSAudioSettingDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
   1.119 +	{
   1.120 +	if(aKeyEvent.iCode == EKeyEnter && aType == EEventKeyDown)
   1.121 +		{
   1.122 +		OkToExitL(EMVSButtonUpdate);
   1.123 +		}
   1.124 +	else if(aKeyEvent.iCode == EKeyEscape && aType == EEventKeyDown)
   1.125 +		{
   1.126 +		OkToExitL(EMVSButtonCancel);
   1.127 +		}
   1.128 +	return CEikDialog::OfferKeyEventL(aKeyEvent,aType);	
   1.129 +	}
   1.130 +
   1.131 +TBool CMVSAudioSettingDialog::OkToExitL(TInt aButtonId)
   1.132 +    {
   1.133 +    // Get a pointer to the progress bar control.
   1.134 +    // Downcast the returned CCoeControl* pointer to the correct type.
   1.135 +    CEikChoiceList* audioPriority = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriority));
   1.136 +
   1.137 +    CEikChoiceList* audioPriorityPref = static_cast<CEikChoiceList*>(Control(EMVSCmdSetAudioPriorityPreference));
   1.138 +    
   1.139 +    iMaxFileBuf = iMaxFileSizeCtrl->Number();
   1.140 +	iAppUi->SetMaxFileSize(iMaxFileBuf);	
   1.141 +    //Identify current Audio Priority item, and set that
   1.142 +    if(audioPriority)
   1.143 +	    {
   1.144 +	    switch (audioPriority->CurrentItem())
   1.145 +	    	{
   1.146 +	        case 0:
   1.147 +	        	iAudioPriority = EMdaPriorityMin;
   1.148 +	          	break;
   1.149 +
   1.150 +	        case 1:
   1.151 +	        	iAudioPriority = EMdaPriorityNormal;
   1.152 +	          	break;
   1.153 +
   1.154 +	        case 2:
   1.155 +	        	iAudioPriority = EMdaPriorityMax;
   1.156 +	         	break;
   1.157 +
   1.158 +	        default:
   1.159 +	        	iAudioPriority = EMdaPriorityNormal;
   1.160 +	         	break;
   1.161 +	        }	
   1.162 +	    }
   1.163 +    
   1.164 +    //Now do the same for the Priority Preference.
   1.165 +    if(audioPriorityPref)
   1.166 +	    {
   1.167 +	    switch (audioPriorityPref->CurrentItem())
   1.168 +	    	{
   1.169 +	        case 1:
   1.170 +	        	iPriorityPreference = EMdaPriorityPreferenceTime;
   1.171 +	          	break;
   1.172 +	          
   1.173 +	        case 2:
   1.174 +	        	iPriorityPreference = EMdaPriorityPreferenceQuality;
   1.175 +	          	break;
   1.176 +	          
   1.177 +	        case 3:
   1.178 +	        	iPriorityPreference = EMdaPriorityPreferenceTimeAndQuality;
   1.179 +	          	break;
   1.180 +
   1.181 +	    	case 0:
   1.182 +	        default:
   1.183 +	        	iPriorityPreference = EMdaPriorityPreferenceNone;
   1.184 +	          	break;
   1.185 +	        }
   1.186 +	    }
   1.187 +    iNoRepeats = static_cast<CEikNumberEditor*>
   1.188 +                        (Control(EMVSCmdSetRepeats))->Number();
   1.189 +
   1.190 +    //Update the trailing silence from the control.
   1.191 +    TInt64 silence64 = (static_cast<CEikNumberEditor*>
   1.192 +                        (Control(EMVSCmdSetTrailingSilence))->Number());  
   1.193 +    TInt silence = I64INT(silence64*1000000);
   1.194 +    TTimeIntervalMicroSeconds theSilence(silence);
   1.195 +    
   1.196 +    switch(aButtonId)
   1.197 +    	{
   1.198 +     	case(EMVSButtonUpdate):
   1.199 +        	iAppUi->SetPriorityL(iAudioPriority, iPriorityPreference);
   1.200 +            iAppUi->SetRepeats(iNoRepeats, theSilence);
   1.201 +            return ETrue;
   1.202 +            
   1.203 +    	case(EMVSButtonCancel):
   1.204 +    		return ETrue;
   1.205 +        default:
   1.206 +           	break;
   1.207 +     	} 
   1.208 +    return ETrue;
   1.209 +    }