diff -r e52958d06c29 -r 5fd161fa28b6 svgtviewer/SvgtViewerPlugin/AppInc/SVGTViewerAppAppUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/svgtviewer/SvgtViewerPlugin/AppInc/SVGTViewerAppAppUi.h Thu Sep 09 11:17:40 2010 +0300 @@ -0,0 +1,217 @@ +/* +* Copyright (c) 2004,2005 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: AppUI class for the SVGT Viewer. +* +*/ + + +#ifndef SVGTVIEWERAPPAPPUI_H +#define SVGTVIEWERAPPAPPUI_H + +#include +#include + +// FORWARD DECLARATIONS +class CAknAppUi; +class CSVGTViewerAppAppView; +class CSVGTUIDialog; +class CDownloadMgrUiUserInteractions; +class CDownloadMgrUiDownloadsList; +class CDownloadMgrUiLibRegistry; +class CSVGTViewerAppDownloads; +class CSVGTAppObserverUtil; + + +class CSvgtViewerAppView; +// CLASS DECLARATION + +/** +* CSVGTViewerAppAppUi is the AppUI class for the SVGT Viewer +* @since 3.0 +*/ +class CSVGTViewerAppAppUi : public CAknAppUi + { + public: // Constructors and destructor + /** + * C++ default constructor. + */ + CSVGTViewerAppAppUi(); + + /** + * Second Phase constructor. + */ + void ConstructL(); + + // Destructor + virtual ~CSVGTViewerAppAppUi(); + + public: // New functions + /** + * Handle open command from document class. + * @since 3.0 + * @param aFileHandle - File Fandle to the SVGT file. + */ + virtual void OpenFileL( RFile& aFileHandle ); + + /** + * This function is used to set the move option, the + * Move allowed or not decision is done by the document + * class and it calls this function to inform the UI class + * about the decision. + * @param: aMoveAllowed, ETrue: Move allowed, EFalse: + * Move Not allowed. + * @since 3.0 + */ + void SetAllowMove(TInt32 aMoveAllowed); + + public: // Functions from base classes + /** + * From CAknAppUi + * @see CAknAppUi::HandleCommandL + */ + virtual void HandleCommandL( TInt aCommand ); + + /** + * From CAknAppUi + * @see CAknAppUi::OpenFileL + */ + virtual void OpenFileL( const TDesC& aFilename ); + + /** + * From CAknAppUi + * @see CAknAppUi::ProcessCommandParametersL + */ + virtual TBool ProcessCommandParametersL(TApaCommand aCommand, + TFileName& aDocumentName, const TDesC8& aTail ); + + /** + * From CAknAppUi + * @see CAknAppUi::HandleScreenDeviceChangedL + */ + void HandleScreenDeviceChangedL(); + + /** + * From CAknAppUi + * @see CAknAppUi::HandleResourceChangeL + */ + void HandleResourceChangeL( TInt aType ); + private: + /** + * From CEikAppUi, called when event occurs of type EEventFocusLost + * or EEventFocusGained. + * @param aForeground ETrue if the application is in the foreground, + * otherwise EFalse + */ + void HandleForegroundEventL(TBool aForeground); + + /** + * Used to find out if video call is going on. + * @since 3.0 + */ + TBool IsVideoCall() const; + /** + * Used to check if the application has started any embedded app. + * @since 3.0 + * return: ETrue: If there is an embedded app, EFalse otherwise. + */ + TBool IsEmbeddedAppRunning() const; + /** + * Used to set internal state if the application has started + * any embedded app. + * @since 3.0 + */ + void SetEmbeddedAppRunning(); + /** + * Used to set internal state if the embedded app started + * previously gets closed. + * @since 3.0 + */ + void ResetEmbeddedAppRunning(); + + /** + * Used to callback by the idle timer in order to launch the dialog + * @since 3.0 + */ + static TInt CallBackFuncL(TAny *aPtr); + + /** + * This function accesses the document and launches the content + * using the UI Dialog. + * return: ETrue When file handle is not valid + * EFalse When file handle is valid + * @since 3.0 + */ + TBool LaunchDialogL(); + + /** + * This function is used to detect how we are launched. + * Embedded or Standalone. + * return: ETrue: Embedded mode, EFalse: Standalone mode. + * @since 3.0 + */ + TBool WeAreEmbedded() const; + + /** + * This function is used to decide if the "save" option + * should be shown in the UI. "Save" is shown if we + * are launched from messaging/mms/mail/browser. + * return: ETrue: Show save, EFalse: Do not show save. + * @since 3.0 + */ + TBool CanShowSave() const; + + /** + * This function is used to decide if the Save operation + * should actually do a move. This is required if we + * are launched from browser/downloadmgr and file + * needs to be moved instead of copying to save disk + * space. + * @since 3.0 + */ + TBool ShouldMoveContent() const; + + /** + * This function checks whether the file is local or remote + * @since 3.1 + */ + TBool IsLocalFile() const; + + /** + * This function checks whether the filepath of the content + * opened is in the PHONE_MEMORY_IMAGES_PATH or + * MEMORYCARD_IMAGES_PATH + * @param aFileHandle Filehandle to check the path + * @since 3.1 + */ + TBool IsLocalFileL( RFile& aFileHandle ) const; + + private: // Data + + CSvgtViewerAppView* iContainer; + + // Pointer to the SVGT Dialog + CSVGTUIDialog* iAppDialog; + + // Pointer to Hyperlink Handler + CSVGTAppObserverUtil* iAppObserver; + + TBool iEmbeddedAppRunning; + CPeriodic* iIdleTimer; + TBool iMoveAllowed; + }; + + +#endif // __SVGTVIEWERAPPAPPUI_H__ + +//End of File