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



<table bgcolor="#e0e0e0" width="100%" cellpadding="8" style="border: 1px gray solid;">
 <tr>
  <td>
   <h1 style="margin-right: 0.2em; padding: 0; font-size: 10pt;">This change has been marked as submitted.</h1>
  </td>
 </tr>
</table>
<br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://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 Games.</div>
<div>By Ian Wadham.</div>


<p style="color: grey;"><i>Updated Jan. 24, 2014, 1:42 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
palapeli
</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; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Methods relating to the puzzle as a whole have been moved from Palapeli::Scene and Palapeli::MainWindow into Palapeli::GamePlay, including implementations of menu and toolbar actions, puzzle loading and shuffling, puzzle saving and restoring, victory animation and progress reporting.

The changes to Palapeli::Scene are to provide a simpler, more generic class that can be used in multiple scenes, i.e. the original puzzle table and any number of piece-holders for use in solving large puzzles.
    
The main methods remaining in Palapeli::Scene are adding and removing pieces, moving pieces, merging (or joining) pieces and signalling changes in the state of the puzzle and its pieces, wherever they may be in the puzzle table or piece-holders.

The attached diff is the end result of all the changes, for information and code-review. There should be no change to Palapeli features or functionality.

The six commits involved have all been pushed to origin master.
</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;">Used an 8-piece and a 500-piece puzzle to check that all the functions in the life-cycle of a Palapeli jigsaw puzzle work as they did before, but there could still be some bugs that were introduced by the changes. Features checked included puzzle loading, bevels on pieces, shadows on pieces, highlighting selections using colored shadows, saving the puzzle state continuously (at least within 500 msec), restoring the puzzle state, reporting progress, shuffling a puzzle, restarting a puzzle, moving the scene-boundary and providing a victory animation when the puzzle is solved.

Possible regressions in other KActions have not yet been checked, e.g. puzzle creation, export, import and deletion.

It was noted that Palapeli has no interlock or cancellation between actions when an action takes some time. For example, it is possible to do 'Back to collection' while a puzzle is loading and select another puzzle, but the first puzzle goes on loading ...</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>src/window/mainwindow.cpp <span style="color: grey">(e3656e0)</span></li>

 <li>src/window/puzzletablewidget.cpp <span style="color: grey">(f4de012)</span></li>

 <li>src/CMakeLists.txt <span style="color: grey">(d99ba22)</span></li>

 <li>src/engine/gameplay.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/engine/gameplay.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/engine/piece.h <span style="color: grey">(b94b2eb)</span></li>

 <li>src/engine/piece.cpp <span style="color: grey">(9b94d0d)</span></li>

 <li>src/engine/scene.h <span style="color: grey">(5cd524e)</span></li>

 <li>src/engine/scene.cpp <span style="color: grey">(92e11b4)</span></li>

 <li>src/engine/view.cpp <span style="color: grey">(ed814b8)</span></li>

 <li>src/window/mainwindow.h <span style="color: grey">(1f414b5)</span></li>

</ul>

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







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




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