diff -r 000000000000 -r 40261b775718 mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSSetPlayWindowDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSSetPlayWindowDialog.cpp Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,96 @@ +// 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 "MVSSetPlayWindowDialog.h" +#include "MVSApp.hrh" +#include "MVSAppUI.h" + + +void CMVSSetPlayWindowDialog::SetupDialogLD(TTimeIntervalMicroSeconds aStart, + TTimeIntervalMicroSeconds aEnd, + TTimeIntervalMicroSeconds aMaxDuration, CMVSAppUi* aAppUi) + { + CMVSSetPlayWindowDialog* dialog = new (ELeave) CMVSSetPlayWindowDialog(aStart,aEnd, + aMaxDuration, aAppUi); + dialog->ExecuteLD(R_MVS_DIALOG_SETPLAYWINDOW); + } + +void CMVSSetPlayWindowDialog::PreLayoutDynInitL() + { + // Get a downcasted pointer to the controls + CEikNumberEditor* control = static_cast ( Control((TInt)EMVSCmdSetPlayWindowStart) ); + control->SetMinimumAndMaximum(0, (iMaxDuration.Int64())); + control->SetNumber(iStart.Int64()); + control = static_cast ( Control((TInt)EMVSCmdSetPlayWindowEnd) ); + control->SetMinimumAndMaximum(0, iMaxDuration.Int64()); + control->SetNumber(iEnd.Int64()); + } + + +CMVSSetPlayWindowDialog::CMVSSetPlayWindowDialog(TTimeIntervalMicroSeconds aStart, + TTimeIntervalMicroSeconds aEnd,TTimeIntervalMicroSeconds aMaxDuration, CMVSAppUi* aAppUi) +: iStart(aStart), iEnd(aEnd), iMaxDuration(aMaxDuration), iAppUi(aAppUi) + { + + } + + +TKeyResponse CMVSSetPlayWindowDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType) + { + if(aKeyEvent.iCode == EKeyEnter && aType == EEventKeyDown) + { + OkToExitL(EMVSButtonUpdate); + } + return CEikDialog::OfferKeyEventL(aKeyEvent,aType); + } + + +TBool CMVSSetPlayWindowDialog::OkToExitL(TInt aButtonId) + { + // Get a pointer to the progress bar control. + // Downcast the returned CCoeControl* pointer to the correct type. + CEikNumberEditor* controlstart = static_cast(Control(EMVSCmdSetPlayWindowStart)); + CEikNumberEditor* controlend = static_cast(Control(EMVSCmdSetPlayWindowEnd)); + TBool result = ETrue; + switch(aButtonId) + { + case(EMVSButtonUpdate): + { + TInt positionstart = controlstart->Number(); + TInt64 posstart64(positionstart); + TInt positionend = controlend->Number(); + TInt64 posend64(positionend); + //Port these values over to the AppUi + result = iAppUi->SetPlayWindow(TTimeIntervalMicroSeconds(posstart64), TTimeIntervalMicroSeconds(posend64)); + //if the play window can not be set with the values, restore to previous values + if(!result) + { + controlstart->SetNumber(iStart.Int64()); + controlstart->DrawNow(); + controlend->SetNumber(iEnd.Int64()); + controlend->DrawNow(); + } + } + break; + + default: + break; + } + + return result; + } +