bedrockProvisioning/bedrockprovisioning.cpp
changeset 16 3c88a81ff781
parent 12 afcd8e6d025b
--- 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 <QDesktopServices>
 #include <QProcessEnvironment>
 #include <QWebSettings>
-#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();