Review Request: fix writing/reading non-integer data to/from svg:viewBox

Friedrich W. H. Kossebau kossebau at kde.org
Sun Jul 8 21:58:44 BST 2012


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

Review request for Calligra and Jan Hambrecht.


Description
-------

calligratests/interoperability/spreadsheets/oocalc/oos_auto_shapes.ods showed that EnhancedPathShape writes non-integer values to svg:viewBox. The reason is that in that class and other places the viewbox is stored and handled as a QRectF.

Attached patch fixes that by storing any viewBox as QRect and thus having EnhancedPathShape also writing viewbox as integer data again.

Okay to backport to 2.5 as well?

The patch does not fix the issue that graph data is slightly changed on a few loading/saving roundtrips, due to KoShape::saveOdfAttributes(...) calculating the viewbox on the fly and storing it with
        const QSizeF s(size());
        QString viewBox = QString("0 0 %1 %2").arg(qRound(s.width())).arg(qRound(s.height()));
        context.xmlWriter().addAttribute("svg:viewBox", viewBox);
That needs some bigger patch, storing the viewbox in the shape as loaded, so deep patching into all path shapes. I am working on this, but that will need some more time and good review/testing. This patch here only fixes writing of invalid data.
Also adds a comment to KoMarker currently ignoring the <min-x>, <min-y> properties of viewbox. Separate issue, so separate fix/patch IMHO.


Diffs
-----

  libs/flake/KoMarker.cpp 55421d5 
  libs/flake/KoPathShape.h 587ebdf 
  libs/flake/KoPathShape.cpp 3d9f6b7 
  plugins/pathshapes/enhancedpath/EnhancedPathParameter.cpp 30e2925 
  plugins/pathshapes/enhancedpath/EnhancedPathShape.h 1919bb1 
  plugins/pathshapes/enhancedpath/EnhancedPathShape.cpp a57fbea 
  plugins/pathshapes/enhancedpath/EnhancedPathShapeFactory.cpp d820c43 

Diff: http://git.reviewboard.kde.org/r/105486/diff/


Testing
-------

Loaded and saved a few files with graph shapes. And ran validateODF.py oos_auto_shapes.ods, with no more error.


Thanks,

Friedrich W. H. Kossebau

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20120708/a0fbb068/attachment.htm>


More information about the calligra-devel mailing list