Skip to content

feat(ui): use dropdown selectors for camera brand, model, and lens profile selection - #1191

Open
namdamdoi68-oss wants to merge 1 commit into
gyroflow:masterfrom
namdamdoi68-oss:camera-dropdown-selectors
Open

namdamdoi68-oss wants to merge 1 commit into
gyroflow:masterfrom
namdamdoi68-oss:camera-dropdown-selectors

Conversation

@namdamdoi68-oss

Copy link
Copy Markdown

This PR replaces the plain text input fields in the camera calibration panel with structured ComboBox selectors linked to the built-in camera/lens profiles database. This prevents manual typing typos, ensures data validity, and streamlines the calibration workflow.

Key Changes:

  • Database Exposure: Marked the map field of LensProfileDatabase as pub in src/core/lens_profile_database.rs to allow querying profile metadata.
  • Rust Controller Methods: Added get_camera_brands(), get_camera_models(brand), and get_lens_models(brand, model) to src/controller.rs to return sorted, unique lists of brands, models, and lenses.
  • Generic QML Table Component: Extended TableList.qml to support the "type": "combobox" field mapping, displaying a styled ComboBox that queries the database dynamically and supports autocompletion.
  • Calibration UI Panel: Refactored the camera metadata fields in LensCalibrate.qml to use comboboxes, implementing cascading resets (changing brand clears model & lens) to prevent invalid profile configurations.

Verified with cargo test (all 98 tests pass successfully).

@CLAassistant

CLAassistant commented Jul 19, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@namdamdoi68-oss

Copy link
Copy Markdown
Author

Hi @AdrianEddy @mycosd — PR is ready for review. All CI tests pass cleanly.

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