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



 <p>Ship it!</p>



 <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 believe it's time now. It's been working in the qt5 branch fo quite a while (where it has been merged in for more than a month), and</pre>
 <br />









<p>- C. Boemann</p>


<br />
<p>On October 18th, 2013, 10:17 a.m. UTC, Boudewijn Rempt wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 Calligra, Friedrich W. H. Kossebau and Marijn Kruisselbrink.</div>
<div>By Boudewijn Rempt.</div>


<p style="color: grey;"><i>Updated Oct. 18, 2013, 10:17 a.m.</i></p>







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


 <a href="http://bugs.kde.org/show_bug.cgi?id=310310">310310</a>, 

 <a href="http://bugs.kde.org/show_bug.cgi?id=313482">313482</a>, 

 <a href="http://bugs.kde.org/show_bug.cgi?id=313483">313483</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</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;">This is a continuation of the KoDocument/KoPart split that Camilla and I worked on last year, and it is a step towards the MVC refactoring discussed in Essen.

We actually did not use any of the kparts functionality anymore: not the embedding of Calligra parts in other applications, not document embedding, and the various plugins that were kparts actually did not do anything beyond what a kxmlguiclient plugin did.

This patch makes KoView and KoPart a KXMLGuiClient and lets KoMainWindow manage the KoParts. It is the first step in further refactoring:

* Make KoMainWindow a generic window for Calligra apps
* Make KoDocument responsible for all loading and saving
* Make KoPart a factory class that can create documents, views and canvaes
* Make KoView more properly an application-specific mainwindow implementation for an application that can show one or more documents

Current issues:

* In CalligraPlan I have commented out some code that didn't seem to actually do anything but was dependent on KParts. That needs to be checked by Friedrich for regressions
* KoMainWindow has way too many local KoPart pointers... That needs to be cleaned up.

Then I want to move the load/save code from KoPart to KoDocument and start the bigger refactoring... That will hopefully give us split view/mdi/tabbed view of documents again. And make the flipbook and animation plugins for krita easier to handle.

