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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On Oktober 15th, 2014, 12:10 nachm. CEST, <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/120317/diff/5/?file=315378#file315378line70" style="color: black; font-weight: bold; text-decoration: underline;">project/projectconfigpage.h</a>
    <span style="font-weight: normal;">

     (Diff revision 5)

    </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">70</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">delete</span> <span class="n">T</span><span class="o">::</span><span class="n">self</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;">sorry but I don't understand you - I need more context. What file? Where will it be reused? When?</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;">If we look at the code generated for e.g. the project filter settings:</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%">class ProjectFilterSettingsHelper
{
  <span style="color: #A0A000">public:</span>
    ProjectFilterSettingsHelper() <span style="color: #666666">:</span> q(<span style="color: #666666">0</span>) {}
    <span style="color: #666666">~</span>ProjectFilterSettingsHelper() { delete q; }
    ProjectFilterSettings <span style="color: #666666">*</span>q;
};
Q_GLOBAL_STATIC(ProjectFilterSettingsHelper, s_globalProjectFilterSettings)
ProjectFilterSettings <span style="color: #666666">*</span>ProjectFilterSettings<span style="color: #666666">::</span>self()
{
  <span style="color: #008000; font-weight: bold">if</span> (<span style="color: #666666">!</span>s_globalProjectFilterSettings()<span style="color: #666666">-></span>q)
     qFatal(<span style="color: #BA2121">"you need to call ProjectFilterSettings::instance before using"</span>);
  <span style="color: #008000; font-weight: bold">return</span> s_globalProjectFilterSettings()<span style="color: #666666">-></span>q;
}

<span style="color: #B00040">void</span> ProjectFilterSettings<span style="color: #666666">::</span>instance(<span style="color: #008000; font-weight: bold">const</span> QString<span style="color: #666666">&</span> cfgfilename)
{
  <span style="color: #008000; font-weight: bold">if</span> (s_globalProjectFilterSettings()<span style="color: #666666">-></span>q) {
     qDebug() <span style="color: #666666"><<</span> <span style="color: #BA2121">"ProjectFilterSettings::instance called after the first use - ignoring"</span>;
     <span style="color: #008000; font-weight: bold">return</span>;
  }
  new ProjectFilterSettings(cfgfilename);
  s_globalProjectFilterSettings()<span style="color: #666666">-></span>q<span style="color: #666666">-></span>read();
}

ProjectFilterSettings<span style="color: #666666">::</span>ProjectFilterSettings(  <span style="color: #008000; font-weight: bold">const</span> QString<span style="color: #666666">&</span> config  )
  <span style="color: #666666">:</span> KDevelop<span style="color: #666666">::</span>ProjectConfigSkeleton( config )
{
  Q_ASSERT(<span style="color: #666666">!</span>s_globalProjectFilterSettings()<span style="color: #666666">-></span>q);
  s_globalProjectFilterSettings()<span style="color: #666666">-></span>q <span style="color: #666666">=</span> this;
}

ProjectFilterSettings<span style="color: #666666">::~</span>ProjectFilterSettings()
{
  s_globalProjectFilterSettings()<span style="color: #666666">-></span>q <span style="color: #666666">=</span> <span style="color: #666666">0</span>;
}
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">instance will be called with project->developerTempFile() the first time this settings dialog is opened.
If we don't delete it it will always reuse the current instance which still uses the initial project->developerTempFile()
even if we are configuring a different project. Also this ConfigSkeleton remains in memory although we are not using it.</p></pre>
<br />




<p>- Alexander</p>


<br />
<p>On Oktober 15th, 2014, 1:39 vorm. CEST, Alexander 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 Alexander Richardson.</div>


