--- a/epoc32/include/mw/akncommondialogsdynmem.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/akncommondialogsdynmem.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,757 @@
-akncommondialogsdynmem.h
+/*
+* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Static class to call combined common file dialogs
+*
+*/
+
+
+
+#ifndef AKNCOMMONDIALOGSDYNMEM_H
+#define AKNCOMMONDIALOGSDYNMEM_H
+
+
+#include <CAknCommonDialogsBase.h>
+
+class MAknMemorySelectionObserver;
+class MAknFileSelectionObserver;
+class MAknFileFilter;
+
+
+/**
+ * New version of AknCommonDialogs class suporting dynamic drives such as
+ * remote drive. Use this instead of now deprecated old AknCommonDialogs.
+ *
+ * A simple facade class that consists of static functions that launch UI
+ * components in a sequence. First, memory selection component is launched and
+ * then file/directory selection component. In save and move dialogs directory
+ * selection may not be shown if there are no subdirectories to choose from.
+ * In save dialog, finally filename prompt component is launched.
+ *
+ * All methods have an obligatory resource ID parameter for memory selection
+ * because it contains the paths for both memories (Phone&MMC) (LOCATION
+ * structs). New TMemoryTypes functionality allows defining dynamic memories
+ * to be used.
+ *
+ * If set, an observer is queried just before exiting the dialog.
+ * At this point the application can either reject or accept user's selection.
+ * Every dialog returns a boolean value which tells if user has selected
+ * something or not.
+ *
+ * @lib CommonDialogs.lib
+ * @since S60 3.2
+ */
+NONSHARABLE_CLASS( AknCommonDialogsDynMem )
+ {
+
+public:
+
+ /**
+ * Bit flag definition of the memory types that will be listed by the
+ * dialog. These are used in the new functions to include for example
+ * remote drives. In case new media types are added in the future, the
+ * types can be added to the end of this enumeration.
+ *
+ * Application logic and UI specification is mainly interested in
+ * division between 'phone memory' and 'MMC' with the latest addition of
+ * 'remote drives'. In Symbian OS level this is somewhat more
+ * complicated because these do not map directly to any drive or memory
+ * type. For example try defining the drive letter for remote drive.
+ *
+ * Basically TMediaType could be used but the types may vary in the same
+ * drive and application logic mostly understands only division between
+ * 'phone' and 'MMC' memory - these do not map to TMediaType directly.
+ * This the reasoning for this new enumeration.
+ *
+ * Uses binary flagging.
+ *
+ * Use for example 'EMemoryTypePhone|EMemoryTypeMMC|EMemoryTypeRemote' to
+ * have phone memory, MMC and remote drives included.
+ *
+ * Notice: 0 value means no media included. Only
+ * EMemoryTypePhone|EMemoryTypeMMC for legacy applications and
+ * EMemoryTypePhone|EMemoryTypeMMC|EMemoryTypeRemote for new remote
+ * drives-aware applications are supported for the time being.
+ * Use EMemoryTypePhone|EMemoryTypeInternalMassStorage|EMemoryMMCExternal
+ * |EMemoryTypeRemote for multiple drive support. And EMemoryTypeMMC will
+ * be deprecated.
+ */
+ enum TMemoryTypes
+ {
+ /**
+ * EMemoryTypePhone
+ * Device memory drive inside phone
+ *
+ * There might be multiple device memory drives because of multiple
+ * partitions.
+ */
+ EMemoryTypePhone = 0x00000001,
+
+ /**
+ * @Deprecated It will be mapped to
+ * EMemoryTypeInternalMassStorage|EMemoryMMCExternal
+ * internally.
+ *
+ * EMemoryTypeMMC
+ * Standard external removable memory card drive
+ *
+ * There might be multiple removable MMC drives because of
+ * multiple partitions.
+ */
+ EMemoryTypeMMC = 0x00000002,
+
+ /**
+ * EMemoryTypeRemote
+ * Remote drive
+ *
+ * There might be multiple remote drives.
+ */
+ EMemoryTypeRemote = 0x00000004,
+
+ /**
+ * EMemoryTypeInternalMassStorage
+ * Internal mass storage, like internal MMC, hard disk, flash, etc.
+ *
+ * There might be multiple internal disk drives
+ */
+ EMemoryTypeInternalMassStorage = 0x00000008,
+
+ /**
+ * EMemoryTypeMMCExternal
+ * Removable external memory card
+ *
+ */
+ EMemoryTypeMMCExternal = 0x00000010
+
+ };
+
+public:
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ TInt aMemorySelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFilter Filter is asked if a directory entry can be shown in
+ * list. Ownership is not transferred.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ TInt aMemorySelectionResourceId,
+ MAknFileFilter* aFilter,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionTitle A custom title for file selection dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ TInt aMemorySelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches move dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunMoveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches move dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFilter Filter is asked if a directory entry can be shown in
+ * list. Ownership is not transferred.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunMoveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ MAknFileFilter* aFilter,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches move dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionTitle A custom title for directory selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse
+ */
+ IMPORT_C static TBool RunMoveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches move dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse
+ */
+ IMPORT_C static TBool RunMoveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog which does not run folder
+ * selection dialog at all. Instead the resulting path will be
+ * constructed from the root and default folder read from resources and
+ * from the file name given by the user.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFilter Filter is asked if a directory entry can be shown in
+ * list. Ownership is not transferred.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ MAknFileFilter* aFilter,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionTitle Custom title for file selection dialog.
+ * @param aFileNamePromptTitle Custom title for filename prompt dialog.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ const TDesC& aFileNamePromptTitle,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog.
+ * @param aFileNamePromptTitle Custom title for filename prompt dialog.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ const TDesC& aFileNamePromptTitle,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog. No file selection dialog
+ * for directory selection is displayed.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog. The folders in which the file will be saved should be
+ * given in this resource.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgNoDirectorySelectionLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog. No file selection dialog
+ * for directory selection is displayed.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog. The folders in which the file will be saved should be
+ * given in this resource.
+ * @param aFileNamePromptTitle Custom title for filename prompt dialog.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ */
+ IMPORT_C static TBool RunSaveDlgNoDirectorySelectionLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ TInt aMemorySelectionResourceId,
+ const TDesC& aFileNamePromptTitle,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches copy dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunCopyDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+
+ /**
+ * A static method that launches copy dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFilter Filter is asked if a directory entry can be shown in
+ * list. Ownership is not transferred.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse.
+ */
+ IMPORT_C static TBool RunCopyDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ MAknFileFilter* aFilter,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches copy dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDirectory Full path of the folder that user
+ * selects is stored to this descriptor.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse
+ */
+ IMPORT_C static TBool RunCopyDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDirectory,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFilter Filter is asked if a directory entry can be shown in
+ * list. Ownership is not transferred.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ MAknFileFilter* aFilter,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionTitle A custom title for file selection dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user
+ * selects is stored to this descriptor.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog.
+ * @param aObserver An observer which is asked, if set, to verify user's
+ * selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse.
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches file selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFileName Full path and filename of the file that user selects is
+ * stored to this descriptor.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection dialog.
+ * @param aFileSelectionTitle Custom title for file selection dialog.
+ * @param aFilter Filter asked if a directory entry can be shown in list.
+ * @param aObserver An observer which is asked to verify user's selection.
+ * @return Returns ETrue if user selects a file, otherwise EFalse
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFileName,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ MAknFileFilter* aFilter = NULL,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches save dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aDefaultFileName Full path + the filename that user enters
+ * is stored to this descriptor. The descriptor may contain text
+ * that is used as default filename, for example "Attachment".
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection dialog.
+ * @param aFileSelectionTitle Custom title for file selection dialog.
+ * @param aFilter Filter asked if a directory entry can be shown in list.
+ * @param aObserver An observer which is asked, if set, to verify the
+ * filename that user types.
+ * @return Returns ETrue if user accepts or enters a filename, otherwise
+ * EFalse.
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunSaveDlgLD(
+ TInt aIncludedMedias,
+ TDes& aDefaultFileName,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ MAknFileFilter* aFilter = NULL,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+ /**
+ * A static method that launches folder selection dialog.
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes.
+ * @param aFolder Full path of the folder that user selects is stored to
+ * this descriptor.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aFileSelectionResourceId A resource id for file selection dialog.
+ * @param aFileSelectionTitle Custom title for file selection dialog.
+ * @param aFilter Filter is asked if a directory entry can be shown in
+ * list.
+ * @param aObserver An observer which is asked to verify user's selection.
+ * @return Returns ETrue if user selects a folder, otherwise EFalse
+ * @since 3.2
+ */
+ IMPORT_C static TBool RunFolderSelectDlgLD(
+ TInt aIncludedMedias,
+ TDes& aFolder,
+ const TDesC& aStartFolder,
+ TInt aMemorySelectionResourceId,
+ TInt aFileSelectionResourceId,
+ const TDesC& aFileSelectionTitle,
+ MAknFileFilter* aFilter = NULL,
+ MAknFileSelectionObserver* aObserver = NULL );
+
+private:
+
+ /**
+ * A static method that launches UI components in a sequence.
+ * @param aType Defines what type of dialog is shown.
+ * @param aFileName A reference to a descriptor. Usage depends on the
+ * dialog type.
+ * @param aMemorySelectionResourceId A resource id for memory selection
+ * dialog.
+ * @param aNoFileSelectionDialog, if ETrue and aType is ECFDDialogType-
+ * Save, no file selection dialog is launched, instead the file
+ * will be saved in the default folder given in the resource
+ * structure referred by aMemorySelectionResourceId.
+ * @param aFileSelectionResourceId A resource id for file selection
+ * dialog.
+ * @param aFileNamePromptResourceId A resource id for filename prompt
+ * dialog.
+ * @param aFileSelectionTitle Custom title for file selection.
+ * @param aFileNamePromptTitle Custom title for filename prompt dialog.
+ * @param aFileFilter Filter is asked if a directory entry can be shown
+ * in list.
+ * @param aMemorySelectionObserver An observer for memory selection
+ * dialog.
+ * @param aFileSelectionObserver An observer for file selection dialog.
+ * @param aFileNamePromptObserver An observer for filename prompt
+ * dialog.
+ * @param aStartFolder User defined folder to start browsing in file
+ * selection
+ * @param aIncludedMedias defines which medias are included in the
+ * dialog. See TMemoryTypes
+ * @return Returns a boolean value that depends on the case.
+ */
+ static TBool RunL(
+ TCommonDialogType aType,
+ TDes& aFileName,
+ TInt aMemorySelectionResourceId,
+ TBool aNoFileSelectionDialog,
+ TInt aFileSelectionResourceId,
+ TInt aFileNamePromptResourceId,
+ const TDesC& aFileSelectionTitle,
+ const TDesC& aFileNamePromptTitle,
+ MAknFileFilter* aFileFilter,
+ MAknMemorySelectionObserver* aMemorySelectionObserver,
+ MAknFileSelectionObserver* aFileSelectionObserver,
+ MAknFileSelectionObserver* aFileNamePromptObserver,
+ const TDesC& aStartFolder,
+ TInt aIncludedMedias );
+
+ };
+
+#endif // AKNCOMMONDIALOGSDYNMEM_H