For easy testing I recommend checking out the krita-mvc-rempt branch.</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;">Ran all apps, loaded and saved documents and ran unittests.</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>CMakeLists.txt <span style="color: grey">(41d8ad6)</span></li>

 <li>active/src/CAPresentationHandler.cpp <span style="color: grey">(1a256fa)</span></li>

 <li>active/src/CASpreadsheetHandler.cpp <span style="color: grey">(ae303be)</span></li>

 <li>active/src/CATextDocumentHandler.cpp <span style="color: grey">(609832f)</span></li>

 <li>braindump/plugins/quickstates/CMakeLists.txt <span style="color: grey">(ecadaea)</span></li>

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

 <li>cmake/modules/FindCalligraLibs.cmake.in <span style="color: grey">(1e49d17)</span></li>

 <li>devtools/cstester/CSThumbProviderWords.cpp <span style="color: grey">(4f9ca6b)</span></li>

 <li>devtools/cstester/cstester.cpp <span style="color: grey">(6b466e7)</span></li>

 <li>extras/converter/calligraconverter.cpp <span style="color: grey">(358e9e9)</span></li>

 <li>extras/thumbnail/calligracreator.cpp <span style="color: grey">(5d808e3)</span></li>

 <li>flow/part/FlowDocument.h <span style="color: grey">(7677097)</span></li>

 <li>flow/part/FlowPart.h <span style="color: grey">(ce807c5)</span></li>

 <li>flow/part/FlowPart.cpp <span style="color: grey">(5fedf83)</span></li>

 <li>flow/part/main.cpp <span style="color: grey">(67d1926)</span></li>

 <li>karbon/data/CMakeLists.txt <span style="color: grey">(5183c06)</span></li>

 <li>karbon/data/karbon_viewplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>karbon/main.cpp <span style="color: grey">(b341d27)</span></li>

 <li>karbon/plugins/flattenpath/CMakeLists.txt <span style="color: grey">(60bfe96)</span></li>

 <li>karbon/plugins/flattenpath/FlattenPathPlugin.cpp <span style="color: grey">(936ddcc)</span></li>

 <li>karbon/plugins/flattenpath/karbonflattenpathplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>karbon/plugins/refinepath/CMakeLists.txt <span style="color: grey">(6d3de3d)</span></li>

 <li>karbon/plugins/refinepath/RefinePathPlugin.cpp <span style="color: grey">(2e375cf)</span></li>

 <li>karbon/plugins/refinepath/karbonrefinepathplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>karbon/plugins/roundcorners/CMakeLists.txt <span style="color: grey">(f22cd94)</span></li>

 <li>karbon/plugins/roundcorners/RoundCornersPlugin.cpp <span style="color: grey">(9892ce9)</span></li>

 <li>karbon/plugins/roundcorners/karbonroundcornersplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>karbon/plugins/whirlpinch/CMakeLists.txt <span style="color: grey">(accac4e)</span></li>

 <li>karbon/plugins/whirlpinch/WhirlPinchPlugin.cpp <span style="color: grey">(4a50720)</span></li>

 <li>karbon/plugins/whirlpinch/karbonwhirlpinchplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>karbon/ui/KarbonDocument.h <span style="color: grey">(88a5e35)</span></li>

 <li>karbon/ui/KarbonDocument.cpp <span style="color: grey">(da78714)</span></li>

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

 <li>karbon/ui/KarbonPart.cpp <span style="color: grey">(ab6774e)</span></li>

 <li>karbon/ui/KarbonView.cpp <span style="color: grey">(d84b6da)</span></li>

 <li>krita/main.cc <span style="color: grey">(9b7e5c1)</span></li>

 <li>krita/plugins/assistants/RulerAssistant/CMakeLists.txt <span style="color: grey">(957fb4f)</span></li>

 <li>krita/plugins/extensions/dockers/flipbook/flipbookdocker_dock.cpp <span style="color: grey">(49cf62a)</span></li>

 <li>krita/sdk/tests/filestest.h <span style="color: grey">(69b2bc8)</span></li>

 <li>krita/sdk/tests/ui_manager_test.h <span style="color: grey">(63d8397)</span></li>

 <li>krita/ui/actions/kis_selection_action_factories.cpp <span style="color: grey">(5339dcb)</span></li>

 <li>krita/ui/canvas/kis_canvas_widget_base.cpp <span style="color: grey">(74dfe17)</span></li>

 <li>krita/ui/dialogs/kis_dlg_file_layer.cpp <span style="color: grey">(46abb0a)</span></li>

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

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

 <li>krita/ui/kis_flipbook.cpp <span style="color: grey">(918df92)</span></li>

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

 <li>krita/ui/kis_part2.cpp <span style="color: grey">(83d5f34)</span></li>

 <li>krita/ui/kis_selection_manager.cc <span style="color: grey">(4d0f955)</span></li>

 <li>krita/ui/kis_view2.cpp <span style="color: grey">(e472766)</span></li>

 <li>krita/ui/tests/kis_action_manager_test.cpp <span style="color: grey">(f4df430)</span></li>

 <li>krita/ui/tests/kis_doc2_test.cpp <span style="color: grey">(d86e20a)</span></li>

 <li>krita/ui/tests/kis_zoom_and_pan_test.cpp <span style="color: grey">(794c1ae)</span></li>

 <li>krita/ui/widgets/KisFlipbookSelector.cpp <span style="color: grey">(09425fb)</span></li>

 <li>krita/ui/widgets/kis_workspace_chooser.cpp <span style="color: grey">(2fd8f5b)</span></li>

 <li>libs/kokross/KoScriptingDocker.cpp <span style="color: grey">(d2b7e16)</span></li>

 <li>libs/kokross/KoScriptingModule.h <span style="color: grey">(4d57e94)</span></li>

 <li>libs/kokross/KoScriptingModule.cpp <span style="color: grey">(304d547)</span></li>

 <li>libs/kokross/KoScriptingPart.cpp <span style="color: grey">(68054ac)</span></li>

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

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

 <li>libs/kopageapp/KoPAView.cpp <span style="color: grey">(2e6400c)</span></li>

 <li>libs/kopageapp/tests/CMakeLists.txt <span style="color: grey">(0d44ee3)</span></li>

 <li>libs/kopageapp/tests/PAMock.h <span style="color: grey">(8b6152a)</span></li>

 <li>libs/main/CMakeLists.txt <span style="color: grey">(3a9110c)</span></li>

 <li>libs/main/KoApplication.h <span style="color: grey">(d973820)</span></li>

 <li>libs/main/KoApplication.cpp <span style="color: grey">(cf7c42a)</span></li>

 <li>libs/main/KoApplicationAdaptor.h <span style="color: grey">(d71356f)</span></li>

 <li>libs/main/KoApplicationAdaptor.cpp <span style="color: grey">(b427183)</span></li>

 <li>libs/main/KoDocument.h <span style="color: grey">(3372060)</span></li>

 <li>libs/main/KoDocument.cpp <span style="color: grey">(a871e1f)</span></li>

 <li>libs/main/KoDocumentEntry.h <span style="color: grey">(3aa5ecb)</span></li>

 <li>libs/main/KoDocumentEntry.cpp <span style="color: grey">(abbb55b)</span></li>

 <li>libs/main/KoDocumentInfoDlg.h <span style="color: grey">(9fdc4a2)</span></li>

 <li>libs/main/KoDocumentInfoDlg.cpp <span style="color: grey">(5a18a08)</span></li>

 <li>libs/main/KoDocument_p.h <span style="color: grey">(6f3931f)</span></li>

 <li>libs/main/KoFilterEntry.cpp <span style="color: grey">(8e23eac)</span></li>

 <li>libs/main/KoFilterGraph.cpp <span style="color: grey">(63e88c6)</span></li>

 <li>libs/main/KoFilterManager.cpp <span style="color: grey">(34cf72f)</span></li>

 <li>libs/main/KoMainWindow.h <span style="color: grey">(1b3503f)</span></li>

 <li>libs/main/KoMainWindow.cpp <span style="color: grey">(e84518d)</span></li>

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

 <li>libs/main/KoPart.h <span style="color: grey">(d4ecf5f)</span></li>

 <li>libs/main/KoPart.cpp <span style="color: grey">(3f9a0d7)</span></li>

 <li>libs/main/KoPartAdaptor.h <span style="color: grey">(b7eb540)</span></li>

 <li>libs/main/KoPartAdaptor.cpp <span style="color: grey">(58acde5)</span></li>

 <li>libs/main/KoServiceProvider.h <span style="color: grey">(35ca3ac)</span></li>

 <li>libs/main/KoServiceProvider.cpp <span style="color: grey">(e6ab77c)</span></li>

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

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

 <li>libs/main/KoVersionDialog.cpp <span style="color: grey">(2f38510)</span></li>

 <li>libs/main/KoView.h <span style="color: grey">(7b8d943)</span></li>

 <li>libs/main/KoView.cpp <span style="color: grey">(1b4a722)</span></li>

 <li>libs/main/tests/filter_graph.cpp <span style="color: grey">(f08fd04)</span></li>

 <li>libs/pigment/KoColorSpaceMaths.h <span style="color: grey">(a517b2f)</span></li>

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

 <li>libs/rdf/KoDocumentRdfEditWidget.h <span style="color: grey">(d3a8142)</span></li>

 <li>plan/kptmaindocument.h <span style="color: grey">(8486464)</span></li>

 <li>plan/kptmaindocument.cpp <span style="color: grey">(26cd92b)</span></li>

 <li>plan/kptpart.h <span style="color: grey">(e165abc)</span></li>

 <li>plan/kptpart.cpp <span style="color: grey">(7674480)</span></li>

 <li>plan/kptview.h <span style="color: grey">(02acb77)</span></li>

 <li>plan/kptview.cpp <span style="color: grey">(64d0c68)</span></li>

 <li>plan/libs/models/kptresourceallocationmodel.cpp <span style="color: grey">(9825ff9)</span></li>

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

 <li>plan/libs/ui/kptcalendareditor.cpp <span style="color: grey">(9d868b8)</span></li>

 <li>plan/libs/ui/kpthtmlview.cpp <span style="color: grey">(14459a7)</span></li>

 <li>plan/libs/ui/kptperteditor.h <span style="color: grey">(44eb3b4)</span></li>

 <li>plan/libs/ui/kptperteditor.cpp <span style="color: grey">(7f3a426)</span></li>

 <li>plan/libs/ui/kptresourceallocationeditor.cpp <span style="color: grey">(c435adb)</span></li>

 <li>plan/libs/ui/kptresourceappointmentsview.cpp <span style="color: grey">(d5703c7)</span></li>

 <li>plan/libs/ui/kptresourceassignmentview.h <span style="color: grey">(12f7dc6)</span></li>

 <li>plan/libs/ui/kptresourceeditor.cpp <span style="color: grey">(8f00cdb)</span></li>

 <li>plan/libs/ui/kptscheduleeditor.cpp <span style="color: grey">(5abf8c0)</span></li>

 <li>plan/libs/ui/kptviewbase.h <span style="color: grey">(9c4022a)</span></li>

 <li>plan/libs/ui/kptviewbase.cpp <span style="color: grey">(7049a76)</span></li>

 <li>plan/main.cpp <span style="color: grey">(6a5f9bf)</span></li>

 <li>plan/plan.desktop <span style="color: grey">(3282406)</span></li>

 <li>plan/planpart.desktop <span style="color: grey">(27e9d92)</span></li>

 <li>plan/workpackage/CMakeLists.txt <span style="color: grey">(a1fbb87)</span></li>

 <li>plan/workpackage/application.cpp <span style="color: grey">(b3642d6)</span></li>

 <li>plan/workpackage/mainwindow.cpp <span style="color: grey">(474e1df)</span></li>

 <li>plan/workpackage/part.h <span style="color: grey">(21e8470)</span></li>

 <li>plan/workpackage/part.cpp <span style="color: grey">(31092e6)</span></li>

 <li>plan/workpackage/planworkpart.desktop <span style="color: grey">(b0fc0d2)</span></li>

 <li>plugins/chartshape/ChartDocument.h <span style="color: grey">(9a38eae)</span></li>

 <li>plugins/chartshape/ChartPart.h <span style="color: grey">(4ec5083)</span></li>

 <li>plugins/chartshape/ChartPart.cpp <span style="color: grey">(0fe78f3)</span></li>

 <li>plugins/chartshape/ChartShape.cpp <span style="color: grey">(34a3db9)</span></li>

 <li>plugins/colorengines/lcms2/CMakeLists.txt <span style="color: grey">(faa07a9)</span></li>

 <li>plugins/formulashape/FormulaDocument.h <span style="color: grey">(9e216ca)</span></li>

 <li>plugins/formulashape/FormulaPart.h <span style="color: grey">(0522b08)</span></li>

 <li>plugins/formulashape/FormulaPart.cpp <span style="color: grey">(3b65340)</span></li>

 <li>plugins/kexi/spreadsheet/CMakeLists.txt <span style="color: grey">(78fbe7e)</span></li>

 <li>plugins/kexi/spreadsheet/spreadsheetmigrate.cpp <span style="color: grey">(3cf2c31)</span></li>

 <li>plugins/reporting/barcode/CMakeLists.txt <span style="color: grey">(7423872)</span></li>

 <li>plugins/reporting/chart/CMakeLists.txt <span style="color: grey">(a0d6378)</span></li>

 <li>plugins/reporting/maps/CMakeLists.txt <span style="color: grey">(0686da0)</span></li>

 <li>plugins/reporting/web/CMakeLists.txt <span style="color: grey">(03a9aeb)</span></li>

 <li>plugins/staging/CMakeLists.txt <span style="color: grey">(754362f)</span></li>

 <li>plugins/staging/googledocs/onlinedocument.h <span style="color: grey">(d4141f3)</span></li>

 <li>plugins/staging/googledocs/onlinedocument.cpp <span style="color: grey">(a74ecd5)</span></li>

 <li>servicetypes/calligra_part.desktop <span style="color: grey">(46e3cf0)</span></li>

 <li>sheets/DocBase.h <span style="color: grey">(3680722)</span></li>

 <li>sheets/part/CanvasBase.cpp <span style="color: grey">(c861e84)</span></li>

 <li>sheets/part/CanvasItem.cpp <span style="color: grey">(bb355f5)</span></li>

 <li>sheets/part/Doc.h <span style="color: grey">(3b6505d)</span></li>

 <li>sheets/part/Main.cpp <span style="color: grey">(facda77)</span></li>

 <li>sheets/part/Part.h <span style="color: grey">(8cb7983d)</span></li>

 <li>sheets/part/Part.cpp <span style="color: grey">(7fd573e)</span></li>

 <li>sheets/part/View.h <span style="color: grey">(49bcdf6)</span></li>

 <li>sheets/part/View.cpp <span style="color: grey">(876cb5e)</span></li>

 <li>sheets/plugins/calendar/CalendarTool.cpp <span style="color: grey">(3d9bead)</span></li>

 <li>sheets/plugins/scripting/CMakeLists.txt <span style="color: grey">(90a0b24)</span></li>

 <li>sheets/plugins/scripting/ScriptingModule.cpp <span style="color: grey">(f493dc4)</span></li>

 <li>sheets/ui/MapViewModel.h <span style="color: grey">(ef3cf55)</span></li>

 <li>sheets/ui/MapViewModel.cpp <span style="color: grey">(070ee29)</span></li>

 <li>stage/app/main.cpp <span style="color: grey">(c377d81)</span></li>

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

 <li>stage/part/KPrDocument.cpp <span style="color: grey">(7bdd5f9)</span></li>

 <li>stage/part/KPrPart.h <span style="color: grey">(3633f1a)</span></li>

 <li>stage/part/KPrPart.cpp <span style="color: grey">(b79da91)</span></li>

 <li>stage/part/KPrView.cpp <span style="color: grey">(f1c21db)</span></li>

 <li>words/app/main.cpp <span style="color: grey">(52b599a)</span></li>

 <li>words/part/CMakeLists.txt <span style="color: grey">(4e2650c)</span></li>

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

 <li>words/part/KWDocument.cpp <span style="color: grey">(259fd4e)</span></li>

 <li>words/part/KWGui.cpp <span style="color: grey">(26c5281)</span></li>

 <li>words/part/KWPart.h <span style="color: grey">(63e4e5f)</span></li>

 <li>words/part/KWPart.cpp <span style="color: grey">(9e3a818)</span></li>

 <li>words/part/KWView.h <span style="color: grey">(517cbc1)</span></li>

 <li>words/part/KWView.cpp <span style="color: grey">(48265fd)</span></li>

 <li>words/part/author/CAuPart.h <span style="color: grey">(4542a2f)</span></li>

 <li>words/part/author/CAuPart.cpp <span style="color: grey">(0863305)</span></li>

 <li>words/part/author/main.cpp <span style="color: grey">(eca9983)</span></li>

</ul>

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







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








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