<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/123562/">https://git.reviewboard.kde.org/r/123562/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 29th, 2015, 2:36 p.m. BST, <b>Milian Wolff</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  


<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/123562/diff/1/?file=364551#file364551line62" style="color: black; font-weight: bold; text-decoration: underline;">plugins/outlineview/outlinemodel.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">62</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">return</span> <span class="mi">1</span><span class="p">;</span></pre></td>
  </tr>

 </tbody>

</table>

  <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;">just asking: did you test this new model with a ModelTest hooked to it? i.e. add a</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #BC7A00">#include <tests/modeltest.h></span>
...
OutlineModel<span style="color: #666666">::</span>OutlineModel(...)
{
    new ModelTest(this);
}
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">if this does not lead to assertions, then you implement the model correctly.</p></pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; 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;">Works (even after storing the nodes by value).</p></pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 29th, 2015, 2:36 p.m. BST, <b>Milian Wolff</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  


<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/123562/diff/1/?file=364552#file364552line33" style="color: black; font-weight: bold; text-decoration: underline;">plugins/outlineview/outlinenode.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">33</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">Q_DISABLE_COPY</span><span class="p">(</span><span class="n">OutlineNode</span><span class="p">)</span></pre></td>
  </tr>

 </tbody>

</table>

  <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;">why disable copying? why not make this a simple struct and Q_DECLARE_TYPEINFO(OutlineNode, Q_MOVABLE_TYPE) as well as storing the stuff directly in a QVector? instead of storing pointers to objects in a vector?</p></pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; 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;">Very good idea, I don't think I knew about that stuff when I initially wrote the code. I've now made it use std::vector and added a move constructor since we don't need implicit sharing here.</p></pre>
<br />




<p>- Alex</p>


<br />
<p>On April 29th, 2015, 8:30 p.m. BST, Alex Richardson 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 Alex Richardson.</div>


<p style="color: grey;"><i>Updated April 29, 2015, 8:30 p.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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This plugin provides an outline view for the current document. It is
very similar to the outline view from eclipse and should also work for
any language.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I initially wrote this plugin in 2010 and then forgot about it. I've now
ported it to KF5 and it seems to work without any major issues. The only
major thing that is missing is that it updates once the document has been
reparsed and not whenever it is saved.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">works without crashes sofar.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Is sometimes empty initially, switching to other document and back fixes that</p></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>plugins/CMakeLists.txt <span style="color: grey">(2c004f22976f513eab607762b4e04fc1b5b048fa)</span></li>

 <li>plugins/outlineview/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/debug_outline.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/kdevoutlineview.json <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlinemodel.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlinemodel.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlinenode.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlinenode.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlineproxymodel.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlineproxymodel.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlineviewplugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlineviewplugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlinewidget.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/outlineview/outlinewidget.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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



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


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2015/04/29/08b90a88-1cbf-4f98-94e8-d7ea1ad02586__outline1.png">outline1.png</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2015/04/29/d8ee18c4-495a-44db-a346-803389462c42__outline2.png">outline2.png</a></li>

</ul>




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







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