<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/101111/">http://git.reviewboard.kde.org/r/101111/</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 23rd, 2011, 4:04 a.m., <b>Thorsten Zachmann</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;">When starting stage I can see that it still loads the spreadsheetshape even for an empty document.

Looks like this is not working as wanted.

lsof gives me:

kpresente 3920 ko2t  mem    REG                8,5 20088594 3949070 /opt/ko2o/lib/libcalligratablesodf.so.8.0.0
kpresente 3920 ko2t  mem    REG                8,5 23856453 3949071 /opt/ko2o/lib/libcalligratablescommon.so.8.0.0
kpresente 3920 ko2t  mem    REG                8,5  1485240 3949076 /opt/ko2o/lib/kde4/spreadsheetshape.so

LD_DEGUG=files shows that the plugin is already loaded before even a document is loaded.</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;">spreadsheetshape is the stub plugin, spreadsheetshape-deferred the real plugin. And when I run lsof on my stage process, libcalligratablesodf.so and libcalligratablescommon.so are not loaded. So I think you actually tested with an old, non-stub plugin.

I've fixed the code for the other remarks and restored the text shape to its old situation for now. Since there aren't any major issues, is it ok to merge or do you want an updated diff?</pre>
<br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 23rd, 2011, 4:04 a.m., <b>Thorsten Zachmann</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="http://git.reviewboard.kde.org/r/101111/diff/1/?file=14279#file14279line72" style="color: black; font-weight: bold; text-decoration: underline;">libs/flake/KoShapeFactoryBase.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; "></pre></td>

  </tr>
 </tbody>






 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">60</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="o">:</span> <span class="n">d</span><span class="p">(</span><span class="k">new</span> <span class="n">Private</span><span class="p">(</span><span class="n">id</span><span class="p">,</span> <span class="n">name</span><span class="p">))</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">72</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="o">:</span> <span class="n">d</span><span class="p">(</span><span class="k">new</span> <span class="n">Private</span><span class="p">(</span><span class="n">id</span><span class="p">,</span> <span class="n">name</span><span class="p">))</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">61</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="p">{</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">73</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="p">{</span></pre></td>
  </tr>

 </tbody>



 
 



 <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">74</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">d</span><span class="o">-></span><span class="n">deferredPluginName</span> <span class="o">=</span> <span class="n">deferredPluginName</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;">How about adding the deferredPluginName to the constructor of the Plugin.</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;">I can do that, but in general, I don't like long lists of parameters. For a Private class (I assume you mean that), it doesn't matter much though.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 23rd, 2011, 4:04 a.m., <b>Thorsten Zachmann</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="http://git.reviewboard.kde.org/r/101111/diff/1/?file=14279#file14279line223" style="color: black; font-weight: bold; text-decoration: underline;">libs/flake/KoShapeFactoryBase.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="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void KoShapeFactoryBase::getDeferredPlugin()</pre></td>

  </tr>
 </tbody>




 
 



 <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">223</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">Q_ASSERT</span><span class="p">(</span><span class="n">offers</span><span class="p">.</span><span class="n">size</span><span class="p">()</span> <span class="o">></span> <span class="mi">0</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;">should there be a warning in case the deferred plugin is not found?</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;">There is a warning on loading the deferred plugin. I don't think it should warn everywhere where the plugin is used.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 23rd, 2011, 4:04 a.m., <b>Thorsten Zachmann</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="http://git.reviewboard.kde.org/r/101111/diff/1/?file=14293#file14293line38" style="color: black; font-weight: bold; text-decoration: underline;">plugins/CMakeLists.txt</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; "></pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">38</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">macro_optional_add_subdirectory( textshape )</pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">38</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="hl">#</span>macro_optional_add_subdirectory( textshape )</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;">Please commit it it like that.</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;">"don't" commit it, right?</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 23rd, 2011, 4:04 a.m., <b>Thorsten Zachmann</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="http://git.reviewboard.kde.org/r/101111/diff/1/?file=14308#file14308line55" style="color: black; font-weight: bold; text-decoration: underline;">tables/shape/TableShapeFactory.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; "></pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">54</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="o">:</span> <span class="n">KoShapeFactoryBase</span><span class="p">(</span><span class="n">TableShapeId</span><span class="p">,</span> <span class="n">i18n</span><span class="p">(</span><span class="s">"Spreadsheet"</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">50</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="o">:</span> <span class="n">KoShapeFactoryBase</span><span class="p">(</span><span class="n">TableShapeId</span><span class="p">,</span> <span class="n">i18n</span><span class="p">(</span><span class="s">"Spreadsheet"</span><span class="p">),</span> <span class="s">"Spreadsheet Shape"</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;">Should the plugin not be named TableShapeDeferred to match more the name of the TableShape plugin instead of a very different name. If the name already says deferred in it I think the stuff is clearer.</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;">No, this plugin isn't the deferred plugin, it's the stub plugin. I didn't rename it because it isn't a generic table component.</pre>
<br />




<p>- Boudewijn</p>


<br />
<p>On April 13th, 2011, 1:02 p.m., Boudewijn Rempt wrote:</p>






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

<div>Review request for Calligra.</div>
<div>By Boudewijn Rempt.</div>


<p style="color: grey;"><i>Updated April 13, 2011, 1:02 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;">This patch implements three things:

* deferred plugin loading for shape plugins. Shapes (even with tools) can now be loaded in two stages: a stub factory which defers to the second, real plugin. The advantage is that we do not load all libraries of all Calligra applications when starting a calligra application. The disadvantage is slightly more complexity. For unported plugins, nothing changes at all.
* dynamic tool insertion. Until now, tool factories were loaded at at startup and tools were created on canvas creation. Now it is possible to dynamically add a tool factory. Doing so will create a new tool for all canvases.
* split the spreadsheet shape plugin as an example.

The text shape plugin is next, in this patch it's still disabled.</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>libs/flake/KoDeferredShapeFactoryBase.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/flake/CMakeLists.txt <span style="color: grey">(e4a16f3a34b5e4645a0bb60898926ccc0f7bfb0d)</span></li>

 <li>krita/plugins/assistants/RulerAssistant/SplineAssistant.cc <span style="color: grey">(7c212d94379a73d68255109e55e7641f4d3a33de)</span></li>

 <li>krita/image/tiles3/kis_tile_data.h <span style="color: grey">(d00a4afc11952c3df16abe5ff89f85be92dfa4d5)</span></li>

 <li>krita/plugins/assistants/RulerAssistant/PerspectiveAssistant.cc <span style="color: grey">(f49842c90fc712165520e588fd26c71126795ec5)</span></li>

 <li>libs/flake/KoDeferredShapeFactoryBase.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/flake/KoShapeFactoryBase.h <span style="color: grey">(8ff17e4d27a4c87db280bdbfa484c81dafffe66d)</span></li>

 <li>libs/flake/KoShapeFactoryBase.cpp <span style="color: grey">(536b0baef75cc3de5073ae90cbcb9eedeabae0fe)</span></li>

 <li>libs/flake/KoToolManager.h <span style="color: grey">(00333248644cf4a1021d55623c5061a580229ad6)</span></li>

 <li>libs/flake/KoToolManager.cpp <span style="color: grey">(3b6554a41dc4910b238473477b59f02b7c0c52de)</span></li>

 <li>libs/flake/KoToolRegistry.h <span style="color: grey">(bcdb5de89e089e850e7d93eb6fd95a42e5b3b110)</span></li>

 <li>libs/flake/KoToolRegistry.cpp <span style="color: grey">(f83072db104144035c350b6056bdc02081e1fb25)</span></li>

 <li>libs/main/CMakeLists.txt <span style="color: grey">(a7f3077db8db5be3cf9a77f77e87c09fc84f17a0)</span></li>

 <li>libs/main/KoToolBox.cpp <span style="color: grey">(092920b3f1b5a25f63df81125df2d3565bb63b46)</span></li>

 <li>libs/main/KoToolBoxDocker.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/main/KoToolBoxDocker_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/main/KoToolBoxFactory.h <span style="color: grey">(8269759d5ccdf728007a6e613ce18feeda527c20)</span></li>

 <li>libs/main/KoToolBoxFactory.cpp <span style="color: grey">(4af151dcdfe373ae2697f65940b223d811ea8f53)</span></li>

 <li>libs/main/KoToolBoxLayout_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/main/KoToolBox_p.h <span style="color: grey">(81e8178a8f62b40f5a6bb4201b45e34bd4a95021)</span></li>

 <li>libs/main/KoToolDocker_p.h <span style="color: grey">(3f965dd29523b73fcf1f7b2133366c8e514db627)</span></li>

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

 <li>plugins/artistictextshape/MoveStartOffsetStrategy.cpp <span style="color: grey">(6a47031ddd0dd33b89897cfcde6df67bf4865787)</span></li>

 <li>plugins/textshape/CMakeLists.txt <span style="color: grey">(3eb805bee8e4b81faae4b767380b65770d4ce52a)</span></li>

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

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

 <li>plugins/textshape/TextShapeFactory.h <span style="color: grey">(91202a01534cfe93fff4abaf573ec32b009335c2)</span></li>

 <li>plugins/textshape/TextShapeFactory.cpp <span style="color: grey">(d65c2c87f1441c672a0f3378d6e170d79cd05ae7)</span></li>

 <li>plugins/textshape/textshape-deferred.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>servicetypes/CMakeLists.txt <span style="color: grey">(3db70a8fc61b638b33cf4c7bca3cc3b5d30a88cd)</span></li>

 <li>servicetypes/README.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>servicetypes/calligra_deferred_plugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tables/shape/CMakeLists.txt <span style="color: grey">(07a2109a2b1b1d50b06c51c94b6f7c39162419f5)</span></li>

 <li>tables/shape/TableShapeDeferredFactory.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tables/shape/TableShapeDeferredFactory.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tables/shape/TableShapeFactory.h <span style="color: grey">(effadbae553233c55cf1c2bd1142973e87010504)</span></li>

 <li>tables/shape/TableShapeFactory.cpp <span style="color: grey">(a62c48acac2c1ef8c027e370107bcb58bf9c8fbf)</span></li>

 <li>tables/shape/spreadsheetshape-deferred.desktop <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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




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








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