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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 6th, 2015, 12:53 p.m. UTC, <b>Milian Wolff</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">afaik, the FocusedTreeView is only being used by the OutputWidget, which already contains code like this as well to scroll the view to the bottom. Could we merge the two somehow to get rid of the timer duplication?</p></pre>
 </blockquote>




 <p>On January 6th, 2015, 11:26 p.m. UTC, <b>Aleix Pol Gonzalez</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">+1
In fact, FocusedTreeView as a generic class hasn't been very successful. We could just move it back in OutputView and get all the delaying code together.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Alright; FocusedTreeView works by overriding a virtual method (sizeHintForColumn), which means the class itself can't just be removed, though obviously it would be trivial to move focusedtreeview.cpp|h into plugins/standardoutputview.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I started to merge the auto-scroll functionality from OutputWidget into FocusedTreeView so that the timers can be merged (given that the class needs to stay around anyway, that seemed cleaner than the other way around), but ran into troubles because now the scrolling isn't in sync between different "areas" (Debug vs. Code). Did I mention that I hate the way those areas work?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Anyway, I'll look into that in the near future to come up with a new version of this change.</p></pre>
<br />










<p>- Nicolai</p>


<br />
<p>On January 6th, 2015, 11:58 a.m. UTC, Nicolai Hähnle wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Nicolai Hähnle.</div>


<p style="color: grey;"><i>Updated Jan. 6, 2015, 11:58 a.m.</i></p>









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


<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;">We need to recompute the column width when a new row is inserted to ensure that
the horizontal scrollbar behaves properly.

Under certain circumstances (in particular: running an extremely spammy process
or filtering large outputs), rowInserted is called many times in quick succession,
which leads to essentially quadratic runtime behavior, because some of the
recomputation triggers a slow layout recomputation inside QTreeView. So we delay
the recomputation until we get back to the event loop.

After this change, output views work smoothly even on very large outputs.</pre>
  </td>
 </tr>
</table>



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

 <li>util/focusedtreeview.h <span style="color: grey">(f813c2de6d8679c57c1477d8bc63c29e2139ba98)</span></li>

 <li>util/focusedtreeview.cpp <span style="color: grey">(b58720313cc9c3ca08ae401c009425a30cdc326a)</span></li>

</ul>

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






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








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