bedrockProvisioning/bedrockprovisioning.cpp
changeset 16 3c88a81ff781
parent 12 afcd8e6d025b
equal deleted inserted replaced
14:6aeb7a756187 16:3c88a81ff781
     3 * All rights reserved.
     3 * All rights reserved.
     4 *
     4 *
     5 * This program is free software: you can redistribute it and/or modify
     5 * This program is free software: you can redistribute it and/or modify
     6 * it under the terms of the GNU Lesser General Public License as published by
     6 * it under the terms of the GNU Lesser General Public License as published by
     7 * the Free Software Foundation, version 2.1 of the License.
     7 * the Free Software Foundation, version 2.1 of the License.
     8 * 
     8 *
     9 * This program is distributed in the hope that it will be useful,
     9 * This program is distributed in the hope that it will be useful,
    10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
    10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12 * GNU Lesser General Public License for more details.
    12 * GNU Lesser General Public License for more details.
    13 *
    13 *
    14 * You should have received a copy of the GNU Lesser General Public License
    14 * You should have received a copy of the GNU Lesser General Public License
    15 * along with this program.  If not, 
    15 * along with this program.  If not,
    16 * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
    16 * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
    17 *
    17 *
    18 * Description:
    18 * Description:
    19 *
    19 *
    20 */
    20 */
    23 #include <QDir>
    23 #include <QDir>
    24 #include <QCoreApplication>
    24 #include <QCoreApplication>
    25 #include <QDesktopServices>
    25 #include <QDesktopServices>
    26 #include <QProcessEnvironment>
    26 #include <QProcessEnvironment>
    27 #include <QWebSettings>
    27 #include <QWebSettings>
    28 #include "bedrockprovisioning.h" 
    28 #include "bedrockprovisioning.h"
    29 
    29 
    30 namespace BEDROCK_PROVISIONING {
    30 namespace BEDROCK_PROVISIONING {
    31 
    31 
    32 BedrockProvisioning* BedrockProvisioning::m_BedrockProvisioning = 0;
    32 BedrockProvisioning* BedrockProvisioning::m_BedrockProvisioning = 0;
    33 
    33 
    39 }
    39 }
    40 
    40 
    41 BedrockProvisioning::BedrockProvisioning( QObject* parent, QString uid ) :
    41 BedrockProvisioning::BedrockProvisioning( QObject* parent, QString uid ) :
    42       QSettings(IniFormat, UserScope, BEDROCK_ORGANIZATION_NAME, uid, parent)
    42       QSettings(IniFormat, UserScope, BEDROCK_ORGANIZATION_NAME, uid, parent)
    43 {
    43 {
       
    44     
    44     setObjectName(QString::fromUtf8("BedrockProvisioning"));
    45     setObjectName(QString::fromUtf8("BedrockProvisioning"));
    45     m_appuid = uid;
    46     m_appuid = uid;
    46     init();
    47     init();
    47 }
    48 }
    48 
    49 
    69                 baseDir = baseDir.mid(2);
    70                 baseDir = baseDir.mid(2);
    70 #else /* QT_NO_DESKTOPSERVICES */
    71 #else /* QT_NO_DESKTOPSERVICES */
    71             QString baseDir = QDir::homePath(); // Not sure if this is valid
    72             QString baseDir = QDir::homePath(); // Not sure if this is valid
    72 #endif /* QT_NO_DESKTOPSERVICES */
    73 #endif /* QT_NO_DESKTOPSERVICES */
    73 #elif defined Q_WS_MAEMO_5
    74 #elif defined Q_WS_MAEMO_5
    74             QString baseDir = "/opt/browser";
    75             QString baseDir = "/opt/nokia-browser";
    75 #else /* Win or Linux */
    76 #else /* Win or Linux */
    76             QString baseDir = "."; /* Should this also be homePath()? */
    77             QString baseDir = "."; /* Should this also be homePath()? */
    77 #endif
    78 #endif
    78             QSettings::setValue("ROMBaseDirectory", baseDir + "/");
    79             QSettings::setValue("ROMBaseDirectory", baseDir + "/");
    79         }
    80         }
    91 #else /* Win or Linux */
    92 #else /* Win or Linux */
    92             QString baseDir = "."; /* Should this also be homePath()? */
    93             QString baseDir = "."; /* Should this also be homePath()? */
    93 #endif
    94 #endif
    94             QSettings::setValue("DataBaseDirectory", baseDir + "/");
    95             QSettings::setValue("DataBaseDirectory", baseDir + "/");
    95         }
    96         }
       
    97         
       
    98         if (!QSettings::contains("DataBaseName")) {
       
    99 #if defined Q_WS_MAEMO_5
       
   100 						QString baseDir = QDir::homePath();
       
   101             QSettings::setValue("DataBaseName", baseDir + "/browserContent.db");
       
   102 #else						
       
   103             QSettings::setValue("DataBaseName", "browserContent.db");
       
   104 #endif
       
   105         }
    96 
   106 
    97         if (!QSettings::contains("ChromeBaseDirectory")) {
   107         if (!QSettings::contains("ChromeBaseDirectory")) {
    98             QString chromeBaseDir = ":/chrome/";
   108             QString chromeBaseDir = ":/chrome/";
    99 #ifndef Q_OS_SYMBIAN
   109 #ifndef Q_OS_SYMBIAN
   100             // Maemo, Linux, Windows can override using an env var
   110             // Maemo, Linux, Windows can override using an env var
   101             static const QString envChromeBaseDir = QProcessEnvironment::systemEnvironment().value("BROWSER_CHROME"); // allow env var overriding for dev
   111             static const QString envChromeBaseDir = QProcessEnvironment::systemEnvironment().value("BROWSER_CHROME"); // allow env var overriding for dev
   102             if (envChromeBaseDir != "")
   112             if (envChromeBaseDir != "")
   103                 chromeBaseDir = envChromeBaseDir;
   113                 chromeBaseDir = envChromeBaseDir;
   104 #endif
   114 #endif
   105           QSettings::setValue("ChromeBaseDirectory", chromeBaseDir); 
   115           QSettings::setValue("ChromeBaseDirectory", chromeBaseDir);
   106         }        	
   116         }
   107 
   117 
   108         if (!QSettings::contains("LocalPagesBaseDirectory")) {
   118         if (!QSettings::contains("LocalPagesBaseDirectory")) {
   109 #ifdef Q_OS_SYMBIAN
   119 #ifdef Q_OS_SYMBIAN
   110             QString localpagesBaseDir = QSettings::value("ROMBaseDirectory").toString() + "localpages/";
   120             QString localpagesBaseDir = QSettings::value("ROMBaseDirectory").toString() + "localpages/";
       
   121 #elif defined Q_WS_MAEMO_5
       
   122             QDir localpages("/opt/nokia-browser/localpagesmaemo/");
       
   123             QString localpagesBaseDir;
       
   124             if(localpages.exists())  //harware build
       
   125                 localpagesBaseDir  = "/opt/nokia-browser/localpagesmaemo/";
       
   126             else //emulator
       
   127                 localpagesBaseDir = "./sf/app/browserui/ginebra2/chrome/localpagesmaemo/";
   111 #else        
   128 #else        
   112             QString localpagesBaseDir = QSettings::value("ChromeBaseDirectory").toString() + "localpages/";
   129             QString localpagesBaseDir = "chrome/localpages/";
   113             // Maemo, Linux, Windows can override using an env var
   130             // Linux, Windows can override using an env var
   114             static const QString envBaseDir = QProcessEnvironment::systemEnvironment().value("BROWSER_LOCALPAGES"); // allow env var overriding for dev
   131             static const QString envBaseDir = QProcessEnvironment::systemEnvironment().value("BROWSER_LOCALPAGES"); // allow env var overriding for dev
   115             if (envBaseDir != "")
   132             if (envBaseDir != "")
   116                 localpagesBaseDir = envBaseDir;
   133                 localpagesBaseDir = envBaseDir;
   117 #endif
   134 #endif
   118           QSettings::setValue("LocalPagesBaseDirectory", localpagesBaseDir); 
   135           QSettings::setValue("LocalPagesBaseDirectory", localpagesBaseDir);
   119         }
   136         }
   120         
   137 
   121         if (!QSettings::contains("StartUpChrome")) {
   138         if (!QSettings::contains("StartUpChrome")) {
   122 #ifdef  BROWSER_LAYOUT_TENONE
   139           QSettings::setValue("StartUpChrome", "chrome.html"); 
   123           QSettings::setValue("StartUpChrome", "bedrockchrome/chrome_tenone.html"); 
   140         }
   124 #else
       
   125           QSettings::setValue("StartUpChrome", "bedrockchrome/chrome.html"); 
       
   126 #endif
       
   127         }        	
       
   128 
   141 
   129         if (!QSettings::contains("SplashImage")) {
   142         if (!QSettings::contains("SplashImage")) {
   130           QSettings::setValue("SplashImage", "localpages/bedrock_splash.png"); 
   143           QSettings::setValue("SplashImage", "bedrock_splash.png"); 
   131         }        	
   144         }        	
   132 
   145 
   133         if (!QSettings::contains("NetworkProxy")) {
   146         if (!QSettings::contains("NetworkProxy")) {
   134 // For s60 arm and maemo arm (i.e. not x86 emulator build) we need to set no proxy
   147 // For s60 arm and maemo arm (i.e. not x86 emulator build) we need to set no proxy
   135 #if (defined(Q_OS_SYMBIAN)  && !defined(Q_CC_NOKIAX86)) || (defined(Q_WS_MAEMO_5) && !defined(QT_ARCH_I386))
   148 #if (defined(Q_OS_SYMBIAN)  && !defined(Q_CC_NOKIAX86)) || (defined(Q_WS_MAEMO_5) && !defined(QT_ARCH_I386))
   136           // empty proxy only for ARMV5 Symbian targets
   149           // empty proxy only for ARMV5 Symbian targets
   137 	        QSettings::setValue("NetworkProxy", QString()); 
   150 	        QSettings::setValue("NetworkProxy", QString());
   138 // everything else, linux, win, s60 emulator, maemo emulator needs proxy
   151 // everything else, linux, win, s60 emulator, maemo emulator needs proxy
   139 #else
   152 #else
   140   	      QSettings::setValue("NetworkProxy", "bswebproxy01.americas.nokia.com");
   153   	      QSettings::setValue("NetworkProxy", "bswebproxy01.americas.nokia.com");
   141 #endif
   154 #endif
   142         }
   155         }
   143 
   156 
   144         if (!QSettings::contains("NetworkPort")) {
   157         if (!QSettings::contains("NetworkPort")) {
   145 // For s60 arm and maemo arm (i.e. not x86 emulator build) we need to set no proxy
   158 // For s60 arm and maemo arm (i.e. not x86 emulator build) we need to set no proxy
   146 #if (defined(Q_OS_SYMBIAN)  && !defined(Q_CC_NOKIAX86)) || (defined(Q_WS_MAEMO_5) && !defined(QT_ARCH_I386))
   159 #if (defined(Q_OS_SYMBIAN)  && !defined(Q_CC_NOKIAX86)) || (defined(Q_WS_MAEMO_5) && !defined(QT_ARCH_I386))
   147           // empty proxy only for ARMV5 Symbian targets
   160           // empty proxy only for ARMV5 Symbian targets
   148 	        QSettings::setValue("NetworkPort", QString()); 
   161 	        QSettings::setValue("NetworkPort", QString());
   149 // everything else, linux, win, s60 emulator, maemo emulator needs proxy
   162 // everything else, linux, win, s60 emulator, maemo emulator needs proxy
   150 #else
   163 #else
   151   	      QSettings::setValue("NetworkPort", "8080");
   164   	      QSettings::setValue("NetworkPort", "8080");
   152 #endif
   165 #endif
   153         }
   166         }
   154         if (!QSettings::contains("DiskCacheEnabled"))
   167         if (!QSettings::contains("DiskCacheEnabled"))
   155             QSettings::setValue("DiskCacheEnabled", "1");
   168             QSettings::setValue("DiskCacheEnabled", "1");
   156 
   169 
   157         if (!QSettings::contains("DiskCacheMaxSize"))
   170         if (!QSettings::contains("DiskCacheMaxSize"))
   158             QSettings::setValue("DiskCacheMaxSize", "4194304");
   171             QSettings::setValue("DiskCacheMaxSize", "6291456"); //6M
   159 
   172 
   160         if (!QSettings::contains("MaxPagesInCache"))
   173         if (!QSettings::contains("MaxPagesInCache"))
   161             QSettings::setValue("MaxPagesInCache", "3");
   174             QSettings::setValue("MaxPagesInCache", "3");
   162 
   175 
   163         if (!QSettings::contains("DnsPrefetchEnabled"))
   176         if (!QSettings::contains("DnsPrefetchEnabled"))
   164             QSettings::setValue("DnsPrefetchEnabled", "0");
   177             QSettings::setValue("DnsPrefetchEnabled", "0");
   165 
       
   166 #ifdef Q_OS_SYMBIAN
       
   167         const QString diskCacheBaseDir = "d:/system/";
       
   168 #else
       
   169         const QString diskCacheBaseDir = QSettings::value("DataBaseDirectory").toString();
   178         const QString diskCacheBaseDir = QSettings::value("DataBaseDirectory").toString();
   170 #endif
       
   171 
   179 
   172         if (!QSettings::contains("DiskCacheDirectoryPath")) {
   180         if (!QSettings::contains("DiskCacheDirectoryPath")) {
   173             QSettings::setValue("DiskCacheDirectoryPath", diskCacheBaseDir + "brCache");
   181             QSettings::setValue("DiskCacheDirectoryPath", diskCacheBaseDir + "brCache");
   174         }
   182         }
   175 
   183 
   193         if (!QSettings::contains("Html5LocalStorage")) {
   201         if (!QSettings::contains("Html5LocalStorage")) {
   194             QSettings::setValue("Html5LocalStorage", "1");
   202             QSettings::setValue("Html5LocalStorage", "1");
   195         }
   203         }
   196 
   204 
   197         if (!QSettings::contains("Html5DatabaseStorage")) {
   205         if (!QSettings::contains("Html5DatabaseStorage")) {
       
   206         	  #if defined Q_WS_MAEMO_5
       
   207             QSettings::setValue("Html5DatabaseStorage", "0");
       
   208             #else
   198             QSettings::setValue("Html5DatabaseStorage", "1");
   209             QSettings::setValue("Html5DatabaseStorage", "1");
       
   210             #endif
   199         }
   211         }
   200 
   212 
   201         if (!QSettings::contains("Html5DatabaseStorageMaxSize")) {
   213         if (!QSettings::contains("Html5DatabaseStorageMaxSize")) {
   202             // This quota applies to each individual persistent
   214             // This quota applies to each individual persistent
   203             // store (local storage, database storage) database.
   215             // store (local storage, database storage) database.
   222             //
   234             //
   223             // Limit: 200MB = 5MB per origin * 40 origins
   235             // Limit: 200MB = 5MB per origin * 40 origins
   224             QString maxSize = QString::number(200 * 1024 * 1024);
   236             QString maxSize = QString::number(200 * 1024 * 1024);
   225             QSettings::setValue("Html5ApplicationCacheMaxSize", maxSize);
   237             QSettings::setValue("Html5ApplicationCacheMaxSize", maxSize);
   226         }
   238         }
   227         
   239 
       
   240 
       
   241 
       
   242         // Gestures library settings
       
   243         initGestureParams();
       
   244 
       
   245 
   228         // reserved entries for local bookmarks
   246         // reserved entries for local bookmarks
   229         if (!QSettings::contains("Bookmark0Title")) {
   247         if (!QSettings::contains("Bookmark0Title")) {
   230             QSettings::setValue("Bookmark0Title", "Browser Welcome Page");
   248             QSettings::setValue("Bookmark0Title", "Browser Welcome Page");
   231         }
   249         }
   232         
   250 
   233         if (!QSettings::contains("Bookmark0Url")) {
   251         if (!QSettings::contains("Bookmark0Url")) {
   234             QSettings::setValue("Bookmark0Url", "startpage.html");
   252             QSettings::setValue("Bookmark0Url", "startpage.html");
   235         }
   253         }
   236         
   254 
   237         if (!QSettings::contains("Bookmark1Title")) {
   255         if (!QSettings::contains("Bookmark1Title")) {
   238             QSettings::setValue("Bookmark1Title", "");
   256             QSettings::setValue("Bookmark1Title", "");
   239         }
   257         }
   240         
   258 
   241         if (!QSettings::contains("Bookmark1Url")) {
   259         if (!QSettings::contains("Bookmark1Url")) {
   242             QSettings::setValue("Bookmark1Url", "");
   260             QSettings::setValue("Bookmark1Url", "");
   243         }
   261         }
   244         
   262 
   245         if (!QSettings::contains("Bookmark2Title")) {
   263         if (!QSettings::contains("Bookmark2Title")) {
   246             QSettings::setValue("Bookmark2Title", "");
   264             QSettings::setValue("Bookmark2Title", "");
   247         }
   265         }
   248         
   266 
   249         if (!QSettings::contains("Bookmark2Url")) {
   267         if (!QSettings::contains("Bookmark2Url")) {
   250             QSettings::setValue("Bookmark2Url", "");
   268             QSettings::setValue("Bookmark2Url", "");
   251         }
   269         }
   252     }
   270     }
   253 	
   271 
   254 	        // userAgentStringSetup, default empty.  
   272 	        // userAgentStringSetup, default empty.
   255         if (!QSettings::contains("UserAgentString"))
   273 	      
       
   274 	      if (!QSettings::contains("UserAgentString"))
   256         {
   275         {
   257             QSettings::setValue("UserAgentString", QString());
   276         	  #if defined Q_WS_MAEMO_5
   258         }          				
   277             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");        
       
   278             #else  // Symbian, Linux etc.
       
   279             QSettings::setValue("UserAgentString", QString());  
       
   280             #endif  
       
   281         }          
       
   282         
       
   283                     				
       
   284         
       
   285         //Scrolling options
       
   286         initScrollingParams();
       
   287         
       
   288         //Tiling options
       
   289         initTilingParams();
       
   290         
   259     endGroup(); // m_appuid
   291     endGroup(); // m_appuid
   260     sync();
   292     sync();
       
   293 }
       
   294 
       
   295 
       
   296 void BedrockProvisioning::initScrollingParams()
       
   297 {
       
   298     if (!QSettings::contains("KineticDeceleration")) {    
       
   299         QSettings::setValue("KineticDeceleration", 2.0);
       
   300     }
       
   301     
       
   302     if (!QSettings::contains("MaxFlickSpeed")) {    
       
   303         QSettings::setValue("MaxFlickSpeed", 1.2);
       
   304     }
       
   305 
       
   306     if (!QSettings::contains("MidFlickSpeed")) {
       
   307         QSettings::setValue("MidFlickSpeed", 0.5);
       
   308     }
       
   309 
       
   310     if (!QSettings::contains("MinFlickSpeed")) {
       
   311         QSettings::setValue("MinFlickSpeed", 0.15);
       
   312     }
       
   313 
       
   314     if (!QSettings::contains("MaxFlickInViewportUnits")) {
       
   315        QSettings::setValue("MaxFlickInViewportUnits", 0.7);
       
   316     }
       
   317     if (!QSettings::contains("MidFlickInViewportUnits")) {
       
   318        QSettings::setValue("MidFlickInViewportUnits", 0.4);
       
   319     }
       
   320     if (!QSettings::contains("MinFlickInViewportUnits")) {
       
   321        QSettings::setValue("MinFlickInViewportUnits", 0.2);
       
   322     }
       
   323 
       
   324     if (!QSettings::contains("MaxFlickDuration")) {
       
   325        QSettings::setValue("MaxFlickDuration", 1000);
       
   326     }
       
   327     if (!QSettings::contains("MidFlickDuration")) {
       
   328        QSettings::setValue("MidFlickDuration", 800);
       
   329     }
       
   330     if (!QSettings::contains("MinFlickDuration")) {
       
   331        QSettings::setValue("MinFlickDuration", 500);
       
   332     }
       
   333     if (!QSettings::contains("ScrollOvershoot")) {
       
   334        QSettings::setValue("ScrollOvershoot", 1.70158);
       
   335     }
       
   336 }
       
   337 
       
   338 void BedrockProvisioning::initTilingParams()
       
   339 {
       
   340     if (!QSettings::contains("EnableTiling")) {    
       
   341         QSettings::setValue("EnableTiling", 1);
       
   342     }
       
   343     if (!QSettings::contains("TilesWidth")) {    
       
   344         QSettings::setValue("TilesWidth", 256);
       
   345     }
       
   346     if (!QSettings::contains("TilesHeight")) {    
       
   347         QSettings::setValue("TilesHeight", 256);
       
   348     }
       
   349     if (!QSettings::contains("TileCreationDelay")) {    
       
   350         QSettings::setValue("TileCreationDelay", 50);
       
   351     }
       
   352     if (!QSettings::contains("TileCoverAreaMultiplier")) {    
       
   353         QSettings::setValue("TileCoverAreaMultiplier", 2.5);
       
   354     }
       
   355     if (!QSettings::contains("TileKeepAreaMultiplier")) {    
       
   356         QSettings::setValue("TileKeepAreaMultiplier", 2.5);
       
   357     }    
       
   358 }
       
   359 
       
   360 void BedrockProvisioning::initGestureParams()
       
   361 {
       
   362     // Enable/disable specific gestures
       
   363     if (!QSettings::contains("GesturesEnableTap")) {
       
   364         QSettings::setValue("GesturesEnableTap", 1);
       
   365     }
       
   366     if (!QSettings::contains("GesturesEnablePan")) {
       
   367         QSettings::setValue("GesturesEnablePan", 1);
       
   368     }
       
   369     if (!QSettings::contains("GesturesEnableHover")) {
       
   370         QSettings::setValue("GesturesEnableHover", 0);
       
   371     }
       
   372     if (!QSettings::contains("GesturesEnableLeftRight")) {
       
   373         QSettings::setValue("GesturesEnableLeftRight", 1);
       
   374     }
       
   375     if (!QSettings::contains("GesturesEnableUpDown")) {
       
   376         QSettings::setValue("GesturesEnableUpDown", 1);
       
   377     }
       
   378     if (!QSettings::contains("GesturesEnableFlick")) {
       
   379         QSettings::setValue("GesturesEnableFlick", 1);
       
   380     }
       
   381     if (!QSettings::contains("GesturesEnableRelease")) {
       
   382         QSettings::setValue("GesturesEnableRelease", 1);
       
   383     }
       
   384     if (!QSettings::contains("GesturesEnableTouch")) {
       
   385         QSettings::setValue("GesturesEnableTouch", 1);
       
   386     }
       
   387     if (!QSettings::contains("GesturesEnableEdgeScroll")) {
       
   388         QSettings::setValue("GesturesEnableEdgeScroll", 0);
       
   389     }
       
   390     if (!QSettings::contains("GesturesEnableCornerZoom")) {
       
   391         QSettings::setValue("GesturesEnableCornerZoom", 0);
       
   392     }
       
   393     if (!QSettings::contains("GesturesEnablePinch")) {
       
   394         QSettings::setValue("GesturesEnablePinch", 1);
       
   395     }
       
   396     if (!QSettings::contains("GesturesEnableLongPress")) {
       
   397         QSettings::setValue("GesturesEnableLongPress", 1);
       
   398     }
       
   399     if (!QSettings::contains("GesturesEnableUnknown")) {
       
   400         QSettings::setValue("GesturesEnableUnknown", 1);
       
   401     }
       
   402 
       
   403     // General gesture settings
       
   404     if (!QSettings::contains("GesturesEnableLogging")) {
       
   405         QSettings::setValue("GesturesEnableLogging", 0);
       
   406     }
       
   407     if (!QSettings::contains("GesturesSuppressTimeout")) {
       
   408         QSettings::setValue("GesturesSuppressTimeout", 0);
       
   409     }
       
   410     if (!QSettings::contains("GesturesMoveSuppressTimeout")) {
       
   411         QSettings::setValue("GesturesMoveSuppressTimeout", 0);
       
   412     }
       
   413     if (!QSettings::contains("GesturesCapacitiveUpUsed")) {
       
   414 #ifdef ADVANCED_POINTER_EVENTS
       
   415         QSettings::setValue("GesturesCapacitiveUpUsed", 1);
       
   416 #else
       
   417         QSettings::setValue("GesturesCapacitiveUpUsed", 0);
       
   418 #endif
       
   419     }
       
   420     if (!QSettings::contains("GesturesAdjustYPos")) {
       
   421 #ifdef ADVANCED_POINTER_EVENTS
       
   422         QSettings::setValue("GesturesAdjustYPos", 0);
       
   423 #else
       
   424         QSettings::setValue("GesturesAdjustYPos", 0);
       
   425 #endif
       
   426     }
       
   427     if (!QSettings::contains("GesturesEnableFiltering")) {
       
   428         QSettings::setValue("GesturesEnableFiltering", 1);
       
   429     }
       
   430     if (!QSettings::contains("GesturesWServMessageInterception")) {
       
   431         QSettings::setValue("GesturesWServMessageInterception", 0);
       
   432     }
       
   433 
       
   434     // Individual gesture specific settings
       
   435     // Tap
       
   436     if (!QSettings::contains("GesturesDoubleTapTimeout")) {
       
   437         QSettings::setValue("GesturesDoubleTapTimeout", 600);
       
   438     }
       
   439     // Pan
       
   440     if (!QSettings::contains("GesturesPanSpeedLow")) {
       
   441         QSettings::setValue("GesturesPanSpeedLow", 5);
       
   442     }
       
   443     if (!QSettings::contains("GesturesPanSpeedHigh")) {
       
   444         QSettings::setValue("GesturesPanSpeedHigh", 50);
       
   445     }
       
   446     if (!QSettings::contains("GesturesPanDisabledWhileHovering")) {
       
   447         QSettings::setValue("GesturesPanDisabledWhileHovering", 0);
       
   448     }
       
   449     if (!QSettings::contains("GesturesMoveTolerance")) {
       
   450         QSettings::setValue("GesturesMoveTolerance", 0);
       
   451     }
       
   452     // Hover
       
   453     if (!QSettings::contains("GesturesHoverSpeed")) {
       
   454         QSettings::setValue("GesturesHoverSpeed", 0);
       
   455     }
       
   456     if (!QSettings::contains("GesturesHoverDisabledWhilePanning")) {
       
   457         QSettings::setValue("GesturesHoverDisabledWhilePanning", 0);
       
   458     }
       
   459     // Flick
       
   460     if (!QSettings::contains("GesturesFlickSpeed")) {
       
   461         QSettings::setValue("GesturesFlickSpeed", 35);
       
   462     }
       
   463     // EdgeScroll
       
   464     if (!QSettings::contains("GesturesEdgeScrollRange")) {
       
   465         QSettings::setValue("GesturesEdgeScrollRange", 20);
       
   466     }
       
   467     // CornerZoom
       
   468     if (!QSettings::contains("GesturesZoomCornerSize")) {
       
   469         QSettings::setValue("GesturesZoomCornerSize", 7);
       
   470     }
       
   471     // Area settings
       
   472     if (!QSettings::contains("GesturesTouchAreaShape")) {
       
   473         QSettings::setValue("GesturesTouchAreaShape", 1);
       
   474     }
       
   475     if (!QSettings::contains("GesturesTouchAreaTimeout")) {
       
   476         QSettings::setValue("GesturesTouchAreaTimeout", 50);
       
   477     }
       
   478     if (!QSettings::contains("GesturesTouchAreaWidth")) {
       
   479         QSettings::setValue("GesturesTouchAreaWidth", 7);
       
   480     }
       
   481     if (!QSettings::contains("GesturesTouchAreaHeight")) {
       
   482         QSettings::setValue("GesturesTouchAreaHeight", 7);
       
   483     }
       
   484     if (!QSettings::contains("GesturesTimeAreaShape")) {
       
   485         QSettings::setValue("GesturesTimeAreaShape", 1);
       
   486     }
       
   487     if (!QSettings::contains("GesturesTimeAreaTimeout")) {
       
   488         QSettings::setValue("GesturesTimeAreaTimeout", 0);
       
   489     }
       
   490     if (!QSettings::contains("GesturesTimeAreaWidth")) {
       
   491         QSettings::setValue("GesturesTimeAreaWidth", 11);
       
   492     }
       
   493     if (!QSettings::contains("GesturesTimeAreaHeight")) {
       
   494         QSettings::setValue("GesturesTimeAreaHeight", 11);
       
   495     }
       
   496     if (!QSettings::contains("GesturesHoldAreaShape")) {
       
   497         QSettings::setValue("GesturesHoldAreaShape", 1);
       
   498     }
       
   499     if (!QSettings::contains("GesturesHoldAreaTimeout")) {
       
   500         QSettings::setValue("GesturesHoldAreaTimeout", 1000);
       
   501     }
       
   502     if (!QSettings::contains("GesturesHoldAreaWidth")) {
       
   503         QSettings::setValue("GesturesHoldAreaWidth", 7);
       
   504     }
       
   505     if (!QSettings::contains("GesturesHoldAreaHeight")) {
       
   506         QSettings::setValue("GesturesHoldAreaHeight", 7);
       
   507     }
       
   508     if (!QSettings::contains("GesturesAxisLockThreshold")) {
       
   509         QSettings::setValue("GesturesAxisLockThreshold", 0.5);
       
   510     }
       
   511     
       
   512     if (!QSettings::contains("EnableGestures")) {
       
   513             QSettings::setValue("EnableGestures", 1);
       
   514     }
   261 }
   515 }
   262 
   516 
   263 
   517 
   264 QString BedrockProvisioning::valueAsString(const QString &key, const QVariant &defaultValue)
   518 QString BedrockProvisioning::valueAsString(const QString &key, const QVariant &defaultValue)
   265 {
   519 {