I am wondering on how I could display a single ListModel in multiple (filtered) SilicaGridViews? Simply making an item invisible does not work , because it still consumes (cellWidth x cellHeight) the space.
Or would you know a project which did something similar? I know I could also implement my own model in c++. Probably something like this was done my someone already? I am experementing with this QML file (far from ready ;)). [FilteredListModel.qml] import QtQuick 2.0 import Sailfish.Silica 1.0 Item { property ListModel filteredModel: _filteredModel property ListModel model: _model property string filterRoleName property var filterValue ListModel { id: _filteredModel } ListModel { id: _model onRowsInserted: { for (var i = first; i <= last; i++) { var entry = model.get(i); if (entry[filterRoleName] === filterValue) { _filteredModel.append(entry); } } } onRowsRemoved: { for (var i = first; i <= last; i++) { _filteredModel.remove(i); } } } function append(sobject) { model.append(sobject); } function setProperty(index, key, value ) { model.setProperty(index, key, value); var entry = model.get(index); if (entry[filterRoleName] === filterValue) { _filteredModel.set(index, model.get(index)) } else { _filteredModel.remove(index); } } function remove(index) { model.remove(index); } Component.onCompleted: { model.append({"name": "Apple","cost": 0.25,active: false}); model.append({"name": "Orange","cost": 0.90,active: true}); model.append({"name": "Bannana","cost": 0.30,active: true}); model.append({"name": "Ananas","cost": 3.10,active: true}); } }
_______________________________________________ SailfishOS.org Devel mailing list