browserui/browser/BrowserAppInc/Preferences.h
changeset 51 48e827313edd
parent 37 481242ead638
child 53 f427d27b98d8
equal deleted inserted replaced
37:481242ead638 51:48e827313edd
     1 /*
       
     2 * Copyright (c) 2002 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 the License "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:
       
    15 *      Interface for Preferences handling.
       
    16 *
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 #ifndef MPREFERENCES_H
       
    22 #define MPREFERENCES_H
       
    23 
       
    24 // INCLUDES
       
    25 #include <e32def.h>
       
    26 #include <e32const.h>
       
    27 #include <e32std.h>
       
    28 
       
    29 #include "Browser.hrh"
       
    30 #include <bldvariant.hrh>
       
    31 
       
    32 #include <brctldefs.h>
       
    33 #include <ApAccessPointItem.h>
       
    34 
       
    35 #include <CmApplicationSettingsUi.h>
       
    36 
       
    37 using namespace CMManager;
       
    38 // FORWARD DECLARATIONS
       
    39 
       
    40 // CONSTS
       
    41 
       
    42 const TUint KWmlNoDefaultAccessPoint = KMaxTUint;
       
    43 const TUint KWmlNoDefaultSnapId = KMaxTUint;
       
    44 
       
    45 const TInt KShortCutFuncStringLength = 32;
       
    46 
       
    47 const TInt KUrlSuffixMaxLength = 256;
       
    48 
       
    49 // CLASS DECLARATION
       
    50 class CVpnApItem;
       
    51 
       
    52 //=============================================================================
       
    53 // Observer for the MPreferences Class
       
    54 //
       
    55 
       
    56 /**
       
    57 *   Helper struct for MPreferencesObserver
       
    58 */
       
    59 struct TPreferencesValues
       
    60     {
       
    61     // Setting Values
       
    62     TUint                           iDefaultAccessPoint;
       
    63     TUint 							iDefaultSnapId;
       
    64     CApAccessPointItem* 			iDefaultAPDetails;  //cache all data
       
    65     // It is stored because of VPN. Default value = KWmlNoDefaultAccessPoint,
       
    66     // means it is not VPN AP, otherwise iAssocVpn = iDefaultAccessPoint
       
    67     // iDefaultAPDetails always stores real AP specific settings.
       
    68     TUint                           iAssocVpn;
       
    69     TCmSettingSelectionMode         iAccessPointSelectionMode;
       
    70     TInt                            iAutoLoadContent;
       
    71     TInt                            iFontSize;
       
    72     TBool                           iTextWrap;
       
    73     TWmlSettingsCookies             iCookies;
       
    74     TBool   						iPageOverview;
       
    75     TBool   						iBackList;
       
    76     TBool   						iAutoRefresh;
       
    77     TWmlSettingsECMA                iEcma;
       
    78     TWmlSettingsIMEI                iIMEINotification;
       
    79     TUint32                         iEncoding;
       
    80     TWmlSettingsFullScreen          iFullScreen;
       
    81     TBool                           iQueryOnExit;
       
    82     TBool                           iSendReferrer;
       
    83     TWmlSettingsAdaptiveBookmarks   iAdaptiveBookmarks;
       
    84     TWmlSettingsHomePage            iHomePgType;
       
    85     TBool                           iHTTPSecuritySupressed;
       
    86     TBool                           iDownloadsOpen;
       
    87     TBool                           iConnDialogs;
       
    88     TBool                           iHttpSecurityWarnings;
       
    89     TInt                            iMediaVolume;
       
    90     HBufC*                          iSearchPgURL;
       
    91     HBufC*                          iHomePgURL;
       
    92     TBool                           iPopupBlocking;
       
    93     TWmlSettingsFormData            iFormDataSaving;
       
    94     TUint                           iAutomaticUpdatingAP;
       
    95     TBool                           iAutomaticUpdatingWhileRoaming;
       
    96     TBool                           iAccessKeys;
       
    97     HBufC*                          iShortCutFuncHomePg;
       
    98     HBufC*                          iShortCutFuncBkMark;
       
    99     HBufC*                          iShortCutFuncFindKeyWord;
       
   100     HBufC*                          iShortCutFuncPrePage;
       
   101     HBufC*							iUrlSuffixList;
       
   102     HBufC*                          iShortCutFuncSwitchWin;
       
   103     HBufC*                          iShortCutFuncMiniImage;
       
   104     HBufC*                          iShortCutFuncFullScreen;
       
   105     HBufC*                          iShortCutFuncGoAddr;
       
   106     HBufC*                          iShortCutFuncZoomIn;
       
   107     HBufC*                          iShortCutFuncZoomOut;
       
   108     HBufC*                          iShortCutFuncZoomMode;
       
   109     TBool                           iRotateDisplay;
       
   110     TInt                            iToolbarOnOff;          // Turns Toolbar On or Off ( 0 = Off ; 1 = On)
       
   111     TInt                            iToolbarButton1Cmd;     // see Toolbar Button Command List for cenrep values
       
   112     TInt                            iToolbarButton2Cmd;     // see Toolbar Button Command List for cenrep values
       
   113     TInt                            iToolbarButton3Cmd;     // see Toolbar Button Command List for cenrep values
       
   114     TInt                            iToolbarButton4Cmd;     // see Toolbar Button Command List for cenrep values
       
   115     TInt                            iToolbarButton5Cmd;     // see Toolbar Button Command List for cenrep values
       
   116     TInt                            iToolbarButton6Cmd;     // see Toolbar Button Command List for cenrep values
       
   117     TInt                            iToolbarButton7Cmd;     // see Toolbar Button Command List for cenrep values
       
   118 	TInt							iShortcutKeysForQwerty;
       
   119 	TInt 							iShortcutKey1Cmd;
       
   120 	TInt 							iShortcutKey2Cmd;
       
   121 	TInt 							iShortcutKey3Cmd;
       
   122 	TInt 							iShortcutKey4Cmd;
       
   123 	TInt 							iShortcutKey5Cmd;
       
   124 	TInt 							iShortcutKey6Cmd;
       
   125 	TInt 							iShortcutKey7Cmd;
       
   126 	TInt 							iShortcutKey8Cmd;
       
   127 	TInt 							iShortcutKey9Cmd;
       
   128 	TInt 							iShortcutKey0Cmd;
       
   129 	TInt 							iShortcutKeyStarCmd;
       
   130 	TInt 							iShortcutKeyHashCmd;
       
   131 	TUint32							iScriptLog;
       
   132 	// Minimum, Maximum and Default (for new page) Zoom Level settings
       
   133 	TUint32							iZoomLevelMin;
       
   134 	TUint32							iZoomLevelMax;
       
   135 	TUint32							iZoomLevelDefault;
       
   136 	TInt							iMaxRecentUrlsToShow;
       
   137     TBool                           iSearch;                // Search Feature
       
   138     TBool                           iService;               // Service Feature
       
   139     TBrCtlDefs::TCursorSettings     iCursorShowMode;
       
   140     TBrCtlDefs::TEnterKeySettings     iEnterKeyMode;
       
   141     };
       
   142 
       
   143 /**
       
   144 *   Helper enum for MPreferencesObserver
       
   145 */
       
   146 enum TPreferencesEvent
       
   147     {
       
   148 	EPreferencesActivate,   // Preferences opened
       
   149 	EPreferencesDeactivate, // Preferences closed
       
   150 	EPreferencesItemChange  // Setting change has occurred
       
   151     };
       
   152 
       
   153 
       
   154 /**
       
   155 * Mixin class for observing changes in preferences.
       
   156 */
       
   157 class MPreferencesObserver
       
   158 	{
       
   159 	public:
       
   160 
       
   161         /**
       
   162         * Derived classes should implement this method, and act accordingly.
       
   163         */
       
   164 		virtual void HandlePreferencesChangeL(
       
   165 	                            const TPreferencesEvent aEvent,
       
   166                                 TPreferencesValues& aValues,
       
   167                                 TBrCtlDefs::TBrCtlSettings aSettingType ) = 0;
       
   168 	};
       
   169 
       
   170 //=============================================================================
       
   171 
       
   172 /**
       
   173 *  Interface for Preferences handling.
       
   174 */
       
   175 class MPreferences
       
   176     {
       
   177     public: // New functions
       
   178 
       
   179         /**
       
   180         * To read all of the preferences in one go
       
   181         */
       
   182         virtual const TPreferencesValues& AllPreferencesL() = 0;
       
   183 
       
   184         /**
       
   185         * To access embedded mode
       
   186         */
       
   187         virtual TBool EmbeddedMode() const = 0;
       
   188 
       
   189         /**
       
   190 		* To access DefaultAccessPoint setting
       
   191         */
       
   192 		virtual TUint DefaultAccessPoint() const = 0;
       
   193 
       
   194 
       
   195 		/**
       
   196 		* To access DefaultSnapId setting
       
   197         */
       
   198 
       
   199 		virtual TUint DefaultSnapId() const = 0;
       
   200 
       
   201         /**
       
   202         * To access deafult AP details if exist setting.
       
   203         */
       
   204         virtual CApAccessPointItem* DefaultAPDetails() = 0;
       
   205 
       
   206 		/**
       
   207 		* To access Associated VPN Ap if exist
       
   208 		*/
       
   209 		virtual TUint AssociatedVpn() const = 0;
       
   210 
       
   211 		/**
       
   212 		* Get the vpn item if it is vpn
       
   213 		*/
       
   214 		virtual TBool VpnDataL( TUint aDefaultAccessPoint, CVpnApItem& aVpnItem ) = 0;
       
   215 
       
   216         /**
       
   217 		* To access AutoLoadContent setting
       
   218         */
       
   219 		virtual TInt AutoLoadContent() const = 0;
       
   220 
       
   221         /**
       
   222 		* To access PageOverview setting
       
   223         */
       
   224 		virtual TBool PageOverview() const = 0;
       
   225 
       
   226 		/**
       
   227 		* To access BackList setting
       
   228         */
       
   229 		virtual TBool BackList() const = 0;
       
   230 
       
   231 		/**
       
   232 		* To access AutoRefresh setting
       
   233         */
       
   234 		virtual TBool AutoRefresh() const = 0;
       
   235 
       
   236 		/*
       
   237         * Sets the automatic updating access point of Web Feeds
       
   238         */
       
   239         virtual void SetAutomaticUpdatingApL( TUint aSetting ) = 0;
       
   240 		/*
       
   241         * Sets the automatic updating while roaming of News & Blogs
       
   242         */
       
   243         virtual void SetAutomaticUpdatingWhileRoamingL( TBool aAutoUpdateRoaming ) = 0;
       
   244 
       
   245         /**
       
   246         * To modify user-defined URL suffix list (.com, .org, .net)
       
   247         */
       
   248         virtual void SetURLSuffixList( HBufC* aValue ) = 0;
       
   249 
       
   250 		/**
       
   251 		* To access user-defined URL suffix list (.com, org, .net)
       
   252         */
       
   253         virtual HBufC* URLSuffixList( ) const = 0;
       
   254         /**
       
   255         * automatic updating access point of Web Feeds
       
   256         */
       
   257         virtual TUint AutomaticUpdatingAP() const = 0;
       
   258         /**
       
   259         * automatic updating while roaming of News & Blogs
       
   260         */
       
   261         virtual TBool AutomaticUpdatingWhileRoaming() const = 0;
       
   262 
       
   263         /**
       
   264 		* To access TextWrap setting
       
   265         @ return setting item value
       
   266         */
       
   267 		virtual TBool TextWrap() const = 0;
       
   268 
       
   269         /**
       
   270 		* To access FontSize setting
       
   271         */
       
   272 		virtual TInt FontSize() const = 0;
       
   273 
       
   274         /**
       
   275         * To access Encoding setting
       
   276         */
       
   277         virtual TUint32 Encoding() const = 0;
       
   278 
       
   279         /**
       
   280 		* To access Adaptive Bookmarks setting
       
   281         */
       
   282 		virtual enum TWmlSettingsAdaptiveBookmarks AdaptiveBookmarks() const = 0;
       
   283 
       
   284         /**
       
   285  		* To access FullScreen setting
       
   286         */
       
   287  		virtual enum TWmlSettingsFullScreen FullScreen() const = 0;
       
   288 
       
   289         /**
       
   290 		* To access Cookies setting
       
   291         */
       
   292 		virtual enum TWmlSettingsCookies Cookies() const = 0;
       
   293 
       
   294         /**
       
   295 		* To access ECMA setting
       
   296         */
       
   297 		virtual enum TWmlSettingsECMA Ecma() const = 0;
       
   298 
       
   299         /**
       
   300 		* To access ScriptLog setting
       
   301         */
       
   302 		virtual TUint32 ScriptLog() const = 0;
       
   303 
       
   304 		/**
       
   305 		* To access HTTP security warning setting
       
   306         */
       
   307 		virtual TBool HttpSecurityWarnings() const = 0;
       
   308 
       
   309 		/**
       
   310 		* To access IMEI notification setting
       
   311 		*/
       
   312 		virtual enum TWmlSettingsIMEI IMEINotification() const = 0;
       
   313 
       
   314 		/**
       
   315 		*To access HTTP security warning supression - read only pref.
       
   316 		*/
       
   317 		virtual TBool HttpSecurityWarningsStatSupressed() const = 0;
       
   318 
       
   319         /**
       
   320 		* To access Downloads Open setting
       
   321         */
       
   322 		virtual TBool DownloadsOpen() const = 0;
       
   323 
       
   324 		/**
       
   325 		* To access user-defined homepage URL setting
       
   326         */
       
   327 		virtual TInt HomePageUrlL( TDes& aUrl, TBool aForceLoadFromSD = EFalse ) const = 0;
       
   328 
       
   329 		/**
       
   330 		* Get the home page URL from belongs to the access point.
       
   331         */
       
   332         virtual TInt HomePageFromIapL( TDes& aUrl, TUint aIap ) const = 0;
       
   333 
       
   334         /**
       
   335         * To access user-defined search page URL setting
       
   336         */
       
   337         virtual TPtrC SearchPageUrlL() = 0;
       
   338 
       
   339 		/**
       
   340 		* To access Query Exit setting
       
   341         */
       
   342         virtual TBool QueryOnExit() const = 0;
       
   343 
       
   344 		/**
       
   345 		* To access Send Referrer setting
       
   346         */
       
   347         virtual TBool SendReferrer() const = 0;
       
   348 
       
   349 		/**
       
   350 		* To access Media Volume setting
       
   351         */
       
   352         virtual TInt MediaVolume() const = 0;
       
   353 
       
   354 		/**
       
   355 		* To access ShowConnectionDialogs setting
       
   356 		*/
       
   357 		virtual TBool ShowConnectionDialogs() const = 0;
       
   358 
       
   359 		/**
       
   360 		* To check that an engine local feature is supported or not
       
   361 		*/
       
   362 
       
   363 		virtual TBool EngineLocalFeatureSupported( const TInt aFeature ) const  = 0;
       
   364 
       
   365 		/**
       
   366 		* To check that a ui local feature is supported or not
       
   367 		*/
       
   368 
       
   369 		virtual TBool UiLocalFeatureSupported( const TInt aFeature ) const  = 0;
       
   370 
       
   371         /**
       
   372         * To access home page's type: AP/user defined.
       
   373         */
       
   374         virtual enum TWmlSettingsHomePage HomePageType() const = 0;
       
   375 
       
   376         /**
       
   377         * To access Popup Blocking Enabled setting#
       
   378         */
       
   379         virtual TBool PopupBlocking() const = 0;
       
   380 
       
   381         /**
       
   382         * To access Form Data Saving setting
       
   383         */
       
   384         virtual TWmlSettingsFormData FormDataSaving() const = 0;
       
   385 
       
   386         /**
       
   387         * To access Access Keys setting : Enabled/Disabled
       
   388         */
       
   389         virtual TBool AccessKeys() const = 0;
       
   390 
       
   391         /**
       
   392 		* To modify DefaultAccessPoint setting
       
   393         */
       
   394 		virtual void SetDefaultAccessPointL( TUint aDefaultAccessPoint, TUint aAssocVpn = KWmlNoDefaultAccessPoint  ) = 0;
       
   395 
       
   396 		/**
       
   397 		* To modify DefaultSnapId setting
       
   398         */
       
   399 		virtual void SetDefaultSnapId (TUint aSnapId) = 0;
       
   400 
       
   401         /**
       
   402 		* To modify AutoLoadContent setting
       
   403         */
       
   404 		virtual void SetAutoLoadContentL( TInt aAutoLoadContent ) = 0;
       
   405 
       
   406         /**
       
   407 		* To modify PageOverview setting
       
   408         */
       
   409 		virtual void SetPageOverviewL( TBool aPageOverview ) = 0;
       
   410 
       
   411 		/**
       
   412 		* To modify BackList setting
       
   413         */
       
   414 		virtual void SetBackListL( TBool aBackList ) = 0;
       
   415 
       
   416 		/**
       
   417 		* To modify AutoRefresh setting
       
   418         */
       
   419 		virtual void SetAutoRefreshL( TBool aAutoRefresh ) = 0;
       
   420 
       
   421         /**
       
   422 		* To modify TextWrap setting
       
   423         */
       
   424 		virtual void SetTextWrapL( TBool aTextWrap ) = 0;
       
   425 
       
   426         /**
       
   427 		* To modify FontSize setting
       
   428         */
       
   429 		virtual void SetFontSizeL( TInt aFontSize ) = 0;
       
   430 
       
   431         /**
       
   432         * To modify encoding settings
       
   433         */
       
   434         virtual void SetEncodingL( TUint32 aEncoding ) = 0;
       
   435 
       
   436         /**
       
   437 		* To modify Adaptive Bookmarks setting
       
   438         */
       
   439 		virtual void SetAdaptiveBookmarksL( TWmlSettingsAdaptiveBookmarks aAdaptiveBookmarks ) = 0;
       
   440 
       
   441         /**
       
   442  		* To modify FullScreen setting
       
   443         */
       
   444  		virtual void SetFullScreenL( TWmlSettingsFullScreen aFullScreen ) = 0;
       
   445 
       
   446         /**
       
   447 		* To modify Cookies setting
       
   448         */
       
   449 		virtual void SetCookiesL( TWmlSettingsCookies aCookies ) = 0;
       
   450 
       
   451         /**
       
   452  		* To modify ECMA setting
       
   453         */
       
   454  		virtual void SetEcmaL( TWmlSettingsECMA aEcma ) = 0;
       
   455 
       
   456         /**
       
   457  		* To modify Script Console setting
       
   458         */
       
   459  		virtual void SetScriptLogL( TUint32 aScriptLog ) = 0;
       
   460 
       
   461 		/**
       
   462 		* To modify HTTP security warnings setting
       
   463         */
       
   464 		virtual void SetHttpSecurityWarningsL( TBool aWarningsOn ) = 0;
       
   465 
       
   466 		/**
       
   467 		* To modify IMEI notification setting
       
   468 		*/
       
   469 		virtual void SetIMEINotificationL( TWmlSettingsIMEI aIMEINotification )  = 0;
       
   470 
       
   471         /**
       
   472         * To modify Downloads Open setting
       
   473         */
       
   474         virtual void SetDownloadsOpenL( TBool aOpen ) = 0;
       
   475 
       
   476 		/**
       
   477 		* To modify Media Volume setting
       
   478         */
       
   479 		virtual void SetMediaVolumeL( TInt aMediaVolume ) = 0;
       
   480 
       
   481         /**
       
   482         * To modify HomePage's type: AP/user defined.
       
   483         */
       
   484         virtual void SetHomePageTypeL( TWmlSettingsHomePage aHomePageType ) = 0;
       
   485 
       
   486         /**
       
   487         * To modify user-defined HomePage.
       
   488         */
       
   489         virtual void SetHomePageUrlL( const TDesC& aHomePageURL ) = 0;
       
   490 
       
   491         /**
       
   492         * To modify user-defined Search page URL
       
   493         */
       
   494         virtual void SetSearchPageUrlL( const TDesC& aSearchPageURL ) = 0;
       
   495 
       
   496         /**
       
   497         * To determine that is there an overridden default access point defined or not
       
   498         */
       
   499         virtual TBool CustomAccessPointDefined() = 0;
       
   500 
       
   501         /**
       
   502         * To access to the list of self download content types.
       
   503         * See CBrCtlInterface::SetSelfDownloadContentTypesL()!
       
   504         */
       
   505         virtual TPtrC SelfDownloadContentTypesL() = 0;
       
   506 
       
   507 	    /**
       
   508 	    * To access Default Access Point selection mode settings.
       
   509         */
       
   510         virtual TCmSettingSelectionMode AccessPointSelectionMode() = 0;
       
   511 
       
   512         /**
       
   513 		* To modify Default Access Point Settings
       
   514         */
       
   515         virtual void SetAccessPointSelectionModeL( TCmSettingSelectionMode aAccessPointSelectionMode ) = 0;
       
   516 
       
   517         /**
       
   518         * To modify Popup Blocking Enabled settign
       
   519         */
       
   520         virtual void SetPopupBlockingL( TBool aPopupBlocking ) = 0;
       
   521 
       
   522         /**
       
   523         * To modify Form Data Saving setting
       
   524         */
       
   525         virtual void SetFormDataSavingL( TWmlSettingsFormData aFormDataSaving ) = 0;
       
   526 
       
   527         /**
       
   528         * To access pre defined short cut keys
       
   529         */
       
   530         virtual HBufC* ShortCutFuncHomePg() const = 0;
       
   531 
       
   532         /**
       
   533         * To access pre defined short cut keys
       
   534         */
       
   535         virtual HBufC* ShortCutFuncBkMark() const = 0;
       
   536 
       
   537         /**
       
   538         * To access pre defined short cut keys
       
   539         */
       
   540         virtual HBufC* ShortCutFuncFindKeyWord() const = 0;
       
   541 
       
   542         /**
       
   543         * To access pre defined short cut keys
       
   544         */
       
   545         virtual HBufC* ShortCutFuncPrePage() const = 0;
       
   546 
       
   547         /**
       
   548         * To access pre defined short cut keys
       
   549         */
       
   550         virtual HBufC* ShortCutFuncSwitchWin() const = 0;
       
   551 
       
   552         /**
       
   553         * To access pre defined short cut keys
       
   554         */
       
   555         virtual HBufC* ShortCutFuncMiniImage() const = 0;
       
   556 
       
   557         /**
       
   558         * To access pre defined short cut keys
       
   559         */
       
   560         virtual HBufC* ShortCutFuncFullScreen() const = 0;
       
   561 
       
   562         /**
       
   563         * To access pre defined short cut keys
       
   564         */
       
   565         virtual HBufC* ShortCutFuncGoAddr() const = 0;
       
   566 
       
   567         /**
       
   568         * To access pre defined short cut keys
       
   569         */
       
   570         virtual HBufC* ShortCutFuncZoomIn() const = 0;
       
   571 
       
   572         /**
       
   573         * To access pre defined short cut keys
       
   574         */
       
   575         virtual HBufC* ShortCutFuncZoomOut() const = 0;
       
   576 
       
   577         /**
       
   578         * To access pre defined short cut keys
       
   579         */
       
   580         virtual HBufC* ShortCutFuncZoomMode() const = 0;
       
   581 
       
   582         /**
       
   583         * To get value of Rotate Display setting
       
   584         */
       
   585         virtual TBool RotateDisplay() const = 0;
       
   586 
       
   587         /**
       
   588         * To get Toolbar On/Off value
       
   589         */
       
   590         virtual TInt ShowToolbarOnOff() const = 0;
       
   591 
       
   592         /**
       
   593         * To set Toolbar On/Off value
       
   594         */
       
   595         virtual void SetToolbarOnOffL(TInt aCommand) = 0;
       
   596 
       
   597         /**
       
   598         * To get Toolbar Button 1 command value
       
   599         */
       
   600         virtual TInt ShowToolbarButton1Cmd() const = 0;
       
   601 
       
   602         /**
       
   603         * To set Toolbar Button 1 command value
       
   604         */
       
   605         virtual void SetToolbarButton1CmdL(TInt aCommand) = 0;
       
   606 
       
   607         /**
       
   608         * To get Toolbar Button 2 command value
       
   609         */
       
   610         virtual TInt ShowToolbarButton2Cmd() const = 0;
       
   611 
       
   612         /**
       
   613         * To set Toolbar Button 2 command value
       
   614         */
       
   615         virtual void SetToolbarButton2CmdL(TInt aCommand) = 0;
       
   616 
       
   617         /**
       
   618         * To get Toolbar Button 3 command value
       
   619         */
       
   620         virtual TInt ShowToolbarButton3Cmd() const = 0;
       
   621 
       
   622         /**
       
   623         * To set Toolbar Button 3 command value
       
   624         */
       
   625         virtual void SetToolbarButton3CmdL(TInt aCommand) = 0;
       
   626 
       
   627         /**
       
   628         * To get Toolbar Button 4 command value
       
   629         */
       
   630         virtual TInt ShowToolbarButton4Cmd() const = 0;
       
   631 
       
   632         /**
       
   633         * To set Toolbar Button 4 command value
       
   634         */
       
   635         virtual void SetToolbarButton4CmdL(TInt aCommand) = 0;
       
   636 
       
   637         /**
       
   638         * To get Toolbar Button 5 command value
       
   639         */
       
   640         virtual TInt ShowToolbarButton5Cmd() const = 0;
       
   641 
       
   642         /**
       
   643         * To set Toolbar Button 5 command value
       
   644         */
       
   645         virtual void SetToolbarButton5CmdL(TInt aCommand) = 0;
       
   646 
       
   647         /**
       
   648         * To get Toolbar Button 6 command value
       
   649         */
       
   650         virtual TInt ShowToolbarButton6Cmd() const = 0;
       
   651 
       
   652         /**
       
   653         * To set Toolbar Button 6 command value
       
   654         */
       
   655         virtual void SetToolbarButton6CmdL(TInt aCommand) = 0;
       
   656 
       
   657         /**
       
   658         * To get Toolbar Button 7 command value
       
   659         */
       
   660         virtual TInt ShowToolbarButton7Cmd() const = 0;
       
   661 
       
   662         /**
       
   663         * To set Toolbar Button 7 command value
       
   664         */
       
   665         virtual void SetToolbarButton7CmdL(TInt aCommand) = 0;
       
   666 
       
   667         /**
       
   668         * To get Shortcut Key 1 command value
       
   669         */
       
   670         virtual TInt ShortcutKey1Cmd() const = 0;
       
   671 
       
   672         /**
       
   673         * To set Shortcut Key 1 command value
       
   674         */
       
   675         virtual void SetShortcutKey1CmdL(TInt aCommand) = 0;
       
   676 
       
   677          /**
       
   678         * To get Shortcut Key 2 command value
       
   679         */
       
   680         virtual TInt ShortcutKey2Cmd() const = 0;
       
   681 
       
   682         /**
       
   683         * To set Shortcut Key 2 command value
       
   684         */
       
   685         virtual void SetShortcutKey2CmdL(TInt aCommand) = 0;
       
   686 
       
   687         /**
       
   688         * To get Shortcut Key 3 command value
       
   689         */
       
   690         virtual TInt ShortcutKey3Cmd() const = 0;
       
   691 
       
   692         /**
       
   693         * To set Shortcut Key 3 command value
       
   694         */
       
   695         virtual void SetShortcutKey3CmdL(TInt aCommand) = 0;
       
   696 
       
   697         /**
       
   698         * To get Shortcut Key 4 command value
       
   699         */
       
   700         virtual TInt ShortcutKey4Cmd() const = 0;
       
   701 
       
   702         /**
       
   703         * To set Shortcut Key 4 command value
       
   704         */
       
   705         virtual void SetShortcutKey4CmdL(TInt aCommand) = 0;
       
   706 
       
   707         /**
       
   708         * To get Shortcut Key 5 command value
       
   709         */
       
   710         virtual TInt ShortcutKey5Cmd() const = 0;
       
   711 
       
   712         /**
       
   713         * To set Shortcut Key 5 command value
       
   714         */
       
   715         virtual void SetShortcutKey5CmdL(TInt aCommand) = 0;
       
   716 
       
   717         /**
       
   718         * To get Shortcut Key 6 command value
       
   719         */
       
   720         virtual TInt ShortcutKey6Cmd() const = 0;
       
   721 
       
   722         /**
       
   723         * To set Shortcut Key 6 command value
       
   724         */
       
   725         virtual void SetShortcutKey6CmdL(TInt aCommand) = 0;
       
   726 
       
   727         /**
       
   728         * To get Shortcut Key 7 command value
       
   729         */
       
   730         virtual TInt ShortcutKey7Cmd() const = 0;
       
   731 
       
   732         /**
       
   733         * To set Shortcut Key 7 command value
       
   734         */
       
   735         virtual void SetShortcutKey7CmdL(TInt aCommand) = 0;
       
   736 
       
   737         /**
       
   738         * To get Shortcut Key 8 command value
       
   739         */
       
   740         virtual TInt ShortcutKey8Cmd() const = 0;
       
   741 
       
   742         /**
       
   743         * To set Shortcut Key 8 command value
       
   744         */
       
   745         virtual void SetShortcutKey8CmdL(TInt aCommand) = 0;
       
   746 
       
   747         /**
       
   748         * To get Shortcut Key 9 command value
       
   749         */
       
   750         virtual TInt ShortcutKey9Cmd() const = 0;
       
   751 
       
   752         /**
       
   753         * To set Shortcut Key 9 command value
       
   754         */
       
   755         virtual void SetShortcutKey9CmdL(TInt aCommand) = 0;
       
   756 
       
   757         /**
       
   758         * To get Shortcut Key 0 command value
       
   759         */
       
   760         virtual TInt ShortcutKey0Cmd() const = 0;
       
   761 
       
   762         /**
       
   763         * To set Shortcut Key 0 command value
       
   764         */
       
   765         virtual void SetShortcutKey0CmdL(TInt aCommand) = 0;
       
   766 
       
   767         /**
       
   768         * To get Shortcut Key Star command value
       
   769         */
       
   770         virtual TInt ShortcutKeyStarCmd() const = 0;
       
   771 
       
   772         /**
       
   773         * To set Shortcut Key Star command value
       
   774         */
       
   775         virtual void SetShortcutKeyStarCmdL(TInt aCommand) = 0;
       
   776 
       
   777         /**
       
   778         * To get Shortcut Key Hash command value
       
   779         */
       
   780         virtual TInt ShortcutKeyHashCmd() const = 0;
       
   781 
       
   782         /**
       
   783         * To set Shortcut Key Hash command value
       
   784         */
       
   785         virtual void SetShortcutKeyHashCmdL(TInt aCommand) = 0;
       
   786 
       
   787         /**
       
   788         * To get Shortcut Key for Qwerty command value
       
   789         */
       
   790         virtual TInt ShortcutKeysForQwerty() const = 0;
       
   791 
       
   792         /**
       
   793         * Zoom Level minimum (percentage) value
       
   794         */
       
   795         virtual inline TUint32 ZoomLevelMinimum() const = 0;
       
   796 
       
   797         /**
       
   798         * Zoom Level maximum (percentage) value
       
   799         */
       
   800         virtual inline TUint32 ZoomLevelMaximum() const = 0;
       
   801 
       
   802         /**
       
   803         * Zoom Level default (percentage) value
       
   804         */
       
   805         virtual inline TUint32 ZoomLevelDefault() const = 0;
       
   806 
       
   807    		/**
       
   808 		* Maximum Recent URLs to show
       
   809         */
       
   810         virtual TInt MaxRecentUrls() const = 0;
       
   811 
       
   812         /**
       
   813         * Search Feature Enabled or Disabled.
       
   814         */
       
   815         virtual inline TBool SearchFeature() const = 0;
       
   816 
       
   817         /**
       
   818         * Service Feature Enabled or Disabled.
       
   819         */
       
   820         virtual inline TBool ServiceFeature() const = 0;
       
   821 
       
   822         /**
       
   823         * To access an int value key in ini file
       
   824         * @param aKey the ini file key to read
       
   825         * @return the value of the given key
       
   826         */
       
   827         virtual TInt GetIntValue( TUint32 aKey) const = 0;
       
   828 
       
   829         /**
       
   830         * To access an string value key in ini file
       
   831         * @param aKey the ini file key to read
       
   832         * @return the value of the given key
       
   833         */
       
   834         virtual TInt GetStringValueL ( TUint32 aKey, TInt aMaxBufSize, TDes& aBuf ) const = 0;
       
   835 
       
   836         /**  
       
   837 	    * Cursor show mode  
       
   838 	    */  
       
   839         virtual TBrCtlDefs::TCursorSettings CursorShowMode() const = 0;  
       
   840 
       
   841        /**
       
   842         * Enter key mode
       
   843         */
       
   844         virtual TBrCtlDefs::TEnterKeySettings EnterKeyMode() const = 0;
       
   845 
       
   846     public:     // observer support
       
   847 
       
   848         /**
       
   849         * Adds an observer to be notified about changes. Derived classes MUST
       
   850         * notify all observers when preferences changed!
       
   851         * @param anObserver Observer to be notified about events.
       
   852         */
       
   853         virtual void AddObserverL( MPreferencesObserver* anObserver ) = 0;
       
   854 
       
   855         /**
       
   856         * Removes an observer.
       
   857         * @param anObserver The observer.
       
   858         */
       
   859         virtual void RemoveObserver( MPreferencesObserver* anObserver ) = 0;
       
   860 
       
   861 		/**
       
   862 		* To flush share data key settings
       
   863 		*/
       
   864 		virtual void FlushSD() = 0;
       
   865 
       
   866 		virtual void NotifyObserversL( TPreferencesEvent aEvent,
       
   867                                     TBrCtlDefs::TBrCtlSettings aSettingType ) = 0;
       
   868     };
       
   869 
       
   870 #endif
       
   871 
       
   872 // End of File