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