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


This review has been submitted with commit 
e72ec9cf9d64413117a2498c7b1a558ad9e537f7 by Jan Hambrecht to branch master.

- Commit


On Aug. 23, 2011, 7:07 p.m., Jan Hambrecht wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/102315/
> -----------------------------------------------------------
> 
> (Updated Aug. 23, 2011, 7:07 p.m.)
> 
> 
> Review request for Calligra.
> 
> 
> Summary
> -------
> 
> This patch adds support for loading and saving embedded svg files within odf 
> documents. There is an interface SvgSerializable which shapes can choose to 
> implement to provide support for saving and loading themselves to and from 
> svg. There are already some shapes ported to use that interface, namely 
> ArtisticTextShape, EllipseShape, RectangleShape, PictureShape.
> It also adds support for saving generic shapes to svg by utilizing the 
> QSvgGenerator. Saving generic shapes to svg might be further improved in the 
> future by having support to save odf to a single (flat) xml files which could 
> be embedded into a svg document. This way we could utilize the native saving 
> and loading support of non-svg shapes to not lose any data. Compatibility 
> with other svg applications is ensured by using a svg:switch element which 
> makes it possible to save different representations of a shape inside a svg 
> document. 
> I put the svg classes into the flake library for now as I created a circular 
> dependency between flake and the svg stuff while working on the patch.
> However this dependency is currently not there anymore, so we might put these 
> svg classes back into a separate lib. There are two things which might be 
> considered which would then not allow separating flake and the svg classes.
> 1. There is a shape factory SvgShapeFactory which must be added to the shape 
> registry to allow creating individual shapes from embedded svg content 
> instead of using the VectorShape to display embedded svg content. The thing 
> is, that this decision is probably application specific as e.g. karbon 
> absolutely wants to have individual shape created from embeded svg content, 
> whereas words might be perfectly happy to have the vector shape display svg 
> content. If the factory is not added to the shape registry then copy pasting 
> pure svg shapes like the artistic text shape is not possible without losing 
> data (it would save itself to an embedded svg file but copying would produce 
> a vector shape). So if we want the SvgShapeFactory always added to the shape 
> registry, we probably would do that inside the shape registry itself.
> 2. Merging the two functions from SvgSerializable into KoShape. If we want to 
> do that we would depend on the svg classes and separating them from flake 
> would no longre be possible.
> 
> 
> This addresses bugs 236562, 271360 and 274654.
>     http://bugs.kde.org/show_bug.cgi?id=236562
>     http://bugs.kde.org/show_bug.cgi?id=271360
>     http://bugs.kde.org/show_bug.cgi?id=274654
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt d6af8c4 
>   braindump/plugins/stateshape/StateShapeFactory.cpp 526c182 
>   braindump/plugins/webshape/WebShapeFactory.cpp 9c18655 
>   filters/karbon/CMakeLists.txt a979a73 
>   filters/karbon/svg/CMakeLists.txt 14debd3 
>   filters/karbon/svg/SvgClipPathHelper.h 05c4e62 
>   filters/karbon/svg/SvgClipPathHelper.cpp 0fc6378 
>   filters/karbon/svg/SvgCssHelper.h 86238b5 
>   filters/karbon/svg/SvgCssHelper.cpp d4a959b 
>   filters/karbon/svg/SvgExport.cpp 1c49c7c 
>   filters/karbon/svg/SvgFilterHelper.h 64d5828 
>   filters/karbon/svg/SvgFilterHelper.cpp 56a093a 
>   filters/karbon/svg/SvgGradientHelper.h 83486c2 
>   filters/karbon/svg/SvgGradientHelper.cpp c2a6090 
>   filters/karbon/svg/SvgGraphicContext.h 0daa8cd 
>   filters/karbon/svg/SvgLoadingContext.h 770a304 
>   filters/karbon/svg/SvgLoadingContext.cpp a7bb4a1 
>   filters/karbon/svg/SvgParser.h bd8a9dd 
>   filters/karbon/svg/SvgParser.cpp c539e90 
>   filters/karbon/svg/SvgPatternHelper.h 70b14ac 
>   filters/karbon/svg/SvgPatternHelper.cpp 42da550 
>   filters/karbon/svg/SvgSavingContext.h 2022b00 
>   filters/karbon/svg/SvgSavingContext.cpp 2333910 
>   filters/karbon/svg/SvgTextHelper.h b0b3060 
>   filters/karbon/svg/SvgTextHelper.cpp 6104664 
>   filters/karbon/svg/SvgUtil.h 87a8f14 
>   filters/karbon/svg/SvgUtil.cpp 92f635c 
>   filters/karbon/svg/SvgWriter.h 2644ce1 
>   filters/karbon/svg/SvgWriter.cpp 2bcc664 
>   karbon/ui/KarbonPart.cpp 1eb5319 
>   kexi/shapes/relationdesign/kexirelationdesignfactory.cpp 2cfd5b9 
>   libs/flake/CMakeLists.txt e0b7bfe 
>   libs/flake/KoConnectionShapeFactory.cpp 7e96f2b 
>   libs/flake/KoPathShapeFactory.cpp c62658e 
>   libs/flake/KoShapeFactoryBase.h 79a893d 
>   libs/flake/KoShapeFactoryBase.cpp d9a81b8 
>   libs/flake/KoShapeRegistry.h 593e61a 
>   libs/flake/KoShapeRegistry.cpp 06e4c7c 
>   libs/flake/svg/SvgClipPathHelper.h PRE-CREATION 
>   libs/flake/svg/SvgClipPathHelper.cpp PRE-CREATION 
>   libs/flake/svg/SvgCssHelper.h PRE-CREATION 
>   libs/flake/svg/SvgCssHelper.cpp PRE-CREATION 
>   libs/flake/svg/SvgFilterHelper.h PRE-CREATION 
>   libs/flake/svg/SvgFilterHelper.cpp PRE-CREATION 
>   libs/flake/svg/SvgGradientHelper.h PRE-CREATION 
>   libs/flake/svg/SvgGradientHelper.cpp PRE-CREATION 
>   libs/flake/svg/SvgGraphicContext.h PRE-CREATION 
>   libs/flake/svg/SvgGraphicContext.cpp PRE-CREATION 
>   libs/flake/svg/SvgLoadingContext.h PRE-CREATION 
>   libs/flake/svg/SvgLoadingContext.cpp PRE-CREATION 
>   libs/flake/svg/SvgParser.h PRE-CREATION 
>   libs/flake/svg/SvgParser.cpp PRE-CREATION 
>   libs/flake/svg/SvgPatternHelper.h PRE-CREATION 
>   libs/flake/svg/SvgPatternHelper.cpp PRE-CREATION 
>   libs/flake/svg/SvgSavingContext.h PRE-CREATION 
>   libs/flake/svg/SvgSavingContext.cpp PRE-CREATION 
>   libs/flake/svg/SvgShape.h PRE-CREATION 
>   libs/flake/svg/SvgShape.cpp PRE-CREATION 
>   libs/flake/svg/SvgShapeFactory.h PRE-CREATION 
>   libs/flake/svg/SvgShapeFactory.cpp PRE-CREATION 
>   libs/flake/svg/SvgStyleParser.h PRE-CREATION 
>   libs/flake/svg/SvgStyleParser.cpp PRE-CREATION 
>   libs/flake/svg/SvgStyleWriter.h PRE-CREATION 
>   libs/flake/svg/SvgStyleWriter.cpp PRE-CREATION 
>   libs/flake/svg/SvgUtil.h PRE-CREATION 
>   libs/flake/svg/SvgUtil.cpp PRE-CREATION 
>   libs/flake/svg/SvgWriter.h PRE-CREATION 
>   libs/flake/svg/SvgWriter.cpp PRE-CREATION 
>   plugins/artistictextshape/ArtisticTextLoadingContext.h PRE-CREATION 
>   plugins/artistictextshape/ArtisticTextLoadingContext.cpp PRE-CREATION 
>   plugins/artistictextshape/ArtisticTextShape.h 253113e 
>   plugins/artistictextshape/ArtisticTextShape.cpp 1883968 
>   plugins/artistictextshape/ArtisticTextShapeFactory.cpp de4ad1f 
>   plugins/artistictextshape/ArtisticTextTool.cpp 2c57c07 
>   plugins/artistictextshape/CMakeLists.txt f92533d 
>   plugins/chartshape/ChartShapeFactory.cpp 793aa46 
>   plugins/commentshape/CommentShapeFactory.cpp 869cc66 
>   plugins/formulashape/KoFormulaShapeFactory.cpp 588a9e2 
>   plugins/musicshape/MusicShapeFactory.cpp c61e9fc 
>   plugins/pathshapes/CMakeLists.txt e773367 
>   plugins/pathshapes/ellipse/EllipseShape.h 4bc766e 
>   plugins/pathshapes/ellipse/EllipseShape.cpp 0576f5d 
>   plugins/pathshapes/ellipse/EllipseShapeFactory.cpp 9fa50fe 
>   plugins/pathshapes/enhancedpath/EnhancedPathShapeFactory.cpp 4086698 
>   plugins/pathshapes/rectangle/RectangleShape.h 08d5423 
>   plugins/pathshapes/rectangle/RectangleShape.cpp 9caca45 
>   plugins/pathshapes/rectangle/RectangleShapeFactory.cpp 51c92fb 
>   plugins/pathshapes/star/StarShapeFactory.cpp 984b938 
>   plugins/pictureshape/CMakeLists.txt 1539312 
>   plugins/pictureshape/PictureShape.h 527d2e4 
>   plugins/pictureshape/PictureShape.cpp 5dc1c7b 
>   plugins/pictureshape/PictureShapeFactory.cpp 313e1be 
>   plugins/pluginshape/PluginShapeFactory.cpp 6aa335a 
>   plugins/textshape/TextShapeFactory.cpp 365b2e7 
>   plugins/treeshape/TreeShapeFactory.cpp b7b36ec 
>   plugins/vectorshape/VectorShapeFactory.cpp eeb1674 
>   plugins/videoshape/VideoShapeFactory.cpp 7b27bd4 
>   stage/part/KPrPlaceholderShapeFactory.cpp fdca058 
>   tables/shape/TableShapeFactory.cpp ef9cccf 
> 
> Diff: http://git.reviewboard.kde.org/r/102315/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jan
> 
>

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

Reply via email to