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


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://reviewboard.kde.orgrb/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 kdelibs and David Faure.</div>
<div>By John Layt.</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;">Move KLocale to a fully private implementation model.  This is to enable the progressive implementation of separate private classes for Windows and Mac platforms that will override the base KDE implementation and directly access the host system locale functions while still using the KDE unique locale methods where necessary.

1) Separate the KLocalePrivate class out to own .h and .ccp files
2) Make all KLocalePrivate data members private, all access to be via virtual public methods
3) Move all method implementations into KLocalePrivate virtual methods
3) Make all KLocale methods point to KLocalePrivate methods only, no direct access to data members or implementation details
4) Create derived KLocaleWindowsPrivate and KLocaleMacPrivate classes

Most implementations are unchanged other than the minimum required, except those where Win/Mac specific code has been moved to the Win/Mac classes.

Particular attention should be taken of the copy ctor and assignment op which I'm not 100% on.

Note I did 'svn cp' the klocale.cpp to the klocaleprivate.cpp but not to the .h or the Win/Mac .h and .cpp as the diff just became too huge and difficult to read.</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;">Ran lots of existing unit tests.  Not yet tested compile on Windows or Mac, will do that once review approved as it requires some work to set up.</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>/trunk/KDE/kdelibs/kdecore/CMakeLists.txt <span style="color: grey">(1151073)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale.h <span style="color: grey">(1151073)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale.cpp <span style="color: grey">(1151073)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale.cpp <span style="color: grey">(1151073)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocalemacprivate.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocalemacprivate_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocaleprivate_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocalewindowsprivate.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocalewindowsprivate_p.h <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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




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




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