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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On August 7th, 2013, 5:41 p.m. CEST, <b>David Faure</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/111908/diff/1/?file=176357#file176357line56" style="color: black; font-weight: bold; text-decoration: underline;">tier1/kconfig/autotests/kconfigloadertest.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">56</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">GET_CONFIG_ITEM_VALUE</span><span class="p">(</span><span class="n">KCoreConfigSkeleton</span><span class="o">::</span><span class="n">ItemBool</span><span class="o">*</span><span class="p">,</span> <span class="s">"DefaultBoolItem"</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;">I have trouble understanding the purpose of this class. How is this different from

QCOMPARE(configGroup.readEntry("DefaultBoolItem", true), true);

?

OK the one difference is that the default value comes from the XML file instead of coming from the code, but apart from that?

KConfigXT's entire purpose was to make things statically checked (compile-time), on top of the dynamic (string-based) KConfig. And now this is another layer on top, which makes things dynamic (string-based) again? I'm confused :-)

Ah, is this actually only about introspecting KConfigXT xml files, to extract the defaults from it? But what would be the purpose of that? (isn't this accessible in the KConfigXT-generated code too?)

Please expand the class documentation to make it clear for dummies like me, what is the actual purpose of the class, and in which case it should be used.
</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 think it's best explained to think of cases where you don't have any code in the first place. Examples are plasmoids or KWin scripts which just ship a kconfigxt file and a ui file and with the help of the KConfigLoader we are able to provide a working config interface dynamically loaded.

@Aaron: do you have a suggestion on how to improve the documentation?</pre>
<br />




<p>- Martin</p>


<br />
<p>On August 6th, 2013, 2:25 p.m. CEST, Martin Gräßlin wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 KDE Frameworks and Plasma.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Aug. 6, 2013, 2:25 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;">Add KConfigLoader from Plasma Framework to KConfigGui

The ConfigLoader is way to awesome to not be directly in KConfig.</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>tier1/kconfig/autotests/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/autotests/kconfigloadertest.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/autotests/kconfigloadertest.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/autotests/kconfigloadertest.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/gui/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/gui/kconfigloader.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/gui/kconfigloader.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/gui/kconfigloader_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/gui/kconfigloaderhandler_p.h <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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







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








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