[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Review Request: RDF support for KWord.
From:       "Ben Martin" <monkeyiq () users ! sourceforge ! net>
Date:       2010-02-04 6:21:13
Message-ID: 20100204062113.20614.50707 () localhost
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2611/
-----------------------------------------------------------

(Updated 2010-02-04 06:21:10.242447)


Review request for KOffice.


Changes
-------

Fixes for sig/slot and other issues from last round. Soprano is now optional, sorry \
about the funky CMake stuff, improvements welcome.


Summary
-------

RDF support for KWord. As can be seen from the files, KoDocumentRDF is the main new \
addition, with changes to other areas for load/save, copy/paste of RDF enriched \
document elements. For interaction with RDF one can either use the triple model \
directly through KoDocumentRDF or obtain various "semantic items" from KoDocRDF. \
These semantic items (semitems) come from the RDF triples and go back to them. The \
semitems are a convenience allowing interaction at a more conceptual level, for \
example as a single "Contact" instead of remembering the 10+ constituent triples.

Instead of looking at lower level issues, I'm hoping that initial comments will focus \
more on the errors and/or misuses I've made as a newbie to KOffice hacking. Once I \
fix those up we can move to a more serious review?

There is a KoDocument::textEditor() method which I added temporarily and have removed \
most references to. The two main places that use it are after you edit a semantic \
item a slot() in KoDocumentRDF grabs this->document()->textEditor() to update the \
semitem's text in the document to reflect your changes. This could be mitigated by \
adding a slot() in KWDocument that does the same call but has access to the \
KoTextEditor. The one problem area is in the "File/Document Information" window where \
I allow the default stylesheets to be set. The best solution in my mind here is once \
again signals/slots, the infodialog could tell the KoDocumentRDF what to do which \
through sig/slots could send the information to KWDocument to cause a relayout of \
semitems using the new stylesheet preference.

For ideas of what the patch allows, see my recent blog entries:
http://monkeyiq.blogspot.com/

A few known issues:

* Assumption that marble will be found, there are some ifdefs but
  I should improve those and perform a full compile with marble-dev
  explicitly hidden

* Two kDebug() numbers used but unreserved as yet.
30015        koffice (rdf)
30016        koffice (rdf semantic)

* I will be fixing a few minor bugs in KoDocumentRDFEditWidget during 
  the review process, these should be fairly contained changes.

* Some additions for KoBookmark copy and paste. If you select only half the
  text for the KoBookmark and copy, with this patch, it will now produce a correct \
ODF file.  On paste, KoTextLoader::createUniqBookmarkName() is used to ensure that
  a new bookmark name is made, while respecting that the bookmark-end wants
  the previous unique bookmark name instead of the next in series.

* After editing a semantic item or applying a stylesheet I'm getting a 
  green highlight now that wasn't there on the 23rd of December. 
  The 23rd was my previous rebase.


Diffs (updated)
-----

  /trunk/koffice/CMakeLists.txt 1084962 
  /trunk/koffice/kword/part/CMakeLists.txt 1084962 
  /trunk/koffice/kword/part/KWDLoader.cpp 1084962 
  /trunk/koffice/kword/part/KWDocument.cpp 1084962 
  /trunk/koffice/kword/part/KWOdfLoader.cpp 1084962 
  /trunk/koffice/kword/part/KWOdfWriter.cpp 1084962 
  /trunk/koffice/kword/part/KWStatusBar.cpp 1084962 
  /trunk/koffice/kword/part/KWView.h 1084962 
  /trunk/koffice/kword/part/KWView.cpp 1084962 
  /trunk/koffice/kword/part/dockers/KWRdfDocker.h PRE-CREATION 
  /trunk/koffice/kword/part/dockers/KWRdfDocker.cpp PRE-CREATION 
  /trunk/koffice/kword/part/dockers/KWRdfDocker.ui PRE-CREATION 
  /trunk/koffice/kword/part/dockers/KWRdfDockerFactory.h PRE-CREATION 
  /trunk/koffice/kword/part/dockers/KWRdfDockerFactory.cpp PRE-CREATION 
  /trunk/koffice/kword/part/dockers/KWRdfDockerTree.h PRE-CREATION 
  /trunk/koffice/kword/part/dockers/KWRdfDockerTree.cpp PRE-CREATION 
  /trunk/koffice/kword/part/kword.rc 1084962 
  /trunk/koffice/libs/kotext/CMakeLists.txt 1084962 
  /trunk/koffice/libs/kotext/KoBookmark.cpp 1084962 
  /trunk/koffice/libs/kotext/KoInlineObject.h 1084962 
  /trunk/koffice/libs/kotext/KoInlineObject.cpp 1084962 
  /trunk/koffice/libs/kotext/KoInlineObject_p.h 1084962 
  /trunk/koffice/libs/kotext/KoInlineTextObjectManager.cpp 1084962 
  /trunk/koffice/libs/kotext/KoText.h 1084962 
  /trunk/koffice/libs/kotext/KoTextBlockData.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextDocument.h 1084962 
  /trunk/koffice/libs/kotext/KoTextDocument.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextDrag.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextEditor.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextInlineRdf.h PRE-CREATION 
  /trunk/koffice/libs/kotext/KoTextInlineRdf.cpp PRE-CREATION 
  /trunk/koffice/libs/kotext/KoTextLocator.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextMeta.h PRE-CREATION 
  /trunk/koffice/libs/kotext/KoTextMeta.cpp PRE-CREATION 
  /trunk/koffice/libs/kotext/KoTextOdfSaveHelper.h 1084962 
  /trunk/koffice/libs/kotext/KoTextOdfSaveHelper.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextPaste.h 1084962 
  /trunk/koffice/libs/kotext/KoTextPaste.cpp 1084962 
  /trunk/koffice/libs/kotext/KoTextRdfCore.h PRE-CREATION 
  /trunk/koffice/libs/kotext/KoTextRdfCore.cpp PRE-CREATION 
  /trunk/koffice/libs/kotext/KoTextSopranoRdfModel_p.h PRE-CREATION 
  /trunk/koffice/libs/kotext/opendocument/KoTextLoader.h 1084962 
  /trunk/koffice/libs/kotext/opendocument/KoTextLoader.cpp 1084962 
  /trunk/koffice/libs/kotext/opendocument/KoTextSharedSavingData.h 1084962 
  /trunk/koffice/libs/kotext/opendocument/KoTextSharedSavingData.cpp 1084962 
  /trunk/koffice/libs/kotext/opendocument/KoTextWriter.cpp 1084962 
  /trunk/koffice/libs/kotext/styles/KoCharacterStyle.h 1084962 
  /trunk/koffice/libs/kotext/styles/KoTableCellStyle.h 1084962 
  /trunk/koffice/libs/main/CMakeLists.txt 1084962 
  /trunk/koffice/libs/main/KoApplicationAdaptor.cpp 1084962 
  /trunk/koffice/libs/main/KoDocument.h 1084962 
  /trunk/koffice/libs/main/KoDocument.cpp 1084962 
  /trunk/koffice/libs/main/KoDocumentInfoDlg.h 1084962 
  /trunk/koffice/libs/main/KoDocumentInfoDlg.cpp 1084962 
  /trunk/koffice/libs/main/KoMainWindow.cpp 1084962 
  /trunk/koffice/libs/main/KoView.cpp 1084962 
  /trunk/koffice/libs/main/rdf/InsertSemanticObjectActionBase.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/InsertSemanticObjectActionBase.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/InsertSemanticObjectCreateAction.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/InsertSemanticObjectCreateAction.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/InsertSemanticObjectReferenceAction.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/InsertSemanticObjectReferenceAction.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoChangeTrackerDisabledRAII.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoChangeTrackerDisabledRAII.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdf.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdf.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfBase.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfBase.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfEditWidget.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfEditWidget.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfEditWidget.ui PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfEditWidgetBase.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdfEditWidgetBase.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoDocumentRdf_p.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoSopranoTableModel.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoSopranoTableModel.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoSopranoTableModelDelegate.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/KoSopranoTableModelDelegate.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfCalendarEvent.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfCalendarEvent.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfCalendarEventEditWidget.ui PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfCalendarEventTreeWidgetItem.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfCalendarEventTreeWidgetItem.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfFoaF.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfFoaF.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfFoaFEditWidget.ui PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfFoaFTreeWidgetItem.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfFoaFTreeWidgetItem.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfForward.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocation.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocation.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocationEditWidget.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocationEditWidget.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocationEditWidget.ui PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocationTreeWidgetItem.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocationTreeWidgetItem.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfLocationViewWidget.ui PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfPrefixMapping.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfPrefixMapping.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticItem.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticItem.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticItemViewSite.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticItemViewSite.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTree.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTree.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTreeWidgetAction.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTreeWidgetAction.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTreeWidgetItem.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTreeWidgetItem.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTreeWidgetSelectAction.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/RdfSemanticTreeWidgetSelectAction.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/SemanticStylesheet.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/SemanticStylesheet.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/SemanticStylesheetsEditor.h PRE-CREATION 
  /trunk/koffice/libs/main/rdf/SemanticStylesheetsEditor.cpp PRE-CREATION 
  /trunk/koffice/libs/main/rdf/SemanticStylesheetsEditor.ui PRE-CREATION 
  /trunk/koffice/libs/odf/KoXmlNS.h 1084962 
  /trunk/koffice/libs/odf/KoXmlNS.cpp 1084962 
  /trunk/koffice/plugins/textshape/CMakeLists.txt 1084962 
  /trunk/koffice/plugins/textshape/TextTool.cpp 1084962 
  /trunk/koffice/plugins/textshape/commands/TextPasteCommand.cpp 1084962 

Diff: http://reviewboard.kde.org/r/2611/diff


Testing
-------


Thanks,

Ben

_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic