Review Request 129533: Dolphin: expand all one level, expand all, and collapse all in details view mode
Don Nguyen
don78colorado at gmail.com
Tue Dec 13 16:16:52 GMT 2016
> On Dec. 4, 2016, 8:40 p.m., Emmanuel Pescosta wrote:
> > src/kitemviews/kfileitemmodel.cpp, lines 592-600
> > <https://git.reviewboard.kde.org/r/129533/diff/8/?file=486990#file486990line592>
> >
> > Add a new enum parameter to `setExpanded` to pass on some flags. Add an enum which has a `RememberPreviouslyExpandedChildren` (or a better name) item. Use this item as default for the new parameter and only insert the previously expanded children in `KFileItemModel::setExpanded` if it is requested by the client.
> >
> > When you iterate through the list of items, you have to start from the beginning to avoid the mentioned performance problems. `KFileItemModel::setExpanded` will automatically remove all child items of the currently collapsed item (the list in KFileItemModel looks like A, B, B-1, B-2, B-3, C and when you collapse B B-1 to B-3 will automatically be removed from the list).
> >
> > In the end the code for collapse-all should look like:
> >
> > for i = 0 .. count()-1 {
> > setExpanded(i, false, YourFlags::None);
> > }
I implemented your idea but using a bool instead. Let me know if you still prefer an enum. I had the setExpanded() override call the new setExpanded() with true as it's third arg inline. Let me know if you want me to change this as well.
- Don
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129533/#review101281
-----------------------------------------------------------
On Dec. 7, 2016, 9:53 p.m., Don Nguyen wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129533/
> -----------------------------------------------------------
>
> (Updated Dec. 7, 2016, 9:53 p.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/tests/kfileitemmodeltest.cpp 6c45e11
> 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/20161213/5d656054/attachment.htm>
More information about the kfm-devel
mailing list