spellchecker.pro Example File

webenginewidgets/spellchecker/spellchecker.pro
include($$QTWEBENGINE_OUT_ROOT/src/core/qtwebenginecore-config.pri) # workaround for QTBUG-68093
QT_FOR_CONFIG += webenginecore
TEMPLATE = app
TARGET = spellchecker
QT += webenginewidgets
!qtConfig(webengine-spellchecker) {
    error("Qt WebEngine compiled without spellchecker support, this example will not work.")
}
qtConfig(webengine-native-spellchecker) {
    error("Spellcheck example can not be built when using native OS dictionaries.")
}
HEADERS += \
    webview.h
SOURCES += \
    main.cpp \
    webview.cpp
RESOURCES += \
    data/spellchecker.qrc
DISTFILES += \
    dict/en/README.txt \
    dict/en/en-US.dic \
    dict/en/en-US.aff \
    dict/de/README.txt \
    dict/de/de-DE.dic \
    dict/de/de-DE.aff
target.path = $$[QT_INSTALL_EXAMPLES]/webenginewidgets/spellchecker
INSTALLS += target
qtPrepareTool(CONVERT_TOOL, qwebengine_convert_dict)
debug_and_release {
    CONFIG(debug, debug|release): DICTIONARIES_DIR = debug/qtwebengine_dictionaries
    else: DICTIONARIES_DIR = release/qtwebengine_dictionaries
} else {
    DICTIONARIES_DIR = qtwebengine_dictionaries
}
dict_base_paths = en/en-US de/de-DE
for (base_path, dict_base_paths) {
    dict.files += $$PWD/dict/$${base_path}.dic
}
dictoolbuild.input = dict.files
dictoolbuild.output = $${DICTIONARIES_DIR}/${QMAKE_FILE_BASE}.bdic
dictoolbuild.depends = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.aff
dictoolbuild.commands = $${CONVERT_TOOL} ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
dictoolbuild.name = Build ${QMAKE_FILE_IN_BASE}
dictoolbuild.CONFIG = no_link target_predeps
QMAKE_EXTRA_COMPILERS += dictoolbuild
# When the example is compiled as a bundle, WebEngine expects to find the dictionaries in
# bundle.app/Contents/Resources/qtwebengine_dictionaries
macos:app_bundle {
    for (base_path, dict_base_paths) {
        base_path_splitted = $$split(base_path, /)
        base_name = $$last(base_path_splitted)
        binary_dict_files.files += $${DICTIONARIES_DIR}/$${base_name}.bdic
    }
    binary_dict_files.path = Contents/Resources/$$DICTIONARIES_DIR
    QMAKE_BUNDLE_DATA += binary_dict_files
}