Review Request 104932: Add nested view in the class browser plugin.

Milian Wolff mail at milianw.de
Fri May 24 12:24:14 UTC 2013



> On May 17, 2013, 7:14 a.m., Kevin Funk wrote:
> > Ghislain, do you still plan to work on this patch?
> 
> Ghislain Mary wrote:
>     I looked at the KRecursiveFilterProxyModel stuff some time ago because I agree that putting the filtering into the model is ugly. By the way, I didn't put the filtering in the model, this is already how it is done in the class browser plugin for the flat view.
>     Unfortunately, I think using a KRecursiveFilterProxyModel is not really an option here. It requires to have a source model that is already fully populated. But the way the class browser plugin works is that it populates the model when a node of the treeview is expanded. I believe this is done this way for performance reasons but also because the model is not finite. Each class lists its parents and its children and so you have loops and you can expand nodes indefinetly if you want to.
>     It would maybe be possible to load the model entirely without loading the parent classes and children classes and then load this dynamically when requested by the user by expanding the parents/children node but it would be quite complicated and would require to rewrite the class browser almost entirely.
>     So, to answer your question, I do not plan to work on this patch any further.

Qt models have the notion of delayed loading. See http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#canFetchMore .

Note that this is being done in e.g. KMail so it certainly works with proxy models on top of it.


- Milian


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


On May 24, 2012, 2:08 p.m., Ghislain Mary wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/104932/
> -----------------------------------------------------------
> 
> (Updated May 24, 2012, 2:08 p.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Description
> -------
> 
> It enables the user to navigate the project tree and list the classes defined in each directory of the project.
> 
> Some more work would be needed after this to improve the search function. I think we should replace the search lineedit by a "Filter..." action as in the projectmanagerview plugin so it is more consistent. And then when the user enters a filter we should use automatically the flat view because otherwise the user will probably not see the result of his filtering.
> 
> 
> This addresses bug 212583.
>     http://bugs.kde.org/show_bug.cgi?id=212583
> 
> 
> Diffs
> -----
> 
>   plugins/classbrowser/classmodel.h fd1eed5 
>   plugins/classbrowser/classmodel.cpp f9956c6 
>   plugins/classbrowser/classmodelnode.h 739868b 
>   plugins/classbrowser/classmodelnode.cpp 334f424 
>   plugins/classbrowser/classwidget.h 1e1ed58 
>   plugins/classbrowser/classwidget.cpp f5a9517 
>   plugins/classbrowser/projectfolder.h d951a86 
>   plugins/classbrowser/projectfolder.cpp 419cb79 
> 
> Diff: http://git.reviewboard.kde.org/r/104932/diff/
> 
> 
> Testing
> -------
> 
> I used it on the kdevplatform and kdevelop sources and have seen no problem.
> 
> 
> Screenshots
> -----------
> 
> Nested view in class browser plugin
>   http://git.reviewboard.kde.org/r/104932/s/576/
> 
> 
> Thanks,
> 
> Ghislain Mary
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130524/5f7018fc/attachment.html>


More information about the KDevelop-devel mailing list