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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Looks very nice all in all. I see no objections to allowing it in</pre>
 <br />





<div>




<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/102890/diff/1/?file=38997#file38997line59" style="color: black; font-weight: bold; text-decoration: underline;">libs/kotext/KoVariableManager.h</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; ">public:</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">59</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cm">     * @param type The type of the value. This is only set for user-defined variables.</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">woudn't enums be better then?</pre>
</div>
<br />



<p>- C.</p>


<br />
<p>On October 16th, 2011, 9:47 a.m., Sebastian Sauer 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 Sebastian Sauer.</div>


<p style="color: grey;"><i>Updated Oct. 16, 2011, 9:47 a.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;">Following patch implements user defined variables. This solves bug https://bugs.kde.org/show_bug.cgi?id=282972

What I did;
* extended the KoVariableManager to handle now also such user defined variables.
* the KoVariableManager now has loadOdf and saveOdf methods to load and save user defined variables declarations.
* the user defined variables are implemented using the new plugins/variables/User* classes.
* KoVariable::manager() can now be used even on KoVariable::createOptionsWidget
* replaced the previous unused KoInlineObject::User with KoInlineObject::UserGet and KoInlineObject::UserInput and make use of them
* extended KoTextLoader.cpp to proper load user defined variables into the KoVariableManager. Instances are created using the new UserVariable plugin.
* extended KoOdfNumberStyles with the formatFraction method. Ideally I would also move the other format (e.g. formatDate, formatTime, etc.) methods from the plugin to the KoOdfNumberStyles class to have it reusable (we at least need formatDate and KoOdfNumberStyles also in the DateVariable later).
* added the KoOdfNumberStyles::saveOdfBooleanStyle to also save boolean formattings proper back.
* introduced the KoOdfNumberStyles::saveOdfNumberStyle method to handle choosing the proper KoOdfNumberStyles::saveOdf*Style methods.
* extended KWOdfWriter.cpp to proper save the user defined variable declarations back to the ODT.

Remaining problems;
* atm libs/kopageapp/KoPADocument.cpp contains in the patch code to variableManager->saveOdf(bodyWriter); but that is probably not the correct place to do that. In any case this needs more testing with Stage to look if it works as expected. Stage is mostly untested yet but only Words got tested.
* also I ask myself what other applications beside Stage and Words are able to deal with user-defined variables. Logically it would be any application where we are able to add a textshape too but I am not sure there. This needs more investigation and testing as well.
* the UI still misses a way to set/modify custom formatings.
* support for formulas... but this is another beast and partly already covered at bug 283816. I do not plan to work on this anytime soon.

I plan to address the remaining problems before merging but are already asking for a review to get that patch in asap to a) prevent merge probs in the near future (it's rather large already) and b) get the working solution for bug 282972 into master asap.
</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;">see the documents attached to bug 282972</pre>
  </td>
 </tr>
</table>



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


</div>


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

 <li>libs/kopageapp/KoPADocument.cpp <span style="color: grey">(43e002a)</span></li>

 <li>libs/kotext/InsertVariableAction.cpp <span style="color: grey">(de68bbf)</span></li>

 <li>libs/kotext/KoInlineObject.h <span style="color: grey">(fbd1795)</span></li>

 <li>libs/kotext/KoVariableManager.h <span style="color: grey">(680a29b)</span></li>

 <li>libs/kotext/KoVariableManager.cpp <span style="color: grey">(a915b77)</span></li>

 <li>libs/kotext/opendocument/KoTextLoader.cpp <span style="color: grey">(af29fb7)</span></li>

 <li>libs/kotext/tests/TestKoInlineTextObjectManager.cpp <span style="color: grey">(70e18ef)</span></li>

 <li>libs/odf/KoOdfNumberStyles.h <span style="color: grey">(536408d)</span></li>

 <li>libs/odf/KoOdfNumberStyles.cpp <span style="color: grey">(5611465)</span></li>

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

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

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

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

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

 <li>plugins/variables/VariablesPlugin.cpp <span style="color: grey">(913aebc)</span></li>

 <li>words/part/KWAboutData.h <span style="color: grey">(1cdc87e)</span></li>

 <li>words/part/KWOdfLoader.cpp <span style="color: grey">(f292ea6)</span></li>

 <li>words/part/KWOdfWriter.cpp <span style="color: grey">(3c1c019)</span></li>

</ul>

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




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








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