Review Request 129533: Dolphin: expand all one level, expand all, and collapse all in details view mode

Don Nguyen don78colorado at gmail.com
Mon Dec 5 18:00:11 GMT 2016



> On Dec. 4, 2016, 8:40 p.m., Emmanuel Pescosta wrote:
> > Huge patch ... :)
> > 
> > Can you please add test cases and clean up your patch (remove unused and commented code)?
> > 
> > Thanks!

I will work on the test cases and cleaning up the patch.  

The reason why I avoided calling setExpanded() in the new functions and funneled everything through expandURLs() is to limit the number of simultaneous openURL() operations and for better accuracy of the emitting of the directoryLoadingCompleted signal.  If we call setExpanded() five times, directoryLoadingCompleted will be emitted when the first of those five openURL() completes.  expandURLs() instead will add the URLs to m_urlsToExpand, and the URLs will be expanded one by one, and emit the directoryLoadingCompleted signal when m_urlsToExpand is empty.  I got the idea of using m_urlsToExpand and only calling setExpanded() once to start the step by step expansion from expandParentDirectories() and if we decide to go with this method I will also change the latter part of expandParentDirect
 ories() to call expandURLs().

What is the behavior we want for Collapse All functionality?  Do we want it to remember the expanded children state where expanding a directory later would expand all the previously expanded children or should it be forgotten and be presented as a fully collapsed view.  I would vote for the latter because I think of "Collapse All" as collapsing *every* folder (equivalent to someone clicking on collapse on every folder starting with the most expanded) to get a "clean" effect, and not just the top level folders.


- Don


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129533/#review101281
-----------------------------------------------------------


On Dec. 4, 2016, 7:01 a.m., Don Nguyen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129533/
> -----------------------------------------------------------
> 
> (Updated Dec. 4, 2016, 7:01 a.m.)
> 
> 
> Review request for Dolphin and KDE Usability.
> 
> 
> Bugs: 196772
>     https://bugs.kde.org/show_bug.cgi?id=196772
> 
> 
> Repository: dolphin
> 
> 
> Description
> -------
> 
> Implemented functions:  Expand, Expand Full, and Collapse All.  They are available under the View and Control menus as well as custom toolbar buttons as Thomas explained and are disabled when not in details view mode.  They are also available via the context menu only in details view mode.  See screenshots.  
> Expand - If there is a selection, expand the selection once.  Otherwise expand everything once.  
> Expand Full - If there is a selection, expand the selected items completely.  Otherwise expand everything completely.
> Collapse All - Collapse everything.
> 
> 
> Diffs
> -----
> 
>   src/dolphincontextmenu.h f67300d 
>   src/dolphincontextmenu.cpp ed3f643 
>   src/dolphinmainwindow.cpp e5103fd 
>   src/dolphinui.rc f197af4 
>   src/kitemviews/kfileitemmodel.h 8a0df72 
>   src/kitemviews/kfileitemmodel.cpp 05f85a6 
>   src/views/dolphinview.h 0b0d819 
>   src/views/dolphinview.cpp 4105628 
>   src/views/dolphinviewactionhandler.h eb375b5 
>   src/views/dolphinviewactionhandler.cpp 858f929 
> 
> Diff: https://git.reviewboard.kde.org/r/129533/diff/
> 
> 
> Testing
> -------
> 
> make test passes
> manual testing including:
> expand all on an Android SDK folder which yielded in 3180 folders, and 30993 files
> collapse all on above situation
> expand all on a directory that contains a symbolic link to a directory containing itself - operation will stop with error when expansion reaches a path that KCoreDirLister doesn't accept(see looptest screenshot) 
> changing directories in the middle of an expand all operation
> changing directories in the middle of a restore expanded directories operation 
> canceling in the middle of an expand all operation
> canceling in the middle of a restore expanded directories operation
> canceling in the middle of an expand all operation or restore expand directory operation, and then expanding an item manually with mouse click
> collapse all in the middle of an expand all operation
> collapse all in the middle of a restore expanded directories operation
> switched view modes and verified items are enabled only in details view mode
> 
> 
> File Attachments
> ----------------
> 
> looptest
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/11/25/f02b7e85-d0b3-4153-ae0d-e86a4ddfc916__looptest.png
> context-menu-disabled
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/12/04/1fcc4412-e5f2-4c31-92bf-b828eea938f7__contextdisabled.png
> context-menu-with-selection
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/12/04/8a4709e5-d674-4f74-8cbc-a71841db7c36__selectioncontextenabled.png
> view-menu-enabled
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/12/04/1ddaa88d-e0aa-441a-a840-5e2cdc06fbf2__viewmenuenabled.png
> 
> 
> Thanks,
> 
> Don Nguyen
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20161205/0800d98f/attachment.htm>


More information about the kfm-devel mailing list