From 733269c84d650773b3155c5cc9851e215bd632c2 Mon Sep 17 00:00:00 2001 From: Mathieu Pellerin Date: Mon, 16 Dec 2024 09:46:25 +0700 Subject: [PATCH] Add documentation covering drawing templates --- .../assets/images/drawing_templates.png | Bin 0 -> 52557 bytes documentation/how-to/pictures.en.md | 11 +++++++++++ mkdocs.yml | 15 +++++++++++++++ requirements.txt | 2 ++ 4 files changed, 28 insertions(+) create mode 100644 documentation/assets/images/drawing_templates.png diff --git a/documentation/assets/images/drawing_templates.png b/documentation/assets/images/drawing_templates.png new file mode 100644 index 0000000000000000000000000000000000000000..70df675b35a4dc46d83f0553e49cd2e901eb9163 GIT binary patch literal 52557 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
(;C{um%c6 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 literal 0 HcmV?d00001 diff --git a/documentation/how-to/pictures.en.md b/documentation/how-to/pictures.en.md index 1c938244e..7bd0a6b46 100644 --- a/documentation/how-to/pictures.en.md +++ b/documentation/how-to/pictures.en.md @@ -72,6 +72,17 @@ QField have an in-app drawing and sketching functionality enabling you to direct ![type:video](../assets/videos/drawing-sketch-feature2.webm) +### Drawing templates + +On top of annotating captured images, QField supports drawing from image templates. The following two methods are available to add templates: + +- The first method is to create a `drawing_templates` folder located alongside a project file and populate it with images. Whenever that project is loaded, QField will register all images within that folder as drawing templates. +- Alternatively, you can add images into the `drawing_templates` folder found inside your QField app folder. If you are not familiar with that app folder, its location is shown at the bottom of the About QField overlay. + +Templates shipped alongside projects as well as the QField app folder will be shown when users choose 'Draw a sketch' within attachments widget's 3-dot menu. + +!![picture path](../assets/images/drawing_templates.png "") + ## Geotagging :material-tablet: Fieldwork diff --git a/mkdocs.yml b/mkdocs.yml index b55bd5bac..1f76c2648 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -119,6 +119,9 @@ nav: - success-stories/rwanda-rural-water.md - success-stories/vanilla-survey.md - success-stories/heritage-impact-assessment.md + - QField API: + - qfield-api/index.md + # Extensions markdown_extensions: - admonition @@ -172,8 +175,20 @@ plugins: cards_layout_options: background_color: "#72ad2e" color: "#FFFFFF" + - mkdoxy: + projects: + qfield-api: + src-dirs: "../../cpp/QField/src/core ../../cpp/QField/src/core/utils ../../cpp/QField/src/core/positioning ../../cpp/QField/src/qml" + full-doc: True + doxy-cfg: + FILE_PATTERNS: "*.cpp *.h* *.qml" + FILTER_PATTERNS: "*.qml=doxyqml" + RECURSIVE: False + EXTENSION_MAPPING: "qml=C++" - i18n: build_only_locale: !ENV [BUILD_ONLY_LOCALE] + default_language: en + fallback_to_default: true # FIX ME: Add autodetection to translation rates so that only languages # with >30% translations are built. See https://www.transifex.com/opengisch/qfield-documentation/dashboard/ languages: diff --git a/requirements.txt b/requirements.txt index c455d2979..821c078f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,5 @@ fancyboxmd==1.1.0 mkdocs-material===9.5.17 mkdocs-static-i18n==1.2.0 mkdocs-video==1.5.0 +doxyqml +mkdoxy