From 33e20b479f112979ddb29ccc164af530e3be4f3c Mon Sep 17 00:00:00 2001
From: Michal Klocek <michal.klocek@qt.io>
Date: Fri, 21 Oct 2016 14:02:25 +0200
Subject: [PATCH] Add spellchecker feature to new config system

Change-Id: I35a5c815c9f2b3ebacb5991ba6645641b17db2db
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
 configure.json                             | 11 +++++++++--
 examples/examples.pro                      |  2 +-
 src/core/gyp_run.pro                       |  2 +-
 src/src.pro                                |  2 +-
 src/webengine/webengine.pro                |  2 +-
 src/webenginewidgets/webenginewidgets.pro  |  2 +-
 tests/auto/widgets/widgets.pro             |  2 +-
 tools/qmake/mkspecs/features/configure.prf |  1 +
 8 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/configure.json b/configure.json
index f9fa17a8d..63abd1dba 100644
--- a/configure.json
+++ b/configure.json
@@ -3,7 +3,8 @@
 
     "commandline": {
         "options": {
-            "proprietary-codecs": "boolean"
+            "proprietary-codecs": "boolean",
+            "spellchecker": "boolean"
         }
     },
 
@@ -13,6 +14,11 @@
             "autoDetect": false,
             "purpose": "Enables the use of proprietary codecs such as h.264/h.265 and MP3",
             "output": [ "privateFeature" ]
+        },
+        "spellchecker": {
+            "label": "Spellchecker",
+            "purpose": "Enables the use of Chromium's spellchecker",
+            "output": [ "privateFeature" ]
         }
     },
 
@@ -20,7 +26,8 @@
         {
             "section": "Qt WebEngine",
             "entries": [
-                "proprietary-codecs"
+                "proprietary-codecs",
+                "spellchecker"
             ]
         }
     ]
diff --git a/examples/examples.pro b/examples/examples.pro
index 5a09213e5..1a0f3a263 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -16,7 +16,7 @@ qtHaveModule(webenginewidgets) {
         webenginewidgets/markdowneditor \
         webenginewidgets/simplebrowser
 
-    !contains(WEBENGINE_CONFIG, no_spellcheck):!cross_compile {
+    contains(WEBENGINE_CONFIG, use_spellchecker):!cross_compile {
         !contains(WEBENGINE_CONFIG, use_native_spellchecker) {
             SUBDIRS += webenginewidgets/spellchecker
         } else {
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
index 233737751..1850447e7 100644
--- a/src/core/gyp_run.pro
+++ b/src/core/gyp_run.pro
@@ -120,7 +120,7 @@ contains(WEBENGINE_CONFIG, use_appstore_compliant_code): GYP_CONFIG += appstore_
 # but the latter are necessary for useful debug binaries.
 contains(WEBENGINE_CONFIG, reduce_binary_size): GYP_CONFIG += release_optimize=s debug_optimize=s release_unwind_tables=0
 
-contains(WEBENGINE_CONFIG, no_spellcheck): {
+!contains(WEBENGINE_CONFIG, use_spellchecker): {
     GYP_CONFIG += enable_spellcheck=0
     macos: GYP_CONFIG += use_browser_spellchecker=0
 } else {
diff --git a/src/src.pro b/src/src.pro
index 495263846..9b5373181 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -14,7 +14,7 @@ SUBDIRS += core \
            plugins
 
 # allow only desktop builds of qwebengine_convert_dict
-!contains(WEBENGINE_CONFIG, no_spellcheck):!contains(WEBENGINE_CONFIG, use_native_spellchecker):!cross_compile {
+contains(WEBENGINE_CONFIG, use_spellchecker):!contains(WEBENGINE_CONFIG, use_native_spellchecker):!cross_compile {
     SUBDIRS += qwebengine_convert_dict
     qwebengine_convert_dict.subdir = tools/qwebengine_convert_dict
     qwebengine_convert_dict.depends = core
diff --git a/src/webengine/webengine.pro b/src/webengine/webengine.pro
index 6b2285c85..99b9c4e6f 100644
--- a/src/webengine/webengine.pro
+++ b/src/webengine/webengine.pro
@@ -61,7 +61,7 @@ isQMLTestSupportApiEnabled() {
     DEFINES += ENABLE_QML_TESTSUPPORT_API
 }
 
-!contains(WEBENGINE_CONFIG, no_spellcheck) {
+contains(WEBENGINE_CONFIG, use_spellchecker) {
     DEFINES += ENABLE_SPELLCHECK
 }
 
diff --git a/src/webenginewidgets/webenginewidgets.pro b/src/webenginewidgets/webenginewidgets.pro
index abd487e5f..64e475422 100644
--- a/src/webenginewidgets/webenginewidgets.pro
+++ b/src/webenginewidgets/webenginewidgets.pro
@@ -48,7 +48,7 @@ HEADERS = \
     DEFINES += QT_UI_DELEGATES
 }
 
-!contains(WEBENGINE_CONFIG, no_spellcheck) {
+contains(WEBENGINE_CONFIG, use_spellchecker) {
     DEFINES += ENABLE_SPELLCHECK
 }
 
diff --git a/tests/auto/widgets/widgets.pro b/tests/auto/widgets/widgets.pro
index 799eaf1c2..c7096b6b6 100644
--- a/tests/auto/widgets/widgets.pro
+++ b/tests/auto/widgets/widgets.pro
@@ -13,7 +13,7 @@ SUBDIRS += \
     qwebenginesettings \
     qwebengineview
 
-!contains(WEBENGINE_CONFIG, no_spellcheck):!cross_compile {
+!contains(WEBENGINE_CONFIG, use_spellchecker):!cross_compile {
     !contains(WEBENGINE_CONFIG, use_native_spellchecker) {
         SUBDIRS += qwebenginespellcheck
     } else {
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index 105e3bc3c..e2bb44f20 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -79,6 +79,7 @@ defineTest(runConfigure) {
         include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
         QT_FOR_CONFIG += webengine-private
         qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs
+        qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker
     }
 
     isEmpty(skipBuildReason): {
-- 
GitLab