----------------------------------------------------------- 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