<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/4919/">http://reviewboard.kde.org/r/4919/</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 KDE Games.</div>
<div>By Stefan Majewsky.</div>


<p style="color: grey;"><i>Updated 2010-08-08 21:34:14.532105</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Score recording works, KDiamond is fully ported.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description  (updated)</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;">KScore2 is a new framework which ought to replace the commonly used KHighscore/KScoreDialog and perhaps also KExtHighscore. The most central class (and the point where you should start reading the APIDOX) is KScore2::Model. Using the Model/View concept of Qt, KScore2 provides a simple, extensible, yet future-proof API, which includes no assumptions about the internal data structures. Similar to KScoreDialog and KScoreManager (the other new highscore library which is in playground ATM), simple tasks are easy and complex tasks achievable.

KScore2 accomodates the special needs of applications which previously used custom highscore systems: The score model can be made to retrieve its data from arbitrary locations by writing a custom KScore2::Engine subclass. Similarly, a KScore2::CategoryModel can be implemented to support custom highscore grouping (e.g. by difficulty, by level, or by levelpack and level). As an example, the KGameDifficulty::categoryModel() contains difficulty levels as categories. The internal selection is automatically updated to match the selected difficulty level, so showing the highscore table for the current difficulty level becomes a one-liner.

In the presented state, KScore2 is nearly ready for prime-time. On the technical side, unit tests are missing. On the user-visible side, the process of entering one&#39;s name on a new highscore needs to be polished.

The code is also available from my Git-SVN repository at git://git.bethselamin.de/kdegames-work.git (branch &quot;kscore2&quot;).</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing (updated)</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;">KDiamond has been ported. The data storage logic (powered by KScore2::DefaultEngine) is compatible to the old KHighscore/KScoreDialog-based system.</pre>
  </td>
 </tr>
</table>




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

 <li>/trunk/KDE/kdegames/kdiamond/src/mainwindow.cpp <span style="color: grey">(1160372)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/CMakeLists.txt <span style="color: grey">(1160372)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kgamedifficulty.h <span style="color: grey">(1160372)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kgamedifficulty.cpp <span style="color: grey">(1160372)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/categorymodel.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/categorymodel.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/dialog.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/dialog_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/engine.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/engine.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/flags.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/flags.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/model.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/model.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/model_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/record.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/record.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/recordformat.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdegames/libkdegames/kscore2/recordformat.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Screenshots </h1>

<div>

 <a href="http://reviewboard.kde.org/r/4919/s/473/"><img src="http://reviewboard.kde.org/media/uploaded/images/2010/08/06/kscoremodel-concept_400x100.png" style="border: 1px black solid;" alt="Relation of the different data sources in KScore2" /></a>

 <a href="http://reviewboard.kde.org/r/4919/s/474/"><img src="http://reviewboard.kde.org/media/uploaded/images/2010/08/08/kscore2-kdiamond_400x100.png" style="border: 1px black solid;" alt="First KScore2 integration in KDiamond" /></a>

</div>


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




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