classicui_plat/common_file_dialogs_api/inc/caknmemoryselectionsettingitemmultidrive.h
changeset 46 0e1e0022bd03
equal deleted inserted replaced
45:667edd0b8678 46:0e1e0022bd03
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  New memory selection setting item to support multiple drives.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef C_AKNMEMORYSELECTIONSETTINGITEMMULTIDRIVE_H
       
    21 #define C_AKNMEMORYSELECTIONSETTINGITEMMULTIDRIVE_H
       
    22 
       
    23 #include <aknsettingitemlist.h>
       
    24 
       
    25 class CAknMemorySelectionSettingItemExtension;
       
    26 class CAknCFDFileSystemEvent;
       
    27 
       
    28 /**
       
    29  *  CAknMemorySelectionSettingItemMultiDrive is a setting item class that
       
    30  *  launches a CAknMemorySelectionDialogMultiDrive. It is used to replace
       
    31  *  old CAknMemorySelectionSettingItem for multiple drive support.
       
    32  *
       
    33  *  @lib CommonDialogs.lib
       
    34  *  @since S60 5.0
       
    35  */
       
    36 class CAknMemorySelectionSettingItemMultiDrive : public CAknSettingItem
       
    37     {
       
    38         
       
    39 public:
       
    40     
       
    41 // Constructors and destructor
       
    42 
       
    43     /**
       
    44      * Constructor
       
    45      *
       
    46      * @since s60 5.0
       
    47      */
       
    48     IMPORT_C CAknMemorySelectionSettingItemMultiDrive(
       
    49         TInt aIdentifier,
       
    50         TDriveNumber& aSelectedDrive
       
    51         );            
       
    52             
       
    53     IMPORT_C virtual ~CAknMemorySelectionSettingItemMultiDrive();
       
    54     
       
    55     /**
       
    56      * The 2nd phase constructor. It is called internally when extension
       
    57      * object is needed. User also could call it after creating a object of
       
    58      * CAknMemorySelectionSettingItemMultiDrive.
       
    59      *
       
    60      * @since s60 5.0
       
    61      */
       
    62     IMPORT_C void CompleteConstructionL();
       
    63 
       
    64 // Functions from base class CAknSettingItem
       
    65 
       
    66     /**
       
    67     * From CAknSettingItem
       
    68     */
       
    69     IMPORT_C virtual void EditItemL( TBool aCalledFromMenu );
       
    70 
       
    71     /**
       
    72     * From CAknSettingItem
       
    73     */
       
    74     IMPORT_C virtual void LoadL();
       
    75 
       
    76     /**
       
    77     * From CAknSettingItem
       
    78     */
       
    79     IMPORT_C virtual void StoreL();
       
    80 
       
    81     /**
       
    82     * From CAknSettingItem
       
    83     */
       
    84     IMPORT_C virtual const TDesC& SettingTextL();
       
    85     
       
    86     /**
       
    87      * Update contents of setting item
       
    88      */
       
    89     void UpdateSettingItemContentL();
       
    90     
       
    91 protected: // Data
       
    92 
       
    93     // Ref: External data
       
    94     TDriveNumber& iExternalData;
       
    95 
       
    96     // Own: Internal data
       
    97     TDriveNumber iInternalData;
       
    98     
       
    99     // Own: Pointer to extension object
       
   100     CAknMemorySelectionSettingItemExtension* iExtension;
       
   101 
       
   102     // Own: The length is enough for memory name.
       
   103     HBufC* iSettingText;
       
   104     
       
   105     };
       
   106 
       
   107 #endif      // C_AKNMEMORYSELECTIONSETTINGITEMMULTIDRIVE_H