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



 <p>Ship it!</p>









<p>- C.</p>


<br />
<p>On September 23rd, 2011, 8:44 a.m., Boudewijn Rempt 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 Calligra.</div>
<div>By Boudewijn Rempt.</div>


<p style="color: grey;"><i>Updated Sept. 23, 2011, 8:44 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;">KoTextEditor is meant to be the one and only interface we allow to editing a QTextDocument. TextTool breaks this encapsulation in many ways. This patch improves the situation but doesn't solve it completely yet. Several commands have been moved to kotext and encapsulated in KoTextEditor. This simplifies the code in the textshape quite a bit. The other bits will follow later on.

In order to make it possible to test this code, I wanted to be able to create a KoShapeController without a canvas, so KoShapeController was refactored a bit as well. Because KoShapeControllerBase was confusingly named, I renamed that class after irc discussion.</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;">manual gui test + ran the unittests. Added more testing.</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>braindump/src/SectionContainer.h <span style="color: grey">(ec00b6f)</span></li>

 <li>braindump/src/ViewManager.h <span style="color: grey">(bf4e89c)</span></li>

 <li>flow/plugins/dockers/stencilboxdocker/StencilShapeFactory.h <span style="color: grey">(dffa96e)</span></li>

 <li>flow/plugins/dockers/stencilboxdocker/StencilShapeFactory.cpp <span style="color: grey">(318e483)</span></li>

 <li>karbon/common/commands/KarbonBooleanCommand.h <span style="color: grey">(9c49a74)</span></li>

 <li>karbon/common/commands/KarbonBooleanCommand.cpp <span style="color: grey">(947ba83)</span></li>

 <li>karbon/ui/KarbonPart.h <span style="color: grey">(2dc5f85)</span></li>

 <li>karbon/ui/dockers/KarbonLayerDocker.h <span style="color: grey">(55ee45d)</span></li>

 <li>karbon/ui/dockers/KarbonLayerDocker.cpp <span style="color: grey">(30e1ab2)</span></li>

 <li>karbon/ui/dockers/KarbonLayerModel.cpp <span style="color: grey">(f26666f)</span></li>

 <li>kdgantt/kdgantttimescalezoomdialog.cpp <span style="color: grey">(86fcb32)</span></li>

 <li>kexi/doc/dev/CHANGELOG-Kexi-js <span style="color: grey">(f99afca)</span></li>

 <li>kexi/main/KexiMainWindow.cpp <span style="color: grey">(626ccf6)</span></li>

 <li>krita/plugins/formats/odg/kis_odg_import.cc <span style="color: grey">(be07b8c)</span></li>

 <li>krita/plugins/paintops/libpaintop/sensors/kis_dynamic_sensors.cc <span style="color: grey">(16473f5)</span></li>

 <li>krita/ui/canvas/kis_canvas2.h <span style="color: grey">(cf1d633)</span></li>

 <li>krita/ui/canvas/kis_canvas2.cpp <span style="color: grey">(6dc2b95)</span></li>

 <li>krita/ui/flake/kis_shape_controller.h <span style="color: grey">(4e0540a)</span></li>

 <li>krita/ui/flake/kis_shape_layer.h <span style="color: grey">(2ec5170)</span></li>

 <li>krita/ui/flake/kis_shape_layer.cc <span style="color: grey">(8004eae)</span></li>

 <li>krita/ui/flake/kis_shape_layer_paste.h <span style="color: grey">(096896f)</span></li>

 <li>krita/ui/kis_doc2.h <span style="color: grey">(faa2e1f)</span></li>

 <li>krita/ui/kis_doc2.cc <span style="color: grey">(ed11964)</span></li>

 <li>libs/flake/CMakeLists.txt <span style="color: grey">(4311bd0)</span></li>

 <li>libs/flake/KoCanvasBase.h <span style="color: grey">(5f8f0ab)</span></li>

 <li>libs/flake/KoCanvasBase.cpp <span style="color: grey">(2361bc1)</span></li>

 <li>libs/flake/KoCanvasController.h <span style="color: grey">(3fc370e)</span></li>

 <li>libs/flake/KoDataCenterBase.h <span style="color: grey">(de447fa)</span></li>

 <li>libs/flake/KoShape.h <span style="color: grey">(84bdbfc)</span></li>

 <li>libs/flake/KoShapeBasedDocumentBase.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/flake/KoShapeBasedDocumentBase.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/flake/KoShapeController.h <span style="color: grey">(e3c65ab)</span></li>

 <li>libs/flake/KoShapeController.cpp <span style="color: grey">(27722b3)</span></li>

 <li>libs/flake/KoShapeControllerBase.h <span style="color: grey">(5d1db1f)</span></li>

 <li>libs/flake/KoShapeControllerBase.cpp <span style="color: grey">(3f9d9a2)</span></li>

 <li>libs/flake/KoShapeLoadingContext.h <span style="color: grey">(b0e0358)</span></li>

 <li>libs/flake/KoShapeLoadingContext.cpp <span style="color: grey">(50d50bb)</span></li>

 <li>libs/flake/KoShapePaste.cpp <span style="color: grey">(d94dc11)</span></li>

 <li>libs/flake/KoToolBase.h <span style="color: grey">(13dc3c7)</span></li>

 <li>libs/flake/KoToolBase.cpp <span style="color: grey">(627591e)</span></li>

 <li>libs/flake/KoToolManager.h <span style="color: grey">(48cbaa8)</span></li>

 <li>libs/flake/KoToolManager.cpp <span style="color: grey">(8c612b0)</span></li>

 <li>libs/flake/commands/KoPathCombineCommand.h <span style="color: grey">(a34edb5)</span></li>

 <li>libs/flake/commands/KoPathCombineCommand.cpp <span style="color: grey">(72aaed4)</span></li>

 <li>libs/flake/commands/KoPathPointRemoveCommand.cpp <span style="color: grey">(fa748a6)</span></li>

 <li>libs/flake/commands/KoPathSeparateCommand.h <span style="color: grey">(4b52a60)</span></li>

 <li>libs/flake/commands/KoPathSeparateCommand.cpp <span style="color: grey">(a7b0ab7)</span></li>

 <li>libs/flake/commands/KoShapeClipCommand.h <span style="color: grey">(883402c)</span></li>

 <li>libs/flake/commands/KoShapeClipCommand.cpp <span style="color: grey">(7159c91)</span></li>

 <li>libs/flake/commands/KoShapeCreateCommand.h <span style="color: grey">(4a9f3b8)</span></li>

 <li>libs/flake/commands/KoShapeCreateCommand.cpp <span style="color: grey">(6322c8d)</span></li>

 <li>libs/flake/commands/KoShapeDeleteCommand.h <span style="color: grey">(1d1eac4)</span></li>

 <li>libs/flake/commands/KoShapeDeleteCommand.cpp <span style="color: grey">(452ffea)</span></li>

 <li>libs/flake/commands/KoShapeUnclipCommand.h <span style="color: grey">(8903e33)</span></li>

 <li>libs/flake/commands/KoShapeUnclipCommand.cpp <span style="color: grey">(94d2308)</span></li>

 <li>libs/flake/tests/MockShapes.h <span style="color: grey">(3f7ba47)</span></li>

 <li>libs/flake/tests/TestSnapStrategy.cpp <span style="color: grey">(7f2b63b)</span></li>

 <li>libs/kopageapp/KoPADocument.h <span style="color: grey">(cfc9822)</span></li>

 <li>libs/kopageapp/KoPADocumentModel.cpp <span style="color: grey">(b968182)</span></li>

 <li>libs/kopageapp/KoPADocumentStructureDocker.cpp <span style="color: grey">(15c3224)</span></li>

 <li>libs/kotext/CMakeLists.txt <span style="color: grey">(b174f5d)</span></li>

 <li>libs/kotext/KoDocumentRdfBase.h <span style="color: grey">(165f8fd)</span></li>

 <li>libs/kotext/KoDocumentRdfBase.cpp <span style="color: grey">(f6445e6)</span></li>

 <li>libs/kotext/KoTextCommandBase.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/KoTextCommandBase.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/KoTextDocument.cpp <span style="color: grey">(1265e2c)</span></li>

 <li>libs/kotext/KoTextEditor.h <span style="color: grey">(4947db8)</span></li>

 <li>libs/kotext/KoTextEditor.cpp <span style="color: grey">(d6d6738)</span></li>

 <li>libs/kotext/KoTextOdfSaveHelper.h <span style="color: grey">(4e247c2)</span></li>

 <li>libs/kotext/KoTextOdfSaveHelper.cpp <span style="color: grey">(9d5add8)</span></li>

 <li>libs/kotext/KoTextPaste.h <span style="color: grey">(61321d9)</span></li>

 <li>libs/kotext/KoTextPaste.cpp <span style="color: grey">(067d238)</span></li>

 <li>libs/kotext/commands/ChangeListCommand.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/ChangeListCommand.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/ChangeTrackedDeleteCommand.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/ChangeTrackedDeleteCommand.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/DeleteCommand.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/DeleteCommand.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/ListItemNumberingCommand.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/ListItemNumberingCommand.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/TextPasteCommand.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/commands/TextPasteCommand.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>libs/kotext/opendocument/KoTextWriter.h <span style="color: grey">(04ea489)</span></li>

 <li>libs/kotext/opendocument/KoTextWriter.cpp <span style="color: grey">(f5d9d77)</span></li>

 <li>libs/kotext/tests/TestKoTextEditor.h <span style="color: grey">(8013086)</span></li>

 <li>libs/kotext/tests/TestKoTextEditor.cpp <span style="color: grey">(85fab42)</span></li>

 <li>libs/main/rdf/KoDocumentRdf.h <span style="color: grey">(219ff42)</span></li>

 <li>libs/main/rdf/KoDocumentRdf.cpp <span style="color: grey">(42b557d)</span></li>

 <li>plan/libs/models/kptschedulemodel.cpp <span style="color: grey">(1241685)</span></li>

 <li>plan/libs/ui/reports/reportview.cpp <span style="color: grey">(efc6677)</span></li>

 <li>plan/plugins/schedulers/tj/taskjuggler/Task.cpp <span style="color: grey">(f18cda9)</span></li>

 <li>plugins/dockers/shapecollection/CollectionShapeFactory.h <span style="color: grey">(870fe2e)</span></li>

 <li>plugins/dockers/shapecollection/CollectionShapeFactory.cpp <span style="color: grey">(020e1af)</span></li>

 <li>plugins/pictureshape/PictureShapeFactory.cpp <span style="color: grey">(9ae730c)</span></li>

 <li>plugins/pluginshape/PluginShapeFactory.cpp <span style="color: grey">(ee5f508)</span></li>

 <li>plugins/textshape/CMakeLists.txt <span style="color: grey">(3df7aa5)</span></li>

 <li>plugins/textshape/TextShapeFactory.cpp <span style="color: grey">(4100b47)</span></li>

 <li>plugins/textshape/TextTool.h <span style="color: grey">(6aaef61)</span></li>

 <li>plugins/textshape/TextTool.cpp <span style="color: grey">(142d934)</span></li>

 <li>plugins/textshape/commands/AcceptChangeCommand.h <span style="color: grey">(2945d9e)</span></li>

 <li>plugins/textshape/commands/AcceptChangeCommand.cpp <span style="color: grey">(66b121c)</span></li>

 <li>plugins/textshape/commands/ChangeListCommand.h <span style="color: grey">(a7c2f7e)</span></li>

 <li>plugins/textshape/commands/ChangeListCommand.cpp <span style="color: grey">(8981a1b)</span></li>

 <li>plugins/textshape/commands/ChangeListLevelCommand.h <span style="color: grey">(f657ee1)</span></li>

 <li>plugins/textshape/commands/ChangeListLevelCommand.cpp <span style="color: grey">(bad0b68)</span></li>

 <li>plugins/textshape/commands/ChangeTrackedDeleteCommand.h <span style="color: grey">(6acf4bd)</span></li>

 <li>plugins/textshape/commands/ChangeTrackedDeleteCommand.cpp <span style="color: grey">(f155681)</span></li>

 <li>plugins/textshape/commands/DeleteCommand.h <span style="color: grey">(b85bbb9)</span></li>

 <li>plugins/textshape/commands/DeleteCommand.cpp <span style="color: grey">(cd741dc)</span></li>

 <li>plugins/textshape/commands/ListItemNumberingCommand.h <span style="color: grey">(4457d84)</span></li>

 <li>plugins/textshape/commands/ListItemNumberingCommand.cpp <span style="color: grey">(f00162b)</span></li>

 <li>plugins/textshape/commands/RejectChangeCommand.h <span style="color: grey">(925138d)</span></li>

 <li>plugins/textshape/commands/RejectChangeCommand.cpp <span style="color: grey">(3338875)</span></li>

 <li>plugins/textshape/commands/ShowChangesCommand.h <span style="color: grey">(cacd86a)</span></li>

 <li>plugins/textshape/commands/ShowChangesCommand.cpp <span style="color: grey">(e61f883)</span></li>

 <li>plugins/textshape/commands/TextCommandBase.h <span style="color: grey">(d6306db)</span></li>

 <li>plugins/textshape/commands/TextCommandBase.cpp <span style="color: grey">(be52032)</span></li>

 <li>plugins/textshape/commands/TextCutCommand.cpp <span style="color: grey">(31776f9)</span></li>

 <li>plugins/textshape/commands/TextPasteCommand.h <span style="color: grey">(90f4c3d)</span></li>

 <li>plugins/textshape/commands/TextPasteCommand.cpp <span style="color: grey">(36a1f76)</span></li>

 <li>plugins/textshape/dialogs/ParagraphSettingsDialog.cpp <span style="color: grey">(cdddbe3)</span></li>

 <li>plugins/textshape/dialogs/SimpleParagraphWidget.cpp <span style="color: grey">(5b843ba)</span></li>

 <li>plugins/textshape/tests/CMakeLists.txt <span style="color: grey">(e6ab42a)</span></li>

 <li>plugins/videoshape/VideoShapeFactory.cpp <span style="color: grey">(f1c8d79)</span></li>

 <li>stage/part/KPrPlaceholderStrategy.h <span style="color: grey">(e5ea2cb)</span></li>

 <li>tables/Sheet.h <span style="color: grey">(0e7285a)</span></li>

 <li>tables/Sheet.cpp <span style="color: grey">(6c15a2e)</span></li>

 <li>tables/part/CanvasItem.cpp <span style="color: grey">(1ba27a1)</span></li>

 <li>tables/part/View.cpp <span style="color: grey">(1384ec6)</span></li>

 <li>words/part/KWDocument.h <span style="color: grey">(4143803)</span></li>

 <li>words/part/commands/KWFrameCreateCommand.h <span style="color: grey">(354486d)</span></li>

 <li>words/part/commands/KWFrameCreateCommand.cpp <span style="color: grey">(b4a4fb1)</span></li>

 <li>words/part/commands/KWFrameDeleteCommand.h <span style="color: grey">(1bc79b8)</span></li>

 <li>words/part/commands/KWFrameDeleteCommand.cpp <span style="color: grey">(c5d3c4b)</span></li>

</ul>

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




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








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