Code:
case KBrowserNGPopupBlocking:
{
// popupblocking = 1 = enable
err = iRepository->Set( crId, KOne );
break;
}
......
// ---------------------------------------------------------
// CWebUiSettings::DoSettingsActionL
// ---------------------------------------------------------
//
TInt CWebUiSettings::DoSettingsActionL( TDesC& aActionString )
{
TInt err( KErrNone );
// Find the settings action being requested, remembering that the url
// encoded action string format is: "settingName=settingValue"
for ( int i=0; settingsTable[i].settingName != KNullDesC; i++ )
{
// Get the setting name as a string
TPtrC settingName( settingsTable[i].settingName );
// Is this the setting we want to change, get the id
if ( aActionString.Find(settingName) != KErrNotFound )
{
// Get the Central Repository setting id and the setting value
TInt crId = settingsTable[i].crId;
TInt pos = aActionString.Locate( '=' );
TPtrC settingValue = aActionString.Mid( pos + 1 );
// The settingName and settingValue are strings (TDesC&)
(void)UpdateSettingDb( crId, settingName, settingValue );
// Inform the BrCtl engine of the setting changes. The engine only
// cares about a subset of settings
TBrCtlDefs::TBrCtlSettings settingId = settingsTable[i].settingId;
(void)SetEngineSettingL( settingId, settingValue );
break;
}
}
return err;
}
settingsTable:
struct TSettingsEntry
{
TBrCtlDefs::TBrCtlSettings settingId; // TBrCtlDefs setting id, used to inform BrCtl Engine of change
TUint32 crId; // Central Repository setting id, used as index to store id
const TDesC& settingName; // String name of the settings, used by url-encoded string
};
const TSettingsEntry settingsTable[] =
{
// TBrCtlDefs setting id Central Repository id String name
//========================================== ============================ ====================
// {TBrCtlDefs::ESettingsSmallScreen, KSmallScreen},
{TBrCtlDefs::ESettingsAutoLoadImages, KBrowserNGImagesEnabled, KAutoLoadImages},
{TBrCtlDefs::ESettingsFontSize, KBrowserNGFontSize, KFontSize},
// {TBrCtlDefs::ESettingsEmbedded, KEmbedded},
// {TBrCtlDefs::ESettingsTextWrapEnabled, KTextWrapEnabled},
{TBrCtlDefs::ESettingsCookiesEnabled, KBrowserNGCookiesEnabled, KEnableCookies},
// {TBrCtlDefs::ESettingsCSSFetchEnabled, KCssFetchEnabled},
{TBrCtlDefs::ESettingsECMAScriptEnabled, KBrowserNGECMAScriptSupport, KEnableEcma},
// {TBrCtlDefs::ESettingsIMEINotifyEnabled, KIMEINotifyEnabled},
{TBrCtlDefs::ESettingsCharacterset, KBrowserNGEncoding, KDefaultCharSet},
// {TBrCtlDefs::ESettingsSendRefererHeader, KSendReferHeader},
{TBrCtlDefs::ESettingsSecurityWarnings, KBrowserNGShowSecurityWarnings, KSecurityNotifications},
{TBrCtlDefs::ESettingsApId, KBrowserNGDefaultAccessPoint, KAccessPoint},
// {TBrCtlDefs::ESettingsCurrentZoomLevelIndex, KCurrentZoomLevel},
// {TBrCtlDefs::ESettingsPageOverview, KBrowserNGPageOverview, KPageOverview},
// {TBrCtlDefs::ESettingsNumOfDownloads, KNumOfDownloads},
// {TBrCtlDefs::ESettingsLaunchAppUid, KLaunchAppUid},
// {TBrCtlDefs::ESettingsLaunchViewId, KLaunchViewUid},
// {TBrCtlDefs::ESettingsLaunchCustomMessageId, KLauchCustomMessageId},
{TBrCtlDefs::ESettingsBackList, KBrowserNGBackList, KBackList},
// {TBrCtlDefs::ESettingsAutoRefresh, KAutoRefresh},
// {TBrCtlDefs::ESettingsBrowserUtf8Encoding, KBrowserUtf8Encoding},
// These are additional setting enums, beyond TBrCtlDefs and WebKitControl::SettingContainer
{TBrCtlDefs::ESettingsUnknown, KBrowserNGAdaptiveBookmarks, KAdaptiveBookmarks},
{TBrCtlDefs::ESettingsUnknown, KBrowserNGHomepageURL, KHomePageUrl},
{TBrCtlDefs::ESettingsUnknown, KBrowserNGHomepageType, KHomePageType},
{TBrCtlDefs::ESettingsUnknown, KBrowserNGFullScreen, KFullScreen},
{TBrCtlDefs::ESettingsUnknown, 0x00000000, KNullDesC}
};
there is not something about "pop-up" in the settingsTable