From 6cfd7944bf501539e8f72445955405629a10f183 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier Date: Wed, 25 Dec 2024 23:15:29 +0100 Subject: [PATCH] Implement \tabs for DocBook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The existing implementation only works for online HTML and the workaround generates nonsensical DocBook that not a single processor could parse. This implementation is not ideal, but gives enough information for processors to do their job (i.e. the tab title and contents are uniquely linked, the tabs in a group are related). Unaware processors still render useful information to the user thanks to links. The ideal presentation would use a container such as `formalgroup` for the tabs, but there is no notion of tab in DocBook. The missing part in this patch is allowing all uses of tabs with DocBook; they are still guarded by `\if defined(onlinedocs)`. For instance, this change updates `porting-to-ios.xml` from: ```xml If your application uses imports or plugins that depend on special Qt modules, these Qt modules should be added to your build configuration file. For example, if your application uses the Qt Multimedia import in QML, you should add the following to your .pro or CMakeLists.txt file: Using CMake find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(my_project PRIVATE Qt6::Multimedia) Using qmake QT += multimedia In Qt for iOS, everything is compiled statically and placed into the application bundle. The applications are "sandboxed" inside their bundles and cannot make use of shared object files. Because of this, also the plugins used by the Qt modules need to be statically linked. To do this, define the required plugins using the QTPLUGIN variable. ``` to: ```xml If your application uses imports or plugins that depend on special Qt modules, these Qt modules should be added to your build configuration file. For example, if your application uses the Qt Multimedia import in QML, you should add the following to your .pro or CMakeLists.txt file: CMake qake find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(my_project PRIVATE Qt6::Multimedia) QT += multimedia ``` Change-Id: I63f3e8d03a5f4ee52e7c67971d14d4497dd78cb8 Reviewed-by: Paul Wicking --- doc/global/htmltabs.qdocconf | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/global/htmltabs.qdocconf b/doc/global/htmltabs.qdocconf index 0b07b6737ec..f8fa075bd8c 100644 --- a/doc/global/htmltabs.qdocconf +++ b/doc/global/htmltabs.qdocconf @@ -13,9 +13,10 @@ # The {checked} argument ensures that the tab is selected # by default when the HTML page is loaded. For the other -# tabs that are not selected, pass and empty argument {}. +# tabs that are not selected, pass an empty argument {}. # -# Note that these macros work with the online template only. +# Note that these macros work with the online template and +# DocBook only. # # Example: # \if defined(onlinedocs) @@ -41,6 +42,10 @@ macro.tab.HTML = "