<p style="color: grey;"><i>Updated Okt. 15, 2014, 1:39 vorm.</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;">Everything seems to work fine with the converted config pages.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is a huge diff, should I maybe push my changes to a new branch or to some other repository?</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;">Dialog is shown correctly, apply, okay work correctly.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not sure why the first title is translated, AFAIK I don't have any KF5 translations installed (but maybe it loads it from my KDE4 installation?)</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>project/projectconfigpage.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>project/projectkcmodule.h <span style="color: grey">(fe40e9c3ad05963a5c7986110d1d4cb3e3fa5438)</span></li>

 <li>shell/CMakeLists.txt <span style="color: grey">(7847e261f53e4831f7dd662add34a6e6281d5cd4)</span></li>

 <li>shell/configdialog.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>shell/configdialog.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>shell/plugincontroller.cpp <span style="color: grey">(9872b4631fdd6c5e586c97ccee598066c0e2deb0)</span></li>

 <li>shell/projectcontroller.h <span style="color: grey">(08cb7cbfec32cac918d674ed9a076ce9286ffd30)</span></li>

 <li>shell/projectcontroller.cpp <span style="color: grey">(6c1c3844800d05911003d47c6408ff34d24d5afd)</span></li>

 <li>shell/settings/CMakeLists.txt <span style="color: grey">(5760ab4cb6a459ec6f1282ae09bb95f5f6e77892)</span></li>

 <li>shell/settings/kcm_kdev_pluginsettings.desktop.cmake <span style="color: grey">(10d126ed24adc10d3e6f7183d7b97677c661287e)</span></li>

 <li>shell/settings/kcm_kdev_uisettings.desktop.cmake <span style="color: grey">(336e233c2cb1570a2d8523680938f1d094a9a915)</span></li>

 <li>shell/settings/pluginpreferences.h <span style="color: grey">(12f9d233d9a06739ff0e460e5c41ff92f9431af3)</span></li>

 <li>shell/settings/pluginpreferences.cpp <span style="color: grey">(776df6360acec177aa6338058ede61ba80fc0b15)</span></li>

 <li>shell/settings/uipreferences.h <span style="color: grey">(34c46f3902cf06156c7f8279e6672ebb7a06a31e)</span></li>

 <li>shell/settings/uipreferences.cpp <span style="color: grey">(c8ba26201516241e29f76db4c6e448de787c4704)</span></li>

 <li>shell/uicontroller.h <span style="color: grey">(797fa198ed17608e88f2a9e9a03f8072c5ebf45d)</span></li>

 <li>shell/uicontroller.cpp <span style="color: grey">(0eab47ae515f7832ea8b1833252346cec84c8254)</span></li>

 <li>plugins/projectfilter/projectfilterkcm.cpp <span style="color: grey">(7eaba23ca09bfedb76fde50a4ff02b28b009c31a)</span></li>

 <li>plugins/projectfilter/projectfilterprovider.h <span style="color: grey">(cb1fa978e0c40fcf8cf5e3fcaf73294c1b9d314e)</span></li>

 <li>plugins/projectfilter/projectfilterprovider.cpp <span style="color: grey">(e22198349f02675572b1396e7a02bac1b43d2eb8)</span></li>

 <li>project/CMakeLists.txt <span style="color: grey">(e484a3c3370db2c5a9f600c3af5f0ef9e0ccb39d)</span></li>

 <li>plugins/projectfilter/projectfilterkcm.h <span style="color: grey">(01d143469528117589c86853e5847fad6bc2aaaf)</span></li>

 <li>CMakeLists.txt <span style="color: grey">(6a8987db82b5dd589b01718120c7c8021b91f1c4)</span></li>

 <li>interfaces/CMakeLists.txt <span style="color: grey">(87916216011e4390ba9b637f9ae22fe54f254e86)</span></li>

 <li>interfaces/configpage.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>interfaces/configpage.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>interfaces/iplugin.h <span style="color: grey">(b101ae46fa430101c21a1c8eb8699674cbb1977b)</span></li>

 <li>plugins/projectfilter/CMakeLists.txt <span style="color: grey">(7fc4226bc253e033633916d058f0fc32a1f4cb6f)</span></li>

 <li>interfaces/iplugin.cpp <span style="color: grey">(1a0677312485ae47747cc3483ce325fe9890af78)</span></li>

 <li>plugins/projectfilter/kcm_kdevprojectfilter.desktop.cmake <span style="color: grey">(2d728b3fcb6b0cd8b6976771a214f270995bc2b7)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/120317/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/2014/09/22/7e219540-1632-4465-9675-ad24a2fde56c__kdev_config_new.png">kdev_config_new.png</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/09/22/f4f16e26-e6dd-4c98-9969-588342f85f4c__kdev_config_new1.png">kdev_config_new1.png</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/09/25/7130af0f-5e23-45cf-b781-ebe318be8369__kdev_config_new2.png">plugin enabled -> entry exists</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/09/25/dff38c1f-2b3d-4ab7-a97d-adff0a99bb3d__kdev_config_new3.png">plugin unloaded -> entry disappears</a></li>

</ul>




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








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