summaryrefslogtreecommitdiff
path: root/writerfilter
AgeCommit message (Collapse)AuthorFilesLines
2016-02-02writerfilter: tdf#97417: don't insert numbering on end-of-sectionMichael Stahl1-2/+11
... paragraph, it will be copied to every following paragraph. (Before commit 2b78f2cd7b9e4bab0f3b3b9119238f36a1bbc7b2 the properties of the end-of-section paragraph would be overwritten by the properties inside the header) Change-Id: Ibe095cf873a09ef9e12f898d09b5fd6f61c914c9 (cherry picked from commit 57def64bec0853de7d6f4243e31e8e9650491914) Reviewed-on: https://gerrit.libreoffice.org/22000 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-01-29oox, writerfilter: incorrect a14 namespaceMichael Stahl1-1/+1
Change-Id: I813ca0510b6cfc26c307c510f3511c01c0f65c85 (cherry picked from commit 4eee0f8d1180300bd56942ad23321f8f3f1b6177) Reviewed-on: https://gerrit.libreoffice.org/21782 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-01-27tdf#96308 RTF import: fix tab stop inheritance inside table cellsMiklos Vajna2-1/+13
The tab stop list is a paragraph property, and RTF requires to repeat it after \s as direct formatting, otherwise the parser should be assumed that the tab stop list is cleared as a direct formatting. Non-buffered text handles that in getDefaultSPRM(), handle it directly in the RTF_PARD code for buffered text. (cherry picked from commits 1f1ddaad5dd401b70ae69fb18f7873d652242154 and 1ec88cdb82a28851c4b97d7f043d8bcec3c675e8) Change-Id: I16b09bc4c177df5a74d16653b829b198aa1a800f Reviewed-on: https://gerrit.libreoffice.org/21688 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-01-14RTF import, fix landscape flag & implement lndscpsxnGuillaume Smaha1-1/+8
Reviewed-on: https://gerrit.libreoffice.org/20163 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Hung <marklh9@gmail.com> Tested-by: Mark Hung <marklh9@gmail.com> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit cbc0c1b64bff517b27104c6335d45fb59a884931) Change-Id: Id2e8e9c1a9686fd674d712498acb7374a81077d7 Signed-off-by: Michael Stahl <mstahl@redhat.com>
2016-01-12tdf#95213 DOCX import: don't reuse list label stylesMiklos Vajna6-9/+10
We used to optimize the creation of these styles, so in case two list label had the same character properties, then we could avoid creating two styles for those. This isn't correct though: it means if the style is changed later by the user, then unexpected other places in the document will change as well. Do what the binary DOC filter does: create one character style for each level of a numbering separately. (cherry picked from commit f9c8d97d82a85b897520a2fe897352ee5ad879d9) Change-Id: I967b30fc078b1be30f7ef81b2706df2962fc3fb0 Reviewed-on: https://gerrit.libreoffice.org/21386 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-01-12move saveInteropProperties from writerfilter to ooxMichael Stahl2-44/+5
Change-Id: I4f9769ad496198d2d002775dee4ee0a2f08d6f3b (cherry picked from commit 9d0d41f0f3c5215770bc7246a089d54a7244df55) Reviewed-on: https://gerrit.libreoffice.org/21351 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-01-11tdf#92045 DOCX import: <w:effect w:val="none"/> doesn't mean blinkingMiklos Vajna1-1/+1
Regression from commit eeb8297e47bae11f2aeaa7bae6e51eee921e9e58 (Use constants for ST_TextEffect values, 2014-09-22), the problem was that while the tokenizer stopped using hardcoded token values, the matching dmapper code wasn't adapted. (cherry picked from commit ac6bfd85df271b650dbd24b45391dac346ecd72c) Change-Id: Id61912e9c9458efc87e0a6f8e461663942c555f0 Reviewed-on: https://gerrit.libreoffice.org/21343 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-01-05tdf#69640: Treat errors opening OLE stream gracefullyMike Kaganski1-1/+8
The testcase for tdf#69640 includes links (relations) to external pptx files. It demonstrates two non-fatal reasons for failure opening OLE stream: 1. it fails OStorageHelper::IsValidZipEntryFileName check, because the file path contains ":\"; 2. even if that were not the case, the required file can be absent from user's system. I suppose that intercepting the failure at the level of OOXMLOLEHandler::attribute() is the best option, because at the lower level it's unknown if this failure is fatal or not. I suppose that it could be also useful to intercept specifically failures in OStorageHelper::IsValidZipEntryFileName, checking if the file exist externally, and asking users if they want to update external links (as MSO does). Possibly it should be discussed with UX team if that should be done, and if so, do it in separate commit. Change-Id: I240a6f69abe236eb790bb406c79f3b761fb4638a Reviewed-on: https://gerrit.libreoffice.org/19963 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 26eb0debda788d996d9bd63d72947652a5066087) Reviewed-on: https://gerrit.libreoffice.org/21105
2015-12-15writerfilter: set a BaseURL on embedded math objectsMichael Stahl5-9/+20
Change-Id: I9a500e079c892e281bdfee9627641f118261e0f8 (cherry picked from commit 8338e2783f223aec176a3f06f78abd7a60ea2e0a)
2015-12-03tdf#94043 RTF filter: implement column separator handlingMiklos Vajna1-0/+3
Change-Id: I9d74642156d7bb79577671bae24346c75178c5c7 (cherry picked from commit 5cbe4bcc281c77f4929caf1c387f7732fc8f113b)
2015-12-03Related: tdf#94043 DOCX import: fix column separator handlingMiklos Vajna1-3/+9
See wwSectionManager::SetCols() for the DOC import equivalent of this code, if line width is 0, then there will be still no visible line. Change-Id: Ifb0dc596e252a60cdac575fff2894aced1580c69 (cherry picked from commit be6a428c08467ec379b58c8908580a282f9a9d01)
2015-11-26crashtesting: failure on File_1404.docxCaolán McNamara1-0/+2
Change-Id: Id984cc1f5954be38fbe3a1a15bfe811d7cdfe99d (cherry picked from commit d05ae550316e3dc5afe799c7d6cf83f02e37d69b) Reviewed-on: https://gerrit.libreoffice.org/20175 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-25Indentation fixesMiklos Vajna1-1/+1
Change-Id: I82678b037aff5409e54bc50744b1b4b2c8d4d83b
2015-11-24loplugin:unusedfields in writerfilter/Noel Grandin10-130/+74
Change-Id: I32348ef0aed955ab799ba90a59f4b511becb67e8
2015-11-23tdf#60351: Use Wrap Polygon also for PROP_SIZE_PIXELMike Kaganski3-11/+52
Since commit 2b5bf2f1c57d6585ec898c4c44a74c5b47f09ab9 "graphic import improved" from 2006-11-20 by Oliver Specht, there is an unused code reading pixel size (PROP_SIZE_PIXEL) of an image in a part of GraphicImport::createGraphicObject() that imports the wrap polygon. When there's no PROP_SIZE100th_M_M in graphic, the imported wrap polygon was simply dropped, and then automatic contour was generated for graphic. Now we import contour correctly in this case. Also, as paragraph background overlaps non-opaque graphics, we need to set opaque to true regardless of behindDoc value of wp:anchor. Change-Id: Ifa5eec9f8ccaf5ba051732b6e4f965ae8606a1cf Reviewed-on: https://gerrit.libreoffice.org/20103 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-19use comphelper::containerToSequenceNoel Grandin4-36/+7
in chart2, we remove a local equivalent of the method Change-Id: I25129a3d1ea1dd724eb9cd38a57be37a78b3d100
2015-11-19Simplify writerfilter::dmapper::DomainMapper_Impl::appendGrabBag()Miklos Vajna1-7/+1
Change-Id: I65c893fa8ab8ea6dfb061127c9b0bd31c906ed30
2015-11-18Use comphelper::containerToSequenceMiklos Vajna1-6/+2
Change-Id: Iecb443605fe53de91703207d3253da5d8a586f4c
2015-11-17Assume that this code wants to append a number, not a characterStephan Bergmann1-1/+1
The original code in 2638faa2e834c2da4c195224fd88d32c29b3d0cc "writerfilter08ooo330: applied patch for writerfilter08" used OUString::valueOf, which 64b993e046f23baaacaff1572b7d2a816588b5ef "finish deprecation of O(U)String::valueOf()" changed to a OUString ctor instead of OUString::number (as that change did for almost all other cases), but without giving a rationale for this particular case. But as nUnique starts out as zero, so in the first round would append a NUL character to "DOCX-Standard", it looks plausible that this code should add a number after all. Change-Id: I47136486e28b946fa334a416d1d2fe20ad616ff0
2015-11-16tdf#83300 DOCX import: 'TOC Heading' should not be 'keep with next' by defaultMiklos Vajna1-1/+0
On one hand, neither our binary DOC import, nor Word maps the "TOC Heading" style to something special, and that's how the DOCX import added that property to some paragraphs in the document, moving the as-char picture from the first to the second page. OTOH, the DOCX export filter has a lcl_guessQFormat() function that explicitly assumes that such a style name exists in Writer document models, so again it doesn't make sense to handle this style name with special care. Change-Id: I3af548930f9683695fc3ad56b486e013f107d61a
2015-11-16Use comphelper::containerToSequenceMiklos Vajna1-4/+4
Change-Id: I76d25ef32a154d92f7ea9b9d0aa3af09908873d2
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian1-168/+77
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-13tdf#95188: enable import of shapes in footnotes in .docxOliver Specht1-0/+2
substreams require a Model and a DrawPage Change-Id: I701cf6e2283f84f18b9a0c06a4ce0aa8be934bf3 Reviewed-on: https://gerrit.libreoffice.org/19951 Reviewed-by: Oliver Specht <oliver.specht@cib.de> Tested-by: Oliver Specht <oliver.specht@cib.de>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann2-2/+2
Change-Id: Ide85499515bd73f70bca356909683b43cd62f1d1
2015-11-10tdf#95071: fix spacing calculations for border with page offsetMike Kaganski1-5/+5
With commit ebf767eeb2a169ba533e1b2ffccf16f41d95df35, some previously hidden bugs manifested themselves, this is one of them. The margin size calculated incorrectly when border offset was from page. The border is drawn from the margin inwards, so the margin should be equal to OOXML w:space attribute, and border distance should be OOXML page margin - border distance - border width. Incorrect calculation gave negative margin, with IllegalArgumentException thrown in SfxItemPropertySet::setPropertyValue. Change-Id: Ifcf4a348e975df53410933aab3684d17f68b688c Reviewed-on: https://gerrit.libreoffice.org/19586 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin6-37/+31
Change-Id: I31a69a997098eb1807361b8049c3312a4f287d75
2015-10-29tdf#94835: crash while loading RTF with \dppolygon token fixedOliver Specht1-0/+4
RTF token \dppolygon now creates a PolyPolygonShape test included Change-Id: I065eaac0ca1b8a59f02c3198363180ab244a3942 Reviewed-on: https://gerrit.libreoffice.org/19665 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-10-26tdf#59454 RTF import: handle section break right before a tableMiklos Vajna1-0/+18
DOCX import could handle this situation, as commit 2e8aad6d45c53d554ccaf26de998ede708cfc289 (fdo#39056 fdo#75431 Section Properties if section starts with table, 2014-04-18) added support for this situation, in case NS_ooxml::LN_tblStart/End is emitted by the tokenizer. Fix the problem by sending these tokens in the RTF tokenizer as well, at least for non-nested tables. Change-Id: Ifedb121754634529c27820dd5175e7f9e24019e1
2015-10-22writerfilter: it's enough if dmapper gives the media descriptor to its implMiklos Vajna3-9/+6
Change-Id: Ia973799453d9ede60be3699ff8973e31605f06ef
2015-10-21more removal of com::sun::star typedefsNoel Grandin3-4/+2
Change-Id: Ia73f1b4f1dcfa3f0936359e744afe76e02dcd2eb
2015-10-20loplugin:defaultparamsStephan Bergmann1-18/+18
Change-Id: Ic6ff01ec54fde1c6ac9f8b52d2cbca3ee4085b51
2015-10-19loplugin:defaultparamsStephan Bergmann1-2/+2
Change-Id: I55ca691207b73397f58843c64677b2a9a6ce44b0
2015-10-19writerfilter: dmapper ctor can read TextInsertModeRange directlyMiklos Vajna6-13/+5
Change-Id: If17ae09266134b4bc410eab1a1b2f5139ba93a12
2015-10-19tdf#94374 DOCX import: allow insert -> object -> documentMiklos Vajna1-1/+2
Change-Id: I977930d59ef1ae9ae8bd2dfa9a7f3816c46d982c
2015-10-19tdf#36117 .docx preserve page vertical alignment after RTJustin Luth3-0/+27
Change-Id: I90174f7a98e9bd01f45ee668f127356ff3e0e4ed Reviewed-on: https://gerrit.libreoffice.org/18481 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann49-426/+426
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann3-4/+4
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-10-08tdf#94049 RTF import: add missing check for empty shape when popping stateMiklos Vajna1-3/+6
Change-Id: I3c9a5f89df721618bb60b8932b69a371bb6f3ff1
2015-10-07tdf#90810: skip breaks outside of the requested footnoteOliver Specht1-2/+5
the footnote stream is parsed completely at each footnote insertion (line) breaks outside of the requested footnote need to be skipped test include Change-Id: I78de7774b7daf44c2b8980115870082fc56924bd Reviewed-on: https://gerrit.libreoffice.org/19228 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-10-07Revert "tdf#90810: skip all elements outside of the requested footnote"Stephan Bergmann1-2/+1
This reverts commit 3eff65e78a3a90b07c7a01ff26736fd25996e476, causes assert at writerfilter/source/dmapper/DomainMapper_Impl.cxx:5330 to fire during CppunitTest_sw_ooxmlexport2
2015-10-06tdf#90810: skip all elements outside of the requested footnoteOliver Specht1-1/+2
the footnote stream is parsed completely at each footnote insertion all elements outside of the requested footnote need to be skipped Change-Id: I8909145411003ce6f924e712c2da00a4dc03a974 Reviewed-on: https://gerrit.libreoffice.org/19192 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-10-06tdf#91417: import hyperlink with history flag correctlyOliver Specht1-1/+1
ignore '\h' flag in hyperlinks imported from docx including import test Change-Id: I512e811050704f118bf9b2c786378f99e5d04378 Reviewed-on: https://gerrit.libreoffice.org/19154 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-10-05tdf#94435 RTF import: \ltrpar should not override \qcMiklos Vajna1-2/+2
Change-Id: I342191cd8cf8b3998089236aea5743ea7cdd26f1
2015-10-02loplugin:unusedmethodsNoel Grandin4-34/+0
Change-Id: I3d6f1300f4fae2af9e580d1d3b2c2c80fa9e9268 Reviewed-on: https://gerrit.libreoffice.org/19075 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-29Fix typosAndrea Gelmini1-1/+1
Change-Id: I4525b43fa823d743b86bf4136c56af35274085e6 Reviewed-on: https://gerrit.libreoffice.org/18995 Reviewed-by: Joren De Cuyper <jorendc@libreoffice.org> Tested-by: Joren De Cuyper <jorendc@libreoffice.org>
2015-09-29Fix typosAndrea Gelmini4-5/+5
Change-Id: If2e4adb2ce93c02ee14d831eedf4ef31da04b92d Reviewed-on: https://gerrit.libreoffice.org/18996 Reviewed-by: Joren De Cuyper <jorendc@libreoffice.org> Tested-by: Joren De Cuyper <jorendc@libreoffice.org>
2015-09-28bnc#939996 tdf#93919 DOCX import: fix left-from-style and first-from-directMiklos Vajna1-0/+5
With this, <w:ind w:hanging="..."/> as direct paragraph formatting and <w:ind w:left="..." w:hanging="..."/> as a numbering level formatting is properly merged, i.e. w:left is not lost, defaulting to 0. Change-Id: If5534fbd9ee6d41139b0ed3a3df9d0cc5aad3239
2015-09-28tdf#94456 RTF import: fix list vs paragraph style interaction wrt para indentsMiklos Vajna1-3/+3
In case we set the paragraph left/right/first margin just to mimic the list vs paragraph style interaction as Word wants it, never overwrite properties, as they are always meant to be just callbacks in case there is no real hard formatting. Change-Id: Ibdb2834c693d43cf4114453e42628e8f64c0a856
2015-09-28tdf#90153 DOCX import: fix default sw TextFrame roundtripMiklos Vajna1-2/+6
The AnchorType of the shape was at-paragraph, which does not allow line-level VertOrientRelation (which is correct, it would be undefined, what line of the paragraph should be the used). Fix this by changing the AnchorType to at-character in the line-level case, which brings the filter in sync with the DOC one. With this, import of a DOCX file that was created by inserting a TextFrame into an empty document is roundtripped without shifting the shape up considerably. Change-Id: I6d85c38be859d6e730584f2349c857b87496a1d4
2015-09-23tdf#92124 DOCX import: don't add a dummy Suffix for an empty LabelFollowedByMiklos Vajna1-1/+12
Change-Id: I0c4366ad0a2f81a198860869f670767343a392be