<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/101240/">http://git.reviewboard.kde.org/r/101240/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Plasma.</div>
<div>By Anton Kreuzkamp.</div>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Adds a setGenericFilter-function to qml-DataModel. It works similar to ECMA-Script5&#39;s Array.filter-function. You overgive a javascript-function that gets called for every possible entry in the dataModel, and only the entries where the given function returns true get added to the model (see the example below).
There might be a more qtish/qmlish/plasmaish way to do this, and I&#39;m fine with it if you say this is not the kind of API we want. Just a suggestion.

example:
function foo(name) {
    return bar.data[name].id == &quot;hello world&quot;
}
PlasmaCore.DataModel {
    dataSource: bar
    Component.onCompleted: setGenericFilter(foo)
}

Realizing this as a property is not possible, as qml doesn&#39;t accept functions as property-values.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">As far as I have tested it, it works.
I didn&#39;t test it with a keyRoleFilter set, as don&#39;t quite get how it works.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>plasma/declarativeimports/core/datamodel.h <span style="color: grey">(e74ffd5)</span></li>

 <li>plasma/declarativeimports/core/datamodel.cpp <span style="color: grey">(14d7f1f)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/101240/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>