include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
include($QT_INSTALL_DOCS/config/exampleurl-qtquickcontrols2.qdocconf)
include(manifest-meta.qdocconf)

moduleheader            = QtQuickControls2

project                 = QtQuickControls
description             = Qt Quick Controls Reference Documentation
version                 = $QT_VERSION

qhp.projects            = QtQuickControls

qhp.QtQuickControls.file          = qtquickcontrols.qhp
qhp.QtQuickControls.namespace     = org.qt-project.qtquickcontrols.$QT_VERSION_TAG
qhp.QtQuickControls.virtualFolder = qtquickcontrols
qhp.QtQuickControls.indexTitle    = Qt Quick Controls
qhp.QtQuickControls.indexRoot     =

qhp.QtQuickControls.filterAttributes                  = qtquickcontrols $QT_VERSION qtrefdoc
qhp.QtQuickControls.customFilters.Qt.name             = QtQuickControls $QT_VERSION
qhp.QtQuickControls.customFilters.Qt.filterAttributes = qtquickcontrols $QT_VERSION

qhp.QtQuickControls.subprojects = qmltypes classes examples
qhp.QtQuickControls.subprojects.qmltypes.title = QML Types
qhp.QtQuickControls.subprojects.qmltypes.indexTitle = Qt Quick Controls QML Types
qhp.QtQuickControls.subprojects.qmltypes.selectors = qmlclass
qhp.QtQuickControls.subprojects.qmltypes.sortPages = true
qhp.QtQuickControls.subprojects.classes.title = C++ Classes
qhp.QtQuickControls.subprojects.classes.indexTitle = Qt Quick Controls C++ Classes
qhp.QtQuickControls.subprojects.classes.selectors = class fake:headerfile
qhp.QtQuickControls.subprojects.classes.sortPages = true
qhp.QtQuickControls.subprojects.examples.title = Examples
qhp.QtQuickControls.subprojects.examples.indexTitle = Qt Quick Controls Examples
qhp.QtQuickControls.subprojects.examples.selectors = fake:example

depends = qtcore qtgui qtdoc qtqml qtqmlmodels qtquick qtquickdialogs qtquickcontrols1 qtquickextras qmake qtsql qtwidgets qtlabscalendar qtlabsplatform qtgraphicaleffects

# Specify the install path under QT_INSTALL_EXAMPLES
# Note: paths passed to \example command must contain the parent directory, e.g.
# \example controls/tabs
exampledirs += ../../../../examples/quickcontrols2 \
               ../../../quicktemplates2 \
               snippets

examples.fileextensions += "*.conf"

examplesinstallpath = quickcontrols2

headerdirs += ../../../quicktemplates2 \
              ../../../quickcontrols2

sourcedirs += ../../../quicktemplates2 \
              ../../../quickcontrols2 \
              ../../templates/doc/src \
              src

# Exclude .qml files from the doc build to prevent conflicts with .qml files
# in style-specific directories; all types are documented in .cpp/.qdoc files
sources.fileextensions = "*.c++ *.cc *.cpp *.cxx *.mm *.qdoc"

imagedirs += images \
             ..

navigation.landingpage  = "Qt Quick Controls"
navigation.qmltypespage = "Qt Quick Controls QML Types"
navigation.cppclassespage = "Qt Quick Controls C++ Classes"

tagfile                 = qtquickcontrols.tags

# \styleimport {QtQuick.Controls.Universal 2.0}
macro.styleimport.HTML = "<table class=\"alignedsummary\"><tbody><tr><td class=\"memItemLeft rightAlign topAlign\"> Import Statement:</td><td class=\"memItemRight bottomAlign\"> import \1</td></tr><tr><td class=\"memItemLeft rightAlign topAlign\"> Since:</td><td class=\"memItemRight bottomAlign\"> \2</td></tr></tbody></table>"

# \styleproperty {Universal.accent} {enumeration} {html-target-id}
# \target html-target-id
# This property holds ...
# (empty line)
# \endstyleproperty
macro.styleproperty.HTML = "<div class=\"qmlproto\"><table class=\"qmlname\"><tbody><tr valign=\"top\" class=\"odd\" id=\"\3\"><td class=\"tblQmlPropNode\"><p><span class=\"name\">\1</span> : <span class=\"type\">\2</span></p></td></tr></tbody></table></div>"
macro.endstyleproperty = "\\br"

# \stylemethod {returntype} {methodname} {argtype} {argname} {html-target-id}
# \target html-target-id
# This property holds ...
# (empty line)
# \endstylemethod
macro.stylemethod.HTML = "<div class=\"qmlproto\"><table class=\"qmlname\"><tbody><tr valign=\"top\" class=\"odd\" id=\"\5\"><td class=\"tblQmlFuncNode\"><p><span class=\"type\">\1</span> <span class=\"name\">\2</span>(<span class="type">\3</span> <i>\4</i>)</p></td></tr></tbody></table></div>"
macro.endstylemethod = "\\br"

# \stylemethod2 {returntype} {methodname} {arg1type} {arg1name} {arg2type} {arg2name} {html-target-id}
# \target html-target-id
# This method returns ...
# (empty line)
# \endstylemethod2
macro.stylemethod2.HTML = "<div class=\"qmlproto\"><table class=\"qmlname\"><tbody><tr valign=\"top\" class=\"odd\" id=\"\7\"><td class=\"tblQmlFuncNode\"><p><span class=\"type\">\1</span> <span class=\"name\">\2</span>(<span class="type">\3</span> <i>\4</i>, <span class="type">\5</span> <i>\6</i>)</p></td></tr></tbody></table></div>"
macro.endstylemethod2 = "\\br"

# \stylecolor {#6A00FF} {(default)}
macro.stylecolor.HTML = "<div style=\"padding:10px;color:#fff;background:\1;\">\1 \2</div>"

macro.nbsp.HTML = "&nbsp;"

#Add output suffix to the html filenames
outputsuffixes = QML
outputsuffixes.QML = 2
