diff -r 6aeb7a756187 -r 3c88a81ff781 bedrockProvisioning/bedrockprovisioning.cpp --- a/bedrockProvisioning/bedrockprovisioning.cpp Thu Sep 23 15:32:11 2010 -0400 +++ b/bedrockProvisioning/bedrockprovisioning.cpp Fri Oct 15 17:30:59 2010 -0400 @@ -5,14 +5,14 @@ * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, version 2.1 of the License. -* +* * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License -* along with this program. If not, +* along with this program. If not, * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". * * Description: @@ -25,7 +25,7 @@ #include #include #include -#include "bedrockprovisioning.h" +#include "bedrockprovisioning.h" namespace BEDROCK_PROVISIONING { @@ -41,6 +41,7 @@ BedrockProvisioning::BedrockProvisioning( QObject* parent, QString uid ) : QSettings(IniFormat, UserScope, BEDROCK_ORGANIZATION_NAME, uid, parent) { + setObjectName(QString::fromUtf8("BedrockProvisioning")); m_appuid = uid; init(); @@ -71,7 +72,7 @@ QString baseDir = QDir::homePath(); // Not sure if this is valid #endif /* QT_NO_DESKTOPSERVICES */ #elif defined Q_WS_MAEMO_5 - QString baseDir = "/opt/browser"; + QString baseDir = "/opt/nokia-browser"; #else /* Win or Linux */ QString baseDir = "."; /* Should this also be homePath()? */ #endif @@ -93,6 +94,15 @@ #endif QSettings::setValue("DataBaseDirectory", baseDir + "/"); } + + if (!QSettings::contains("DataBaseName")) { +#if defined Q_WS_MAEMO_5 + QString baseDir = QDir::homePath(); + QSettings::setValue("DataBaseName", baseDir + "/browserContent.db"); +#else + QSettings::setValue("DataBaseName", "browserContent.db"); +#endif + } if (!QSettings::contains("ChromeBaseDirectory")) { QString chromeBaseDir = ":/chrome/"; @@ -102,39 +112,42 @@ if (envChromeBaseDir != "") chromeBaseDir = envChromeBaseDir; #endif - QSettings::setValue("ChromeBaseDirectory", chromeBaseDir); - } + QSettings::setValue("ChromeBaseDirectory", chromeBaseDir); + } if (!QSettings::contains("LocalPagesBaseDirectory")) { #ifdef Q_OS_SYMBIAN QString localpagesBaseDir = QSettings::value("ROMBaseDirectory").toString() + "localpages/"; +#elif defined Q_WS_MAEMO_5 + QDir localpages("/opt/nokia-browser/localpagesmaemo/"); + QString localpagesBaseDir; + if(localpages.exists()) //harware build + localpagesBaseDir = "/opt/nokia-browser/localpagesmaemo/"; + else //emulator + localpagesBaseDir = "./sf/app/browserui/ginebra2/chrome/localpagesmaemo/"; #else - QString localpagesBaseDir = QSettings::value("ChromeBaseDirectory").toString() + "localpages/"; - // Maemo, Linux, Windows can override using an env var + QString localpagesBaseDir = "chrome/localpages/"; + // Linux, Windows can override using an env var static const QString envBaseDir = QProcessEnvironment::systemEnvironment().value("BROWSER_LOCALPAGES"); // allow env var overriding for dev if (envBaseDir != "") localpagesBaseDir = envBaseDir; #endif - QSettings::setValue("LocalPagesBaseDirectory", localpagesBaseDir); + QSettings::setValue("LocalPagesBaseDirectory", localpagesBaseDir); } - + if (!QSettings::contains("StartUpChrome")) { -#ifdef BROWSER_LAYOUT_TENONE - QSettings::setValue("StartUpChrome", "bedrockchrome/chrome_tenone.html"); -#else - QSettings::setValue("StartUpChrome", "bedrockchrome/chrome.html"); -#endif - } + QSettings::setValue("StartUpChrome", "chrome.html"); + } if (!QSettings::contains("SplashImage")) { - QSettings::setValue("SplashImage", "localpages/bedrock_splash.png"); + QSettings::setValue("SplashImage", "bedrock_splash.png"); } if (!QSettings::contains("NetworkProxy")) { // For s60 arm and maemo arm (i.e. not x86 emulator build) we need to set no proxy #if (defined(Q_OS_SYMBIAN) && !defined(Q_CC_NOKIAX86)) || (defined(Q_WS_MAEMO_5) && !defined(QT_ARCH_I386)) // empty proxy only for ARMV5 Symbian targets - QSettings::setValue("NetworkProxy", QString()); + QSettings::setValue("NetworkProxy", QString()); // everything else, linux, win, s60 emulator, maemo emulator needs proxy #else QSettings::setValue("NetworkProxy", "bswebproxy01.americas.nokia.com"); @@ -145,7 +158,7 @@ // For s60 arm and maemo arm (i.e. not x86 emulator build) we need to set no proxy #if (defined(Q_OS_SYMBIAN) && !defined(Q_CC_NOKIAX86)) || (defined(Q_WS_MAEMO_5) && !defined(QT_ARCH_I386)) // empty proxy only for ARMV5 Symbian targets - QSettings::setValue("NetworkPort", QString()); + QSettings::setValue("NetworkPort", QString()); // everything else, linux, win, s60 emulator, maemo emulator needs proxy #else QSettings::setValue("NetworkPort", "8080"); @@ -155,19 +168,14 @@ QSettings::setValue("DiskCacheEnabled", "1"); if (!QSettings::contains("DiskCacheMaxSize")) - QSettings::setValue("DiskCacheMaxSize", "4194304"); + QSettings::setValue("DiskCacheMaxSize", "6291456"); //6M if (!QSettings::contains("MaxPagesInCache")) QSettings::setValue("MaxPagesInCache", "3"); if (!QSettings::contains("DnsPrefetchEnabled")) QSettings::setValue("DnsPrefetchEnabled", "0"); - -#ifdef Q_OS_SYMBIAN - const QString diskCacheBaseDir = "d:/system/"; -#else const QString diskCacheBaseDir = QSettings::value("DataBaseDirectory").toString(); -#endif if (!QSettings::contains("DiskCacheDirectoryPath")) { QSettings::setValue("DiskCacheDirectoryPath", diskCacheBaseDir + "brCache"); @@ -195,7 +203,11 @@ } if (!QSettings::contains("Html5DatabaseStorage")) { + #if defined Q_WS_MAEMO_5 + QSettings::setValue("Html5DatabaseStorage", "0"); + #else QSettings::setValue("Html5DatabaseStorage", "1"); + #endif } if (!QSettings::contains("Html5DatabaseStorageMaxSize")) { @@ -224,43 +236,285 @@ QString maxSize = QString::number(200 * 1024 * 1024); QSettings::setValue("Html5ApplicationCacheMaxSize", maxSize); } - + + + + // Gestures library settings + initGestureParams(); + + // reserved entries for local bookmarks if (!QSettings::contains("Bookmark0Title")) { QSettings::setValue("Bookmark0Title", "Browser Welcome Page"); } - + if (!QSettings::contains("Bookmark0Url")) { QSettings::setValue("Bookmark0Url", "startpage.html"); } - + if (!QSettings::contains("Bookmark1Title")) { QSettings::setValue("Bookmark1Title", ""); } - + if (!QSettings::contains("Bookmark1Url")) { QSettings::setValue("Bookmark1Url", ""); } - + if (!QSettings::contains("Bookmark2Title")) { QSettings::setValue("Bookmark2Title", ""); } - + if (!QSettings::contains("Bookmark2Url")) { QSettings::setValue("Bookmark2Url", ""); } } - - // userAgentStringSetup, default empty. - if (!QSettings::contains("UserAgentString")) + + // userAgentStringSetup, default empty. + + if (!QSettings::contains("UserAgentString")) { - QSettings::setValue("UserAgentString", QString()); - } + #if defined Q_WS_MAEMO_5 + QSettings::setValue("UserAgentString", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"); + #else // Symbian, Linux etc. + QSettings::setValue("UserAgentString", QString()); + #endif + } + + + + //Scrolling options + initScrollingParams(); + + //Tiling options + initTilingParams(); + endGroup(); // m_appuid sync(); } +void BedrockProvisioning::initScrollingParams() +{ + if (!QSettings::contains("KineticDeceleration")) { + QSettings::setValue("KineticDeceleration", 2.0); + } + + if (!QSettings::contains("MaxFlickSpeed")) { + QSettings::setValue("MaxFlickSpeed", 1.2); + } + + if (!QSettings::contains("MidFlickSpeed")) { + QSettings::setValue("MidFlickSpeed", 0.5); + } + + if (!QSettings::contains("MinFlickSpeed")) { + QSettings::setValue("MinFlickSpeed", 0.15); + } + + if (!QSettings::contains("MaxFlickInViewportUnits")) { + QSettings::setValue("MaxFlickInViewportUnits", 0.7); + } + if (!QSettings::contains("MidFlickInViewportUnits")) { + QSettings::setValue("MidFlickInViewportUnits", 0.4); + } + if (!QSettings::contains("MinFlickInViewportUnits")) { + QSettings::setValue("MinFlickInViewportUnits", 0.2); + } + + if (!QSettings::contains("MaxFlickDuration")) { + QSettings::setValue("MaxFlickDuration", 1000); + } + if (!QSettings::contains("MidFlickDuration")) { + QSettings::setValue("MidFlickDuration", 800); + } + if (!QSettings::contains("MinFlickDuration")) { + QSettings::setValue("MinFlickDuration", 500); + } + if (!QSettings::contains("ScrollOvershoot")) { + QSettings::setValue("ScrollOvershoot", 1.70158); + } +} + +void BedrockProvisioning::initTilingParams() +{ + if (!QSettings::contains("EnableTiling")) { + QSettings::setValue("EnableTiling", 1); + } + if (!QSettings::contains("TilesWidth")) { + QSettings::setValue("TilesWidth", 256); + } + if (!QSettings::contains("TilesHeight")) { + QSettings::setValue("TilesHeight", 256); + } + if (!QSettings::contains("TileCreationDelay")) { + QSettings::setValue("TileCreationDelay", 50); + } + if (!QSettings::contains("TileCoverAreaMultiplier")) { + QSettings::setValue("TileCoverAreaMultiplier", 2.5); + } + if (!QSettings::contains("TileKeepAreaMultiplier")) { + QSettings::setValue("TileKeepAreaMultiplier", 2.5); + } +} + +void BedrockProvisioning::initGestureParams() +{ + // Enable/disable specific gestures + if (!QSettings::contains("GesturesEnableTap")) { + QSettings::setValue("GesturesEnableTap", 1); + } + if (!QSettings::contains("GesturesEnablePan")) { + QSettings::setValue("GesturesEnablePan", 1); + } + if (!QSettings::contains("GesturesEnableHover")) { + QSettings::setValue("GesturesEnableHover", 0); + } + if (!QSettings::contains("GesturesEnableLeftRight")) { + QSettings::setValue("GesturesEnableLeftRight", 1); + } + if (!QSettings::contains("GesturesEnableUpDown")) { + QSettings::setValue("GesturesEnableUpDown", 1); + } + if (!QSettings::contains("GesturesEnableFlick")) { + QSettings::setValue("GesturesEnableFlick", 1); + } + if (!QSettings::contains("GesturesEnableRelease")) { + QSettings::setValue("GesturesEnableRelease", 1); + } + if (!QSettings::contains("GesturesEnableTouch")) { + QSettings::setValue("GesturesEnableTouch", 1); + } + if (!QSettings::contains("GesturesEnableEdgeScroll")) { + QSettings::setValue("GesturesEnableEdgeScroll", 0); + } + if (!QSettings::contains("GesturesEnableCornerZoom")) { + QSettings::setValue("GesturesEnableCornerZoom", 0); + } + if (!QSettings::contains("GesturesEnablePinch")) { + QSettings::setValue("GesturesEnablePinch", 1); + } + if (!QSettings::contains("GesturesEnableLongPress")) { + QSettings::setValue("GesturesEnableLongPress", 1); + } + if (!QSettings::contains("GesturesEnableUnknown")) { + QSettings::setValue("GesturesEnableUnknown", 1); + } + + // General gesture settings + if (!QSettings::contains("GesturesEnableLogging")) { + QSettings::setValue("GesturesEnableLogging", 0); + } + if (!QSettings::contains("GesturesSuppressTimeout")) { + QSettings::setValue("GesturesSuppressTimeout", 0); + } + if (!QSettings::contains("GesturesMoveSuppressTimeout")) { + QSettings::setValue("GesturesMoveSuppressTimeout", 0); + } + if (!QSettings::contains("GesturesCapacitiveUpUsed")) { +#ifdef ADVANCED_POINTER_EVENTS + QSettings::setValue("GesturesCapacitiveUpUsed", 1); +#else + QSettings::setValue("GesturesCapacitiveUpUsed", 0); +#endif + } + if (!QSettings::contains("GesturesAdjustYPos")) { +#ifdef ADVANCED_POINTER_EVENTS + QSettings::setValue("GesturesAdjustYPos", 0); +#else + QSettings::setValue("GesturesAdjustYPos", 0); +#endif + } + if (!QSettings::contains("GesturesEnableFiltering")) { + QSettings::setValue("GesturesEnableFiltering", 1); + } + if (!QSettings::contains("GesturesWServMessageInterception")) { + QSettings::setValue("GesturesWServMessageInterception", 0); + } + + // Individual gesture specific settings + // Tap + if (!QSettings::contains("GesturesDoubleTapTimeout")) { + QSettings::setValue("GesturesDoubleTapTimeout", 600); + } + // Pan + if (!QSettings::contains("GesturesPanSpeedLow")) { + QSettings::setValue("GesturesPanSpeedLow", 5); + } + if (!QSettings::contains("GesturesPanSpeedHigh")) { + QSettings::setValue("GesturesPanSpeedHigh", 50); + } + if (!QSettings::contains("GesturesPanDisabledWhileHovering")) { + QSettings::setValue("GesturesPanDisabledWhileHovering", 0); + } + if (!QSettings::contains("GesturesMoveTolerance")) { + QSettings::setValue("GesturesMoveTolerance", 0); + } + // Hover + if (!QSettings::contains("GesturesHoverSpeed")) { + QSettings::setValue("GesturesHoverSpeed", 0); + } + if (!QSettings::contains("GesturesHoverDisabledWhilePanning")) { + QSettings::setValue("GesturesHoverDisabledWhilePanning", 0); + } + // Flick + if (!QSettings::contains("GesturesFlickSpeed")) { + QSettings::setValue("GesturesFlickSpeed", 35); + } + // EdgeScroll + if (!QSettings::contains("GesturesEdgeScrollRange")) { + QSettings::setValue("GesturesEdgeScrollRange", 20); + } + // CornerZoom + if (!QSettings::contains("GesturesZoomCornerSize")) { + QSettings::setValue("GesturesZoomCornerSize", 7); + } + // Area settings + if (!QSettings::contains("GesturesTouchAreaShape")) { + QSettings::setValue("GesturesTouchAreaShape", 1); + } + if (!QSettings::contains("GesturesTouchAreaTimeout")) { + QSettings::setValue("GesturesTouchAreaTimeout", 50); + } + if (!QSettings::contains("GesturesTouchAreaWidth")) { + QSettings::setValue("GesturesTouchAreaWidth", 7); + } + if (!QSettings::contains("GesturesTouchAreaHeight")) { + QSettings::setValue("GesturesTouchAreaHeight", 7); + } + if (!QSettings::contains("GesturesTimeAreaShape")) { + QSettings::setValue("GesturesTimeAreaShape", 1); + } + if (!QSettings::contains("GesturesTimeAreaTimeout")) { + QSettings::setValue("GesturesTimeAreaTimeout", 0); + } + if (!QSettings::contains("GesturesTimeAreaWidth")) { + QSettings::setValue("GesturesTimeAreaWidth", 11); + } + if (!QSettings::contains("GesturesTimeAreaHeight")) { + QSettings::setValue("GesturesTimeAreaHeight", 11); + } + if (!QSettings::contains("GesturesHoldAreaShape")) { + QSettings::setValue("GesturesHoldAreaShape", 1); + } + if (!QSettings::contains("GesturesHoldAreaTimeout")) { + QSettings::setValue("GesturesHoldAreaTimeout", 1000); + } + if (!QSettings::contains("GesturesHoldAreaWidth")) { + QSettings::setValue("GesturesHoldAreaWidth", 7); + } + if (!QSettings::contains("GesturesHoldAreaHeight")) { + QSettings::setValue("GesturesHoldAreaHeight", 7); + } + if (!QSettings::contains("GesturesAxisLockThreshold")) { + QSettings::setValue("GesturesAxisLockThreshold", 0.5); + } + + if (!QSettings::contains("EnableGestures")) { + QSettings::setValue("EnableGestures", 1); + } +} + + QString BedrockProvisioning::valueAsString(const QString &key, const QVariant &defaultValue) { return value(key, defaultValue).toString();