<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 />




<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.</div>
<div>By Boudewijn Rempt.</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.</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>



<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>


<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/CMakeLists.txt <span style="color: grey">(7bfe50b)</span></li>

 <li>braindump/plugins/quickstates/BraindumpQuickStatesPlugin.cpp <span style="color: grey">(bc27946)</span></li>

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

 <li>braindump/plugins/quickstates/BraindumpQuickStatesPlugin.h <span style="color: grey">(b9625b0)</span></li>

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

 <li>braindump/src/View.cpp <span style="color: grey">(ef19171)</span></li>

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

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

 <li>extras/okularodpgenerator/OkularOdpGenerator.cpp <span style="color: grey">(db1d5e5)</span></li>

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

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

 <li>karbon/data/karbon_module.desktop <span style="color: grey">(7acc680)</span></li>

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

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

 <li>karbon/plugins/flattenpath/FlattenPathPlugin.h <span style="color: grey">(622973c)</span></li>

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

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

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

 <li>karbon/plugins/refinepath/RefinePathPlugin.h <span style="color: grey">(be16e29)</span></li>

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

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

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

 <li>karbon/plugins/roundcorners/RoundCornersPlugin.h <span style="color: grey">(5cd610a)</span></li>

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

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

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

 <li>karbon/plugins/whirlpinch/WhirlPinchPlugin.h <span style="color: grey">(51280a1)</span></li>

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

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

 <li>karbon/ui/KarbonFactory.cpp <span style="color: grey">(8bbabbe)</span></li>

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

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

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

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

 <li>krita/plugins/extensions/shiva/shivagenerator.h <span style="color: grey">(55894f4)</span></li>

 <li>krita/plugins/paintops/libbrush/kis_brush_registry.cpp <span style="color: grey">(f54a619)</span></li>

 <li>krita/plugins/paintops/particle/particle_paintop_plugin.h <span style="color: grey">(bd6b245)</span></li>

 <li>krita/sdk/createplugin.rb <span style="color: grey">(1f52c38)</span></li>

 <li>krita/sdk/createtest.py <span style="color: grey">(4b7843f)</span></li>

 <li>krita/sdk/pop_extract.rb <span style="color: grey">(0d88588)</span></li>

 <li>krita/sdk/templates/docker/APPNAMELC.h <span style="color: grey">(56c8d19)</span></li>

 <li>krita/sdk/templates/docker/APPNAMELC.cc <span style="color: grey">(740de47)</span></li>

 <li>krita/sdk/templates/docker/APPNAMELC_dock.h <span style="color: grey">(919d5d5)</span></li>

 <li>krita/sdk/templates/docker/APPNAMELC_dock.cc <span style="color: grey">(6379bfb)</span></li>

 <li>krita/sdk/templates/docker/CMakeLists.txt <span style="color: grey">(f671812)</span></li>

 <li>krita/sdk/templates/docker/krita_APPNAMELC.desktop <span style="color: grey">(f287069)</span></li>

 <li>krita/sdk/templates/filefilter/APPNAMELC_converter.h <span style="color: grey">(ddbd5d0)</span></li>

 <li>krita/sdk/templates/filefilter/APPNAMELC_converter.cc <span style="color: grey">(2da0b2f)</span></li>

 <li>krita/sdk/templates/filefilter/APPNAMELC_export.h <span style="color: grey">(4e8a612)</span></li>

 <li>krita/sdk/templates/filefilter/APPNAMELC_export.cc <span style="color: grey">(9798937)</span></li>

 <li>krita/sdk/templates/filefilter/APPNAMELC_import.h <span style="color: grey">(e2672a7)</span></li>

 <li>krita/sdk/templates/filefilter/APPNAMELC_import.cc <span style="color: grey">(b063ec3)</span></li>

 <li>krita/sdk/templates/filefilter/CMakeLists.txt <span style="color: grey">(bc7afdc)</span></li>

 <li>krita/sdk/templates/filefilter/krita_APPNAMELC.desktop <span style="color: grey">(736f9a5)</span></li>

 <li>krita/sdk/templates/filefilter/krita_APPNAMELC_export.desktop <span style="color: grey">(81ac62e)</span></li>

 <li>krita/sdk/templates/filefilter/krita_APPNAMELC_import.desktop <span style="color: grey">(0542ae3)</span></li>

 <li>krita/sdk/templates/filter/APPNAMELC.h <span style="color: grey">(141d813)</span></li>

 <li>krita/sdk/templates/filter/APPNAMELC.cc <span style="color: grey">(1ff583b)</span></li>

 <li>krita/sdk/templates/filter/CMakeLists.txt <span style="color: grey">(f5e94e9)</span></li>

 <li>krita/sdk/templates/filter/kritaAPPNAMELC.desktop <span style="color: grey">(b5b86af)</span></li>

 <li>krita/sdk/templates/tool/CMakeLists.txt <span style="color: grey">(f4ec68c)</span></li>

 <li>krita/sdk/templates/tool/kis_tool_APPNAMELC.h <span style="color: grey">(01e49fa)</span></li>

 <li>krita/sdk/templates/tool/kis_tool_APPNAMELC.cc <span style="color: grey">(9ab759b)</span></li>

 <li>krita/sdk/templates/tool/kritatoolAPPNAMELC.desktop <span style="color: grey">(af9ea01)</span></li>

 <li>krita/sdk/templates/tool/tool_APPNAMELC.h <span style="color: grey">(ce9a416)</span></li>

 <li>krita/sdk/templates/tool/tool_APPNAMELC.cc <span style="color: grey">(1a162fa)</span></li>

 <li>krita/sdk/templates/view/APPNAMELC.h <span style="color: grey">(960576f)</span></li>

 <li>krita/sdk/templates/view/APPNAMELC.cc <span style="color: grey">(cc761f6)</span></li>

 <li>krita/sdk/templates/view/APPNAMELC.rc <span style="color: grey">(3c9f9aa)</span></li>

 <li>krita/sdk/templates/view/CMakeLists.txt <span style="color: grey">(65be2c7)</span></li>

 <li>krita/sdk/templates/view/kritaAPPNAMELC.desktop <span style="color: grey">(f287069)</span></li>

 <li>krita/ui/kis_factory2.h <span style="color: grey">(888b742)</span></li>

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

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

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

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

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

 <li>krita/ui/kis_view_plugin.cpp <span style="color: grey">(69f5b9d)</span></li>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 <li>plan/kptmaindocument.cpp <span style="color: grey">(333310c)</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">(3d5f27f)</span></li>

 <li>plan/plan_viewplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plan/plugins/scripting/CMakeLists.txt <span style="color: grey">(836176d)</span></li>

 <li>plan/plugins/scripting/ScriptingPart.cpp <span style="color: grey">(e6d6004)</span></li>

 <li>plan/plugins/scripting/planscripting.desktop <span style="color: grey">(PRE-CREATION)</span></li>

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

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

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

 <li>plugins/colorengines/lcms2/LcmsEnginePlugin.h <span style="color: grey">(36a5497)</span></li>

 <li>plugins/kexi/spreadsheet/CMakeLists.txt <span style="color: grey">(78fbe7e)</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">(6bc29a0)</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">(aca9fa7)</span></li>

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

 <li>plugins/staging/pivottables/pivotplugin.h <span style="color: grey">(17fc384)</span></li>

 <li>plugins/staging/pivottables/pivotplugin.cpp <span style="color: grey">(1bef7d2)</span></li>

 <li>plugins/staging/pivottables/sheetspivottables.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>sheets/CMakeLists.txt <span style="color: grey">(e0f4a02)</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">(0dc055a)</span></li>

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

 <li>sheets/plugins/scripting/ScriptingPart.h <span style="color: grey">(ac9e614)</span></li>

 <li>sheets/plugins/scripting/ScriptingPart.cpp <span style="color: grey">(26431b0)</span></li>

 <li>sheets/plugins/scripting/sheetsscripting.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>sheets/plugins/solver/CMakeLists.txt <span style="color: grey">(ad813e6)</span></li>

 <li>sheets/plugins/solver/Solver.h <span style="color: grey">(21ee006)</span></li>

 <li>sheets/plugins/solver/Solver.cpp <span style="color: grey">(c87639e)</span></li>

 <li>sheets/plugins/solver/sheetssolver.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>sheets/sheets_viewplugin.desktop <span style="color: grey">(PRE-CREATION)</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/part/KPrPart.cpp <span style="color: grey">(b79da91)</span></li>

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

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

 <li>words/part/author/CAuPart.cpp <span style="color: grey">(0863305)</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>