Review Request: fix saving of textranges in KoTextWriter::Private::saveParagraph(...)
C. Boemann
cbr at boemann.dk
Thu Dec 6 13:30:50 GMT 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107601/#review23064
-----------------------------------------------------------
libs/kotext/opendocument/KoTextWriter_p.cpp
<http://git.reviewboard.kde.org/r/107601/#comment17630>
I don't like how this has been removed. I think we risk losing some text here.
Though i guess that is what the above line
dividers.append(spanTo);
accomplishes. If so I think a comment is in order.
- C. Boemann
On Dec. 6, 2012, 12:45 p.m., Friedrich W. H. Kossebau wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107601/
> -----------------------------------------------------------
>
> (Updated Dec. 6, 2012, 12:45 p.m.)
>
>
> Review request for Calligra and C. Boemann.
>
>
> Description
> -------
>
> After lots of experiments here finally something relatively elegant (though you should have seen my intermediate hacks to understand ;) ).
>
> Fixes the bugs seen with e.g. orpheus on saving bookmarks, at least for me. I think/hope I catched all cases which can be there by the parameters from & to, the possible textblock contents and the possible textranges.
> Usage of KoTextRangeManager::textRangesChangingWithin(...) and KoTextRange::saveOdf(...) can be surely improved, but for now this here is at least a working fix.
>
> Here my rationale for the patch:
> Start and end tags of textranges can appear on positions in a text block.
> in front of the first text element, between the elements, or behind the last.
> A textblock is composed of no or many text fragments.
> If there is no element at all, the only possible position is 0 (relative to the
> begin of the block).
> Start tags are ideally written in front of the content they are tagging,
> and not behind the previous content. That way tags which are at the very begin
> of the text do not need special handling.
> End tags are ideally written directly behind the content, and not in front of
> the next content. That way end tags which are at the very end of the text
> do not need special handling.
> Then there is the case of start tags which are at the final position of a text block:
> the content they belong to includes the block end/border, so they need to be
> written at the place of the last position.
>
>
> Diffs
> -----
>
> libs/kotext/KoAnnotation.h 0dfb43c
> libs/kotext/KoAnnotation.cpp a700f02
> libs/kotext/KoBookmark.h c64cbe1
> libs/kotext/KoBookmark.cpp 5538e5f
> libs/kotext/KoTextRange.h c728798
> libs/kotext/opendocument/KoTextWriter_p.cpp 9cc353c
>
> Diff: http://git.reviewboard.kde.org/r/107601/diff/
>
>
> Testing
> -------
>
> Oh yes. Created reports with lots of tables & charts, updated them, saved, updated, loaded, updated, added new tables & charts, updated, saved, updated, loaded, .... And no longer any issue then, so far.
>
>
> Thanks,
>
> Friedrich W. H. Kossebau
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20121206/94aebcdd/attachment.htm>
More information about the calligra-devel
mailing list