summaryrefslogtreecommitdiff
path: root/oox
AgeCommit message (Collapse)Author
2022-04-03loplugin:stringviewparam convert methods using matchNoel Grandin
which converts to a combination of substr and o3tl::starts_with Change-Id: I5b01a181b9e6bee3483e4f49f1a9426abcc682d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132458 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-02loplugin:stringviewparam convert methods using indexOfNoel Grandin
.. and lastIndexOf, which convert to find and rfind Change-Id: I6c4156cf904774c0d867f85a4c2785dba7593f62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132445 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-31Advanced Diagram support: Move class DiagramData to svx AFAPArmin Le Grand (Allotropia)
Splitted and moved parts of DiagramData class to svx as peparation to access from there. Done as pure virtual class so that no incarnations will be possible, also made the constructor protected. The derived class in oox hosts all functionality/data which involves usage/modification of oox::Shape class. That way we get closer to get the Diagram DataModel isloated/seperated. Not-yet moved is the String/Text holding data, it's still in oox. Moving that one will be next, that will allow to migrate quite some more functionalty to svx. Change-Id: I389dbf3ebf6171b8175cf30be7bbc8c20d9a38e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132303 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-03-30tdf#74670 tdf#91286 PPTX XLSX export: save image onceTünde Tóth
Impress and Calc used to dump the same image file as many times as it was featured in the document, resulting redundant, sometimes huge documents. Note: using only checksum to recognize image duplication is a regression, because checksum collision results image loss. This is a very unlikely event, and the following commits have got the same problem. The solution is comparing the images with the same checksum byte for byte. See also commit b484e9814c66d8d51cea974390963a6944bc9d73 "tdf#83227 oox: reuse RelId in DML/VML export for the same graphic" and commit 797fef38612fb2fd62d1f6591619b9361e526bca "tdf#118535 DOCX export: save header image once". Change-Id: I9f233d521941381746634cf4f9b5991da0dadda9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131928 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-03-30ofz#46160 Use-of-uninitialized-valueCaolán McNamara
Change-Id: Ic39fd3579623563adf16025442bb634a273decb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132298 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-03-30ofz#46160 Null-dereference READCaolán McNamara
Change-Id: Id33a39a7a65849a4ca98b43a88e60d5a96eaf5de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132297 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-03-30Extract 'switch' block out of WriteCustomGeometryRegina Henschel
This is a follow up to commit 2029b2f6dd0109c5892e5ac5640022b31fe42fd2. That commit has increased the line count of WriteCustomGeometry to more than 500. This patch splits it to a main part of about 230 lines and a new method for the previous 'switch' block of about 300 lines. That makes the loops in the main part better readable. Change-Id: Ied4378f54e7c8dc7965a5b1db15baf0b35f63f59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132274 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-03-29tdf#89449 PPTX import: fix line connectorsTibor Nagy
Line connectors were imported as plain shapes, losing their functionality during editing, i.e. keeping connections of boxes and other shapes. Change-Id: I0f1562be2dbcce0e45eb209c6ca4e035731039e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131303 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-03-29tdf#135923 DOCX shape import: set text colorTünde Tóth
to the character color of the shape if it is not comes from direct formatting. Change-Id: I3f0a3e952b5449a6d92c5bb273d353a561f3e3dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130922 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-03-29tdf#53970 PPTX: fix export of embedded media filesTünde Tóth
Embedded media files lost in documents created with Impress after PPTX export. Change-Id: I453b58f9cfa6a33653e9216fb82b66970a9ec31b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132095 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-03-28-Werror,-Wunused-but-set-variableStephan Bergmann
...since 9e87a00e11486a2be64b0dc2799e3efca4b000cc "oox: replace PUT_PROP macro with comphelper::makePropertyValue() calls" Change-Id: Ic90e6e579e0d546454d2acd8c3fb5b5ac50f9f5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132223 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-28Advanced Diagram support: Move data classes to svxArmin Le Grand (Allotropia)
As preparation for own im/export move data classes for which that is now possible to svx Made TypeConstant more safe, also sorted it. Corrected an error there. Secured TypeConstant usage by identifying usages (mnType -> mnXMLType). Had to convert from oox::OptValue to std::optional since 1st is not available in svx in datamodelcontext.cxx. That makes the test work and the test-file load corrrectly. Change-Id: Ifee008caf486ddb6b52a347dc08e7e053c49ef49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132195 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-03-27Fix typosAndrea Gelmini
Change-Id: I003bd994be4a6a089dfacca1558e84324bf7fc1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132145 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2022-03-26Advanced Diagram support: Preparations to make oox-Shape temporaryArmin Le Grand (Allotropia)
When we come from the LO-side of things and need to (re)create the Diagram, no oox-Shapes can exist by definition. That forces to see oox-Shapes as temporary helper objects. Since some ModelData is at the oox-Shape after importing a Diagram that data needs to be identified and added to the Diagram ModelData. On the other path, when (re)creating a Diagram from the ModelData, oox-Shapes are needed to use the currently existing mechanism in the import-Filter to create XShapes froom the oox-Shapes. In that path, the Diagram ModelData needs to be applied to the newly created oox-Shape. For now I have identified e.g. the Text as such data value. In the future there may be more ModelData of that type identified and may need to be added. To support that, I have added methods to do that. It may even be feasible in debug builds to add code to compare the imported oox-Shape with a temporarily (re)created one to allow easier identification of yet missing secured/copied ModelData. To make that mechanism obligatory I have added code in DiagramData::build() that deletes all oox-Shapes which were created at Diagam import. This is necessary. That way, the (re)creation is used for Diagram re-creation and can be already used and tested. Deleting all oox-Shapes in build() immediately triggered an error in a UnitTest: testPictureStrip. This shows that here some ModelData in form of BitmapData is not secured - proof of concept and what I described above. To get forward, I adapted to not delete oox-Shapes when Diagram import is executed. Thus, the UnitTests work, and the ReCreate can be used to trigger that behaviour. As an end result this has to be re-activated. It allows now to search and add the missing model data from the test file used in that UnitTest. Change-Id: I6bc39a0898c7be1b4c656875f6d7508c36c9bea8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132127 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-03-25tdf#147978 export subpaths individually in custGeomRegina Henschel
...and implement export of all missing commands, use existing viewBox if suitable, use one EnhancedCustomShape2d move WriteCustomGeometryPoint to protected, make GetCustomGeometryPointValue local The fix solves tdf#100390 too. Without the fix the entire enhanced-path was exported as one element <a:path>. The command F was applied to the whole drawing but should affect only the subpath. The implementation is changed so that each subpath gets its own element <a:path> and command F acts only on its subpath. Support for export of handles and equations is still a long way off. Thus there is no reason to tread shapes with and without handles different. Shapes with handles had used method WritePolyPolygon, but that is not able to handle subpaths. So have desided to use method WriteCustomGeometry for all cases. To get shapes exported regardless of path commands I have added the export for the missing commands. I have removed the no longer used method WritePolyPolygon. The special treatment of shapes "moon" and "mso-spt89" (right up arrow) in export is no longer needed. Related code parts are removed. The unit test testFlipAndRotateCustomShape is adapted. In case the method WriteCustomGeometry fails, the enhanced-path is invalid. In that case an minimal custGeom is written in case of docx. Shapes whose drawing does not touch all edges of the snap rectangle were exported with wrong position and size of the drawing inside the snap rectangle. That is fixed by using an existing ViewBox for the OOXML path size. The old way of creating a path size from point coordinates is only used if the shape has no suitable ViewBox. The point values in unit test SdOOXMLExportTest2::testTdf111798 are adapted to path size 21600 x 21600 and traverse direction of the points is corrected. The resulting shape outline is still the same as before. The expected xml is updated for file tdf92001.odp in SdImportTest::testDocumentLayout. The resulting shape outline is the same, because the shape touches the edges of the snap rectangle. The case, that the shape outline does not touch a edge of the snap rectangle is tested in SdOOXMLExportTest3::testEnhancedPathViewBox. Still missing is the case, that ViewBox has other left,top than 0,0. In that case all coordinates would have to be shifted because the path size in OOXML has only width and height but not left,top. That will not be included in this patch. Change-Id: Ib1736d6a08371f4d98411d2769275f0580cd0030 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131837 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-03-24Fix typosAndrea Gelmini
Change-Id: Iccb89d32b83b7f7035557ad7c0634f66f4c947d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132082 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-03-24Advanced Diagram support: Continue isolate oox-ShapesArmin Le Grand (Allotropia)
As preparations to use the Diagram ModelData further isolate it from the oox-library-only drawingML Shape used for import. It is necessary to completely isolate the Diagram ModelData from the Diagram import mechanism as a preparation to be able to re-create that Shapes on-demand anytime if needed for re-layout(s). Also removed one unused loadDiagram implementation and streamlined the AdvancedDiagramHelper some more. Change-Id: I7a7c55389e0d00f70c02db73ce2c3ff9ce7a5b22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132058 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-03-24sd theme: add PPTX export for shape fill colorMiklos Vajna
Do this only in case there are no effects on the color, as that is not yet handled. Note that the theme color was already stored in the grab-bag, so this is primarily interesting in case the theme color was changed or the source format was ODP. Change-Id: Ia4995be68d5f243875632eec4aaf8afbb8f4d5cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131984 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-03-23correct misleading commentSarper Akdemir
Corrects copy/paste residue with the correct content Change-Id: Ie10a4db728de154ebbdaf6c7902b28c71c815456 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131957 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir@collabora.com>
2022-03-17tdf#147766 Export empty lines as line with noFillGülşah Köse
We have a case that 0 width line but has auto color. If that case exported there is no line over there, LO handles normally but MSO draws back borders as default. To prevent this we have to export them as line with noFill. testTableBorderLineStyle change reverts a workaround for 3faf005a367cbd28077403bf93810bbaf4805851 testBnc480256 Cell(1,0) still invisible. We are just checking this with another way. Change-Id: If5f6d2dbdba5c295d58307fcfe3b37629ede8a8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131532 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2022-03-15Simplify GetOOXMLPresetGeometry and GETVMLShapeTypeMike Kaganski
Let them use types that know string lengths, don't require conversion, and are convenient at call sites. Also inline the maps initialization, instead of having separate arrays and initialization loops. Change-Id: Id4469f3f99f3f0eb2cd83f0671cf892df4e420a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131550 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-03-14simplify GetOOXMLPresetGeometryNoel Grandin
all the call sites are using OUString, so push the utf8 conversion into the function Change-Id: I875249b8702cde63737fd42dc1d1592be059cc11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131525 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-13Fix typosAndrea Gelmini
Change-Id: I9f583937da2cf49fc9013d9e36d63fff312ccb92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131495 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2022-03-13Fix typo in codeAndrea Gelmini
Change-Id: Ide7c82fadf701e8f16468c153d871757d6a92569 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131496 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2022-03-12Introduce FastAttributeList::add(NS) taking std::u16string_viewMike Kaganski
... and simplify some places removing explicit conversions from OUString to OString. Change-Id: I4cdf9f3ee3101b3d00a0bbba53a983ed3bebce4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131445 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-03-11loplugin:constparamsNoel Grandin
Change-Id: I5f184f93dbdb414514855c85c9dc1624e7ec8636 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-11new loplugin:trivialdestructorNoel Grandin
look for potentially trivial destructors that can then be elided Change-Id: I435c251bd4291b5864c20d68f88676faac7c43fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131318 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-10sd theme: add PPTX import for shape fill colorMiklos Vajna
The theme index is typically not a direct property, but comes from style -> fillref -> theme index, so support that. Change-Id: I00733db44bb5321019bbc7337d10feb0a34661a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131268 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-03-08sc: support reading sparklines from OOXML documentTomaž Vajngerl
Read sparklines and sparkline groups from the OOXML document and add store it into a (temporary local) doc. model. Change-Id: Id2d34db70300957735571875d6defb3d560fbb26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131161 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-03-06link bug report to "likely wrong" commentJustin Luth
Change-Id: I3184037d3df79b1bf4c972046e7636b372662cdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129825 Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2022-03-05Fix typosAndrea Gelmini
Change-Id: I87f35153bbf53f58d6c8ca7b14a7fd09fec4372f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131052 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-03-04cid#1500524 Dereference after null checkCaolán McNamara
Change-Id: Ic76f1b4992f51bdfe10406734ce00135607db357 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131001 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-03-04Advanced Diagram support: Allow reLayout without keeping oox::ShapeArmin Le Grand (Allotropia)
Goal is to minimize dependencies on oox classes. For that pupose I redesigned the Diagram class to work without remembering an oox::Shape at all. For reLayout, a new temporary one is created and used. That was a bit tricky, I needed to find out what data at the oox::Shape is needed to sucessfully do that with the not-originally-imported one. Another necessary change was to move the DiagramFontHeights adapting mechanism away from oox::Shape, too. It fits better to Diagram class. That way it can also be used for reLayout and the oox::Shape gets a little bit smaller, too. This opens the path to move needed Mode-Data Diagam core claasses to other libs where changing/im/exPorting them will be possible. Change-Id: I40bc4b190d2abc797f5c56f9e476d22155d21422 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131004 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-03-04cid#1500743 Unchecked dynamic_castCaolán McNamara
Change-Id: I5a384ee3dae657d23bbba46c0dd19e6a71c752b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130987 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-03-04cid#1500690 Explicit null dereferencedCaolán McNamara
this may stem from: commit fcc31cd0e0a6544a13dac0fdc66005d77f6f5cf9 Date: Fri Sep 7 18:41:58 2018 +0200 Revert "clang-tidy performance-move-const-arg" This reverts commit 3d604d1cd6cc70ef96782ef769f0479b509987a8. which didn't 100% revert 3d604d1cd6cc70ef96782ef769f0479b509987a8 so we went from: LayoutFragmentHandler::LayoutFragmentHandler(XmlFilterBase& rFilter, const OUString& rFragmentPath, SlidePersistPtr pMasterPersistPtr) : SlideFragmentHandler( rFilter, rFragmentPath, std::move(pMasterPersistPtr), Layout ) to LayoutFragmentHandler::LayoutFragmentHandler(XmlFilterBase& rFilter, const OUString& rFragmentPath, const SlidePersistPtr& pMasterPersistPtr) : SlideFragmentHandler(rFilter, rFragmentPath, std::move(pMasterPersistPtr), Layout) Change-Id: I90cb437c467f88c75d248ed138d078bf56705a21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130989 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Jenkins
2022-03-02Related: tdf#147283 set a concrete weight for the bullet fontCaolán McNamara
otherwise it's unknown and on a glyph fallback the resolved true weight won't match so glyph fallback cache can't be hit Change-Id: I2dcce3dc1532e9ee00a1e1980752df9f5053c77c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130892 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-03-02tdf#135843 Implement inside horizontal vertical borders.Gülşah Köse
wholeTbl as TableStylePart should be handled in different way. Before left border of the whole table was handling like all cells left border but it should be left border of the first column. insideV and and insideH properties are imported but never handled. I added the inside vertical and horizontal borders handling. Change-Id: I5aea5cbefc746db637eac6c1438fa70a7d741bc0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128971 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2022-03-01Fix typosAndrea Gelmini
Change-Id: I9a98bac7c570f25ff7d77df98e93aaeed2665038 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130720 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-03-01tdf#147459 PPTX: add "glue points" to some basic shapesTibor Nagy
(ellipse, triangle, right triangle, trapezoid, parallelogram, diamond, pentagon, hexagon, heptagon, octagon). These glue points allow to add and use connectors on basic shapes, e.g. by specifying 8 glue points on outline of ellipses (and not 4 glue points only on their bounding boxes). Usage: insert a basic shape from the list above, select it, and click on the icon Connectors to show and use the new glue points on the outline of the shape. Note: PPTX import doesn't import connectors connected to the glue points – only ODP export keeps them for the planned editing, i.e. moving the connected shapes without losing the connecting lines and arrows. Change-Id: Iaef21ce8dc3f6677fa2fd6a484adf6d546e72ad1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130281 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-02-28tdf#103800 PPTX shape import: fix regression of text colorTünde Tóth
defined by list styles. Properties in a:lstStyle of p:txBody should take precedence over the same properties defined in a:fontRef of style elements. Change-Id: I02cc886eb9eba94f49fe413a63bf7c46c9e3c127 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130237 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-02-28tdf#147121 PPTX: fix regression of font size export of empty linesAttila Bakos (NISZ)
If the empty line has got direct formatted font size, don't forget to export it, unless the master setting is applied. Regression from commit b6b02e0b4c9d739836e1f61a886ea45b01e6696e "tdf#111903 tdf#137152 PPTX export: fix placeholders". Change-Id: If686e487bca9c198fd7c96860a21e4efe91381bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130005 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-02-28tdf#128596 PPTX import: fix default tiled bitmap fillTünde Tóth
OOXML bitmap fill element a:blipFill has got default tiled area setting without explicit a:tile in MSO. Previous import of bitmap fill as "BitmapMode_NO_REPEAT" instead of BitmapMode_REPEAT resulted missing or incomplete area fill of shapes and other objects. Change-Id: Idf94f4450980f67172a0126784b3e08cc5c178c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129483 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-02-25Advanced Diagram support: cleanup/consolidate with existing codeArmin Le Grand (Allotropia)
Reorganized and streamlined, use IDiagramHelper as main interface now also for existing code. Had to adapt oox::Shape && Diagram handling since there the import gets handled very different. This ensures that a Diagram is detected at export and that the same happens for now as before Had to add a detection that resetting the GrabBag is meant to disable the Diagam functionality. That is very indirect, but has to stay for compaibility reasons for now Change-Id: I620b7d61cd84b5f9dd8ae4dc890ebf70ce779cdf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130389 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-02-24tdf#147609 and ofz#44965 Indirect-leakCaolán McNamara
Change-Id: I2fb89bf68d8df2da1b97942d70c386f62f61c64f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130413 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-22Advanced Diagram support: first additions/reorganizationsArmin Le Grand (Allotropia)
To allow advanced Diagram/SmartArt support in the future this is a first step to organize imported SmartArt Data in a way that will allow to re-layout loaded SmartArts, under re-usage of the oox::Theme (held available). It is designed to work without holding available the original XML snippets defining the imported Diagram in any way, also for performance reasons. It tries to re-use some of the already basically added functionality, including the systematic layouting using the generic layout algorithm, plus some already available text extraction. Before being sure that the former state can be completely replaced this is optoinal and used when SAL_ENABLE_ADVANCED_SMART_ART is defined. Some new stuff is already done but e.g. the redefined reLayout method will not (yet) be triggered. It works and reliably produces a re-layouted identical version, also preserving transformations. Change-Id: I08cfbae04afa663d0589530aae549216d853128d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130171 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-02-22Removed executable bits on data filesAndrea Gelmini
Change-Id: Ifcdae0106380de978c608f46e82155c6c9eed20b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130292 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-02-21cid#1500563 silence Explicit null dereferencedCaolán McNamara
probably silences it, an experiment Change-Id: I4bae3fb1d8907e6e02fa5e68a6fdb66e53e4f7b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130275 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-20tdf#146690: pptx export: fix endParaRPr size value for empty paragraphsSarper Akdemir
Fixes paragraphs made from a single new line, not getting the correct sz(text size) value in EndParagraphRunProperties on pptx export Change-Id: I31ebb5735ad392e081aa2f43b0b60a845e4de9c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128265 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2022-02-15Removed executable bits on pptx fileAndrea Gelmini
Change-Id: Ib14e5357830b587921b633fb57fa74b1314aa1e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129975 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-02-15tdf#132557: PPTX import: Workaround for slide footer shape presetsSarper Akdemir
It appears that placeholder shapes with service names: - com.sun.star.presentation.TitleTextShape - com.sun.star.presentation.DateTimeShape - com.sun.star.presentation.FooterShape - com.sun.star.presentation.SlideNumberShape ... Are unable to have custom shapes in Impress. (i.e. can't be ellipse, triangle etc.). These presets get specified in OOXML with <a:prstGeom prst="ellipse"/> inside spPr (shape properties). Therefore with similar results to the PPT import, a workaround is applied where slide footers which have non default shapes are imported with com.sun.star.drawing.CustomShapes service. The layout/master footers are left as is since if they were to be imported as CustomShapes they would appear on each slide even if the slide had those footers enabled or not. Change-Id: Ic8a8ab3f6dfb7367ecd2c619ce888bf77abef460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129889 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>