summaryrefslogtreecommitdiff
path: root/xmloff
AgeCommit message (Collapse)Author
2021-08-13split SvNumberFormatter into it's own headerNoel Grandin
so I can make changes without running into cyclic dependencies between header files Change-Id: I98a91c7cc66002ba745cdb8239e5cc267922a45c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120412 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-13Export Math ML from new mathml nodesdante
Review tip: thanks for your help Code heavily based on: mathmlexport.cxx mathmlexport.hxx https://opengrok.libreoffice.org/xref/core/starmath/source/mathml/mathmlexport.cxx?r=e271fce8 https://opengrok.libreoffice.org/xref/core/starmath/inc/mathml/mathmlexport.hxx?r=10d29c39 Change-Id: I798d0e207b844240f4b25720ee37c394eb4c2e65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120188 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-11xmloff: work around LD_LIBRARY_PATH breaking odfvalidatorMichael Stahl
Validator calls ResourceBundle.getBundle("com.sun.msv.reader.Messages") which can't find the com/sun/msv/reader/Messages.properties in its jar. bootstrapfixture.cxx:241:Assertion Test name: testBibliographyLocalUrl::TestBody forced failure - /lo/master/schema/libreoffice/OpenDocument-v1.3+libreoffice-manifest-schema.rng[-1,-1]: Error: Can't find bundle for base name com.sun.msv.reader.Messages, locale en_US This is triggered by gb_CppunitTest_CPPTESTPRECOMMAND. No idea how this happens, or why it started to happen sometime during the last ~4 weeks, but propagating the same workaround of commit e854abe076155fc085b56549ced50b3ee9a095d2 to more tests seems to fix it. Change-Id: Iaef2b41f81c4a659e66cfb7a40f7b1a4517552c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120322 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-11Drop convertMm100ToTwip in favor of the new o3tl::toTwipsMike Kaganski
Step by step, duplicates from <tools/UnitConversion.hxx> may go Change-Id: Id4c03ff8adc120ae06dbfdbdfb4f5ff0bb51f489 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120315 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-10no need to use unique_ptr for NamespaceDefine hereNoel Grandin
Change-Id: I61ac177fab102c83d72337f608dc5ca8238e7819 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120215 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-03Consolidate on C++17 std::scoped_lock instead of std::lock_guardNoel Grandin
as in commit 9376f65a26240441bf9dd6ae1f69886dc9fa60fa Change-Id: I3ad9afd4d113582a214a4a4bc7eea55e38cd6ff9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119927 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-02convert #defines to OUStringLiteralNoel Grandin
mostly by doing $ git grep -l '#define.*\"' -- *.cxx | xargs perl -pi -e 's/^#define\s+(\w+)\s+(\".*\")/constexpr OUStringLiteral \1 = u\2;/g' Change-Id: Idface893449b0ef2a3c5254865a300585d752fbb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119669 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-01unordered_map is better for pointer keysNoel Grandin
Change-Id: I6d731ca2a312ea3fd00334f3135d15af6dcf637b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119817 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-01unordered_map is better for pointer keysNoel Grandin
Change-Id: Iaef42c9cc3526d1daa9ad6aaa840ea5a449173be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119816 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-01o3tl::sorted_vector is better for small sets of pointersNoel Grandin
Change-Id: Ice284159b1666d930903eb53315e8a3c777c2a16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119815 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-01osl::Mutex->static local in EnhancedCustomShapeTokenNoel Grandin
Change-Id: I436df7f8088c6f5f9376ca9d45d9ce4b7de06069 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119752 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-01osl::Mutex->std::mutex in SvXMLExport::SetErrorNoel Grandin
Change-Id: Ibc72ed31df8291587d39dd46f604572b7ca1a147 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119753 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-26use officecfg for security optionsNoel Grandin
Change-Id: I9d91fd5b260b82e05aac6567143386742953ecf6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119486 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-26tdf#123626 Allow adding hyperlinks to shapesSamuel Mehrbrodt
* Support hyperlinks on Shapes in Writer * Add menu items * Add context menu items * ODF import/export + test * OOXML import/export + test Change-Id: I7269064c4cabd16fdb8259a48429c508184d3ccf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119164 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2021-07-25use officecfg to retrieve OdfDefaultVersionNoel Grandin
Change-Id: Id54b98d978965e7ce304b83d5eff7d6c844a41d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119474 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-23sw bibliography, local copy: add ODF filterMiklos Vajna
Map it to <text:bibliography-mark loext:local-url="...">. Note how this can be a relative URL, while the text:url attribute is typically a http(s) URL. Change-Id: If16171c9761221841ff07824cb0466fd42911480 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119407 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-23loplugin:noexceptmove (macOS, libc++)Stephan Bergmann
Change-Id: Ic587957fe0bf871b587375a68758a537de910de5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119399 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-07-22pass SvXMLNamespaceMap around by valueNoel Grandin
in SvXMLImport. Remove an assert in XSecParser because std::move on std::optional does not make the optional empty, unlike it's effect on std::unique_ptr. Change-Id: Ie94d01423bf694a37e4bd7f2c0235c5f79a44efe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119302 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-20no need to store data separately in SvXMLAttrContainerItemNoel Grandin
Change-Id: Idea4289c600a81f5c8dbb389343ef57a9623d11d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119251 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-20no need to allocate Sequence separately in FilterPropertiesInfo_ImplNoel Grandin
Change-Id: I8a10d2c0a31624cfefa485ae1a7d080f96d2b83e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119218 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-19Make obvious that this is in a try/catch blockSamuel Mehrbrodt
Change-Id: I1118ef026730481eeef127b570bfd59de4434455 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119163 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2021-07-16tdf#92796 ODF import: remove unused bitmap fillsMichael Stahl
With CWS impress64 a partial fix for this was implemented to drop unreferenced named items including all non-color fills after ODF import, but this is only done in sd so move the code that does that to svx and call it from sc and sw as well. Implement some UNO interface for this, it's at least better than a magic string, and not obvious how a better solution would look like since it's known only at the end of the import if a bitmap is used or not. Another problem: when the Area tab is used to change to a different kind of fill, the items with the details for the previous fill aren't cleared, and so they are written to ODF files. Hence bitmaps in the file can be referenced even if they aren't actually used, and bloat up the files. Fix this by dropping all unused draw:fill-image-name attributes in ODF import. Also do the same for Gradient and Hatch fills; Transparency gradients can be combined with anything so leave them as they are. Change-Id: I0b591fd9f963d974d0c3e7208b99621ad61dd93c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118950 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-07WaE: Wodr type 'ActionMapTypesOOo' violates the C++ ODRCaolán McNamara
Change-Id: If0b83e62e6c9905b1ae391fbed7c43b379dce5db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118586 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-03tdf#142902 DOCX export: remove personal info of comments and changesLászló Németh
If Options → LibreOffice → Security → Security Options and Warnings → Options... → Security Options → Remove personal information on saving" is enabled. Use the same time (Unix epoch) for mandatory time stamps, and replace authors with "Author1", "Author2", ... and creator-initials with "1", "2", "3" etc., also to avoid of joining adjacent redline ranges. Note: to see the work of the unit test in Linux command line: (cd sw && make UITest_writer_tests7 UITEST_TEST_NAME="tdf90401.tdf90401.test_tdf142902_remove_personal_info_in_DOCX" SAL_USE_VCLPLUGIN=gen) Follow-up to commit 12da70f88517bf3c053afe1c504bb70bd27573f2 "tdf#90401 xmloff: remove personal info of comments and changes". Change-Id: Ice996f171f5d82d13ce0ea2e4833696af0aab90c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117444 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2021-06-30Fix potential (but unlikely) overflowJan-Marek Glogowski
warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow] while( nPos < nLen ) ~~~~~^~~~~~ Change-Id: I95e3bb4a131eaf4e82fbc74cc0bea92930b6afe9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118159 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-06-30Purge out rtl::math::setNanBaiXiaochun
Change-Id: If8794c105e279afd4437517d3e61f2f900eb6490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118123 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-29new ODF numbered list parameter loext:num-list-formatVasily Melenchuk
Instead of style:num-prefix and style:num-suffix new list format is much more flexible for storing list multilevel numberings. Now it is possible to have not just prefix/suffix but any random separators between levels, arbitrary levels order, etc. Internal LO format for list format is changed: instead of placeholders like %1, %2, etc we right now use %1%, %2%... Reason: for ODT documents, having more than 9 levels there is ambiguity in "%10": it is "%1" followed by "0" suffix, or "%10"? Aux changes: * removed zero width space hack: since format string is always defined this hack is interfering with standard list numbers printing (see changes in ooxmlexport14.cxx, ww8export3.cxx tests) * changed cross-references values to lists: they are now including full list label string: previously this was bit self-contradictory (see changes in odfexport.cxx and check_cross_references.py tests) Change-Id: I9696cc4846375c5f6222539aeaadbca5ae58ce27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117156 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-06-28loplugin:indentation improve checks for brace alignmentNoel Grandin
Change-Id: I333100fda7e181f68f36b03279b3fbb8cb768310 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117615 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-26loplugin:finalclasses in xmloffNoel Grandin
Change-Id: I1f1e6c9bad9a2da18701a87ae4e835641a49c107 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117890 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-22crashtesting: assert on export of tdf105134-1.docx to odtCaolán McNamara
when interactively saving on creating preview for recently used Change-Id: I9d859cf404c34659653a14f8c2a94f867c704b7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117616 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-17tdf#90401 xmloff: remove personal info of comments and changesLászló Németh
If Options → LibreOffice → Security → Security Options and Warnings → Options... → Security Options → Remove personal information on saving" is enabled. Use the same time (1970-01-01T00:00:00) for mandatory time stamps, and replace authors and creator-initials with "1", "2", "3" etc., also to avoid of joining adjacent redline ranges. Note: to see the work of the unit test in Linux command line: (cd sw && make UITest_writer_tests7 UITEST_TEST_NAME="tdf90401.tdf90401.test_tdf90401_remove_personal_info" SAL_USE_VCLPLUGIN=gen) Change-Id: I3b4d710dbeeee12177aff378597cd2b683ca6c25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117319 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2021-06-11Simplify Sequences initializations (writerfilter/writerperfect/x*)Julien Nabet
Change-Id: I1bd31fe6cf0f8aaf4f2cfe1d3d49e61a0633f361 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117057 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-06-09dtd files are not xml files and shouldn't have xml headersCaolán McNamara
so rpminspect is correct in complaining that they are not valid xml on inspecting files claiming to be xml Change-Id: I70379989326c2ea63e6a54b3658ebea4684fa5df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116887 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-08editengine-columns: ODF support [API CHANGE]Mike Kaganski
This uses existing ODF markup, as used by Writer's text frame: style::columns child element of style:graphic-properties, its fo:column-count and fo:column-gap attributes. No ODF extension is required. Since currently only columns with same width and spacing are implemented, without additional settings, style:column child elements are exported, but ignored on import. This adds new property to css::drawing::TextProperties service: TextColumns (of type css::text::XTextColumns). Change-Id: I7e63293e5814b281ceec8a9632e696322d3629e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116035 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-08Use containerToSequence for Sequence of dynamic sizeVasily Melenchuk
Instead of set of conditions to detect size of resulting Sequence this should be shorter and cleaner. Change-Id: I52c87ecf3f21f40a52be5ac180a14499f4512072 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116772 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-06-04Fix typoAndrea Gelmini
Change-Id: Ib2045fb0aa2a4ea2556590337ab7de36360c60b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116689 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-06-03tdf#142546 broken formulas in .FODT filesNoel Grandin
regression from commit 81fe31d2c8977791f9b90ab1da4fbb1a778f87fb Date: Tue Nov 3 18:25:10 2020 +0200 use fastparser in XMLEmbeddedObjectImportContext Change-Id: Ib5bae81001ae97c574c078c979484f016c7d4323 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116664 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-30no need to allocate this separatelyNoel Grandin
Change-Id: Iae6b212c9114c0a5384fc8b7033fa80fa687c638 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116402 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-29Missing includeMike Kaganski
Change-Id: I0b818b5bad00006e3577b65fe7bccc7a258cbf54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116165 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-05-29std::unique_ptr->std::optionalNoel Grandin
Change-Id: Ie01aec182ad361522f6ebc00e2f2e47d0fc38d33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116378 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28tdf#137199: sw: convert list format string to prefix/suffix for ODFVasily Melenchuk
Since internally LO is able right now to use list level format strings and prefixes/suffixes only for backward compatibility, there is a need for conversion from format string (like "%1.") to prefix ("") and suffix (".") still used by ODT. Change-Id: If4b459e1b25b7f0ce511e6ac2de0824bb2c43d05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116288 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-05-27tdf#60382 sw xmloff: import/export tracked table/row deletionLászló Németh
to OpenDocument format using <style:table-row-properties loext:text-changes-only="false"/> Rename also com::sun::star::text::TextTableRow::IsNotTracked to com::sun::star::text::TextTableRow::HasTextChangesOnly. Follow-up to commit 05366b8e6683363688de8708a3d88cf144c7a2bf "tdf#60382 sw offapi: add change tracking of table/row deletion". Change-Id: Iefb0d4095af0983fdd15697d5b80073d18d21bd7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116212 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2021-05-27we can search std::set without allocating on the heapNoel Grandin
we just need to add some overloads to UniquePtrValueLess Change-Id: I91c395393a2de609c8f442de605d1dd2098dfae0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116248 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-20simplify some XMLPropertyState memory managementNoel Grandin
which fixes a leak if some of the code throws an exception Change-Id: Ic89060e7951060458ffe7ee5b6fe51cd076ef19b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115830 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-14Improve loplugin:stringviewStephan Bergmann
Issue the "instead of O[U]String, pass [u16]string_view" diagnostic also for operator call arguments. (The "rather than copy, pass subView()" diagnostic is already part of handleSubExprThatCouldBeView, so no need to repeat it explicitly for operator call arguments.) (And many call sites don't even require an explicit [u16]string_view, esp. with the recent ad48b2b02f83eed41fb1eb8d16de7e804156fcf1 "Optimized OString operator += overloads". Just some test code in sal/qa/ that explicitly tests the O[U]String functionality had to be excluded.) Change-Id: I8d55ba5a7fa16a563f5ffe43d245125c88c793bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115589 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-13inline some typedefsNoel Grandin
Change-Id: I1608e03ff9f6fbc55987010e88897e034b690b3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115552 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-11Missing includeMike Kaganski
Change-Id: Icd36de153a89893d09d74df6c33aa5a2b98f0d7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115280 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-05-11change usage of boost::hash_combine to o3tl::hash_combineTomaž Vajngerl
Change-Id: I840518a36ac43d36c95f38e09c7bfcfe1a25a525 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114984 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-05-10tdf#138209 ODF export: work around forms problem in LO < 7.0Michael Stahl
LO without commit 519d96fd8b83ef4c61576d87b58f97b7e6e6e3c6 makes a mess when storing form documents it has loaded from ODF 1.3 documents: the XML parts are stored as ODF 1.2, but the storage (and therefore manifest entry) keeps version 1.3. To avoid this, store form documents as ODF 1.2 extended by default. Unfortunately a bunch of ODF export code accesses the global SvtSaveOptions variable; with this version override, only SvXMLExport::getSaneDefaultVersion() must be used. Change-Id: I5fa8e286f5103c578ed0d93da07a8a6cbe2f0ddd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115357 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-05-04tdf#76258 Add ODF import/exportSamuel Mehrbrodt
XML looks like: <table:filter-condition table:field-number="0" loext:data-type="background-color" table:value="#ffd7d7" table:operator="="/> <table:filter-condition table:field-number="1" loext:data-type="text-color" table:value="#3465a4" table:operator="="/> Change-Id: Idcddf0ce436da69567e5a7e9dfd7d796dc872586 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114812 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>