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

Reply via email to