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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On December 27th, 2012, 10:33 a.m., <b>Kevin Krammer</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;">I am a bit puzzled by the usage of QSettings for file I/O.

My, rather limited, understanding of QSettings in Qt5 context is that is mostly the same as in Qt4 and Qt4's version is AFAIK neither capable of doing hierachical files nor immutable settings nor environment/tool-output dependent values.
All of which KConfig can do and which could have been deployed (especially hierachy and immutability). 

Or maybe I am misunderstanding the purpose of this endeavour, i.e. is this just exploring options and not idended to be ever merged into KF5?</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;">Right, QSettings doesn't do these things (well, it does hierarchical, but only two levels -- this is the most common use case, though).
But this is about simple spell-checking... why would an administrator need immutable settings, or environment variables / tool output in config keys? This is typically user preferences.

Any Qt-only library would do exactly this (use QSettings internally, waiting for a better solution in Qt).

Yes, someone should really work on getting a better configuration framework into Qt (e.g. splitting out windows registry stuff out of QSettings, to make QSettings INI-only, add a KConfigGroup equivalent to QSettings, and make it support multiple levels of hierarchy via QStandardPaths).</pre>
<br />








<p>- David</p>


<br />
<p>On December 27th, 2012, 12:52 a.m., Martin Tobias Holmedahl Sandsmark 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 KDE Frameworks, kdelibs and David Faure.</div>
<div>By Martin Tobias Holmedahl Sandsmark.</div>


<p style="color: grey;"><i>Updated Dec. 27, 2012, 12:52 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;">Ported everything away from KConfig to QSettings.

I couldn't really find any users of the ::save function, so I think the source incompatible change would be worth it. Alternatively we could add a deprecated dummy function that takes in a KConfig object and just ignores it, and uses QSettings.</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;">it builds.</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>kdeui/sonnet/configdialog.h <span style="color: grey">(7c4993b)</span></li>

 <li>kdeui/sonnet/configdialog.cpp <span style="color: grey">(625441b)</span></li>

 <li>kdeui/sonnet/configwidget.h <span style="color: grey">(023b659)</span></li>

 <li>kdeui/sonnet/configwidget.cpp <span style="color: grey">(549d5af)</span></li>

 <li>kdeui/sonnet/highlighter.cpp <span style="color: grey">(6cbb14c)</span></li>

 <li>kdeui/sonnet/tests/test_configdialog.cpp <span style="color: grey">(4c4fd21)</span></li>

 <li>kdeui/widgets/ktextedit.h <span style="color: grey">(d0c1c4d)</span></li>

 <li>kdeui/widgets/ktextedit.cpp <span style="color: grey">(71d2a9f)</span></li>

 <li>staging/sonnet/src/core/backgroundchecker.h <span style="color: grey">(f0da3a3)</span></li>

 <li>staging/sonnet/src/core/backgroundchecker.cpp <span style="color: grey">(dc05b94)</span></li>

 <li>staging/sonnet/src/core/globals.cpp <span style="color: grey">(bf4f504)</span></li>

 <li>staging/sonnet/src/core/loader.cpp <span style="color: grey">(887aee5)</span></li>

 <li>staging/sonnet/src/core/settings.cpp <span style="color: grey">(59cb593)</span></li>

 <li>staging/sonnet/src/core/settings_p.h <span style="color: grey">(e14bad7)</span></li>

 <li>staging/sonnet/src/core/speller.h <span style="color: grey">(37dd82f)</span></li>

 <li>staging/sonnet/src/core/speller.cpp <span style="color: grey">(f831f55)</span></li>

</ul>

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




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








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