--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/controllers/fetcher/inc/glxfetcherdialog.h Thu Dec 17 08:45:44 2009 +0200
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2008-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: Dialog class for fetcher plugin app
+*
+*/
+
+
+
+
+#ifndef GLXFETCHERDIALOG_H_
+#define GLXFETCHERDIALOG_H_
+
+// EXTERNAL INCLUDES
+#include <AknDialog.h> // for CAknDialog
+#include <glxfilterfactory.h> // CMPXFilter
+#include <coedef.h>
+#include <alf/alfscreenbuffer.h>
+
+#include "mglxeventobserver.h"
+
+// Forward Declerations
+class CGlxFetcherContainer;
+class CGlxUiUtility;
+class MMGFetchVerifier;
+class CAlfEnv;
+
+
+// INTERNAL INCLUDES
+
+NONSHARABLE_CLASS (CGlxFetcherDialog) : public CAknDialog ,
+ public MGlxEventObserver
+ {
+ public: // Constructors and destructor
+ /**
+ * Two-phased constructor.
+ * @param reference to an array where the selected files are set
+ * @param selection verifier interface
+ * @param filtertype, either images or videos
+ * @param the title for the dialog
+ */
+ static CGlxFetcherDialog* NewL(
+ CDesCArray& aSelectedFiles,
+ MMGFetchVerifier* aVerifier,
+ TGlxFilterItemType aFilterType,
+ const TDesC& aTitle,
+ TBool aMultiSelectionEnabled);
+
+ /**
+ * Destructor.
+ */
+ ~CGlxFetcherDialog();
+
+ public: // from MEikCommandObserver
+ /**
+ * @ref MEikCommandObserver
+ */
+ void ProcessCommandL(TInt aCommandId);
+
+ protected: // Functions CEikDialog
+
+ /**
+ * @ref CEikDialog
+ */
+ TBool OkToExitL(TInt aKeycode);
+
+ /**
+ * From MEikMenuObserver
+ */
+ void DynInitMenuPaneL (TInt aResourceId, CEikMenuPane *aMenuPane) ;
+
+ protected: // From CAknDialog
+ /**
+ * From MEikMenuObserver
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/);
+
+ private:
+ /**
+ * Symbian 2nd phase constructor
+ */
+ void ConstructL();
+
+ /**
+ * C++ default constructor.
+ */
+ CGlxFetcherDialog(
+ CDesCArray& aSelectedFiles, MMGFetchVerifier* aVerifier,
+ TGlxFilterItemType aFilterType, const TDesC& aTitle,
+ TBool aMultiSelectionEnabled);
+
+ private: // from CCoeControl
+ /**
+ * @ref CCoeControl::SizeChanged
+ */
+ void SizeChanged();
+
+ private:
+ /**
+ * Initializes the dialog's controls before the dialog is sized and
+ * layed out.
+ */
+ void PreLayoutDynInitL();
+
+ /**
+ * Initializes the dialog's controls after the dialog has been sized
+ * but before it has been activated.
+ */
+ void PostLayoutDynInitL();
+
+ private: // from MEikDialogPageObserver
+ /**
+ * @ref MEikDialogPageObserver::CreateCustomControlL
+ */
+ SEikControlInfo CreateCustomControlL(TInt aControlType);
+
+ private: // CAknDialog
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+ private:// From MGlxEventObserver
+
+ virtual void HandleDoubleTapEventL(TInt aCommandId);
+
+ public:// to exit the fetcher dialog
+ void CallCancelFetcherL(TInt aCommandId);
+
+ private:
+ CGlxFetcherContainer* iFetcherContainer ; //Container Object
+ CGlxUiUtility* iUiUtility; // UiUtility
+ CAlfEnv* iEnv; // Alf Environment
+
+ // Selected items array
+ // Not Own. Owned by the client
+ CDesCArray& iSelectedFiles;
+
+ MMGFetchVerifier* iVerifier;
+
+ TGlxFilterItemType iFilterType; // GlxFilterType
+
+ /// Ref: the title
+ const TDesC& iTitle;
+
+ TBool iMultiSelectionEnabled;
+
+ // Flag to check for mark started or not
+ TBool iMarkStarted;
+
+ TBool iFetchUri; // This is to check if uri is being fetcher or not
+ };
+
+#endif /*GLXFETCHERDIALOG_H_*/