wvuing/IMPSServiceSettingsUI/Src/CWVSettingsUIDialogImp.h
changeset 0 094583676ce7
equal deleted inserted replaced
-1:000000000000 0:094583676ce7
       
     1 /*
       
     2 * Copyright (c) 2003 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:  Server settings dialog implementation
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CWVSETTINGSUIDIALOGIMP_H
       
    21 #define CWVSETTINGSUIDIALOGIMP_H
       
    22 
       
    23 
       
    24 //  INCLUDES
       
    25 #include "MWVSettingsObserverng.h"
       
    26 #include "CWVSettingsUINGDialog.h"
       
    27 #include "MIMPSSharedDataObserver.h"
       
    28 #include "MIMPSSharedData.h"
       
    29 
       
    30 #include "impscommonuibuilddefinitions.h"
       
    31 
       
    32 #include <aknform.h>
       
    33 #include <eiklbo.h>
       
    34 #include <MIMPSSAPObserver.h>
       
    35 
       
    36 
       
    37 //DATA TYPES
       
    38 
       
    39 
       
    40 // FORWARD DECLARATIONS
       
    41 class CAknSettingItemArray;
       
    42 class CAknSettingStyleListBox;
       
    43 class CIMPSSAPSettingsStore;
       
    44 class CWVSettingsUITlsHolder;
       
    45 class CWVSettingsUIDialogTitlePaneHandler;
       
    46 class CIMPSPresenceConnectionUi;
       
    47 class CAknSettingItem;
       
    48 class CWVSettingsUISettingItemEditor;
       
    49 class CSelectionItemList;
       
    50 class CSelectableItem;
       
    51 class CIMPSSAPSettingsList;
       
    52 class CIMPSSAPSettings;
       
    53 class CAknIconArray;
       
    54 class CWVSettingsUIServerListDialog;
       
    55 // CLASS DECLARATION
       
    56 
       
    57 /**
       
    58 *  Server settings dialog
       
    59 *  Basically this dialog gives that two links to other dialogs, to current
       
    60 *  server selection and to server list
       
    61 *
       
    62 *  @lib WVServiceSettingsUi.dll
       
    63 *  @since 2.1
       
    64 */
       
    65 NONSHARABLE_CLASS( CWVSettingsUIDialogImp ) : public CWVSettingsUIDialog,
       
    66         public MEikListBoxObserver,
       
    67         public MIMPSSAPObserver,
       
    68         public MIMPSSharedDataObserver
       
    69     {
       
    70 
       
    71 public: // datatypes
       
    72 
       
    73     // listbox items' indexes
       
    74     enum TListboxItemIndex
       
    75         {
       
    76         EWVSettingsCASettings = 0,
       
    77         EWVSettingsServers,
       
    78         EWVSettingsServerInUse,
       
    79         EWVSettingsIMLoginType,
       
    80 #ifdef RD_MULTIPLE_DRIVE
       
    81         EWVSettingsSaveChatsTo,
       
    82 #endif
       
    83         EWVSettingsIMConnDays,
       
    84         EWVSettingsIMConnHours
       
    85         };
       
    86 
       
    87     enum TConnHoursPopUpValue
       
    88         {
       
    89         EWVSettingsAllDay,
       
    90         EWVSettingsBetweenHours
       
    91         };
       
    92 
       
    93 private: // datatypes
       
    94 
       
    95     enum TConnHoursSetting
       
    96         {
       
    97         EWVSettingsConnStart,
       
    98         EWVSettingsConnEnd
       
    99         };
       
   100 
       
   101 public:  // Constructors and destructor
       
   102     /**
       
   103     * Destructor.
       
   104     */
       
   105     virtual ~CWVSettingsUIDialogImp();
       
   106 
       
   107     /**
       
   108     * Two-phased constructor.
       
   109     */
       
   110     static CWVSettingsUIDialogImp* NewL( );
       
   111 
       
   112 protected:
       
   113     /**
       
   114     * Runs the dialog.
       
   115     * @since 2.1
       
   116     * @param aSAPSettingsStore Pointer to SAP settings store
       
   117     * @param aObserver Pointer to the UI observer
       
   118     * @param aResourceFile The path to a branded resource file wanted to be used
       
   119     * @param aExitReason The exit reason of the dialog
       
   120     * @param aSelfPtr pointer to callers dialog pointer.
       
   121     * @param aWhatToRun Tells whether to run the whole dialog or just the new server definition dialog
       
   122     */
       
   123     TWVSettingsDialogReturnValue RunDialogLD(	CIMPSSAPSettingsStore& aSAPSettingsStore,
       
   124                                               MWVSettingsObserver* aObserver,
       
   125                                               const TDesC& aResourceFile,
       
   126                                               const TDesC& aResourceVariationFile,
       
   127                                               TInt& aExitReason,
       
   128                                               MWVSettingsCASettings* aCAServerSettings,
       
   129                                               CWVSettingsUIDialog** aSelfPtr,
       
   130                                               TBool aForcedLaunch /*= EFalse */,
       
   131                                               TWVSettingsDialogType aDialogType );
       
   132 
       
   133     /**
       
   134     * Changes the resource file used
       
   135     * @since 2.1
       
   136     * @param aResourceFileName The path to the resource file wanted to be used
       
   137     * @param aResourceVariationFile	The path to the variation file which contains the settings.
       
   138     */
       
   139     void ChangeResourceFileL( const TDesC& aResourceFileName,
       
   140                               const TDesC& aResourceVariationFile );
       
   141 
       
   142     /**
       
   143     * C++ default constructor.
       
   144     */
       
   145     CWVSettingsUIDialogImp();
       
   146 
       
   147 public: // New functions
       
   148 
       
   149     /**
       
   150     * Tells the current Chat login type
       
   151     * @since 2.1
       
   152     * @return Chat login type
       
   153     */
       
   154     TInt GetChatLoginType() const;
       
   155     
       
   156     void ChangeToManualL();
       
   157 
       
   158     void GetHelpContext( TCoeHelpContext& aContext ) const;
       
   159 private: // New functions
       
   160 
       
   161     /**
       
   162     * Updates "server in use"-item from listbox to current value
       
   163     * @since 2.1
       
   164     */
       
   165     void UpdateServerInUseItemL();
       
   166 
       
   167     /**
       
   168     * Launches new server query
       
   169     * @since 2.1
       
   170     * @param aExitReason indicate if required to exit from IM application
       
   171     */
       
   172     void QueryNewServerL( TBool *aExitReason = NULL );
       
   173 
       
   174     /**
       
   175     * Launches server-list dialog
       
   176     * @since 2.1
       
   177     * @return a value from the enumeration
       
   178     */
       
   179     TWVSettingsDialogReturnValue ExecuteServerListDialogL();
       
   180 
       
   181     /**
       
   182     * Refreshs title
       
   183     * @since 2.1
       
   184     */
       
   185     void RefreshTitleL();
       
   186 
       
   187     /**
       
   188     * Launches a correct dialog
       
   189     * @since 2.1
       
   190     */
       
   191     void LaunchCorrectDialogL();
       
   192 
       
   193     /**
       
   194     * Launches a correct dialog
       
   195     * @since 3.1
       
   196     */
       
   197     void LaunchCASettingsL();
       
   198 
       
   199     /**
       
   200      * Activates currently highlighted setting item
       
   201      * @since 3.2
       
   202      */
       
   203     void ActivateCurrentItemL();
       
   204 
       
   205     /**
       
   206     * Launches the dialog for defining a new server
       
   207     * @since 2.1
       
   208     * @param aSAPSettingsStore Pointer to SAP settings store
       
   209     * @param aCaller Pointer to the dialog observer
       
   210     * @param aTitlePaneHandler Pointer to the title pane handler
       
   211     * @param aExitReason This will hold the exit reason after this dialog
       
   212     * has been dismissed
       
   213     */
       
   214     TInt LaunchDefineNewServerDialogL( CIMPSSAPSettingsStore& aSAPSettingsStore,
       
   215                                        MWVSettingsObserver& aObserver,
       
   216                                        CWVSettingsUIDialogTitlePaneHandler& aTitlePaneHandler,
       
   217                                        TInt& aExitReason ) const;
       
   218 
       
   219     /**
       
   220     * Sets IM login type in the listbox
       
   221     * @param aLoadedValue loaded login type
       
   222     * @since 2.1
       
   223     */
       
   224     void SetIMLoginTypeL( TInt aLoadedValue );
       
   225 
       
   226     /**
       
   227     * Creates a list of selected days for scheduling
       
   228     * @param aSelectionItemList selection item list
       
   229     * @since 2.5
       
   230     */
       
   231     void CreateSelectedDaysArrayL( CSelectionItemList& aSelectionItemList );
       
   232 
       
   233     /**
       
   234     * Creates a selectable item
       
   235     * @param aResourceId resource id for the text in the selectable item
       
   236     * @since 2.5
       
   237     * @return selectable item
       
   238     */
       
   239     CSelectableItem* CreateSelectableItemLC( TInt aResourceId );
       
   240 
       
   241     /**
       
   242     * Sets connection days setting to CSelectionItemList array
       
   243     * @param aLoadedValue loaded login type
       
   244     * @param aSelectionItemList selection item list
       
   245     * @since 2.5
       
   246     */
       
   247     void SetConnectionDaysL( TInt aLoadedValue, CSelectionItemList& aSelectionItemList );
       
   248 
       
   249     /**
       
   250     * Gets connection days setting from CSelectionItemList array
       
   251     * @param aSelectionItemList selection item list
       
   252     * @since 2.5
       
   253     * @return integer with the correct bits set
       
   254     */
       
   255     TInt GetConnectionDaysL( CSelectionItemList& aSelectionItemList );
       
   256 
       
   257     /**
       
   258     * Updates the connection days setting item value text in listbox
       
   259     * @param aSelectionItemList selection item list
       
   260     * @param aItem item identifier
       
   261     * @since 2.5
       
   262     */
       
   263     void UpdateConnectionDaysL( CSelectionItemList& aSelectionItemList );
       
   264 
       
   265     /**
       
   266     * Updates the connection hours text in the listbox
       
   267     * @param aItem item identifier
       
   268     * @param aAllDay all day or not
       
   269     * @since 2.5
       
   270     */
       
   271     void UpdateConnectionHoursTextL( TBool aAllDay );
       
   272 
       
   273     /**
       
   274     * Queries new connection times from user
       
   275     * @param aItem item identifier
       
   276     * @since 2.5
       
   277     */
       
   278     void QueryConnectionHoursL();
       
   279 
       
   280     /**
       
   281     * Changes login type to manual
       
   282     * @since 2.5
       
   283     */
       
   284     void ChangeLoginTypeToManualL();
       
   285 
       
   286     /**
       
   287     * Updates the texts in the listbox
       
   288     * @since 2.6
       
   289     */
       
   290     void UpdateListboxL();
       
   291 
       
   292     /**
       
   293     * Copies a selected days array
       
   294     * @param aSelectedDaysArray an array to be copied
       
   295     * @since 2.6
       
   296     */
       
   297     CSelectionItemList* CopySelectedDaysArrayL( CSelectionItemList* aSelectedDaysArray );
       
   298 
       
   299     /**
       
   300     * Returns the hour part of the saved time as integer.
       
   301     * Returns the given default if parsing fails.
       
   302     * @param aTime time to get the hour from
       
   303     * @param aDefault default hour as integer
       
   304     * @since 2.6
       
   305     */
       
   306     TInt Hour( const TDesC& aTime, TInt aDefault );
       
   307 
       
   308     /**
       
   309     * Returns the minute part of the saved time as integer
       
   310     * Returns the given default if parsing fails.
       
   311     * @param aTime time to get the minute from
       
   312     * @param aDefault default minute as integer
       
   313     * @since 2.6
       
   314     */
       
   315     TInt Minute( const TDesC& aTime, TInt aDefault );
       
   316 
       
   317     /**
       
   318     * Return current server's name
       
   319     * @since 2.1
       
   320     * Ownership is transferred to caller!!!
       
   321     * @return Name, NOTE returns NULL if no default SAP
       
   322     */
       
   323     HBufC* CurrentServerNameL();
       
   324 
       
   325     /*
       
   326     * Updates necessary parts when resource file is changed.
       
   327     * @since 2.1
       
   328     */
       
   329     void RefreshDialogL();
       
   330 
       
   331     /**
       
   332     * Loads the settings
       
   333     * @since 2.1
       
   334     */
       
   335     void LoadSettingsL();
       
   336 
       
   337     /**
       
   338     * Loads a settings value
       
   339     * @since 2.1
       
   340     * @param aSettingsValueToLoad the setting value to load
       
   341     * @param aNameKey the key name of the value
       
   342     */
       
   343     void LoadSettingValueL( TInt& aSettingValueToLoad, const TIMPSSharedKeys aNameKey );
       
   344 
       
   345     /**
       
   346     * Loads a string settings value
       
   347     * @since 2.5
       
   348     * @param aNameKey the key name of the value
       
   349     * @return the loaded value
       
   350     */
       
   351     HBufC* LoadStringSettingValueL( const TIMPSSharedKeys aNameKey, TConnHoursSetting aSetting );
       
   352 
       
   353 #ifdef RD_MULTIPLE_DRIVE
       
   354 
       
   355     /**
       
   356     * Loads a memory drive string settings value
       
   357     * @since 2.5
       
   358     */
       
   359     void LoadMemoryDriveSettingValueL();
       
   360 #endif
       
   361 
       
   362     /**
       
   363     * Loads connection hours settings values
       
   364     * @since 2.5
       
   365     */
       
   366     void LoadConnectionHoursSettingValuesL();
       
   367 
       
   368     /**
       
   369     * Saves the settings
       
   370     * @since 2.1
       
   371     */
       
   372     void SaveSettingsL();
       
   373 
       
   374     /**
       
   375     * Stores a settings value
       
   376     * @since 2.1
       
   377     * @param aSettingValueToStore the setting value to be saved
       
   378     * @param aNameKey the key name of the value
       
   379     */
       
   380     void StoreSettingValueL( TInt aSettingValueToStore, const TIMPSSharedKeys aNameKey );
       
   381 
       
   382     /**
       
   383     * Stores a string settings value
       
   384     * @since 2.5
       
   385     * @param aSettingValueToStore the setting value to be saved
       
   386     * @param aNameKey the key name of the value
       
   387     */
       
   388     void StoreStringSettingValueL( const TDesC& aSettingValueToStore, const TIMPSSharedKeys aNameKey );
       
   389 
       
   390 
       
   391     /**
       
   392     * Updates the login types in the listbox
       
   393     * @since 2.1
       
   394     */
       
   395     void UpdateLoginTypesL ();
       
   396 
       
   397     /**
       
   398      * Gets server list and index which to highlight
       
   399      * in selection list.
       
   400      *
       
   401      * @since 3.1
       
   402      * @param aIndexToHighlight On the return contains the
       
   403      * index that should be high lighted by default in the
       
   404      * selection list, or KErrNotFound if default index should
       
   405      * be ignored.
       
   406      * @return SAP settings list. Ownership of list returned to client.
       
   407      */
       
   408     CIMPSSAPSettingsList* ServerListLC( TInt& aIndexToHighlight );
       
   409 
       
   410     /**
       
   411      * Loads the used login SAP based the SAP Settings list
       
   412      * and index of selected server.
       
   413      *
       
   414      * @since 3.1
       
   415      * @param aList Server list.
       
   416      * @param aIndexOfSelectedServer The index of selected server.
       
   417      * @param aSap
       
   418      */
       
   419     void LoadSapByServerListL( const CIMPSSAPSettingsList& aList,
       
   420                                TInt aIndexOfSelectedServer,
       
   421                                CIMPSSAPSettings& aSap );
       
   422 
       
   423     /**
       
   424      *
       
   425      * @since 3.1
       
   426      */
       
   427     TBool ServerToUseQueryL( MDesCArray& aServers,
       
   428                              TInt aIndexToHighlight,
       
   429                              TInt& aSelectedIndex );
       
   430 
       
   431     /**
       
   432      * Loads the branded server icons to iIconArray
       
   433      * @param aServers List of the server names
       
   434      * @since 3.1
       
   435      */
       
   436     void LoadServerIconsL( MDesCArray& aServers );
       
   437 
       
   438     /**
       
   439     * Constructs complete path from parts and checks for correctness.
       
   440     * @param aResult, the complete path.
       
   441     * @param aModuleId, dll's (or app) id. For example "IM".
       
   442     * @param aAlternative, id for alternative (for example operator "Oper1" ) files.
       
   443     * @param aFileName, filename of the complete path
       
   444     * @return ETrue if path was found from C or MMC card, otherwise false
       
   445     * @since 3.1
       
   446     */
       
   447     TBool ConstructCompletePathAndCheck( TDes& aResult,
       
   448                                          const TDesC& aModuleId,
       
   449                                          const TDesC& aAlternative,
       
   450                                          const TDesC& aFileName );
       
   451 
       
   452     /**
       
   453     * Returns MMC drive.
       
   454     * @param aDrive, the result.
       
   455     */
       
   456     void MMCDrive( TDes& aDrive ) const;
       
   457 
       
   458     /**
       
   459      * Updates CBA.
       
   460      * @since S60 v3.2
       
   461      */
       
   462     void UpdateCbaL();
       
   463 
       
   464     /**
       
   465      * Static TCallBack method which will call ActivateCurrentItemL when
       
   466      * launched
       
   467      * @see TCallBack
       
   468      */
       
   469     static TInt LaunchDlgCallback( TAny* aDlg );
       
   470 
       
   471     /**
       
   472      * Used for launching dialogs asynchronously.
       
   473      */
       
   474     void LaunchCorrectDialog();
       
   475 
       
   476     /**
       
   477      *
       
   478      * set the iIsOpenedTargettDlg value.
       
   479      * aFlag is ETrue while try to open target dialog, or is EFalse after target was closed.
       
   480      */
       
   481     void SetTargetDlgFlag( TBool aFlag );
       
   482 
       
   483     /**
       
   484      *
       
   485      * get the flag value.
       
   486      */
       
   487     TBool GetTargetDlgFlag();
       
   488 
       
   489     /**
       
   490      *
       
   491      * Check whether there are stored servers, otherwise show add new server query.
       
   492      * @return ETrue there is at least one stored server.
       
   493      * @return EFalse there is no stored server.
       
   494      */
       
   495     TBool CheckAnyStoredServers();
       
   496 private:
       
   497     /**
       
   498     * From MEikListBoxObserver Handles listbox events.
       
   499     * @param aListBox Listbox's pointed
       
   500     * @param aEventType Eventtype of listbox
       
   501     */
       
   502     void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
       
   503 
       
   504     /**
       
   505     * Handles notify from permanent keys' changes
       
   506     * @param aUid uid of the dll
       
   507     * @param aKey the shared data key
       
   508     * @param aValue the value of the key
       
   509     */
       
   510     void HandlePermanentKeyNotifyL( const TUid aUid,
       
   511                                     const TIMPSSharedKeys aKey );
       
   512 
       
   513     /**
       
   514     * Handles notify from temporary keys' changes
       
   515     * @param aUid uid of the dll
       
   516     * @param aKey the shared data key
       
   517     * @param aValue the value of the key
       
   518     */
       
   519     void HandleTemporaryKeyNotifyL( const TUid aUid,
       
   520                                     const TIMPSSharedKeys aKey );
       
   521     /**
       
   522     * From MEikCommandObserver Command handler
       
   523     * @since 1.2
       
   524     * @param aCommand Command that was initiated
       
   525     */
       
   526     void ProcessCommandL( TInt aCommand );
       
   527 
       
   528     /**
       
   529     * From MEikMenuObserver, Gets called before menu is displayed
       
   530     * @param aResourceId Id of a resource being built
       
   531     * @param aMenuPane Handle to menupane that is about to be shown
       
   532     */
       
   533     void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
       
   534 
       
   535     /**
       
   536     * From CCoeControl. Handles the keyevents
       
   537     * @param aKeyEvent The key event.
       
   538     * @param aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown.
       
   539     * @return Indicates whether or not the key event was used by this control
       
   540     */
       
   541     TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
       
   542 
       
   543 private: // From MIMPSSAPObserver
       
   544 
       
   545     /**
       
   546     * From MIMPSSAPObserver
       
   547     * @see MIMPSSAPObserver for more information
       
   548     */
       
   549     void HandleSAPEvent( TSAPEvent aEvent );
       
   550 
       
   551 private:
       
   552 
       
   553     // This function gets the setting value from the Cenrep or variation file, given the resource ID
       
   554     TInt IntResourceValueL( TInt aResourceId );
       
   555 
       
   556 protected:  // Functions from CEikDialog
       
   557 
       
   558     /**
       
   559     * From CEikDialog, Gets called before form is displayed
       
   560     */
       
   561     void PreLayoutDynInitL();
       
   562 
       
   563     /**
       
   564     * From CEikDialog
       
   565     * Gets called before the dialog is exited
       
   566     * @param aKeyCode the key code used to exit the dialog
       
   567     */
       
   568     TBool OkToExitL( TInt aKeycode );
       
   569 
       
   570 private:    // Data
       
   571     // Doesn't own: pointer to the sap settings store
       
   572     CIMPSSAPSettingsStore* iSAPSettingsStore;
       
   573 
       
   574     // server in use
       
   575     TPtr iServerInUsePtr;
       
   576 
       
   577     // Doesn't own: the user of this dialog
       
   578     MWVSettingsObserver* iObserver;
       
   579 
       
   580     // Owns: Settings items
       
   581     CAknSettingItemArray* iSettingItemArray;
       
   582 
       
   583     // Owns.: server in use
       
   584     HBufC* iServerInUse;
       
   585 
       
   586     // Doesn't own: listbox
       
   587     CAknSettingStyleListBox* iListbox;
       
   588 
       
   589     // Owns: the text on the titlepane
       
   590     HBufC* iTitle;
       
   591 
       
   592     // Owns: tls holder
       
   593     CWVSettingsUITlsHolder* iTlsHolder;
       
   594 
       
   595     // offset of the resource file
       
   596     TInt iResourceFileOffset;
       
   597 
       
   598     //offset of the variation based resource file
       
   599     TInt iResourceVariationFileOffset;
       
   600 
       
   601     // tells if the chat login type is edited
       
   602     TBool iImLoginTypeEdited;
       
   603     // chat login type
       
   604     TInt iImLoginType;
       
   605 
       
   606     // Owns: title pane handler. changes the title pane text
       
   607     CWVSettingsUIDialogTitlePaneHandler* iTitlePaneHandler;
       
   608 
       
   609     // Owns:: Pointer to a presence connection UI
       
   610     CIMPSPresenceConnectionUi* iConnectionUI;
       
   611 
       
   612     // Owns: Setting item editor
       
   613     CWVSettingsUISettingItemEditor* iSettingItemEditor;
       
   614 
       
   615     // IM Scheduling settings
       
   616     // owns: Selection item list for scheduling support
       
   617     CSelectionItemList* iSelectedDaysIM;
       
   618     // Owns: connection days setting item value in listbox
       
   619     HBufC* iConnDaysIM;
       
   620     // Pointer to connection days setting item value in listbox
       
   621     TPtr iConnDaysIMPtr;
       
   622     // Owns: connection hours setting item value in listbox
       
   623     HBufC* iConnHoursIM;
       
   624     // Pointer to connection hours setting item value in listbox
       
   625     TPtr iConnHoursIMPtr;
       
   626     // The value of the connection hours pop-up setting item
       
   627     TInt iConnHoursIMInt;
       
   628     // Owns: connection start time setting item value
       
   629     HBufC* iConnStartIM;
       
   630     // pointer to connection start time setting item value
       
   631     TPtr iConnStartIMPtr;
       
   632     // Owns: connection end time setting item value
       
   633     HBufC* iConnEndIM;
       
   634     // pointer to connection end time setting item value
       
   635     TPtr iConnEndIMPtr;
       
   636 
       
   637 #ifdef RD_MULTIPLE_DRIVE
       
   638     // Owns.: memory drive selection
       
   639     HBufC* iMemorySelection;
       
   640 
       
   641     // memory drive selection
       
   642     TPtr iMemorySelectionPtr;
       
   643 #endif // RD_MULTIPLE_DRIVE
       
   644 
       
   645     // tells if scheduling is supported
       
   646     TBool iSchedulingSupported;
       
   647 
       
   648     TDay iStartDayOfWeek;
       
   649 
       
   650     // Own: shared keys interface for permanent keys
       
   651     MIMPSSharedData *iSharedData;
       
   652 
       
   653     // Own: shared keys interface for temporary keys
       
   654     MIMPSSharedData *iSettingsChangeNotifier;
       
   655 
       
   656     // as a result of parsing problems of time values when changing
       
   657     // time/date separators we must have these here
       
   658     // connection end hour and minute values for PEC
       
   659     TInt iConnEndHourPEC;
       
   660     TInt iConnEndMinutePEC;
       
   661     // connection start hour and minute values for IM
       
   662     TInt iConnStartHourIM;
       
   663     TInt iConnStartMinuteIM;
       
   664     // connection end hour and minute values for IM
       
   665     TInt iConnEndHourIM;
       
   666     TInt iConnEndMinuteIM;
       
   667 
       
   668     // Chat server settings
       
   669     MWVSettingsCASettings* iCAServerSettings;
       
   670 
       
   671     // Icon array for server list query, owned
       
   672     CAknIconArray* iIconArray;
       
   673 
       
   674     // Self pointer. This pointer can be used to inform the
       
   675     // caller that dialog is destroyed.
       
   676     CWVSettingsUIDialog** iSelfPtr;
       
   677 
       
   678     // Async dialog launcher
       
   679     CAsyncCallBack* iDlgLauncher;
       
   680 
       
   681     // Is forced login made before activating automatic login mode
       
   682     TBool iForcedLoginMade;
       
   683 
       
   684     // Is dialog re-launched after login procedure
       
   685     TBool iForcedLaunch;
       
   686 
       
   687     // Not owned. Valid pointer only when
       
   688     // server list dialog is active.
       
   689     CWVSettingsUIServerListDialog* iServListDialog;
       
   690 
       
   691     //
       
   692     // to avoid twice calling LaunchCorrectDialog()
       
   693     TBool iIsOpenedTargettDlg;
       
   694     };
       
   695 
       
   696 #endif      // CWVSETTINGSUIDIALOGIMP_H
       
   697 
       
   698 // End of File