Review Request 113588: Create plugin system for semantic items, turn before hardcoded contact, event & location items into plugins
Friedrich W. H. Kossebau
kossebau at kde.org
Sun Nov 3 03:49:35 GMT 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113588/
-----------------------------------------------------------
(Updated Nov. 3, 2013, 3:49 a.m.)
Review request for Calligra, C. Boemann and Boudewijn Rempt.
Changes
-------
Remove dead code, add some API dox
Repository: calligra
Description (updated)
-------
Things work similar to before, so time to get you reviewing it, even if there are some things left for polishing, but that code was not polished before anyway.
And at least the bugs I found also exist in master, hopefully will fix them after this went in, then also swing the polish tool a little more.
Can be tested as branch "rdf-turnIntoPlugins-kossebau".
Patches turn all places with hardcoded code for contact, event and location into generic algorithms, puts code for contact, event and location into separate plugins. Most code is just moved around, I did not try to change any logic other than needed for turning things into plugins. See the commits in the branch for the steps I did, more or less.
For now just a single new product "PLUGIN_SEMANTICITEMS", not sure if anyone would like that to be split up even more. Not yet sure which productsets we want that be part off. Also some README.packagers need to be added, not yet done.
And lost two hours of beauty sleep on the following, see me in rage about it!!11!... ;)
KoDocumentInfoDlg::addPageItem() is broken, the passed KoPageWidgetItem *item is no-where cached and never destructed. Results in crashes for KoDocumentRdfEditWidget (added by KWDocument::createDocumentInfoDialog(...), because it subscribes to docRdf, SIGNAL(semanticObjectUpdated(hKoRdfSemanticItem)) and if that is fired after the widget has already been closed, KoDocumentRdfEditWidget tries to access its UI which got deleted by KoDocumentInfoDlg already.
There are also different casts between KoPageWidgetItem* and KoPageWidgetItem* which do not make sense, seems something was lost during rebase?
Git blames commit d51556f8, "Split out the rdf code into its own library"...
Diffs (updated)
-----
CMakeLists.txt da4f9e3
libs/kotext/KoTextInlineRdf.h 6d94c3f
libs/rdf/CMakeLists.txt 24baf2e
libs/rdf/InsertSemanticObjectCreateAction.cpp 1663c98
libs/rdf/KoDocumentRdf.h 56cd996
libs/rdf/KoDocumentRdf.cpp 74ef469
libs/rdf/KoDocumentRdfEditWidget.h 9420cea
libs/rdf/KoDocumentRdfEditWidget.cpp 418e887
libs/rdf/KoDocumentRdfEditWidget.ui ea343f8
libs/rdf/KoRdfCalendarEvent.h 87e21b7
libs/rdf/KoRdfCalendarEvent.cpp 710e9be
libs/rdf/KoRdfCalendarEventEditWidget.ui 2ad3024
libs/rdf/KoRdfCalendarEventTreeWidgetItem.h 8209962
libs/rdf/KoRdfCalendarEventTreeWidgetItem.cpp 56a9f14
libs/rdf/KoRdfFoaF.h 84de8cf
libs/rdf/KoRdfFoaF.cpp 20cac0c
libs/rdf/KoRdfFoaFEditWidget.ui e938036
libs/rdf/KoRdfFoaFTreeWidgetItem.h 47ae0ec
libs/rdf/KoRdfFoaFTreeWidgetItem.cpp 9be7a86
libs/rdf/KoRdfLocation.h f5a60f8
libs/rdf/KoRdfLocation.cpp da3fdcd
libs/rdf/KoRdfLocationEditWidget.h 8cc0086
libs/rdf/KoRdfLocationEditWidget.cpp 5ca0d54
libs/rdf/KoRdfLocationEditWidget.ui 8315aa5
libs/rdf/KoRdfLocationEditWidgetMarble.ui 49dc790
libs/rdf/KoRdfLocationTreeWidgetItem.h c37619a
libs/rdf/KoRdfLocationTreeWidgetItem.cpp 35bf3b6
libs/rdf/KoRdfLocationViewWidget.ui 42ada4d
libs/rdf/KoRdfLocationViewWidgetMarble.ui 9323e4a
libs/rdf/KoRdfSemanticItem.h 7959497
libs/rdf/KoRdfSemanticItem.cpp 5b10fde
libs/rdf/KoRdfSemanticItemFactoryBase.h PRE-CREATION
libs/rdf/KoRdfSemanticItemFactoryBase.cpp PRE-CREATION
libs/rdf/KoRdfSemanticItemRegistry.h PRE-CREATION
libs/rdf/KoRdfSemanticItemRegistry.cpp PRE-CREATION
libs/rdf/KoRdfSemanticTree.h 864fba7
libs/rdf/KoRdfSemanticTree.cpp c824e02
libs/rdf/KoRdfSemanticTreeWidgetItem.cpp 23d35ca
libs/rdf/KoSemanticStylesheetsEditor.cpp 0c345cb
libs/rdf/RdfForward.h b847027
libs/rdf/RdfSemanticTreeWidgetAction.h c5aec3c
libs/rdf/RdfSemanticTreeWidgetSelectAction.h 57e7e89
libs/rdf/RdfSemanticTreeWidgetSelectAction.cpp 8788946
libs/rdf/calligra_semanticitem.desktop PRE-CREATION
libs/rdf/tests/TestSemanticItem.h 1a9bd60
plugins/CMakeLists.txt fe07026
plugins/semanticitems/CMakeLists.txt PRE-CREATION
plugins/semanticitems/contact/CMakeLists.txt PRE-CREATION
plugins/semanticitems/contact/KoContactSemanticItemFactory.h PRE-CREATION
plugins/semanticitems/contact/KoContactSemanticItemFactory.cpp PRE-CREATION
plugins/semanticitems/contact/KoContactSemanticItemPlugin.h PRE-CREATION
plugins/semanticitems/contact/KoContactSemanticItemPlugin.cpp PRE-CREATION
plugins/semanticitems/contact/KoRdfFoaF.h PRE-CREATION
plugins/semanticitems/contact/KoRdfFoaF.cpp PRE-CREATION
plugins/semanticitems/contact/KoRdfFoaFEditWidget.ui PRE-CREATION
plugins/semanticitems/contact/KoRdfFoaFTreeWidgetItem.h PRE-CREATION
plugins/semanticitems/contact/KoRdfFoaFTreeWidgetItem.cpp PRE-CREATION
plugins/semanticitems/contact/Messages.sh PRE-CREATION
plugins/semanticitems/contact/calligra_semanticitem_contact.desktop PRE-CREATION
plugins/semanticitems/event/CMakeLists.txt PRE-CREATION
plugins/semanticitems/event/KoEventSemanticItemFactory.h PRE-CREATION
plugins/semanticitems/event/KoEventSemanticItemFactory.cpp PRE-CREATION
plugins/semanticitems/event/KoEventSemanticItemPlugin.h PRE-CREATION
plugins/semanticitems/event/KoEventSemanticItemPlugin.cpp PRE-CREATION
plugins/semanticitems/event/KoRdfCalendarEvent.h PRE-CREATION
plugins/semanticitems/event/KoRdfCalendarEvent.cpp PRE-CREATION
plugins/semanticitems/event/KoRdfCalendarEventEditWidget.ui PRE-CREATION
plugins/semanticitems/event/KoRdfCalendarEventTreeWidgetItem.h PRE-CREATION
plugins/semanticitems/event/KoRdfCalendarEventTreeWidgetItem.cpp PRE-CREATION
plugins/semanticitems/event/Messages.sh PRE-CREATION
plugins/semanticitems/event/calligra_semanticitem_event.desktop PRE-CREATION
plugins/semanticitems/location/CMakeLists.txt PRE-CREATION
plugins/semanticitems/location/KoLocationSemanticItemFactory.h PRE-CREATION
plugins/semanticitems/location/KoLocationSemanticItemFactory.cpp PRE-CREATION
plugins/semanticitems/location/KoLocationSemanticItemPlugin.h PRE-CREATION
plugins/semanticitems/location/KoLocationSemanticItemPlugin.cpp PRE-CREATION
plugins/semanticitems/location/KoRdfLocation.h PRE-CREATION
plugins/semanticitems/location/KoRdfLocation.cpp PRE-CREATION
plugins/semanticitems/location/KoRdfLocationEditWidget.h PRE-CREATION
plugins/semanticitems/location/KoRdfLocationEditWidget.cpp PRE-CREATION
plugins/semanticitems/location/KoRdfLocationEditWidget.ui PRE-CREATION
plugins/semanticitems/location/KoRdfLocationEditWidgetMarble.ui PRE-CREATION
plugins/semanticitems/location/KoRdfLocationTreeWidgetItem.h PRE-CREATION
plugins/semanticitems/location/KoRdfLocationTreeWidgetItem.cpp PRE-CREATION
plugins/semanticitems/location/KoRdfLocationViewWidget.ui PRE-CREATION
plugins/semanticitems/location/KoRdfLocationViewWidgetMarble.ui PRE-CREATION
words/part/KWView.cpp c87c4df
words/part/dockers/KWRdfDockerTree.cpp e8a4510
words/part/tests/TestRdf.cpp 99b8f73
Diff: http://git.reviewboard.kde.org/r/113588/diff/
Testing
-------
Thanks,
Friedrich W. H. Kossebau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20131103/8f532f60/attachment.htm>
More information about the calligra-devel
mailing list