Review Request 111545: Port komain away from KParts
Boudewijn Rempt
boud at valdyas.org
Sun Oct 20 13:33:25 BST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111545/
-----------------------------------------------------------
(Updated Oct. 20, 2013, 12:33 p.m.)
Status
------
This change has been marked as submitted.
Review request for Calligra, Friedrich W. H. Kossebau and Marijn Kruisselbrink.
Bugs: 310310, 313482 and 313483
http://bugs.kde.org/show_bug.cgi?id=310310
http://bugs.kde.org/show_bug.cgi?id=313482
http://bugs.kde.org/show_bug.cgi?id=313483
Repository: calligra
Description
-------
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.
Diffs
-----
CMakeLists.txt 41d8ad6
active/src/CAPresentationHandler.cpp 1a256fa
active/src/CASpreadsheetHandler.cpp ae303be
active/src/CATextDocumentHandler.cpp 609832f
braindump/plugins/quickstates/CMakeLists.txt ecadaea
braindump/src/CMakeLists.txt 7bfe50b
cmake/modules/FindCalligraLibs.cmake.in 1e49d17
devtools/cstester/CSThumbProviderWords.cpp 4f9ca6b
devtools/cstester/cstester.cpp 6b466e7
extras/converter/calligraconverter.cpp 358e9e9
extras/thumbnail/calligracreator.cpp 5d808e3
flow/part/FlowDocument.h 7677097
flow/part/FlowPart.h ce807c5
flow/part/FlowPart.cpp 5fedf83
flow/part/main.cpp 67d1926
karbon/data/CMakeLists.txt 5183c06
karbon/data/karbon_viewplugin.desktop PRE-CREATION
karbon/main.cpp b341d27
karbon/plugins/flattenpath/CMakeLists.txt 60bfe96
karbon/plugins/flattenpath/FlattenPathPlugin.cpp 936ddcc
karbon/plugins/flattenpath/karbonflattenpathplugin.desktop PRE-CREATION
karbon/plugins/refinepath/CMakeLists.txt 6d3de3d
karbon/plugins/refinepath/RefinePathPlugin.cpp 2e375cf
karbon/plugins/refinepath/karbonrefinepathplugin.desktop PRE-CREATION
karbon/plugins/roundcorners/CMakeLists.txt f22cd94
karbon/plugins/roundcorners/RoundCornersPlugin.cpp 9892ce9
karbon/plugins/roundcorners/karbonroundcornersplugin.desktop PRE-CREATION
karbon/plugins/whirlpinch/CMakeLists.txt accac4e
karbon/plugins/whirlpinch/WhirlPinchPlugin.cpp 4a50720
karbon/plugins/whirlpinch/karbonwhirlpinchplugin.desktop PRE-CREATION
karbon/ui/KarbonDocument.h 88a5e35
karbon/ui/KarbonDocument.cpp da78714
karbon/ui/KarbonPart.h b9cffca
karbon/ui/KarbonPart.cpp ab6774e
karbon/ui/KarbonView.cpp d84b6da
krita/main.cc 9b7e5c1
krita/plugins/assistants/RulerAssistant/CMakeLists.txt 957fb4f
krita/plugins/extensions/dockers/flipbook/flipbookdocker_dock.cpp 49cf62a
krita/sdk/tests/filestest.h 69b2bc8
krita/sdk/tests/ui_manager_test.h 63d8397
krita/ui/actions/kis_selection_action_factories.cpp 5339dcb
krita/ui/canvas/kis_canvas_widget_base.cpp 74dfe17
krita/ui/dialogs/kis_dlg_file_layer.cpp 46abb0a
krita/ui/kis_doc2.h 73ccb0a
krita/ui/kis_doc2.cc 17276ca
krita/ui/kis_flipbook.cpp 918df92
krita/ui/kis_part2.h c43fb93
krita/ui/kis_part2.cpp 83d5f34
krita/ui/kis_selection_manager.cc 4d0f955
krita/ui/kis_view2.cpp e472766
krita/ui/tests/kis_action_manager_test.cpp f4df430
krita/ui/tests/kis_doc2_test.cpp d86e20a
krita/ui/tests/kis_zoom_and_pan_test.cpp 794c1ae
krita/ui/widgets/KisFlipbookSelector.cpp 09425fb
krita/ui/widgets/kis_workspace_chooser.cpp 2fd8f5b
libs/kokross/KoScriptingDocker.cpp d2b7e16
libs/kokross/KoScriptingModule.h 4d57e94
libs/kokross/KoScriptingModule.cpp 304d547
libs/kokross/KoScriptingPart.cpp 68054ac
libs/kopageapp/KoPACanvasBase.cpp fa7aee3
libs/kopageapp/KoPAView.h b38c594
libs/kopageapp/KoPAView.cpp 2e6400c
libs/kopageapp/tests/CMakeLists.txt 0d44ee3
libs/kopageapp/tests/PAMock.h 8b6152a
libs/main/CMakeLists.txt 3a9110c
libs/main/KoApplication.h d973820
libs/main/KoApplication.cpp cf7c42a
libs/main/KoApplicationAdaptor.h d71356f
libs/main/KoApplicationAdaptor.cpp b427183
libs/main/KoDocument.h 3372060
libs/main/KoDocument.cpp a871e1f
libs/main/KoDocumentEntry.h 3aa5ecb
libs/main/KoDocumentEntry.cpp abbb55b
libs/main/KoDocumentInfoDlg.h 9fdc4a2
libs/main/KoDocumentInfoDlg.cpp 5a18a08
libs/main/KoDocument_p.h 6f3931f
libs/main/KoFilterEntry.cpp 8e23eac
libs/main/KoFilterGraph.cpp 63e88c6
libs/main/KoFilterManager.cpp 34cf72f
libs/main/KoMainWindow.h 1b3503f
libs/main/KoMainWindow.cpp e84518d
libs/main/KoPageWidgetItem.h PRE-CREATION
libs/main/KoPart.h d4ecf5f
libs/main/KoPart.cpp 3f9a0d7
libs/main/KoPartAdaptor.h b7eb540
libs/main/KoPartAdaptor.cpp 58acde5
libs/main/KoServiceProvider.h 35ca3ac
libs/main/KoServiceProvider.cpp e6ab77c
libs/main/KoStartupDialog.h PRE-CREATION
libs/main/KoStartupDialog.cpp PRE-CREATION
libs/main/KoVersionDialog.cpp 2f38510
libs/main/KoView.h 7b8d943
libs/main/KoView.cpp 1b4a722
libs/main/tests/filter_graph.cpp f08fd04
libs/pigment/KoColorSpaceMaths.h a517b2f
libs/rdf/CMakeLists.txt bd29ead
libs/rdf/KoDocumentRdfEditWidget.h d3a8142
plan/kptmaindocument.h 8486464
plan/kptmaindocument.cpp 26cd92b
plan/kptpart.h e165abc
plan/kptpart.cpp 7674480
plan/kptview.h 02acb77
plan/kptview.cpp 64d0c68
plan/libs/models/kptresourceallocationmodel.cpp 9825ff9
plan/libs/models/kptresourcemodel.cpp c67406b
plan/libs/ui/kptcalendareditor.cpp 9d868b8
plan/libs/ui/kpthtmlview.cpp 14459a7
plan/libs/ui/kptperteditor.h 44eb3b4
plan/libs/ui/kptperteditor.cpp 7f3a426
plan/libs/ui/kptresourceallocationeditor.cpp c435adb
plan/libs/ui/kptresourceappointmentsview.cpp d5703c7
plan/libs/ui/kptresourceassignmentview.h 12f7dc6
plan/libs/ui/kptresourceeditor.cpp 8f00cdb
plan/libs/ui/kptscheduleeditor.cpp 5abf8c0
plan/libs/ui/kptviewbase.h 9c4022a
plan/libs/ui/kptviewbase.cpp 7049a76
plan/main.cpp 6a5f9bf
plan/plan.desktop 3282406
plan/planpart.desktop 27e9d92
plan/workpackage/CMakeLists.txt a1fbb87
plan/workpackage/application.cpp b3642d6
plan/workpackage/mainwindow.cpp 474e1df
plan/workpackage/part.h 21e8470
plan/workpackage/part.cpp 31092e6
plan/workpackage/planworkpart.desktop b0fc0d2
plugins/chartshape/ChartDocument.h 9a38eae
plugins/chartshape/ChartPart.h 4ec5083
plugins/chartshape/ChartPart.cpp 0fe78f3
plugins/chartshape/ChartShape.cpp 34a3db9
plugins/colorengines/lcms2/CMakeLists.txt faa07a9
plugins/formulashape/FormulaDocument.h 9e216ca
plugins/formulashape/FormulaPart.h 0522b08
plugins/formulashape/FormulaPart.cpp 3b65340
plugins/kexi/spreadsheet/CMakeLists.txt 78fbe7e
plugins/kexi/spreadsheet/spreadsheetmigrate.cpp 3cf2c31
plugins/reporting/barcode/CMakeLists.txt 7423872
plugins/reporting/chart/CMakeLists.txt a0d6378
plugins/reporting/maps/CMakeLists.txt 0686da0
plugins/reporting/web/CMakeLists.txt 03a9aeb
plugins/staging/CMakeLists.txt 754362f
plugins/staging/googledocs/onlinedocument.h d4141f3
plugins/staging/googledocs/onlinedocument.cpp a74ecd5
servicetypes/calligra_part.desktop 46e3cf0
sheets/DocBase.h 3680722
sheets/part/CanvasBase.cpp c861e84
sheets/part/CanvasItem.cpp bb355f5
sheets/part/Doc.h 3b6505d
sheets/part/Main.cpp facda77
sheets/part/Part.h 8cb7983d
sheets/part/Part.cpp 7fd573e
sheets/part/View.h 49bcdf6
sheets/part/View.cpp 876cb5e
sheets/plugins/calendar/CalendarTool.cpp 3d9bead
sheets/plugins/scripting/CMakeLists.txt 90a0b24
sheets/plugins/scripting/ScriptingModule.cpp f493dc4
sheets/ui/MapViewModel.h ef3cf55
sheets/ui/MapViewModel.cpp 070ee29
stage/app/main.cpp c377d81
stage/part/KPrDocument.h b881cb9
stage/part/KPrDocument.cpp 7bdd5f9
stage/part/KPrPart.h 3633f1a
stage/part/KPrPart.cpp b79da91
stage/part/KPrView.cpp f1c21db
words/app/main.cpp 52b599a
words/part/CMakeLists.txt 4e2650c
words/part/KWDocument.h 7654aa3
words/part/KWDocument.cpp 259fd4e
words/part/KWGui.cpp 26c5281
words/part/KWPart.h 63e4e5f
words/part/KWPart.cpp 9e3a818
words/part/KWView.h 517cbc1
words/part/KWView.cpp 48265fd
words/part/author/CAuPart.h 4542a2f
words/part/author/CAuPart.cpp 0863305
words/part/author/main.cpp eca9983
Diff: http://git.reviewboard.kde.org/r/111545/diff/
Testing
-------
Ran all apps, loaded and saved documents and ran unittests.
Thanks,
Boudewijn Rempt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20131020/2f504022/attachment.htm>
More information about the calligra-devel
mailing list