Skip to content

Conversation

@uclaros
Copy link
Contributor

@uclaros uclaros commented Aug 12, 2025

This PR adds a QgsAttributeList mAttributeList to LayerFeaturesModel, which is used to limit the attributes fetched when populating the models using QgsFeatureRequest::setSubsetOfAttributes.
By default all attributes will be fetched, but for example in MMFeaturesListPage we can now only request the attributes used for the feature title.
This improves performance when the layers have expensive virtual fields or potentially huge number of attributes.

The RelationReferenceFeaturesModel is also reworked so that it only populate a model with required attributes (relation key attributes and the ones used by display expression)

@github-actions
Copy link

Pull Request Test Coverage Report for Build 16913641553

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 143 unchanged lines in 9 files lost coverage.
  • Overall coverage decreased (-0.1%) to 59.561%

Files with Coverage Reduction New Missed Lines %
input/app/layerfeaturesmodel.h 1 0.0%
input/app/position/providers/simulatedpositionprovider.cpp 1 90.91%
input/app/featuresmodel.cpp 2 46.58%
input/app/inputhelp.cpp 8 35.0%
input/core/merginuserauth.cpp 9 68.24%
input/core/merginapi.cpp 13 75.13%
input/app/layerfeaturesmodel.cpp 19 80.49%
input/app/relationreferencefeaturesmodel.cpp 21 63.86%
input/app/inpututils.cpp 69 52.39%
Totals Coverage Status
Change from base Build 16909520962: -0.1%
Covered Lines: 8323
Relevant Lines: 13974

💛 - Coveralls

@tomasMizera tomasMizera marked this pull request as ready for review November 19, 2025 07:54
@tomasMizera
Copy link
Collaborator

Hi @RastoHu @IvaKuklica, here are the builds to test:

  • 🍎 iOS: 25.11.824311
  • 🤖 Android: 730251
  • 🪟 Win: Exe from artefacts here

@IvaKuklica
Copy link

Regression testing for:
🍎 iOS: 25.11.824311
🤖 Android: [730251]
🪟 Win: Exe from artefacts here

STATUS: Completed
COMMENT: During the testing, some previously identified issues reappeared and tickets are already in place.

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.

4 participants