Major attribute table redesign, introducing dual view
Add a vector layer cache class
Add method to get associated layer from QgsVectorLayerCache
Add python bindings for QgsVectorLayerCache
Teach the attribute filter model to filter based on different criteria.
* visible extent
* selected features
* a provided list
* show all (no filtering)
Teach the QgsAttributeTableFilterModel to sort
* Based on a column
* Selection state can be used as first level sorting
Pre-Rebase merge
Add a new selection tool to select by expression
Enables the user to select features of a layer by using an expression builder.
* Select (Clear and select"
* Add to selection
* Remove from selection
* Select within selection (Intersect)
Just before moving edit selection from ItemModel to FeatureIds
Add master selection for currently edited
Change attribute list icon when edited
Old implementation only painted button as pressed
Add select by expression icon
Repaint on editselection changed
Add icons to attribute table
Add some icons to attribute table (expressions, filters, preview...)
Use primary key for feature list in case the display field is not defined
Some minor string adjustment as well
Expression selection dialog: adjust button height of select button
Was a little less high than the close button before.
Respect the default filter setting
To make it painless for the user, the setting /qgis/attributeTableBehaviour is used as before
Fix expression problems if no display field and no primary key is defined
Remove leftovers of old sorting mechanism