Skip to content

Commit 7d9b8dd

Browse files
committed
Don't reset field model if nothing changes
1 parent 87826ad commit 7d9b8dd

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/gui/qgsfieldmodel.cpp

+14-4
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,23 @@ void QgsFieldModel::layerDeleted()
8484

8585
void QgsFieldModel::updateModel()
8686
{
87-
beginResetModel();
88-
mExpression = QList<QString>();
8987
if ( mLayer )
90-
mFields = mLayer->pendingFields();
88+
{
89+
if ( mFields.toList() != mLayer->pendingFields().toList() )
90+
{
91+
beginResetModel();
92+
mFields = mLayer->pendingFields();
93+
endResetModel();
94+
}
95+
else
96+
emit dataChanged( index(0, 0 ), index( rowCount(), 0 ));
97+
}
9198
else
99+
{
100+
beginResetModel();
92101
mFields = QgsFields();
93-
endResetModel();
102+
beginResetModel();
103+
}
94104
}
95105

96106
void QgsFieldModel::setAllowExpression( bool allowExpression )

0 commit comments

Comments
 (0)