Skip to content

Add Shotcut QML documentation#1850

Merged
ddennedy merged 2 commits into
masterfrom
qml-docs
Jun 17, 2026
Merged

Add Shotcut QML documentation#1850
ddennedy merged 2 commits into
masterfrom
qml-docs

Conversation

@ddennedy

@ddennedy ddennedy commented Jun 17, 2026

Copy link
Copy Markdown
Member

Adds a QDoc-generated reference for Shotcut’s QML scripting surface by annotating existing C++ QML-facing classes/models/docks with \qmltype, \qmlproperty and \qmlmethod blocks; and wiring a CMake option/target to generate HTML docs.

Changes:

  • Added extensive inline QDoc for org.shotcut.qml context properties/types (Filter/Producer/Profile/Application/Settings/etc.) and key models/docks used by QML views.
  • Added new QDoc structure files for org.shotcut.qml and Shotcut.Controls, plus a minimal CSS for readability.
  • Added BUILD_DOCS option + docs custom target and updated build/preset/gitignore for generated output.

@ddennedy ddennedy added this to the 26.6 milestone Jun 17, 2026
@ddennedy ddennedy requested a review from Copilot June 17, 2026 03:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a QDoc-generated reference for Shotcut’s QML scripting surface by annotating existing C++ QML-facing classes/models/docks with \qmltype/\qmlproperty/\qmlmethod blocks, and wiring a CMake option/target to generate HTML docs.

Changes:

  • Added extensive inline QDoc for org.shotcut.qml context properties/types (Filter/Producer/Profile/Application/Settings/etc.) and key models/docks used by QML views.
  • Added new QDoc structure files for org.shotcut.qml and Shotcut.Controls, plus a minimal CSS for readability.
  • Added BUILD_DOCS option + docs custom target and updated build/preset/gitignore for generated output.

Reviewed changes

Copilot reviewed 26 out of 27 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/settings.cpp Adds QDoc for the settings context property and selected settings properties.
src/qmltypes/qmlview.cpp Documents the view context property and its geometry helper.
src/qmltypes/qmlrichtext.cpp Documents the RichText helper API used by the Text: Rich filter UI.
src/qmltypes/qmlprofile.cpp Documents the profile context property (project video mode info).
src/qmltypes/qmlproducer.cpp Documents the producer context property (clip info for filter panels).
src/qmltypes/qmlmetadata.cpp Documents metadata and keyframes metadata descriptor types.
src/qmltypes/qmlfilter.cpp Documents the main filter scripting interface for filter panels/VUIs.
src/qmltypes/qmlfile.cpp Documents a QML-friendly file URL wrapper with file watching support.
src/qmltypes/qmlextension.cpp Documents extension package types (e.g., Whisper downloads).
src/qmltypes/qmlapplication.cpp Documents the application context property utilities and signals.
src/models/subtitlesmodel.cpp Documents subtitle model/selection model QML-facing API.
src/models/multitrackmodel.cpp Documents timeline model roles/signals and key QML methods.
src/models/motiontrackermodel.cpp Documents the motion tracker list model used in Filters panels.
src/models/markersmodel.cpp Documents the timeline markers model API and roles.
src/models/keyframesmodel.cpp Documents the keyframes parameter/keyframe model API.
src/models/attachedfiltersmodel.cpp Documents the attached-filters list model used by the Filters dock.
src/docks/timelinedock.cpp Documents the Timeline dock controller context property API.
src/docks/keyframesdock.cpp Documents the Keyframes dock controller context property API.
docs/src/shotcut-controls.qdoc Introduces the Shotcut.Controls QML module doc page.
docs/src/shotcut-controls-types.qdoc Adds type-level docs for native controls/dialogs exposed to QML.
docs/src/org-shotcut-qml.qdoc Introduces the org.shotcut.qml module overview page.
docs/src/index.qdoc Adds the landing page and overview tables for context properties/modules.
docs/shotcut.css Adds a custom stylesheet for generated HTML docs readability.
docs/qml-api.qdocconf Adds QDoc configuration listing sources and output settings.
CMakePresets.json Enables docs generation via cache variable in a debug preset.
CMakeLists.txt Adds BUILD_DOCS option and a docs custom target invoking QDoc.
.gitignore Ignores generated docs output directory and a workspace file.

Comment thread src/models/multitrackmodel.cpp
Comment thread src/qmltypes/qmlproducer.cpp
Comment thread CMakePresets.json
Comment thread CMakeLists.txt
Comment thread src/settings.cpp
Comment thread src/settings.cpp
@ddennedy ddennedy merged commit 129f918 into master Jun 17, 2026
1 of 4 checks passed
@ddennedy ddennedy deleted the qml-docs branch June 17, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants