multimediacommsengine/tsrc/MCETestUI/src/createFileSourceDialog.cpp
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/MCETestUI/src/createFileSourceDialog.cpp	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,328 @@
+/*
+* Copyright (c) 2004 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:  
+*
+*/
+
+
+// INCLUDES
+#include "createFileSourceDialog.h"
+#include "CMCETestUIEngineAudioStream.h"
+#include "CMCETestUIEngineVideoStream.h"
+#include "CMCETestUIEngineSource.h"
+#include "CMCETestUIEngineVideoSource.h"
+#include <MCEAudioStream.h>
+#include <MCEVideoStream.h>
+#include <MCEFileSource.h>
+#include <MCEMediaSource.h>
+#include <MCEMediaStream.h>
+#include "mcetestuiengineconstants.h"
+
+// CONSTANTS
+const TInt KBufLength = 300;
+// ============================ MEMBER FUNCTIONS ==============================
+
+// ----------------------------------------------------------------------------
+// CCreateAudioFileSourceDialog::CCreateAudioFileSourceDialog( )
+// .
+// ----------------------------------------------------------------------------
+//
+CCreateAudioFileSourceDialog::CCreateAudioFileSourceDialog(
+						 CMCETestUIEngineAudioStream& aStream, TInt aIndex ) :
+    iStream(aStream),iSourceIndex( aIndex )
+    {
+    
+    // No implementation required
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateAudioFileSourceDialog::PreLayoutDynInitL()
+// .
+// ----------------------------------------------------------------------------
+//
+void CCreateAudioFileSourceDialog::PreLayoutDynInitL()
+    {
+    CAknForm::PreLayoutDynInitL();
+    const RPointerArray<CMCETestUIEngineSource>& sources = 
+            iStream.SourcesL();
+       
+   	CMceMediaSource& mediaSource = static_cast<CMceMediaSource&>(sources[iSourceIndex]->Source());
+    CMceFileSource& fileSource = static_cast<CMceFileSource&>(mediaSource);
+    	
+   	TBuf<KBufLength> sourceFileName;
+    sourceFileName.Copy(_L("None"));
+    CEikEdwin* sourceFile = static_cast<CEikEdwin*>(
+                                 Control( EFileSourceAudioFileUpdating ) );
+   	sourceFile->SetTextL(&sourceFileName);
+   	
+   	CEikNumberEditor* fileposition = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceAudioFilePosition ) );
+    TTimeIntervalMicroSeconds time1 = fileSource.PositionL();
+    fileposition->SetNumber(time1.Int64()/1000000);  
+    iPosition = time1.Int64()/1000000;
+   
+   	CEikNumberEditor* fileduration = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceAudioFileDuration ) );
+    TTimeIntervalMicroSeconds time2 = fileSource.DurationL();
+    fileduration->SetNumber(time2.Int64()/1000000);    
+    
+    CAknPopupFieldText* popupFieldText1 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceAudioFileFastForward));
+        
+    CAknPopupFieldText* popupFieldText2 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceAudioFileFastRewind));
+        
+    CEikNumberEditor* fileTransProgress = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceAudioFileTransProgress ) );
+    fileTransProgress->SetNumber(fileSource.TranscodingProgressL());    
+  
+   	CEikNumberEditor* mediaelementCount = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceAudioFileMediaElementCount ) );
+    mediaelementCount->SetNumber(fileSource.MediaElementCountL(1));    
+    
+    CEikNumberEditor* currentmediaElement = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceAudioFileCurrentMediaElement ) );
+    currentmediaElement->SetNumber(fileSource.CurrentMediaElement(1));     
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateAudioFileSourceDialog::OkToExitL( TInt )
+// .
+// ----------------------------------------------------------------------------
+//
+
+TBool CCreateAudioFileSourceDialog::OkToExitL( TInt aKey )
+    {
+    if ( aKey == EEikCmdCanceled )
+        {
+        // Cancel pressed. Just exit.
+        return ETrue;
+        }
+    const RPointerArray<CMCETestUIEngineSource>& sources = 
+            iStream.SourcesL();
+            
+    if(sources[iSourceIndex]->Type() == KMceFileSource)
+    	{
+    	CMceMediaSource& mediaSource = static_cast<CMceMediaSource&>(sources[iSourceIndex]->Source());
+    	CMceFileSource& fileSource = static_cast<CMceFileSource&>(mediaSource);
+    	TBuf<KBufLength> buffer;
+    	CEikEdwin* sourceFile = static_cast<CEikEdwin*>(
+                                 Control( EFileSourceAudioFileUpdating ) );
+    	sourceFile->GetText(buffer);
+		if(buffer.Compare(KNone))
+		{
+			fileSource.UpdateL(buffer);
+		}
+       
+       	
+   		CEikNumberEditor* fileposition = static_cast<CEikNumberEditor*>(
+                              Control( EFileSourceAudioFilePosition ) );
+        
+        if(iPosition != fileposition->Number())
+        {
+       		fileSource.SetPositionL(fileposition->Number()*1000000);	
+        }
+        
+       	
+      /* 	CAknPopupFieldText* popupFieldText1 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceAudioFileFastForward));
+        if(popupFieldText1->CurrentValueIndex())
+        	{
+        	fileSource.SetFastForwardL(ETrue);
+        	}
+        else
+        	{
+        	fileSource.SetFastForwardL(EFalse);
+        	}
+       
+       	CAknPopupFieldText* popupFieldText2 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceAudioFileFastRewind));
+         if(popupFieldText2->CurrentValueIndex())
+        	{
+        	fileSource.SetFastRewindL(ETrue);
+        	}
+        else
+        	{
+        	fileSource.SetFastRewindL(EFalse);
+        	}
+        	*/
+        CEikNumberEditor* currentmediaElement = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceAudioFileCurrentMediaElement ) );
+    	
+    	fileSource.SetCurrentMediaElementL(1,currentmediaElement->Number());
+        }
+    
+        
+    return ETrue;
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateAudioFileSourceDialog::~CCreateAudioFileSourceDialog)
+// .
+// ----------------------------------------------------------------------------
+//
+CCreateAudioFileSourceDialog::~CCreateAudioFileSourceDialog()
+    {
+    return;
+    } 
+
+
+// ============================ MEMBER FUNCTIONS ==============================
+
+// ----------------------------------------------------------------------------
+// CCreateVideoFileSourceDialog::CCreateVideoFileSourceDialog( )
+// .
+// ----------------------------------------------------------------------------
+//
+CCreateVideoFileSourceDialog::CCreateVideoFileSourceDialog(
+						 CMCETestUIEngineVideoStream& aStream, TInt aIndex ) :
+    iStream(aStream),iSourceIndex( aIndex )
+    {
+    
+    // No implementation required
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateVideoFileSourceDialog::PreLayoutDynInitL()
+// .
+// ----------------------------------------------------------------------------
+//
+void CCreateVideoFileSourceDialog::PreLayoutDynInitL()
+    {
+    CAknForm::PreLayoutDynInitL();
+    const RPointerArray<CMCETestUIEngineVideoSource>& sources = 
+            iStream.SourcesL();
+   
+   	CMceMediaSource& mediaSource = static_cast<CMceMediaSource&>(sources[iSourceIndex]->Source());
+    CMceFileSource& fileSource = static_cast<CMceFileSource&>(mediaSource);
+        
+    TBuf<KBufLength> sourceFileName;
+    sourceFileName.Copy(_L("None"));
+    CEikEdwin* sourceFile = static_cast<CEikEdwin*>(
+                                 Control( EFileSourceVideoFileUpdating ) );
+   	sourceFile->SetTextL(&sourceFileName);  
+   	
+   	CEikNumberEditor* fileposition = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceVideoFilePosition ) );
+    TTimeIntervalMicroSeconds time1 = fileSource.PositionL();
+    fileposition->SetNumber(time1.Int64()/1000000);    
+   	iPosition = time1.Int64()/1000000;
+   	
+   	CEikNumberEditor* fileduration = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceVideoFileDuration ) );
+    TTimeIntervalMicroSeconds time2 = fileSource.DurationL();
+    fileduration->SetNumber(time2.Int64()/1000000);    
+    
+    CAknPopupFieldText* popupFieldText1 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceVideoFileFastForward));
+        
+    CAknPopupFieldText* popupFieldText2 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceVideoFileFastRewind));
+        
+//    CEikNumberEditor* fileTransProgress = static_cast<CEikNumberEditor*>(
+//                                  Control( EFileSourceVideoFileTransProgress ) );
+//    TInt streamState = iStream.State();
+//	if(streamState == CMceMediaStream::ETranscodingRequired) 
+//		{
+//		fileposition->SetNumber(fileSource.TranscodingProgressL());  	
+//		}
+    
+  	CEikNumberEditor* mediaelementCount = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceVideoFileMediaElementCount ) );
+    mediaelementCount->SetNumber(fileSource.MediaElementCountL(2));    
+    
+    CEikNumberEditor* currentmediaElement = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceVideoFileCurrentMediaElement ) );
+    currentmediaElement->SetNumber(fileSource.CurrentMediaElement(2));  
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateVideoFileSourceDialog::OkToExitL( TInt )
+// .
+// ----------------------------------------------------------------------------
+//
+
+TBool CCreateVideoFileSourceDialog::OkToExitL( TInt aKey )
+    {
+    if ( aKey == EEikCmdCanceled )
+        {
+        // Cancel pressed. Just exit.
+        return ETrue;
+        }
+    const RPointerArray<CMCETestUIEngineVideoSource>& sources = 
+            iStream.SourcesL();
+            
+    if(sources[iSourceIndex]->Type() == KMceFileSource)
+    	{
+    	CMceMediaSource& mediaSource = static_cast<CMceMediaSource&>(sources[iSourceIndex]->Source());
+    	CMceFileSource& fileSource = static_cast<CMceFileSource&>(mediaSource);
+    	TBuf<KBufLength> buffer;
+    	CEikEdwin* sourceFile = static_cast<CEikEdwin*>(
+                                 Control( EFileSourceVideoFileUpdating ) );
+    	sourceFile->GetText(buffer);
+    	if(buffer.Compare(KNone))
+    		{
+    		fileSource.UpdateL(buffer);
+    		}
+       	       	
+       	CEikNumberEditor* fileposition = static_cast<CEikNumberEditor*>(
+                              Control( EFileSourceVideoFilePosition ) );
+        if(iPosition != fileposition->Number())
+        {
+       		fileSource.SetPositionL(fileposition->Number()*1000000);	
+        }
+       	
+       	CAknPopupFieldText* popupFieldText1 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceVideoFileFastForward));
+        if(popupFieldText1->CurrentValueIndex())
+        	{
+        	fileSource.SetFastForwardL(ETrue);
+        	}
+        else
+        	{
+        	fileSource.SetFastForwardL(EFalse);
+        	}
+       
+       	CAknPopupFieldText* popupFieldText2 = 
+        static_cast <CAknPopupFieldText*> (Control(EFileSourceVideoFileFastRewind));
+         if(popupFieldText2->CurrentValueIndex())
+        	{
+        	fileSource.SetFastRewindL(ETrue);
+        	}
+        else
+        	{
+        	fileSource.SetFastRewindL(EFalse);
+        	}
+        CEikNumberEditor* currentmediaElement = static_cast<CEikNumberEditor*>(
+                                  Control( EFileSourceVideoFileCurrentMediaElement ) );
+    	TInt index = fileSource.CurrentMediaElement(2); 
+    	fileSource.SetCurrentMediaElementL(2,currentmediaElement->Number());
+        }
+    
+    
+        
+    return ETrue;
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateVideoFileSourceDialog::~CCreateVideoFileSourceDialog)
+// .
+// ----------------------------------------------------------------------------
+//
+CCreateVideoFileSourceDialog::~CCreateVideoFileSourceDialog()
+    {
+    return;
+    } 
+
+// End of File