-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127371/
-----------------------------------------------------------

Review request for Calligra and Camilla Boemann.


Repository: calligra


Description
-------

A first approach to collect chars and their positions on a given page, as 
needed by Okular.

I followed the logic used for painting, as that one also needs to calculate 
what content is part of a certain page, so copying the algorithm seemed most 
obvious for a start.

Disadvantage: This approach needs access to internal data of the area objects, 
so I had to add the code to the actual *Area classes. So they now carry logic 
for a currently single use-case, which also is not the most typical. Surely not 
a lot of code, but ideally this special need for the Okular plugin should not 
add its payload for everyone.

So looking for better ideas here, at least for later.

TODOs for the future:
- text from master pages (headers/footers)
- text in objects (floating text boxes, diagrams, whatever)
- include header/paragraph numbering/bullet points
- only add line-breaks for real paragraph ends perhaps

Please give this some first round of feedback. IMHO it already adds value, as 
it finally allows to copy text from the main textflow.
So would not mind to have this as-is for 3.0, to be improved than at least 
later, if not before. Unless it is unacceptable for good reasons :)

In a perfect future Okular“s plugin API will allow native selections, so all 
the knowledge about text flow is not lost. But for now we have to support the 
API which exists.

(Short note: I will not be able to instantly reply, currently seeing to replace 
broken IT, might take another week at least, no email or irc for now. This 
patch here was already uploaded before things turned defunct locally, so 
pushing it out now for review at least).


Diffs
-----

  extras/okularodtgenerator/OkularOdtGenerator.h c4404c4 
  extras/okularodtgenerator/OkularOdtGenerator.cpp d1d428d 
  libs/textlayout/KoCharAreaInfo.h PRE-CREATION 
  libs/textlayout/KoTextLayoutArea.h 27934d7 
  libs/textlayout/KoTextLayoutArea.cpp bacfa58 
  libs/textlayout/KoTextLayoutEndNotesArea.h 6c1eb12 
  libs/textlayout/KoTextLayoutEndNotesArea.cpp 2c1e241 
  libs/textlayout/KoTextLayoutTableArea.h 8d912ee 
  libs/textlayout/KoTextLayoutTableArea.cpp 4d2cdc1 

Diff: https://git.reviewboard.kde.org/r/127371/diff/


Testing
-------

Normal text, text in tables, text in generated content, footnotes & endnotes 
could be selected in the ODT (& DOC/DOCX/WPD) files I tried.


Thanks,

Friedrich W. H. Kossebau

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

Reply via email to