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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On February 17th, 2014, 9:40 p.m. UTC, <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/115696/diff/1/?file=243530#file243530line176" style="color: black; font-weight: bold; text-decoration: underline;">projectmanagers/custom-definesandincludes/kcm_widget/projectpathsmodel.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

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

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">bool ProjectPathsModel::removeRows( int row, int count, const QModelIndex& parent )</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">176</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="n">project</span><span class="o">-></span><span class="n"><span class="hl">inProject</span></span><span class="p"><span class="hl">(</span></span><span class="n"><span class="hl">KDevelop</span></span><span class="o"><span class="hl">::</span></span><span class="n"><span class="hl">IndexedString</span></span><span class="p">(</span><span class="n">url</span><span class="p">)<span class="hl">)</span>)</span> <span class="p">{</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">173</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="n">project</span><span class="o">-></span><span class="n"><span class="hl">folder</span></span><span class="p"><span class="hl">().</span></span><span class="n"><span class="hl">isParentOf</span></span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="p">)</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;">this should trigger new deprecation warnings for which I am to blame in some part.

anyhow - please don't use the deprecated API. Prefer the KDevelop::Path API by doing project->path().toUrl().isParentOf(url)</pre>
 </blockquote>



 <p>On February 22nd, 2014, 5:03 p.m. UTC, <b>Sergey Kalinichev</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;">Yes, I wanted to do it that way too, but that API return a slightly different result e.g. project->folder() returns /some/path/ while project->path().toUrl() /some/path (without /), and projectpathsmodel.cpp relies on trailing /. But you're right anyway, so I've workarounded it.
BTW is it desired behavior or just a project's API bug?</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;">This is desired behavior. The Path API copes well with this, I'd say a follow-up should port the ProjectPathsModel to Path API instead of KUrl.</pre>
<br />




<p>- Milian</p>


<br />
<p>On February 22nd, 2014, 5:02 p.m. UTC, Sergey Kalinichev wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://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 Sergey Kalinichev.</div>


<p style="color: grey;"><i>Updated Feb. 22, 2014, 5:02 p.m.</i></p>







<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=254662">254662</a>, 

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


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevelop
</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;">The features are:
1. It's possible to add includes/defines for files/directories from withing a project.
2. Data stored in Custom Build Manager's format.
3. Language plugins use IDefinesAndIncludes interface to retrieve custom includes/defines.


There are questions though:
1. What to do with .kdev_include_paths files? Should we convert it's data to the new format upon project loading or we could just ignore it for projects and use it only for "out of project" files?
2. For some reasong this plugin shows up above others in the list of plugins (see screenshots), is it ok, if not how to change that behaviour?
3. Does other languages have defines/includes notion, if not how to make it available only for C/C++ then? (X-KDevelop-Language=C++ doesn't seem to work...)

Also there are some features missing:
1. So far there is no notification mechanism about changed defines/includes. (that is you have to press F5 to see the changes).
2. There is no caching (I wonder if it needed at all?)
...</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;">Yes, modified/enhanced tests a little bit.</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>languages/plugins/custom-definesandincludes/kcm_widget/kcm_customdefinesandincludes.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/kcm_kdevcustomdefinesandincludes.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfgc <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/definesmodel.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/definesmodel.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/includesmodel.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/includesmodel.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/kcm_customdefinesandincludes.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/customdefinesandincludesmanager.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/debugarea.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/debugarea.cpp <span style="color: grey">(PRE-CREATION)</span></li>

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

 <li>languages/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfg <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/CMakeLists.txt <span style="color: grey">(847426b)</span></li>

 <li>languages/cpp/includepathcomputer.cpp <span style="color: grey">(325ae55)</span></li>

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

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

 <li>languages/plugins/custom-definesandincludes/customdefinesandincludesmanager.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/kdevcustomdefinesandincludesmanager.desktop.cmake <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/settingsconverter.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/settingsconverter.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/settingsmanager.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/settingsmanager.cpp <span style="color: grey">(PRE-CREATION)</span></li>

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

 <li>languages/plugins/custom-definesandincludes/tests/plugintest.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/plugintest.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/multipathproject/.kdev4/multipathproject.kdev4 <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/multipathproject/config.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/multipathproject/multipathproject.kdev4 <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/multipathproject/src/main.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/simpleproject/.kdev4/simpleproject.kdev4 <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/simpleproject/config.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/simpleproject/simpleproject.kdev4 <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/projects/simpleproject/src/main.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>languages/plugins/custom-definesandincludes/tests/testconfig.h.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>projectmanagers/custom-buildsystem/CMakeLists.txt <span style="color: grey">(e742fe4)</span></li>

 <li>projectmanagers/custom-buildsystem/configconstants.h <span style="color: grey">(1f25752)</span></li>

 <li>projectmanagers/custom-buildsystem/configwidget.h <span style="color: grey">(85dcb09)</span></li>

 <li>projectmanagers/custom-buildsystem/configwidget.cpp <span style="color: grey">(6a665a6)</span></li>

 <li>projectmanagers/custom-buildsystem/configwidget.ui <span style="color: grey">(d2157d4)</span></li>

 <li>projectmanagers/custom-buildsystem/custombuildsystemconfig.h <span style="color: grey">(d9844b2)</span></li>

 <li>projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.h <span style="color: grey">(9f2efcf)</span></li>

 <li>projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp <span style="color: grey">(1c3f770)</span></li>

 <li>projectmanagers/custom-buildsystem/custombuildsystemplugin.cpp <span style="color: grey">(074a338)</span></li>

 <li>projectmanagers/custom-buildsystem/tests/CMakeLists.txt <span style="color: grey">(6332faf)</span></li>

 <li>projectmanagers/custom-buildsystem/tests/custombuildsystemplugintest.cpp <span style="color: grey">(ea9e2f5)</span></li>

 <li>projectmanagers/custom-buildsystem/tests/projects/builddirproject/.kdev4/builddirproject.kdev4 <span style="color: grey">(d3d1e52)</span></li>

 <li>projectmanagers/custom-buildsystem/tests/projects/multipathproject/.kdev4/multipathproject.kdev4 <span style="color: grey">(f988fe6)</span></li>

 <li>projectmanagers/custom-buildsystem/tests/projects/simpleproject/.kdev4/simpleproject.kdev4 <span style="color: grey">(c5a856a)</span></li>

</ul>

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



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

<ul>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/02/12/c7683483-a74f-4f84-a91d-127af710dab4__custom_build_system_before.png">custom_build_system_before.png</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/02/12/f4473409-be37-435a-a600-4a0159e6dd96__custom_build_system_after.png">custom_build_system_after.png</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/02/12/e49fb372-dd4e-4715-bfa4-5dac59caf0be__custom_defines_and_includes.png">custom_defines_and_includes.png</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/02/22/eabc7944-30c4-44f4-a0e9-99435c5dc2f9__interface_in_kdevplatform">interface_in_kdevplatform</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/02/22/bf556239-493b-47c5-9610-11be03cb747d__diff_full">full patch</a></li>

</ul>





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








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