<div dir="ltr">A initial version to review of the feature is available to test and review.<div><br></div><div>The pull requests are:</div><div><br></div><div>sugar-datastore: <a href="https://github.com/sugarlabs/sugar-datastore/pull/2">https://github.com/sugarlabs/sugar-datastore/pull/2</a></div>
<div>sugar-artwork: <a href="https://github.com/sugarlabs/sugar-artwork/pull/7">https://github.com/sugarlabs/sugar-artwork/pull/7</a></div><div>sugar: <a href="https://github.com/sugarlabs/sugar/pull/62">https://github.com/sugarlabs/sugar/pull/62</a></div>
<div><br></div><div>This work is based on previous implementations, but is different in many ways.</div><div><br></div><div>In particular, the previous implementation had a performance problem,</div><div>when the user wanted to select all the ellements in the journal.</div>
<div>As the datastore is designed to return the data paginated, </div><div>the journal needed to do several queries to get all the uids needed</div><div>to create the list of selected items.</div><div>This problem is solved adding a method to the datastore to get the uids</div>
<div>belonging to a query. As the datastore get that information from the index,<br></div><div>the query is really fast. </div><div><br></div><div>Other visible change is the use of real checkboxes in the listview, instead of icons</div>
<div>with a checkbox drawn. In a desktop, the checkbox is not displayed right, </div><div>but in the xo is ok.</div><div>Surely something we need solve in the theme.</div><div><br></div><div>Another difference in behavior is now the user can interrupt a operation while is running.</div>
<div>If you realize you started to delete all the objects in a pen drive, you can stop it,</div><div>and at least part will be saved.</div><div><br></div><div>Gonzalo</div><div><br></div></div>