Skip to content

Commit d0caebf

Browse files
committed
when loading set filter type first, then layer and field (including field filters)
1 parent 4e23fe5 commit d0caebf

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

Mergin/project_settings_widget.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -501,20 +501,20 @@ def on_filter_selection_changed(self, current: QModelIndex, previous: QModelInde
501501

502502
layer = QgsProject.instance().mapLayer(field_filter.layer_id)
503503

504+
idx = self.cmb_filter_type.findData(field_filter.filter_type)
505+
self.cmb_filter_type.blockSignals(True)
506+
self.cmb_filter_type.setCurrentIndex(idx)
507+
self.cmb_filter_type.blockSignals(False)
508+
504509
self.cmb_filter_layer.blockSignals(True)
505510
self.cmb_filter_layer.setLayer(layer)
506511
self.cmb_filter_layer.blockSignals(False)
507512

508513
self.cmb_filter_field.blockSignals(True)
509-
self.cmb_filter_field.setLayer(layer)
514+
self.on_filter_layer_fields_changed() # update available fields based on the selected layer and filter type before setting the field to avoid issues with invalid field selection
510515
self.cmb_filter_field.setField(field_filter.field_name)
511516
self.cmb_filter_field.blockSignals(False)
512517

513-
idx = self.cmb_filter_type.findData(field_filter.filter_type)
514-
self.cmb_filter_type.blockSignals(True)
515-
self.cmb_filter_type.setCurrentIndex(idx)
516-
self.cmb_filter_type.blockSignals(False)
517-
518518
# block signals to avoid triggering modification of the field filter
519519
self.edit_filter_title.blockSignals(True)
520520
self.edit_filter_title.setText(field_filter.filter_name)

0 commit comments

Comments
 (0)