Hi all.<br><br>Just saw Simon's patch at <a href="http://patchwork.sugarlabs.org/patch/1670/">http://patchwork.sugarlabs.org/patch/1670/</a><br><br>Thereby, it's a gentle request ::<br><br> * to get this multi-select feature approved (with all the latest feedback-changes/bug-fixes).<br>
* to get the multi-select patch(es) reviewed.<br> * to get the multi-select patch(es) pushed (if all ok).<br><br><br>so that any such enhancements (confirmation alert before erasing, currently in single-mode) can be easily merged (for single- AND batch-mode); and there is minimal slogging involved that comes in with merging patches :)<br>
<br><br>Thanks and Regards,<br>Ajay<br><br><br><br><br><div class="gmail_quote">On Fri, Aug 17, 2012 at 11:33 PM, Ajay Garg <span dir="ltr"><<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Gary, Simon, Manu and others.<br><br>Please find below the links for the rpms, that contain the multi-select feature, on F17.<br>
Also, find accompanied the corresponding patches, ported to mainline for the corresponding repo(s).<br>
<br><br>a)<br>Sugar ::<br><br><a href="http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-0.96.3-1.fc17.noarch.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-0.96.3-1.fc17.noarch.rpm</a><br>
<a href="http://patchwork.sugarlabs.org/patch/1662/" target="_blank">http://patchwork.sugarlabs.org/patch/1662/</a><br><br><br><br>b)<br>Sugar-Toolkit ::<br><br><a href="http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-toolkit-0.96.3-2.fc17.i386.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-toolkit-0.96.3-2.fc17.i386.rpm</a><br>
<a href="http://patchwork.sugarlabs.org/patch/1663/" target="_blank">http://patchwork.sugarlabs.org/patch/1663/</a><br><br><br><br>c)<br>Sugar-Artwork ::<br><br><a href="http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-artwork-0.96.5-1.fc17.i386.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-f17-rpms/sugar-artwork-0.96.5-1.fc17.i386.rpm</a><br>
<a href="http://patchwork.sugarlabs.org/patch/1664/" target="_blank">http://patchwork.sugarlabs.org/patch/1664/</a><br><br><br><br>I have tested this feature extensively in the last 3 days on XO-1 image for F17.<br><br>In particular, all issues reported by Gary have been fixed.<br>
Please see the last few commits at <a href="http://git.sugarlabs.org/%7Eajaygarg" target="_blank">http://git.sugarlabs.org/~ajaygarg</a><br><br><br><br><br>All credit needs to go to Gary, courtesy whom this feature has reached this level of robustness :)<br>
In particular, following things are intended via the above 3 patches ::<br><br> * Solves the basic purpose ( of course :P )
<br><pre style="font-family:arial,helvetica,sans-serif"> * There should be no sequence of events, that renders the UI in an unusable state.
<br> * There should never be an instance, wherein the user may act "impatient", and may cause<br> an undesirable sequence of actions (may/may-not be leading to an unusable state).
<br> * Speed optimisation, as far, and as logically, as possible.
Again, all credit goes to Gary, for having rendered this feature such robustness !!!<br><br>Also, thanks to <br><br> * Walter Bender and Gonalo Odiard (for the awesome feature design).<br><br> * Martin Abente (from whose efforts the code-patch(es) are derived :P).<br>
<br> * Anish (who was instrumental in pushing for this feature to be re-visited, and included in the 0.98 cycle).<br></pre><br><br>Please test, so that this feature may, in fact, be included in the 0.98 cycle :) :)<br>
<br><br><br>Thanks and Regards,<br>Ajay<div class="HOEnZb"><div class="h5"><br><br><br><br><br><br><div class="gmail_quote">On Tue, Aug 14, 2012 at 10:16 PM, Gary Martin <span dir="ltr"><<a href="mailto:garycmartin@googlemail.com" target="_blank">garycmartin@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Ajay,<br>
<div><br>
On 14 Aug 2012, at 11:51, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
<br>
> Hi Gary, Anish, Gonzalo.<br>
><br>
> The "impatient" UI-interaction bug has been fixed via ::<br>
> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/e34ba2bc5554621a7770c8f5960f257bff9787f8" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/e34ba2bc5554621a7770c8f5960f257bff9787f8</a><br>
><br>
> The latest sugar-rpm (containing the fix) can be found at ::<br>
> <a href="http://people.sugarlabs.org/ajay/root/multi-select-latest-sugar-rpm-14th-august/sugar-0.94.1-31.dx3.noarch.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-latest-sugar-rpm-14th-august/sugar-0.94.1-31.dx3.noarch.rpm</a><br>
><br>
><br>
> Please test on the dextrose image as usual :)<br>
<br>
</div>Thanks. have just been testing an bumped into this new issue with the Journal UI is locking during a batch operation. You can't interact with error alerts:<br>
<br>
<a href="http://wiki.sugarlabs.org/go/File:Journal_multiselect_lock_prevent_interacting_with_error.png" target="_blank">http://wiki.sugarlabs.org/go/File:Journal_multiselect_lock_prevent_interacting_with_error.png</a><br>
<div><div><br>
Regards,<br>
--Gary<br>
<br>
><br>
><br>
> Thanks and Regards,<br>
> Ajay<br>
><br>
><br>
><br>
> On Tue, Aug 14, 2012 at 8:59 AM, Gonzalo Odiard <<a href="mailto:gonzalo@laptop.org" target="_blank">gonzalo@laptop.org</a>> wrote:<br>
> Probably have sense blocking the Journal ui (and show a clock cursor)<br>
> when doing a slow operation.<br>
><br>
> Gonzalo<br>
><br>
><br>
> On Mon, Aug 13, 2012 at 11:27 PM, Anish Mangal <<a href="mailto:anish@activitycentral.com" target="_blank">anish@activitycentral.com</a>> wrote:<br>
> There seem to be many bugs where something 'ugly' happens when<br>
> something is clicked "while" an operation is happening.<br>
><br>
> Can't we just lock all UI actions *while* batch operations are taking<br>
> place (and only have an abort/cancel button)? Of course, this might be<br>
> harder said than done, and might not be the best way codewise (was<br>
> just thinking in terms of UX)<br>
><br>
> On Tue, Aug 14, 2012 at 4:34 AM, Gary Martin <<a href="mailto:garycmartin@googlemail.com" target="_blank">garycmartin@googlemail.com</a>> wrote:<br>
> > Thanks Ajay,<br>
> ><br>
> > On 13 Aug 2012, at 07:05, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
> ><br>
> >> Hi Gary.<br>
> >><br>
> >> Made the change via the patch ::<br>
> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/d9426b3b0be8249110d3073015d2514402734930" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/d9426b3b0be8249110d3073015d2514402734930</a><br>
> ><br>
> > That's a much smaller code change than mine ;)<br>
> ><br>
> >> The latest sugar-rpm can be found at ::<br>
> >> <a href="http://people.sugarlabs.org/ajay/root/multi-select-latest-sugar-rpm-13th-august/sugar-0.94.1-31.dx3.noarch.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-latest-sugar-rpm-13th-august/sugar-0.94.1-31.dx3.noarch.rpm</a><br>
> >><br>
> >><br>
> >> Please test with it, on your dextrose image as usual :)<br>
> ><br>
> > Have found a new nasty bug. If, while a batch operation is in progress, you uncheck some items, multi-select gets rather unhappy. My test case:<br>
> ><br>
> > 1) copy ~100 items over to the Documents folder<br>
> > 2) switch to view the Documents folder<br>
> > 3) check an entry and the select all<br>
> > 4) scroll down a few pages<br>
> > 5) click Erase<br>
> > 6) confirm the Erase<br>
> > 7) uncheck some entries while the batch is running<br>
> > 8) wait for Erase batch to complete<br>
> ><br>
> > Result: I now see the Toolbar hint that says "Selected 3 of 100" (I unchecked 3 items during the Erase batch operation), however all ~100 items are still displayed and shown checked. I then clicked Select all and got a spinning cursor and a seemingly stalled Journal stuck in multi-select mode. As I moved the cursor over the list area the activity icons started to redraw in black and white (no more ownership stroke and fill colour, I guess due to catching up with erased metadata). Needed to reboot Sugar to recover, and on checking Documents all items had been erased.<br>
> ><br>
> > You can get into similar multi-select stalls by being 'impatient' with the UI:<br>
> ><br>
> > 1) select ~100 items<br>
> > 2) click erase<br>
> > 3) confirm erase<br>
> > 4) click Deselect all while the batch is still running<br>
> ><br>
> > I'll post the shell log to you in a separate email.<br>
> ><br>
> > Regards,<br>
> > --Gary<br>
> ><br>
> >> Thanks and Regards,<br>
> >> Ajay<br>
> >><br>
> >> On Mon, Aug 13, 2012 at 5:24 AM, Gary Martin <<a href="mailto:garycmartin@googlemail.com" target="_blank">garycmartin@googlemail.com</a>> wrote:<br>
> >> Hi Ajay,<br>
> >><br>
> >> On 12 Aug 2012, at 20:30, Gary Martin <<a href="mailto:garycmartin@gmail.com" target="_blank">garycmartin@gmail.com</a>> wrote:<br>
> >><br>
> >> > Hi Ajay,<br>
> >> ><br>
> >> > On 8 Aug 2012, at 10:42, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
> >> ><br>
> >> >> Hi Gary.<br>
> >> >><br>
> >> >> Please find the link, for the latest sugar-rpm, that contains the fixes/changes, as per the 3 action-items marked for me, in 7th August's design-meeting ::<br>
> >> >> <a href="http://people.sugarlabs.org/ajay/root/multi-select-with-checkbox-fix-plus-3-more-7th-august-action-items/sugar-0.94.1-31.dx3.noarch.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-with-checkbox-fix-plus-3-more-7th-august-action-items/sugar-0.94.1-31.dx3.noarch.rpm</a><br>
> >> >><br>
> >> >> For brevity, here are the action items, and the corresponding patches ::<br>
> >> >><br>
> >> >> #action improve batch tick redraw-intervals (ajay)<br>
> >> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/cdcf2717fe4bdd42cdbb632c51b0b371e2e3352f" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/cdcf2717fe4bdd42cdbb632c51b0b371e2e3352f</a><br>
> >> ><br>
> >> > Spotted one case here, in line 96:<br>
> >> ><br>
> >> > if (current_entry_number % twenty_percent_of_total_items) == 0:<br>
> >> ><br>
> >> > If there are only a small number of items (e.g. 11) being batched operated on then it redraws too frequently (in ~2 at a time for 11 entries), so is quite slow. Batch operations should be in blocks of 10 or more at a time (unless there are less than 10 items in which case do them all at once). This also means your test at line 80 isn't being usefully triggered and I think can be removed (as far as I can tell, please test).<br>
> >> ><br>
> >> > The test case at line 96 should be something like:<br>
> >> ><br>
> >> > if min (total_items, max (10, (current_entry_number % twenty_percent_of_total_items))) == 0:<br>
> >><br>
> >> Sorry that test case for line 96 made little sense! Second attempt:<br>
> >><br>
> >> if current_entry_number % max(10, twenty_percent_of_total_items) == max(10, twenty_percent_of_total_items) - 1:<br>
> >><br>
> >> So this should refresh the list no more frequently than every 10th entry processed, and when there are > 50 entries the 20% starts to have an effect on the distance between updates so that not too much time is wasted redrawing when there are many entries being batch processed.<br>
> >><br>
> >> Your test case at line 80 should stay so that at least the first page of entries gets a reasonably quick update if there are many entries being processes, and your clause at line 86 for redrawing at the last entry covers the case for when there are < 10 items.<br>
> >><br>
> >> Apologies,<br>
> >> --Gary<br>
> >><br>
> >> ><br>
> >> > Regards,<br>
> >> > --Gary<br>
> >> ><br>
> >> >> #action change status strings to normal case and remove braces and / for friendly language (ajay)<br>
> >> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/767074994a0ea7f8356a1feafb7f2becae1b49f3" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/767074994a0ea7f8356a1feafb7f2becae1b49f3</a><br>
> >> >><br>
> >> >> #action make Stop aleart before batch operations really stop the batch operation (ajay)<br>
> >> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/f4ab20a311e5090aca2e1d757c6433eb19c5522a" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/f4ab20a311e5090aca2e1d757c6433eb19c5522a</a><br>
> >> >><br>
> >> >><br>
> >> >> Please test as usual, on the dx3ng147 image :)<br>
> >> >><br>
> >> >> Also, please let know for further feedback, on the mailing-list itself. The next Tuesday is still 6 days away :D :D<br>
> >> >><br>
> >> >><br>
> >> >> Thanks and Regards,<br>
> >> >> Ajay<br>
> >> >><br>
> >> >><br>
> >> >> On Mon, Aug 6, 2012 at 3:13 PM, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
> >> >> Hi Gary.<br>
> >> >><br>
> >> >> Finally... the checkbox-issue has been solved :)<br>
> >> >><br>
> >> >> Please find the "fixed" rpm, containing the checkbox-fix at<br>
> >> >> <a href="http://people.sugarlabs.org/ajay/root/multi-select-with-checkbox-fix/sugar-0.94.1-31.dx3.noarch.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select-with-checkbox-fix/sugar-0.94.1-31.dx3.noarch.rpm</a><br>
> >> >><br>
> >> >> For brevity, here is the patch link ::<br>
> >> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/381e706de7e7309d27a44ed064794a44d50aad4a" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/381e706de7e7309d27a44ed064794a44d50aad4a</a><br>
> >> >><br>
> >> >> The sugar-toolkit rpm remains the same as before.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> So, in addition to the "a) - i)" points of the previous mail, I add the next point ::<br>
> >> >><br>
> >> >> j)<br>
> >> >> Now there is prompt feedback of checking/unchecking the checkboxes and favorite-icons.<br>
> >> >><br>
> >> >> However, note that for favorite-icons, there is a logical hinderance to<br>
> >> >> true prompt feedback, as described in <a href="http://bugs.sugarlabs.org/ticket/3147" target="_blank">http://bugs.sugarlabs.org/ticket/3147</a>.<br>
> >> >><br>
> >> >> Checkboxes' feedbacks work perfectly !!<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> Thanks and Regards,<br>
> >> >> Ajay<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> On Sun, Aug 5, 2012 at 12:02 PM, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
> >> >> Hi Gary.<br>
> >> >><br>
> >> >> Please find attached the links to the "fixed" rpms.<br>
> >> >> Please "--upgrade --force --nodeps" on the dx3ng143 image, on which you have been testing.<br>
> >> >><br>
> >> >> <a href="http://people.sugarlabs.org/ajay/root/multi-select/sugar-0.94.1-31.dx3.noarch.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select/sugar-0.94.1-31.dx3.noarch.rpm</a><br>
> >> >> <a href="http://people.sugarlabs.org/ajay/root/multi-select/sugar-toolkit-0.94.0-20120805.dx3.fc14.i386.rpm" target="_blank">http://people.sugarlabs.org/ajay/root/multi-select/sugar-toolkit-0.94.0-20120805.dx3.fc14.i386.rpm</a><br>
> >> >><br>
> >> >><br>
> >> >> For brevity, the patches are at ::<br>
> >> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/38a261887ed44756147bae44277642252cae628f" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/38a261887ed44756147bae44277642252cae628f</a><br>
> >> >> <a href="http://git.sugarlabs.org/dextrose/mainline/commit/0c71cf00dfb8fe507627109748b5539e0eeba87f" target="_blank">http://git.sugarlabs.org/dextrose/mainline/commit/0c71cf00dfb8fe507627109748b5539e0eeba87f</a><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> Following are the changes/fixes ::<br>
> >> >> All courtesy you :)<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> a)<br>
> >> >> 'Select none' renamed as 'Deselect all'.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> b)<br>
> >> >> Now, a text-widget has been added to the top of EditToolBar.<br>
> >> >> This serves the following two purposes ::<br>
> >> >><br>
> >> >><br>
> >> >> * The widget is supposed to display only one line, at ANY time.<br>
> >> >><br>
> >> >> * Usually, while in "multi-select" mode, it will display "<x> of 97 selected", where "x" is the number of entries currently selected,<br>
> >> >> and 97 is assumed to be the total number of entries.<br>
> >> >><br>
> >> >><br>
> >> >> Here, as we select/deselect by single-click, or "select all"/"deselect all" button, the update happens consequently.<br>
> >> >><br>
> >> >> So, as is obvious, this modification helps show the number of selected entries, even when entries are selected/deselected one at a time<br>
> >> >> (previously, the status was shown, only when "select all" or "deselect all" was done).<br>
> >> >><br>
> >> >> * During batch-copy, or batch-erase, this widget shows the running status of the entry currently being processed.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> c)<br>
> >> >> Due to b), the progress-statuses are now NOT shown as alerts; rather as texts in the text-widget.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> d)<br>
> >> >> However, any errors (such as "Entries without a file cannot be copied") are continued to be shown as alerts.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> e)<br>
> >> >> Other than the progress-texts, and error-alerts, the only other notification shown are the confirmation-alerts before beginning<br>
> >> >> with the "Batch-Copy" and "Batch-Erase".<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> f)<br>
> >> >> During Batch-Operations (almost exclusively Batch-Copy), if an error occurs, users are presented with two options ::<br>
> >> >><br>
> >> >> * "Stop" - This stops the batch-operation there and then.<br>
> >> >><br>
> >> >> * "Continue" - Proceed forward with the next journal entry.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> g)<br>
> >> >> As seen in f), the "Ok" of the error-alert has been replaced (only textually) by "Continue".<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> h)<br>
> >> >> There were exceptions of the form "KeyError: 'keep'" occuring in logs.<br>
> >> >> This was due to some cases, wherein "keep" property was not present in a particular journal entry.<br>
> >> >><br>
> >> >> So now, as a fix, we first check if "keep" is a valid metadata-key. If yes, we read its value to gauge favorite-status.<br>
> >> >> Else, we assume that the journal-entry is an unfavorite by default.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> i)<br>
> >> >> VERY IMPORTANT NOTE ::<br>
> >> >><br>
> >> >> Renaming a journal-entry (by clicking and modifying the contents of the title-cell, has been disabled functionally.<br>
> >> >> This is because, the following happens when a rename is done in the "Documents" view ::<br>
> >> >><br>
> >> >> * Initially, the UID is same as the path of the entry in "Documents".<br>
> >> >><br>
> >> >> * User changes the name. The change is written on the DS, and the UID changed.<br>
> >> >><br>
> >> >> * Now, since refresh is inhibited in multi-select view, we need to fetch the new value of the title from the DS.<br>
> >> >> This requires the UID, through which the UID could be fetched. Since the name of the "Documents" journal-entry has<br>
> >> >> changed, so has its UID. But in the memory, the old UID still resides. Fetching the "new" title from the "old" UID does not<br>
> >> >> work.<br>
> >> >><br>
> >> >> Now, I tried disabling the renaming while rendering the listview, but that could not be done, as rendering th listview requires<br>
> >> >> knowing whether we are in multi-select mode, while multi-select mode is set, after the listview is rendered. So, we are in a catch-22<br>
> >> >> situation.<br>
> >> >><br>
> >> >> So, the way it works now in multi-select mode ::<br>
> >> >><br>
> >> >> * User is apparently able to edit the title, but that is all what happens.<br>
> >> >> There is no efective change - neither in backend, nor in frontend.<br>
> >> >><br>
> >> >> In the normal view, the renaming works as usual.<br>
> >> >><br>
> >> >><br>
> >> >> ======================================================<br>
> >> >><br>
> >> >><br>
> >> >> PENDING CHANGES ::<br>
> >> >><br>
> >> >> a)<br>
> >> >> As explained in point i) above, the renaming will not work, while in multi-select mode (however, the bug you reported wherein trying to rename in<br>
> >> >> "Documents" folder renders the UI unusable, has been duly fixed (of course, by not allowing the renaming to happen).<br>
> >> >><br>
> >> >> If this is indeed required, this will be a major change in the way we deal with UIDs for non-journal mount-points. But given that renaming is affected only in multi-select mode (renaming does not work at all in multi-select; while it works as usual in normal-mode), I am a bit sceptical to regarding this.<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> b)<br>
> >> >> A solution to the following bug ::<br>
> >> >><br>
> >> >><br>
> >> >> UNRESOLVED BUG. Tick-box slow/erratic behaviour in dx3ng143 with latest rpm fixes image on XO1, still needs mouse movement to redraw. This is also an issue when using the "Select all" toobar button, as the list view tick-boxes do not update until after the "Select all. You have selected N entries. (Ok)" dialogue is clicked.<br>
> >> >><br>
> >> >> still eludes me :(<br>
> >> >><br>
> >> >> This is an important issue, since (although there is no unusable UX, or any such major workflow blocker), the select/deselect "visual" "feedback" is an important thing, that should be conveyed as soon as possible. Though Gary's feedback on adding a text-widget on the top EditToolBar, does help show the number of entries selected, and thus gives a "textual" "feedback" :)<br>
> >> >><br>
> >> >> I would request all sugar-devel members to please post a solution to the issue, for which the discussion is going on, in the thread ::<br>
> >> >> <a href="http://lists.sugarlabs.org/archive/sugar-devel/2012-July/038626.html" target="_blank">http://lists.sugarlabs.org/archive/sugar-devel/2012-July/038626.html</a><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> Thanks and Regards,<br>
> >> >> Ajay<br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> On Sat, Aug 4, 2012 at 9:59 PM, Gary Martin <<a href="mailto:garycmartin@googlemail.com" target="_blank">garycmartin@googlemail.com</a>> wrote:<br>
> >> >> Hi Ajay,<br>
> >> >><br>
> >> >><br>
> >> >> On 4 Aug 2012, at 10:21, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
> >> >><br>
> >> >>> On Fri, Aug 3, 2012 at 8:53 PM, Ajay Garg <<a href="mailto:ajay@activitycentral.com" target="_blank">ajay@activitycentral.com</a>> wrote:<br>
> >> >>> Thanks a ton Gary.<br>
> >> >>> This is REALLY useful :)<br>
> >> >><br>
> >> >> Fab :)<br>
> >> >><br>
> >> >>> Please find the comments inline.<br>
> >> >>><br>
> >> >>><br>
> >> >>> On Fri, Aug 3, 2012 at 6:29 PM, Gary Martin <<a href="mailto:garycmartin@googlemail.com" target="_blank">garycmartin@googlemail.com</a>> wrote:<br>
> >> >>> Hi Ajay/Anish,<br>
> >> >>><br>
> >> >>> On 18 Jul 2012, at 11:57, Anish Mangal <<a href="mailto:anish@activitycentral.com" target="_blank">anish@activitycentral.com</a>> wrote:<br>
> >> >>><br>
> >> >>>> I would like to propose the long-discussed-finally-implemented ;-)<br>
> >> >>>> journal entry batch operation and multi selection feature for<br>
> >> >>>> inclusion in sugar-0.98. All the necessary and relevant details should<br>
> >> >>>> be present in the associated feature page:<br>
> >> >>>><br>
> >> >>>> <a href="http://wiki.sugarlabs.org/go/Features/Multi_selection_screenshots" target="_blank">http://wiki.sugarlabs.org/go/Features/Multi_selection_screenshots</a><br>
> >> >>>><br>
> >> >>>> AFAIK, This feature was initially brought up in discussions in EDUJam<br>
> >> >>>> in 2011 and an initial implementation was made by Martin Abente. The<br>
> >> >>>> current implementation, done by Ajay, has been derived from that<br>
> >> >>>> keeping the UI experience largely the same while significantly<br>
> >> >>>> speeding up operations like select/deselect.<br>
> >> >>>><br>
> >> >>>> Should you have any design related questions about this, feel free to<br>
> >> >>>> reply to this thread.<br>
> >> >>><br>
> >> >>> At last Tuesday's design meeting we didn't make it back around to this agenda item, so here's my feedback/notes after testing the DX3 image with the new rpms:<br>
> >> >>><br>
> >> >>> - FIXED. Once in multi-select mode, the favourite stars no longer visibly updates, though changes update later once multi-select mode is exited.<br>
> >> >>><br>
> >> >>> Great !!<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - FIXED. Auto deselection after batch operation.<br>
> >> >>><br>
> >> >>> Great !!<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - UNRESOLVED BUG. Tick-box slow/erratic behaviour in dx3ng143 with latest rpm fixes image on XO1, still needs mouse movement to redraw. This is also an issue when using the "Select all" toobar button, as the list view tick-boxes do not update until after the "Select all. You have selected N entries. (Ok)" dialogue is clicked.<br>
> >> >>><br>
> >> >>> Yep.. this is becoming a real pain.<br>
> >> >>> I have tried the solutions listed at <a href="http://lists.sugarlabs.org/archive/sugar-devel/2012-July/038626.html" target="_blank">http://lists.sugarlabs.org/archive/sugar-devel/2012-July/038626.html</a>, but none seem to work :-\<br>
> >> >>> Anyways, I am still trying ..<br>
> >> >>><br>
> >> >>> [Ajay ACTION 1] : Fix this.<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - NEW BUG. Renaming an entry while in multi-select mode does not display the name change, only updates the name displayed after multi-select mode is exited.<br>
> >> >>><br>
> >> >>> Thanks. Reproduced the bug at my side.<br>
> >> >>><br>
> >> >>> [Ajay ACTION 2] : Will fix.<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - NEW BUG. If you rename while in multi-select and then try to copy, the entry can't be copied and raises an error "Entries without a filename cannot be copied."<br>
> >> >>><br>
> >> >>> Hmm.. I think this is a false-negative.<br>
> >> >>> I tried the following ::<br>
> >> >>><br>
> >> >>> * Entered "multi-select" mode.<br>
> >> >>><br>
> >> >>> * Selected an entry (by ticking the check-box).<br>
> >> >>><br>
> >> >>> * Re-named the entry (however, the rename was not immediately visible, due to the above bug).<br>
> >> >>><br>
> >> >>> * Copied the entry to "Documents".<br>
> >> >>><br>
> >> >>> * Exited "multi-select" mode.<br>
> >> >>><br>
> >> >>> * Clicked "Documents" icon.<br>
> >> >>><br>
> >> >>> * The entry (WITH THE MODIFIED NAME) was present.<br>
> >> >>><br>
> >> >>> I guess the error message "Entries without a file cannot be copied" occurred on an entry, that would have anyways given this message, even if you hadn't renamed the entry.<br>
> >> >>><br>
> >> >>> [Gary ACTION 1] : Please let me know if you still face the error :)<br>
> >> >><br>
> >> >> OK, sorry I must have missed an extra step (I can't reproduce this just now). Will email you if I can find a reliable way to reproduce it.<br>
> >> >><br>
> >> >> However, I seem to have found a more nasty bug, while trying to test... Switch to the Journal Documents view; select an item; rename the selected item; the selected item will be deselected – though you'll still be in multi-select mode (but with nothing selected); click the toolbar button Select none; Journal will now be in a bad/unusable state, spinning busy cursor, can't escape multi select mode, shell log shows tracebacks IOError: Couldn't open metadata directory. I needed to restart Sugar to get back to normal. I'll post some shell logs in a separate email to you.<br>
> >> >><br>
> >> >>> - UNRESOLVED DESIGN QUESTION. Should filters continue to work once in multi-select mode e.g: Filter for star favourite items in Journal; multi select all stared items; un-favourite some entries while in multi-select mode. Should they be removed from the multi-select view, or stay? Currently they stay, but this causes a visual 'jump' when exiting multi-select mode as the initial filter is re-applied to the view. Same issue if filtering the Journal by title, and you rename some entries while in multi-select mode.<br>
> >> >>><br>
> >> >>> Well, I would say not to effect the change during multi-select mode, because of the following reasons ::<br>
> >> >>><br>
> >> >>> * Currently, the code is tightly bound to having the "current" listmodel entries in the cache.<br>
> >> >>> A re-fresh, would cause the cached entries to be re-distributed, requiring a very major code change.<br>
> >> >>><br>
> >> >>> * The original motive of "allowing" the user to set/unset favorite status, and rename entry, is to help the user do the processing on the entry,<br>
> >> >>> as she selects the entry. So, I guess it would be ok to effect the filters of these "secondary" features, AFTER the original action (copy,<br>
> >> >>> erase) is completed, and "multi-select" mode exited.<br>
> >> >>><br>
> >> >>> [Gary ACTION 2] : Anyhow, please let me know if you think otherwise :)<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - FEEDBACK. In multi-select mode the toolbar button string 'Select none' would be better renamed as 'Deselect all'.<br>
> >> >>><br>
> >> >>> Ok.<br>
> >> >>><br>
> >> >>> [Ajay ACTION 3] : Will fix.<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - TESTING. A loaded Journal with ~100 items, and a USB stick with 900+ items was tested. Selecting individual items one by one is reasonable (ignoring the above unresolved redraw/event bug). Batch selecting, deselecting, erasing operations are pretty quick (batch feedback progress is helpful especially for the 900+ item case). Batch copying is the slowest operation (as to be expected), feedback progress here is essential for even a few items.<br>
> >> >>><br>
> >> >>> [Gary ACTION 3] : Ok, so we show the progress for all = "Select", "Deselect", "Copy", "Erase", right?<br>
> >> >><br>
> >> >> Yes, but in the primary title bar as a text widget.<br>
> >> >><br>
> >> >>> - FEEDBACK. In the primary multi-select toolbar, add a separator and text widget to show how many items are selected, and how many are in the current multi-select view e.g. "Selected 3 of 123" so the current multi-select state is always visible to the user. This same widget can be used for progress feedback during batch operations e.g. "Copying 9 of 22: <title>", "Erasing 3 of 15: <title>", "Deselecting 5 of 17". This removes the need for all progress alerts during batch operations, see below.<br>
> >> >>><br>
> >> >>> Gary, please clarify a bit more.<br>
> >> >>> For eg, if a user wishes to do batch-copy on 15 entries (out of 97 entries), so would the snapshots be like ::<br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Selected 15 of 97<br>
> >> >>> <Second row of text widget> Copying 1 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Selected 15 of 97<br>
> >> >>> <Second row of text widget> Copying 2 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Selected 15 of 97<br>
> >> >>> <Second row of text widget> Copying 3 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Selected 15 of 97<br>
> >> >>> <Second row of text widget> Copying 4 of 15 <title><br>
> >> >>><br>
> >> >>> ..<br>
> >> >>> ..<br>
> >> >>> ..<br>
> >> >>> ..<br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Selected 15 of 97<br>
> >> >>> <Second row of text widget> Copying 14 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Selected 15 of 97<br>
> >> >>> <Second row of text widget> Copying 15 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> OR WOULD IT BE SIMPLY<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Copying 1 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Copying 2 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Copying 3 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Copying 4 of 15 <title><br>
> >> >>><br>
> >> >>> ..<br>
> >> >>> ..<br>
> >> >>> ..<br>
> >> >>> ..<br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Copying 14 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> <First row of text widget> Copying 15 of 15 <title><br>
> >> >>><br>
> >> >>><br>
> >> >>> [Gary ACTION 4] : Please clarify.<br>
> >> >>><br>
> >> >>><br>
> >> >>> I think I understood what is required.<br>
> >> >>><br>
> >> >>> * The widget is supposed to display only one line, at ANY time.<br>
> >> >>><br>
> >> >>> * Usually, while in "multi-select" mode, it will display "<x> of 97 selected", where "x" is the number of entries currently selected.<br>
> >> >>> Here, as we select/deselect by single-click, or "select all" / "deselect all" button, the update happens consequently.<br>
> >> >>><br>
> >> >>> So, as is obvious, this modification helps show the number of selected entries, even when entries are selected/deselected one at a time<br>
> >> >>> (previously, the status was shown, only when "select all" or "deselect all" was done).<br>
> >> >>><br>
> >> >>> * During batch-copy, or batch-erase, this widget shows the running status of the entry currently being processed.<br>
> >> >>><br>
> >> >>> * This seems to be a sleeker design, as it does do away with showing the running status as an alert.<br>
> >> >>> After all, alerts are meant to convey a potentially major action ..<br>
> >> >>><br>
> >> >>><br>
> >> >>> So, modified action for Gary :D ::<br>
> >> >>> [Gary ACTION 4] : Please confirm, as to if my understanding is correct.<br>
> >> >><br>
> >> >> Yes, that's it! :)<br>
> >> >><br>
> >> >> Regards,<br>
> >> >> --Gary<br>
> >> >><br>
> >> >>><br>
> >> >>><br>
> >> >>> Sorry for the inconvenience.<br>
> >> >>><br>
> >> >>> Thanks and Regards,<br>
> >> >>> Ajay<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - FEEDBACK. {confirmation_before, progress, confirmation_after}<br>
> >> >>> ... select_none {N, N, N}<br>
> >> >>> ... select_all {N, N, N}<br>
> >> >>> ... erase {Y, N, N}<br>
> >> >>> ... copying {Y, N, N}<br>
> >> >>><br>
> >> >>> Ok. Got it :)<br>
> >> >>><br>
> >> >>> [Ajay ACTION 4] : Will make the changes.<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> - FEEDBACK. We should allow a user to abort a batch operation when an error occurs. Use cases, encountering many errors during a batch operation when a volume runs out of space, or becomes unavailable. One solution on other platforms is a check box for in the error dialogues "[√] Apply to all" (to ignore future errors of this type during this batch process), and/or an additional button "Stop". I'd suggest our batch operation errors dialogues add a "Stop" button to allow aborting the batch process, and that the current "Ok" button is renamed "Continue" to be more clear.<br>
> >> >>><br>
> >> >>> Ok.<br>
> >> >>> So,<br>
> >> >>> * [Ajay ACTION 5] : We add a "Stop" button, which occurs on any error alert message.<br>
> >> >>> If the user clicks the "Stop" button, the batch-operations ends there ans then.<br>
> >> >>><br>
> >> >>> * [Ajay ACTION 6] : "Ok" button will be renamed to "Continue" button.<br>
> >> >>><br>
> >> >>><br>
> >> >>> - UNRESOLVED DESIGN QUESTION. Do we want to allow a user to abort a batch operation while it is in progress? Use case, copying/erasing many items over a slow network, or usb device, and deciding if it is not worth the wait. I think, for now, we can avoid this extra UI work as the batch features do provide the option to cancel before they begin. We should revisit this if it turns out to be a frustration for users. The UI design would likely be to add the cancel icon (X) to the primary toolbar while a batch operation is in progress.<br>
> >> >>><br>
> >> >>> +1.<br>
> >> >>> Anish too had suggested the same, but then we forfeited the idea, as this would make this (unnecessarily?) complex.<br>
> >> >>><br>
> >> >>> Anyways, in-field experiences are the real teachers :D :D<br>
> >> >>><br>
> >> >>><br>
> >> >>><br>
> >> >>> Regards,<br>
> >> >>> --Gary<br>
> >> >>> _______________________________________________<br>
> >> >>> Sugar-devel mailing list<br>
> >> >>> <a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
> >> >>> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
> >> >>><br>
> >> >>><br>
> >> >>> Gary, waiting for your responses :)<br>
> >> >>><br>
> >> >>> Thanks again.<br>
> >> >>><br>
> >> >>> Thanks and Regards,<br>
> >> >>> Ajay<br>
> >> >>><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> ><br>
> >><br>
> >><br>
> ><br>
> _______________________________________________<br>
> Sugar-devel mailing list<br>
> <a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
><br>
><br>
<br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>