filemanager/App/inc/CFileManagerViewBase.h
branchRCL_3
changeset 21 65326cf895ed
child 22 f5c50b8af68c
equal deleted inserted replaced
20:491b3ed49290 21:65326cf895ed
       
     1 /*
       
     2 * Copyright (c) 2002-2008 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:  Base class for all file manager views
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CFILEMANAGERVIEWBASE_H
       
    21 #define CFILEMANAGERVIEWBASE_H
       
    22 
       
    23 
       
    24 //  INCLUDES
       
    25 #include <aknview.h>
       
    26 #include <AknServerApp.h>
       
    27 #include <AknWaitDialog.h> 
       
    28 #include <apparc.h>
       
    29 #include <MFileManagerProcessObserver.h>
       
    30 #include <TFileManagerDriveInfo.h>
       
    31 
       
    32 
       
    33 // FORWARD DECLARATIONS
       
    34 class CFileManagerContainerBase;
       
    35 class CFileManagerEngine;
       
    36 class CFileManagerActiveExecute;
       
    37 class CEikMenuBar;
       
    38 class CFileManagerActiveDelete;
       
    39 class CFileManagerItemProperties;
       
    40 class CAknQueryDialog;
       
    41 class CAknWaitNoteWrapper;
       
    42 class CFileManagerFeatureManager;
       
    43 class MAknServerAppExitObserver;
       
    44 
       
    45 
       
    46 // Defines maximum media password length in Unicode
       
    47 const TUint KFmgrMaxMediaPassword = KMaxMediaPassword / 2; // Because of Unicode
       
    48 // CLASS DECLARATION
       
    49 /**
       
    50  * Base class for all views in File Manager applicaiton
       
    51  */
       
    52 class CFileManagerViewBase : public CAknView,
       
    53                              public MProgressDialogCallback,
       
    54                              public MFileManagerProcessObserver,
       
    55                              public MAknServerAppExitObserver
       
    56     {
       
    57     protected:
       
    58         /**
       
    59          * Return value enumeration for CmdOpenL to indicate what
       
    60          * kind of item was opened or if there was an error during
       
    61          * opening.
       
    62          */
       
    63         enum TFileManagerOpenResult 
       
    64             { 
       
    65             EFolderOpened, 
       
    66             EFileOpened, 
       
    67             EOpenError 
       
    68             };
       
    69     public:  // Constructors and destructor
       
    70         /**
       
    71          * Two-phased constructor.
       
    72          */
       
    73         static CFileManagerViewBase* NewLC();
       
    74         
       
    75         /**
       
    76          * Timer calls this in order to update the progress bar.
       
    77          * @param aPtr pointer to object where is function to be call
       
    78          * when timer expires.
       
    79          * @return positive number if timer needs to be activated again
       
    80          *         0 if timer is not needed any more.
       
    81          */
       
    82         static TInt UpdateProgressBar( TAny* aPtr );
       
    83 
       
    84         /**
       
    85          * Timer calls this in order to start refresh progress dialog.
       
    86          * @param aPtr pointer to object where is function to be call
       
    87          * when timer expires.
       
    88          * @return positive number if timer needs to be activated again
       
    89          *         0 if timer is not needed any more.
       
    90          */
       
    91         static TInt RefreshProgressDelayedStart( TAny* aPtr );
       
    92 
       
    93         /** 
       
    94         * Stores current index 
       
    95         * @return ETrue if storing successfull
       
    96         *         EFalse if storing not succesfull
       
    97         */
       
    98         TBool StoreIndex();
       
    99 
       
   100         /**
       
   101          * Nulls everything which is related to progress bar
       
   102          */
       
   103         void ClearProgressBarL();
       
   104 
       
   105         /**
       
   106          * @return Current process in app
       
   107          */
       
   108         MFileManagerProcessObserver::TFileManagerProcess CurrentProcess();
       
   109         
       
   110         /**
       
   111          * Destructor.
       
   112          */
       
   113         virtual ~CFileManagerViewBase();
       
   114 
       
   115     public: // From MProgressDialogCallback
       
   116         void DialogDismissedL( TInt aButtonId );
       
   117 
       
   118     public://MAknServerAppExitObserver
       
   119         /**
       
   120          * @see MAknServerAppExitObserver
       
   121          */
       
   122         void HandleServerAppExit( TInt aReason );
       
   123         
       
   124     public: // From MFileManagerProcessObserver
       
   125         /**
       
   126          * @see MFileManagerProcessObserver
       
   127          */
       
   128         void ProcessFinishedL( TInt aError, const TDesC& aName );
       
   129 
       
   130         /**
       
   131          * @see MFileManagerProcessObserver
       
   132          */
       
   133         void ProcessAdvanceL( TInt aValue );
       
   134 
       
   135         /**
       
   136          * @see MFileManagerProcessObserver
       
   137          */
       
   138         void ProcessStartedL(
       
   139             MFileManagerProcessObserver::TFileManagerProcess aProcess,
       
   140             TInt aFinalValue );
       
   141 
       
   142         /**
       
   143          * @see MFileManagerProcessObserver
       
   144          */
       
   145         TBool ProcessQueryOverWriteL( 
       
   146             const TDesC& aOldName, 
       
   147             TDes& aNewName, 
       
   148             TFileManagerProcess aProcess );
       
   149 
       
   150         /**
       
   151          * @see MFileManagerProcessObserver
       
   152          */
       
   153         TBool ProcessQueryRenameL( 
       
   154             const TDesC& aOldName, 
       
   155             TDes& aNewName, 
       
   156             TFileManagerProcess aProcess );
       
   157 
       
   158         /**
       
   159          * @see MFileManagerProcessObserver
       
   160          */
       
   161         void RefreshStartedL();
       
   162 
       
   163         /**
       
   164          * @see MFileManagerProcessObserver
       
   165          */
       
   166         void RefreshStoppedL();
       
   167 
       
   168         /**
       
   169          * @see MFileManagerProcessObserver
       
   170          */
       
   171         void ShowWaitDialogL( MAknBackgroundProcess& aProcess);
       
   172 
       
   173         /**
       
   174          * @see MFileManagerProcessObserver
       
   175          */
       
   176         void Error( TInt aError );
       
   177 
       
   178         /**
       
   179          * @see MFileManagerProcessObserver
       
   180          */
       
   181         TInt NotifyL( TFileManagerNotify aType, TInt aData, const TDesC& aName );
       
   182 
       
   183     public:
       
   184 
       
   185         /* 
       
   186         * When view needs refresh, this is called.
       
   187         */
       
   188         virtual void DirectoryChangedL() = 0;
       
   189 
       
   190         /*
       
   191         * Checks if refresh is in progress
       
   192         */
       
   193         TBool IsRefreshInProgress();
       
   194 
       
   195         /**
       
   196          * Handles errors caused by file or folder deletion outside 
       
   197          * file manager while file manager is in foreground.
       
   198          * @param aError Error code.
       
   199          * @return ETrue if error was handled. Otherwise EFalse.
       
   200          */
       
   201         TBool HandleFileNotFoundL( TInt aError );
       
   202 
       
   203         /**
       
   204         * Handles screen layout changes
       
   205         */
       
   206         virtual void ScreenDeviceChanged();
       
   207 
       
   208 #ifdef RD_FILE_MANAGER_BACKUP
       
   209         void StartSchBackupL();
       
   210 
       
   211         void SchBackupFinishedL();
       
   212 #endif // RD_FILE_MANAGER_BACKUP
       
   213 
       
   214         /**
       
   215          * Updates cba
       
   216          */
       
   217         virtual void UpdateCbaL();
       
   218 
       
   219         /**
       
   220          * Notifies foreground status change
       
   221          */
       
   222         virtual void NotifyForegroundStatusChange( TBool aForeground );
       
   223 
       
   224     protected: // From CAknView
       
   225         /**
       
   226          * @see CAknView
       
   227          */
       
   228         void DoActivateL(
       
   229             const TVwsViewId& aPrevViewId,
       
   230             TUid aCustomMessageId,
       
   231             const TDesC8& aCustomMessage);
       
   232 
       
   233         /**
       
   234          * @see CAknView
       
   235          */
       
   236         void DoDeactivate();
       
   237 
       
   238         /**
       
   239          * @see CAknView
       
   240          */
       
   241         void HandleCommandL( TInt aCommand );
       
   242 
       
   243         /**
       
   244          * @see CAknView
       
   245          */
       
   246         void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
       
   247 
       
   248         /**
       
   249 		 * @see CAknView
       
   250 		 */
       
   251         void ProcessCommandL( TInt aCommand );
       
   252 
       
   253     protected: // New methods
       
   254 
       
   255         /**
       
   256          * Returns a container class that is derived from 
       
   257          * CFileManagerContainerBase. This is provided for derived
       
   258          * classes to create their own type of containers.
       
   259          * @return Newly created container.
       
   260          */
       
   261         virtual CFileManagerContainerBase* CreateContainerL() = 0;
       
   262 
       
   263         /**
       
   264          * Executes open command. Opens currently selected item in
       
   265          * list.
       
   266          * @return Code that tells if opened item was folder or
       
   267          *         file. EOpenError is returned if there was an
       
   268          *         error during open.
       
   269          */
       
   270         TFileManagerOpenResult CmdOpenL();
       
   271 
       
   272         /**
       
   273          * Executes delete command to delete current item
       
   274          * or if there are marked items, all of them are deleted.
       
   275          */
       
   276         void CmdDeleteL();
       
   277 
       
   278         /**
       
   279          * Marks all markable items in list.
       
   280          */
       
   281         void CmdMarkAllL();
       
   282 
       
   283         /**
       
   284          * Unmarks all marked items in list.
       
   285          */
       
   286         void CmdUnmarkAllL();
       
   287 
       
   288         /**
       
   289          * Changes mark status of currently focused item.
       
   290          */
       
   291         void CmdToggleMarkL();
       
   292 
       
   293         /**
       
   294          * Creates new folder to currently active directory.
       
   295          */
       
   296         void CmdNewFolderL();
       
   297 
       
   298         /**
       
   299          * Renames currently active item.
       
   300          */
       
   301         void CmdRenameL();
       
   302 
       
   303         /**
       
   304          * Moves current item to folder that is queried using
       
   305          * Common File Dialogs. If there are marked items, all of
       
   306          * them are moved.
       
   307          */
       
   308         void CmdMoveToFolderL();
       
   309 
       
   310         /**
       
   311          * Copies current item to folder that is queried using
       
   312          * Common File Dialogs. If there are marked items, all of
       
   313          * them are copied.
       
   314          */
       
   315         void CmdCopyToFolderL();
       
   316 
       
   317         /**
       
   318          * Shows info popup dialog that contains information
       
   319          * about currently active item.
       
   320          */
       
   321         void CmdViewInfoL();
       
   322 
       
   323         /**
       
   324          * Shows memory status popup dialog that contains
       
   325          * information about current memory status of the
       
   326          * active memory.
       
   327          */
       
   328         void CmdMemoryStateL();
       
   329 
       
   330         /**
       
   331          * Executes find command.
       
   332          */
       
   333         void CmdFindL();
       
   334 
       
   335         /**
       
   336          * Receives file via infrared to currently active
       
   337          * folder.
       
   338          */
       
   339         void CmdReceiveViaIRL();
       
   340 
       
   341         /**
       
   342          * Runs move or copy operation. Parameter aToFolder is the destination
       
   343          * of operation.
       
   344          * @param aOperation Operation to execute.
       
   345          * @param aToFolder Destination folder of the operation.
       
   346          */
       
   347         void RunOperationL( 
       
   348             MFileManagerProcessObserver::TFileManagerProcess aOperation, 
       
   349             const TDesC& aToFolder );
       
   350 
       
   351         /**
       
   352          * Gets reference to drive info.
       
   353          */
       
   354         TFileManagerDriveInfo& DriveInfo() const;
       
   355 
       
   356         /**
       
   357          * Refreshes drive info.
       
   358          */
       
   359         void RefreshDriveInfoL();
       
   360 
       
   361         void StartProcessL(
       
   362             MFileManagerProcessObserver::TFileManagerProcess aProcess,
       
   363             TInt aValue = KErrNotFound );
       
   364 
       
   365         void CmdUnlockDriveL();
       
   366 
       
   367         void CmdFormatDriveL();
       
   368 
       
   369 //        void CmdRenameDriveL();
       
   370 //
       
   371 //        void CmdSetDrivePasswordL();
       
   372 //
       
   373 //        void CmdChangeDrivePasswordL();
       
   374 //
       
   375 //        void CmdRemoveDrivePasswordL();
       
   376 //
       
   377 //        void CmdMemoryCardDetailsL();
       
   378 
       
   379         TInt UpdatePassword(
       
   380             TInt aDrive, const TDesC& aOldPwd, const TDesC& aPwd );
       
   381 
       
   382         TInt UnlockRemovePasswordL( TInt aDrive, TBool aRemove );
       
   383 
       
   384         /**
       
   385          * Sets remote drive connection state.
       
   386          *
       
   387          * @param aState ETrue to connect, EFalse to disconnect.
       
   388          */
       
   389         void SetRemoteDriveConnectionStateL( TBool aState );
       
   390 
       
   391         /**
       
   392          * Opens remote drive setting view.
       
   393          *
       
   394          * @param aDriveName Name of the remote drive.
       
   395          */
       
   396         void OpenRemoteDriveSettingsL(
       
   397             const TDesC& aDriveName = KNullDesC );
       
   398 
       
   399         /**
       
   400          * Checks if item is on disconnected remote drive.
       
   401          *
       
   402          * @param aProp Item properties.
       
   403          * @return ETrue if item is on disconnect drive. Otherwise EFalse.
       
   404          */
       
   405         TBool IsDisconnectedRemoteDrive(
       
   406             CFileManagerItemProperties& aProp );
       
   407 
       
   408         /**
       
   409          * Performs remote drive menu filtering.
       
   410          *
       
   411          * @param aMenuPane Menu instance to be filtered.
       
   412          */
       
   413         void RemoteDriveCommonFilteringL( CEikMenuPane& aMenuPane );
       
   414 
       
   415         /**
       
   416          * Renames current drive.
       
   417          *
       
   418          * @param aForceDefaultName ETrue to offer the default name by force.
       
   419          */
       
   420         void RenameDriveL( TBool aForceDefaultName );
       
   421 
       
   422         /**
       
   423          * Handles refresh directory command.
       
   424          */
       
   425         void CmdRefreshDirectoryL();
       
   426 
       
   427         /**
       
   428          * Shows eject query.
       
   429          */
       
   430         void ShowEjectQueryL();
       
   431 
       
   432         /**
       
   433          * Launches progress dialog with given final and initial values.
       
   434          * aOperation parameter is used to determine what resource
       
   435          * should be used when displaying dialog.
       
   436          * @param aFinalValue Final value of the created progress dialog.
       
   437          * @param aInitialValue Initial value of the created progress dialog.
       
   438          * @param aOperation Operation that this progress dialog represents
       
   439          * @param aImmediatelyVisible Dialog is immediately visible if ETrue
       
   440          */
       
   441         void LaunchProgressDialogL(
       
   442               TInt64 aFinalValue,
       
   443               TInt64 aInitialValue,
       
   444               MFileManagerProcessObserver::TFileManagerProcess aOperation,
       
   445               TBool aImmediatelyVisible = EFalse );
       
   446 
       
   447         TBool AskPathL( TDes& aPath, TInt aTextId );
       
   448 
       
   449         void SetCbaMskTextL( const TInt aTextId );
       
   450 
       
   451         void UpdateCommonCbaL();
       
   452 
       
   453         TBool IsDriveAvailable( const TDesC& aPath ) const;
       
   454 
       
   455         TBool IsDriveAvailable( const TInt aDrive ) const;
       
   456 
       
   457         TBool DriveReadOnlyMmcL( const TInt aDrive ) const;
       
   458 
       
   459         TBool DriveReadOnlyMmcL( const TDesC& aFullPath ) const;
       
   460         
       
   461         TBool CheckPhoneState() const;
       
   462 
       
   463         TBool StopProgressDialogAndStoreValues();
       
   464 
       
   465         void CmdSortL( TInt aCommand );
       
   466 
       
   467         CFileManagerFeatureManager& FeatureManager() const;
       
   468 
       
   469         void ShowDiskSpaceErrorL( const TDesC& aFolder );
       
   470 
       
   471         /**
       
   472          * Sets given media password string to empty and zero fills it.
       
   473          *
       
   474          * @param aPwd Media password to clean up.
       
   475          */
       
   476         static void EmptyPwd( TDes& aPwd );
       
   477 
       
   478         /**
       
   479          * Converts chars to media password.
       
   480          *
       
   481          * @param aWord Password to convert in Unicode.
       
   482          * @param aConverted Converted password.
       
   483          */
       
   484         static void ConvertCharsToPwd( const TDesC& aWord, TDes8& aConverted );
       
   485 
       
   486         /**
       
   487          * Gets drive information at current position.
       
   488          *
       
   489          * @param aInfo Stores drive information.
       
   490          * @return Drive identifier or KErrNotFound.
       
   491          */
       
   492         TInt DriveInfoAtCurrentPosL( TFileManagerDriveInfo& aInfo );
       
   493 
       
   494     protected:
       
   495 
       
   496         /**
       
   497          * C++ default constructor.
       
   498          */
       
   499         CFileManagerViewBase();
       
   500 
       
   501         /**
       
   502          * By default Symbian 2nd phase constructor is private.
       
   503          */
       
   504         virtual void ConstructL( TInt aResId );
       
   505 
       
   506     private: // New methods
       
   507         /**
       
   508          * Constructs an array that contains the indices
       
   509          * of marked items.
       
   510          * @return Array of marked items.
       
   511          */
       
   512         CArrayFixFlat<TInt>* MarkedArrayLC();
       
   513 
       
   514         /**
       
   515          * Gets paths of marked sendable files
       
   516          * @param Reference to get size of the sendable files
       
   517          * @return Array of sendable file items
       
   518          */
       
   519         CArrayFixFlat<TInt>* GetSendFilesLC( TInt& aSize );
       
   520 
       
   521         /**
       
   522          * Filters Edit menu in aMenuPane.
       
   523          */
       
   524         void MarkMenuFilteringL( CEikMenuPane& aMenuPane );
       
   525 
       
   526         /**
       
   527          * Creates a send ui query
       
   528          */
       
   529         void SendUiQueryL();
       
   530 
       
   531         /**
       
   532          * Timer calls this for updating the progress bar.
       
   533          */
       
   534         void DoUpdateProgressBar();
       
   535 
       
   536         /**
       
   537          * Returns true if all or any focused item or marked items are protected.
       
   538          *
       
   539          * The 'all' or 'any' mode of operation is controlled by the aMode parameter.
       
   540          *
       
   541          * @param  aMode    controls the 'all' or 'any' mode.  ETrue = 'all'.
       
   542          * @return ETrue    all chosen items are protected
       
   543          *         EFalse   at least one of the items are not protected
       
   544          */
       
   545         TBool AreChosenFilesProtectedL( TBool aMode );
       
   546 
       
   547         /**
       
   548          * Creates and displayes the Context sensitive menu
       
   549          */
       
   550         void ShowContextSensitiveMenuL();
       
   551 
       
   552         /**
       
   553          * Adds SendUi option to option menu
       
   554          */
       
   555         void AddSendOptionL(
       
   556             CEikMenuPane& aMenuPane,
       
   557             const TInt aCommandIdAfter );
       
   558 
       
   559         /**
       
   560          * Check is delete condition ok for given item
       
   561          */
       
   562         TBool DeleteStatusNotOkL( 
       
   563             CFileManagerItemProperties& aProp, 
       
   564             TInt aSelectionCount ) const;
       
   565 
       
   566         /**
       
   567          * Deletes focused or marked items from current listbox
       
   568          */
       
   569         void DeleteItemsL( TInt aIndex );
       
   570         
       
   571         /**
       
   572          * Checks if given index has InfoUrl.
       
   573          * @param aIndex given index
       
   574          * @return ETrue if given index has InfoUrl,
       
   575          *         EFalse otherwise.
       
   576          */
       
   577         TBool HasInfoUrlL( TInt aIndex );
       
   578 
       
   579         /**
       
   580          * Opens InfoUrl of given index in browser.
       
   581          * @param aIndex given index
       
   582          */
       
   583         void OpenInfoUrlL( TInt aIndex );
       
   584 
       
   585         /**
       
   586          * Checks file rights and shows note if expired.
       
   587          * @param aFullPath File to check
       
   588          * @return ETrue if rights are valid
       
   589          *         EFalse if rights are expired
       
   590          */
       
   591         TBool CheckFileRightsAndInformIfExpiredL( const TDesC& aFullPath );
       
   592 
       
   593         /**
       
   594          * Filters memory store menu in aMenuPane.
       
   595          */
       
   596         void MemoryStoreMenuFilteringL( CEikMenuPane& aMenuPane );
       
   597 
       
   598         /**
       
   599          * Filters organise menu in aMenuPane.
       
   600          */        
       
   601         void OrganiseMenuFilteringL( CEikMenuPane& aMenuPane );
       
   602 
       
   603         /**
       
   604          * Filters details menu in aMenuPane.
       
   605          */
       
   606         void DetailsMenuFilteringL( CEikMenuPane& aMenuPane );
       
   607 //        
       
   608 //        /**
       
   609 //         * Filters memory card menu in aMenuPane.
       
   610 //         */ 
       
   611 //        void MemoryCardMenuFilteringL( CEikMenuPane& aMenuPane );
       
   612 //
       
   613 //        /**
       
   614 //         * Filters memory card password menu in aMenuPane.
       
   615 //         */
       
   616 //        void MemoryCardPasswordMenuFilteringL( CEikMenuPane& aMenuPane );
       
   617 
       
   618         /**
       
   619          * Filters context sensitive menu in aMenuPane.
       
   620          */
       
   621         void ContextSensitiveMenuFilteringL( CEikMenuPane& aMenuPane );
       
   622 
       
   623         /**
       
   624          * Launches progress bar
       
   625          */
       
   626         void LaunchProgressBarL(
       
   627             TInt aDialogId,
       
   628             TInt aTextId,
       
   629             TInt64 aFinalValue,
       
   630             TInt64 aInitialValue,
       
   631             TBool aPeriodic,
       
   632             TBool aImmediatelyVisible );
       
   633 
       
   634 		/**
       
   635 		 * Starts refresh progress dialog
       
   636 		 */
       
   637         void RefreshProgressDelayedStartL();
       
   638 
       
   639         void CheckPostponedDirectoryRefresh();
       
   640 
       
   641         void DenyDirectoryRefresh( TBool aDeny );
       
   642 
       
   643         void SortMenuFilteringL( CEikMenuPane& aMenuPane );
       
   644 
       
   645         void DoProcessFinishedL( TInt aError, const TDesC& aName );
       
   646 
       
   647         void DoLaunchProgressDialogAsync();
       
   648 
       
   649         static TInt LaunchProgressDialogAsync( TAny* aPtr );
       
   650 
       
   651         TInt FilesCountInSearchField();
       
   652 
       
   653     protected:    // Data
       
   654         /// Own: Container that this view handles.
       
   655         CFileManagerContainerBase*  iContainer;
       
   656         /// Ref: Reference to File Manager engine.
       
   657         CFileManagerEngine&         iEngine;
       
   658         /// Own: Progress dialog for iActiveExec
       
   659         CAknProgressDialog*         iProgressDialog;
       
   660         /// Own: Progress dialog for iActiveExec
       
   661         CAknProgressDialog*         iProgressDialogRefresh;
       
   662         /// Ref: Progress info of iProgressDialog
       
   663         CEikProgressInfo*           iProgressInfo;
       
   664         /// Own: Active object that executes copy and move operations
       
   665         CFileManagerActiveExecute*  iActiveExec;
       
   666         /// Own: Array of marked items in listbox
       
   667         CArrayFixFlat<TInt>*        iMarkedArray;
       
   668         /// Currently active process
       
   669         MFileManagerProcessObserver::TFileManagerProcess iActiveProcess;
       
   670         /// Own: Popup menu for showing context sensitive menu
       
   671         CEikMenuBar*                iPopupMenu;
       
   672         /// Own: This is used to update the progress bar
       
   673         CPeriodic*                  iPeriodic;
       
   674         // This is for progress bar 
       
   675         TInt64                        iTotalTransferredBytes;
       
   676         // This is for progress bar(in order to support over 2Gb files)
       
   677         // Own: for wait note wrapper, delete items
       
   678         CFileManagerActiveDelete*   iActiveDelete;
       
   679         // current listbox index
       
   680         TInt                        iIndex;
       
   681         // Own: Timer object to start refresh progress dialog
       
   682         CPeriodic*                  iRefreshProgressDelayedStart;
       
   683         // Own: Indicates that scheduled backup is pending
       
   684         TBool iSchBackupPending;
       
   685         // Own: Eject query dialog
       
   686         CAknQueryDialog* iEjectQueryDialog;
       
   687         // Own: Indicates if eject has been done
       
   688         TBool iEjectDone;
       
   689         // Own: Stores current progress value
       
   690         TInt64 iProgressCurrentValue;
       
   691         // Own: Stores final progress value
       
   692         TInt64 iProgressFinalValue;
       
   693         // Own: Denies directory refresh during query until selected operation gets started
       
   694         TBool iDirectoryRefreshDenied;
       
   695         // Own: Indicates postponed directory refresh
       
   696         TBool iDirectoryRefreshPostponed;
       
   697         // Own: For wait note stepping
       
   698         CAknWaitNoteWrapper* iWaitNoteWrapper;
       
   699         // Own: Indicates if there's a SendUi popup query dialog
       
   700         TBool iSendUiPopupOpened;
       
   701 
       
   702     };
       
   703 
       
   704 #endif      // CFILEMANAGERVIEWBASE_H   
       
   705             
       
   706 // End of File