Conversation
Build ResultsPlatform Status
Some builds failed. Pre-commit
Pre-commit hooks: 3 passed, 32 failed, 7 skipped. Test Resultslinux-sanitizers: 65 passed, 0 skipped linux_gcc_64: 65 passed, 0 skipped Total: 130 passed, 0 skipped Artifact Sizes
No baseline available for comparison Updated: 2026-03-12 10:09:39 UTC • Triggered by: Android |
|
That is very cool. I'm slightly surprised it doesn't already exist since ArduPilot support read only params |
|
I need to check how read only params work in ArduPilot then, so this is compatible. |
Indeed! Though if they don't have an icon like this then they would probably appreciate one :-) |
|
@hamishwillee from my research I don't see how AP would be communicating this to QGC. I think we can leave this PR as is. |
|
Cool. I have no more comments. I guess get Don or Holden to look at it now. |
|
FWIW, ArduPilot likes OEM's to use this script. |
This parses the readonly flag for a parameter, so that it's clear in the UI when a param can't be set.
Show a lock icon next to read-only parameter names in the parameter list and add a "Hide read-only" checkbox to filter them out entirely.
629c39b to
f2f8050
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds end-to-end support for “read-only” parameter metadata so the Parameter UI can indicate non-editable parameters and optionally hide them from the list.
Changes:
- Parse a new
readOnlyboolean from parameter metadata JSON intoFactMetaData. - Update the parameter editor dialog to show read-only messaging and prevent editing/saving.
- Add UI affordances: a lock icon in the parameter list and a “Hide read-only” filter wired through
ParameterEditorController.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/QmlControls/ParameterEditorDialog.qml | Disables editing for read-only facts, shows read-only messaging/value-only display. |
| src/QmlControls/ParameterEditorController.h | Adds hideReadOnly property/signal/slot to support filtering. |
| src/QmlControls/ParameterEditorController.cc | Implements read-only filtering in list build/search and rebuilds lists on toggle. |
| src/QmlControls/ParameterEditor.qml | Adds “Hide read-only” checkbox and displays a lock icon for read-only facts in the table. |
| src/FactSystem/FactMetaData.h | Adds JSON key constant for readOnly. |
| src/FactSystem/FactMetaData.cc | Parses readOnly from JSON metadata. |
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| } | ||
| metaData->setVolatileValue(volatileValue); | ||
|
|
||
| if (json.contains(_readOnlyJsonKey)) { |
There was a problem hiding this comment.
This screws up the positioning of the setVolatileValue with the rest of it's code. Also it doesn't follow the pattern and the rest of the value setting. It should do it the same way as the others.
For what? |
|
Other question: Did the NCELLS param suddenly become ready only. That is part of Power Setup page as something user should set. |
|
Code review notes: 1. The dialog uses onAccepted: {
if (fact.readOnly) return
...
}2. The |

Description
This parses the readonly flag for a parameter, so that it's clear in the UI when a param can't be set.
Type of Change
Testing
Platforms Tested
Flight Stacks Tested
Screenshots
Checklist
Related Issues
Goes together with PX4/PX4-Autopilot#26522.
By submitting this pull request, I confirm that my contribution is made under the terms of the project's dual license (Apache 2.0 and GPL v3).