--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/svgtviewer/SvgtViewerPlugin/AppInc/SVGTViewerAppAppUi.h Thu Dec 17 08:40:16 2009 +0200
@@ -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 <SVGTAppObserver.h>
+#include <DownloadMgrClient.h>
+
+// 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