[KDE Usability] Review Request: Proposal to add a 'lock toggle button' to filter bar to prevent clearing of filter when navigating to a different folder

Stuart Citrin ctrn3e8 at gmail.com
Mon Dec 17 17:38:02 GMT 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107392/
-----------------------------------------------------------

(Updated Dec. 17, 2012, 5:38 p.m.)


Review request for Dolphin and KDE Usability.


Changes
-------

There are two patches here and they need to be applied sequentially to the prior submitted '001' patch.  The '003' patch is just an additional white space fix.   (Sorry, it is a pain to rewind git ).

These patches. per previous critique:

1. Eliminate some copyright statements
2. Fix white space issues
3. Change function names 

In reply to: "I guess the main reason for doing any changes in DolphinMainWindow at all is to have a configurable keyboard shortcut? To be honest, I'm not quite sure if we really need one. The patch would be a lot less intrusive without it...."

Yes, the change is to allow a configurable shortcut. I have always been taught that good usability standards are to always construct your GUI so that the user is able to use the application without a mouse.  There are environments where a user would need to use a computer where a mouse would not be practical.  These days, in such situations,  a user would probably at least have a touchpad.  But, if someone is like me (old, clumsy, and with big fingers), and is forced to choose between the touchpad and the keyboard, it is much easier to use the keyboard, than to have to meticulously zero in on some small GUI button in order execute an action. Shortcuts should be configurable, since any default shortcut chosen may conflict with a user's custom shortcut, and one should not question a users perogotives in assigning particular shortcut keys.  

In replay to: "I wonder if we really need a full blown tool bar here."....

KToolBar is derived from QToolBar.  From the QToolBar class reference:

"The QToolBar class provides a movable panel that contains a set of controls.
Toolbar buttons are added by adding actions, using addAction() or insertAction()...."

Okay, we do not need the movable panel part.  But essentially what this is saying is that the (K)QToolBar is a container of actionable buttons.  By adding an action to a KToolBar you get all the plumbing and wiring for free.  A button associated with the action is automatically created and kept in synchronization with the state of the action.  Thus if one toggles the filter lock by either mouse, the keyboard, or programatically, the  up/down drawing state of the button is automatically and appropriately updated.

Note that sizeof(KToolBar) returns  48 bytes...and I suppose there is probably some additional vtable overhead...but whatever.


Description
-------

I wrote a quick add-on for the Dolphin filter bar.   It is a button which prevents the filter text from clearing when navigating to a different folder. 

Why this might be needed:

This is an attempt to resolve the following usability conflict: 

If one navigates to a different folder, the filter is automatically cleared since one does not want a situation where someone forgets a filter is applied and then doesn't understand why all the files within a folder are not appearing.(current behavior) 
versus: 
A user might want to keep a filter while navigating an arbitrary set of folders, but is unable to, since the filter is automatically cleared upon navigation 

The implementation to try to resolve this conflict is as follows: 

1. A lock filter toggle button is added to the right side of the filter bar. 
2. If the lock filter button is clicked(on), then if the user navigates away from the current folder, the filter is not cleared. If the lock filter button is released(off), then the text is cleared on navigation...which is the current behavior. 
3. A configurable shortcut is added to toggle the lock filter button, with the default being Ctrl-Shift-I (since the default shortcut for hiding and showing the filter bar is Ctrl-I.) 
4. If the user toggles the lock filter button to released (off), then the text in the filter also clears. The assumption here is that if the user no longer wants the text to be locked, he probably also wants to clear the text.
 5. When the filter bar is hidden, then the lock filter button is released. The next time the filter bar is shown, the lock filter button will be in the released(off) position and the filter text will have been cleared. 
6. At application startup, the lock filter button is always off, and the filter bar text cleared. 

This also fixes a current bug in dolphin where one is unable to toggle the visibility of the filter bar using the tool bar filter button, or by using the assigned hot key.

Note... I think it is 'patch -p2' from the "dolphin" directory (above src directory ) to apply the patch


Diffs (updated)
-----

  dolphin/src/dolphinmainwindow.h 7da5801 
  dolphin/src/dolphinmainwindow.cpp 11e03d0 
  dolphin/src/dolphinviewcontainer.h 0300273 
  dolphin/src/dolphinviewcontainer.cpp 6e99437 
  dolphin/src/filterbar/filterbar.h 9546c63 
  dolphin/src/filterbar/filterbar.cpp f3076f0 

Diff: http://git.reviewboard.kde.org/r/107392/diff/


Testing
-------

Went through all paths in dolphin.  Tested: 1. Navigate to different folder. Text should clear only when text not locked
2.Ctl-I shortcut to toggle visiblility of filterbar
3.Text clears when filterbar hidden and then shown
4. Lock button locks and unlocks text
5. Shift-Ctl-I shortcut to toggle lock status of text.  Lock button updates appropriately
6. Status (with non-perisistence from previous instance) of lock button when starting application..i.e. lock status is off on startup
7. Change keyboard shortcuts...works appropriately
8. F3 and split view..tabs..etc.. should still work appropriately
9. Monkey tested...cannot get it to crash
etc....


Screenshots
-----------

Filter bar with new text locking button
  http://git.reviewboard.kde.org/r/107392/s/877/


Thanks,

Stuart Citrin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20121217/3d99d451/attachment.htm>
-------------- next part --------------
_______________________________________________
kde-usability mailing list
kde-usability at kde.org
https://mail.kde.org/mailman/listinfo/kde-usability


More information about the kfm-devel mailing list