diff -r 000000000000 -r 951a5db380a0 videditor/ManualVideoEditor/inc/VeiAppUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videditor/ManualVideoEditor/inc/VeiAppUi.h Fri Jan 29 14:08:33 2010 +0200 @@ -0,0 +1,182 @@ +/* +* Copyright (c) 2010 Ixonos Plc. +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the "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: +* Ixonos Plc +* +* Description: +* +*/ + + + +#ifndef VEDAPPUI_H +#define VEDAPPUI_H + +// INCLUDES +// System includes +#include +#include +#include +#include +#include +#include +#include +#include +// User includes +#include "VeiSettingsView.h" +#include "VideoEditorDebugUtils.h" + +// FORWARD DECLARATIONS +class CVeiSettingsView; +class CVeiEditVideoView; +class CVeiCutVideoView; +class CVeiSettingsView; +class CVeiCutAudioView; +class CVeiTrimForMmsView; +class CSendUi; +class CEikAppUi; +class CMGXFileNotificationHandler; + +/** + * Application UI class. + * Provides support for the following features: + * - EIKON control architecture + * - view architecture + * - status pane + * + */ +class CVeiAppUi: public CAknViewAppUi, + public MMGXFileNotificationObserver +{ +public: + // // Constructors and destructor + + /** + * Default constructor. + */ + void ConstructL(); + + /** + * Destructor. + */ + ~CVeiAppUi(); + +public: + // New functions + inline TInt GetVolumeLevel() { return iVolume; }; + + inline void SetVolumeLevel( TInt aVolume ) { iVolume=aVolume; }; + + void InsertVideoClipToMovieL( TBool aDoOpen, const TDesC& aFilename ); + + CVeiAppUi(); + + /** HandleError + * + * @CAknAppUi + */ + virtual TErrorHandlerResponse HandleError( TInt aError, + const SExtendedError& aExtErr, + TDes& aErrorText, + TDes& aContextText ); + + /** + * Reads application settings data from ini-file. + * + * @param aSettings Settings data where values are read. + */ + void ReadSettingsL( TVeiSettings& aSettings )const; + + /** + * Writes application settings data to ini-file. + * + * @param aSettings Settings data where values are written. + */ + void WriteSettingsL( const TVeiSettings& aSettings )const; + + inline TBool AppIsOnTheWayToDestruction() { return iOnTheWayToDestruction; }; + +private: + /** + * From CEikAppUi, takes care of command handling. + * @param aCommand command to be handled + */ + void HandleCommandL( TInt aCommand ); + + /** + * From CEikAppUi, handles key events. + * @param aKeyEvent Event to handled. + * @param aType Type of the key event. + * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). + */ + virtual TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + /** + * From CAknAppUiBase. + * Calls CAknViewAppUi::HandleScreenDeviceChangedL(). + */ + virtual void HandleScreenDeviceChangedL(); + + /** + * From @c CEikAppUi. Handles a change to the application's resources which + * are shared across the environment. This function calls + * @param aType The type of resources that have changed. + */ + virtual void HandleResourceChangeL( TInt aType ); + + /** + * From CAknAppUi, HandleForegroundEventL( TBool aForeground ) + * @param aForeground + */ + virtual void HandleForegroundEventL( TBool aForeground ); + + // From MMGXFileNotificationObserver + virtual void HandleFileNotificationEventL(); + +private: + //Data + + CVeiEditVideoView* iEditVideoView; + + CVeiSettingsView* iSettingsView; + + CVeiCutVideoView* iCutVideoView; + + CVeiCutAudioView* iCutAudioView; + + CMGXFileNotificationHandler* iFileNotificationHandler; + + /** + * Trim for MMS view. + */ + CVeiTrimForMmsView* iTrimForMmsView; + + /** + * Common volume setting. + */ + TInt iVolume; + + /** + * Send UI, MMS/Infrared/BT + */ + CSendUi* iSendAppUi; + + TProcessPriority iOriginalProcessPriority; + TBool iProcessPriorityAltered; + + TBool iOnTheWayToDestruction; +}; + +#endif + +// End of File