Vinaya Mandke wrote:
I am a trainee and have been assigned a project to debug and correct one
bug of LiBo.
Hi Vinaya,
this is cool - great to have you looking into that!
As of now I have identified this much:-
- Comments folder with comment1.xml , CommentAuthors are getting
created
in the PPTx So this is an FileOpen issue
- I have also identified that pptx opens and is handled from
../oox/source/ppt/presentationfragmenthandler.cxx (finalizeimport)
- There are handlers for Notes, Layouts etc but none for Annotations.
Yeah, that sounds about right.
- Furthermore I have also identified that Annotations are considered
as
smarttags and are not exactly treated as part of the Presentation and
hence
have no data structures in the SlidePersistPtr
I think this is rather missing than intended -
As of now I can identify whether a slide has a comment in it or not using
following in presentationfragmenthandler.cxx (finalizeimport) :-
OUString aCommentFragmentPath =
xSlideFragmentHandler->getFragmentPathFromFirstType(
CREATE_OFFICEDOC_RELATION_TYPE( "comment" ) );
if ( !aCommentFragmentPath.isEmpty() ) { ... //comment present }
Yeps.
Furthermore:-
- ../sd/source/core/annotations have a few incomplete implementations
for the Annotations (Annotations.cxx AnnotationAccess.cxx etc)
- In presentationfragmenthandler there needs to another handler for
comments but I am stuck on how this can be implemented.
I think the implementation in sd is complete enough to have export
working - at least the ODF export seems to use it, check
xmloff/source/draw/sdxmlexp.cxx's SdXMLExport::exportAnnotations().
So can you please guide how should I go about solving this issue ?
I did not look too deep just yet, but maybe the above ptr could get
you started? Indeed you'd need to implement your own fragment handler,
best start with a smaller blueprint like LayoutFragmentHandler and add
all needed tokens that you'll want to consume.
HTH,
-- Thorsten
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.