messagingappbase/mcesettings/inc/MceSettingsGeneralSettingsDialog.h
author hgs
Thu, 04 Nov 2010 02:02:03 +0530
changeset 81 2043ea884c04
parent 79 2981cb3aa489
permissions -rw-r--r--
201044_03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
79
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  
hgs
parents:
diff changeset
    15
*     Message centre's general settings dialog.
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#ifndef MCESETTINGSGENERALSETTINGSDIALOG_H
hgs
parents:
diff changeset
    22
#define MCESETTINGSGENERALSETTINGSDIALOG_H
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
//  INCLUDES
hgs
parents:
diff changeset
    25
#include <ConeResLoader.h>
hgs
parents:
diff changeset
    26
#include <StringLoader.h>   // StringLoader
hgs
parents:
diff changeset
    27
#include "MceSettingsTitlePaneHandlerDialog.h"
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    31
class CMuiuSettingsArray;
hgs
parents:
diff changeset
    32
class MMceSettingsAccountManager;
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// CLASS DECLARATION
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
/**
hgs
parents:
diff changeset
    38
*  Message centre's general settings dialog.
hgs
parents:
diff changeset
    39
*/
hgs
parents:
diff changeset
    40
class CMceGeneralSettingsDialog :
hgs
parents:
diff changeset
    41
    public CMceSettingsTitlePaneHandlerDialog
hgs
parents:
diff changeset
    42
    {
hgs
parents:
diff changeset
    43
    public:  // Constructors and destructor
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
        /**
hgs
parents:
diff changeset
    46
        * Constructor.
hgs
parents:
diff changeset
    47
        */        
hgs
parents:
diff changeset
    48
        CMceGeneralSettingsDialog( 
hgs
parents:
diff changeset
    49
            CMsvSession* aSession, 
hgs
parents:
diff changeset
    50
            MMsvSessionObserver& aObserver,
hgs
parents:
diff changeset
    51
            MMceSettingsAccountManager* aManager
hgs
parents:
diff changeset
    52
         );       
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
        /**
hgs
parents:
diff changeset
    55
        * Constructor.
hgs
parents:
diff changeset
    56
        */
hgs
parents:
diff changeset
    57
        void ConstructL(TInt aResource );
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
        /**
hgs
parents:
diff changeset
    60
        * Destructor.
hgs
parents:
diff changeset
    61
        */
hgs
parents:
diff changeset
    62
        virtual ~CMceGeneralSettingsDialog();
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
        /**
hgs
parents:
diff changeset
    65
        * 
hgs
parents:
diff changeset
    66
        */
hgs
parents:
diff changeset
    67
        IMPORT_C static TInt CreateAndExecuteL(
hgs
parents:
diff changeset
    68
            CMsvSession* aSession, MMsvSessionObserver& aObserver );
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
        /**
hgs
parents:
diff changeset
    71
        * From CAknDialog
hgs
parents:
diff changeset
    72
        */
hgs
parents:
diff changeset
    73
        void ProcessCommandL( TInt aCommandId );
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
        /**
hgs
parents:
diff changeset
    76
        * From CoeControl        
hgs
parents:
diff changeset
    77
        */
hgs
parents:
diff changeset
    78
        void GetHelpContext( TCoeHelpContext& aContext ) const;
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
        /**
hgs
parents:
diff changeset
    81
        * From MEikMenuObserver
hgs
parents:
diff changeset
    82
        */
hgs
parents:
diff changeset
    83
        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
        /**
hgs
parents:
diff changeset
    86
        * Starts copying/moving message store functionality
hgs
parents:
diff changeset
    87
        */
hgs
parents:
diff changeset
    88
        void MoveMessageStoreL( TInt currentDrive, TInt driveNumber, TBool aDeleteCopiedStore );
hgs
parents:
diff changeset
    89
        
hgs
parents:
diff changeset
    90
        /**
hgs
parents:
diff changeset
    91
        * Set error when error happens during msg store copying/moving process
hgs
parents:
diff changeset
    92
        */
hgs
parents:
diff changeset
    93
        void SetTransferError( TInt aError );
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
        /**
hgs
parents:
diff changeset
    96
        * Checks, if there is connection
hgs
parents:
diff changeset
    97
        */
hgs
parents:
diff changeset
    98
        TBool CheckIsServerBusyL();
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
        /**
hgs
parents:
diff changeset
   101
        * Gives message store path in aPath, when drive number is got
hgs
parents:
diff changeset
   102
        *  @param aDrive                 drive number
hgs
parents:
diff changeset
   103
        *  @param aPath                  message store path in source
hgs
parents:
diff changeset
   104
        */
hgs
parents:
diff changeset
   105
        void FindSourcePathL( TInt aDrive, TFileName& aPath ) const;
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
        /**
hgs
parents:
diff changeset
   108
        * Gives drive letter and drive delimiter in aPath, when drive number is got
hgs
parents:
diff changeset
   109
        *  @param aDrive                 drive number
hgs
parents:
diff changeset
   110
        *  @param aPath                  message store path in target
hgs
parents:
diff changeset
   111
        */
hgs
parents:
diff changeset
   112
        void GetMessageDriveL( TInt aDrive, TDes& aPath ) const;
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
        /**
hgs
parents:
diff changeset
   115
        * Sets correct string in General settings memory in use -option
hgs
parents:
diff changeset
   116
        */
hgs
parents:
diff changeset
   117
        void UpdateMemorySelectionL();
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
        /**
hgs
parents:
diff changeset
   120
        * Closes sms, mms and mail applications before changing message store
hgs
parents:
diff changeset
   121
        */
hgs
parents:
diff changeset
   122
        TBool ShutdownAppsL() const;
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
        /**
hgs
parents:
diff changeset
   125
        * Handles Memory in Use option
hgs
parents:
diff changeset
   126
        */
hgs
parents:
diff changeset
   127
        void HandleMemoryInUseDialogL(); 
hgs
parents:
diff changeset
   128
        
hgs
parents:
diff changeset
   129
        /**
hgs
parents:
diff changeset
   130
        * Changes the drive of the message store
hgs
parents:
diff changeset
   131
        */
hgs
parents:
diff changeset
   132
#ifdef RD_MULTIPLE_DRIVE
hgs
parents:
diff changeset
   133
        void ChangeMessageStoreL(TInt aTargetDrive );
hgs
parents:
diff changeset
   134
#else
hgs
parents:
diff changeset
   135
        void ChangeMessageStoreL();
hgs
parents:
diff changeset
   136
#endif //RD_MULTIPLE_DRIVE
hgs
parents:
diff changeset
   137
        
hgs
parents:
diff changeset
   138
        /**
hgs
parents:
diff changeset
   139
        * Function to check if the entry is email entry or not
hgs
parents:
diff changeset
   140
        * returns ETrue if email
hgs
parents:
diff changeset
   141
        */
hgs
parents:
diff changeset
   142
        TBool IsEmailEntryL(TMsvEntry entry);
hgs
parents:
diff changeset
   143
        
hgs
parents:
diff changeset
   144
        /**
hgs
parents:
diff changeset
   145
         *  This will return true if there is any third party mailbox.
hgs
parents:
diff changeset
   146
         */
hgs
parents:
diff changeset
   147
        TBool IsThirdPartyMailBoxL();
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
    protected:  // Functions from base classes
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
        /**
hgs
parents:
diff changeset
   152
        * From CEikDialog
hgs
parents:
diff changeset
   153
        */
hgs
parents:
diff changeset
   154
        virtual void PreLayoutDynInitL();
hgs
parents:
diff changeset
   155
hgs
parents:
diff changeset
   156
        /**
hgs
parents:
diff changeset
   157
        * From CEikDialog
hgs
parents:
diff changeset
   158
        */
hgs
parents:
diff changeset
   159
        virtual TBool OkToExitL( TInt aButtonId );
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
        /**
hgs
parents:
diff changeset
   162
        * From MEikListBoxObserver
hgs
parents:
diff changeset
   163
        */
hgs
parents:
diff changeset
   164
        void HandleListBoxEventL(
hgs
parents:
diff changeset
   165
            CEikListBox* aListBox,
hgs
parents:
diff changeset
   166
            TListBoxEvent aEventType );
hgs
parents:
diff changeset
   167
hgs
parents:
diff changeset
   168
    private:
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
        /**
hgs
parents:
diff changeset
   171
        * Launches help application
hgs
parents:
diff changeset
   172
        */
hgs
parents:
diff changeset
   173
        void LaunchHelpL() const;
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
        /**
hgs
parents:
diff changeset
   176
        * Sets the label for the middle soft key
hgs
parents:
diff changeset
   177
        */
hgs
parents:
diff changeset
   178
        void SetMSKButtonL();
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
#ifdef RD_MULTIPLE_DRIVE
hgs
parents:
diff changeset
   181
        /*
hgs
parents:
diff changeset
   182
        * Sets the string for result of drive selection
hgs
parents:
diff changeset
   183
        */
hgs
parents:
diff changeset
   184
        HBufC* MakeDriveNameStringLC( TInt aDriveNumber );
hgs
parents:
diff changeset
   185
#endif // RD_MULTIPLE_DRIVE
hgs
parents:
diff changeset
   186
hgs
parents:
diff changeset
   187
    private:  // Data
hgs
parents:
diff changeset
   188
        CMuiuSettingsArray*     iMceSettingsArray;      
hgs
parents:
diff changeset
   189
        CMsvSession*            iSession;       
hgs
parents:
diff changeset
   190
        MMsvSessionObserver&    iObserver;
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
        TFileName               iSourcePath;
hgs
parents:
diff changeset
   193
        TFileName               iTargetPath;
hgs
parents:
diff changeset
   194
        TBool                   iMemoryInUse;
hgs
parents:
diff changeset
   195
        TBool                   iNewMailIndicator;
hgs
parents:
diff changeset
   196
        //Variable added to know if drive is changed 
hgs
parents:
diff changeset
   197
        TBool                   iChangeDrive;
hgs
parents:
diff changeset
   198
        friend class CMceMoveProgress;
hgs
parents:
diff changeset
   199
#ifdef RD_MESSAGING_GENERAL_SETTINGS_RENOVATION
hgs
parents:
diff changeset
   200
        RConeResourceLoader     iResources;
hgs
parents:
diff changeset
   201
#endif // RD_MESSAGING_GENERAL_SETTINGS_RENOVATION
hgs
parents:
diff changeset
   202
        MMceSettingsAccountManager* iAccountManager;
hgs
parents:
diff changeset
   203
        TInt                    iTransferError;
hgs
parents:
diff changeset
   204
		TBool                   iIsThirdPartyMail;
hgs
parents:
diff changeset
   205
    };
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
#endif      // MCESETTINGSGENERALSETTINGSDIALOG_H
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
// End of File