<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/104932/">http://git.reviewboard.kde.org/r/104932/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 17th, 2013, 7:14 a.m. UTC, <b>Kevin Funk</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ghislain, do you still plan to work on this patch?</pre>
 </blockquote>




 <p>On May 17th, 2013, 5:51 p.m. UTC, <b>Ghislain Mary</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
<br />










<p>- Milian</p>


<br />
<p>On May 24th, 2012, 2:08 p.m. UTC, Ghislain Mary wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Ghislain Mary.</div>


<p style="color: grey;"><i>Updated May 24, 2012, 2:08 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I used it on the kdevplatform and kdevelop sources and have seen no problem.</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=212583">212583</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>plugins/classbrowser/classmodel.h <span style="color: grey">(fd1eed5)</span></li>

 <li>plugins/classbrowser/classmodel.cpp <span style="color: grey">(f9956c6)</span></li>

 <li>plugins/classbrowser/classmodelnode.h <span style="color: grey">(739868b)</span></li>

 <li>plugins/classbrowser/classmodelnode.cpp <span style="color: grey">(334f424)</span></li>

 <li>plugins/classbrowser/classwidget.h <span style="color: grey">(1e1ed58)</span></li>

 <li>plugins/classbrowser/classwidget.cpp <span style="color: grey">(f5a9517)</span></li>

 <li>plugins/classbrowser/projectfolder.h <span style="color: grey">(d951a86)</span></li>

 <li>plugins/classbrowser/projectfolder.cpp <span style="color: grey">(419cb79)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/104932/diff/" style="margin-left: 3em;">View Diff</a></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Screenshots </h1>

<div>

 <a href="http://git.reviewboard.kde.org/r/104932/s/576/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/05/24/ClassBrowser_400x100.png" style="border: 1px black solid;" alt="Nested view in class browser plugin" /></a>

</div>


  </td>
 </tr>
</table>








  </div>
 </body>
</html>