summaryrefslogtreecommitdiff
path: root/xmloff/source/style
AgeCommit message (Collapse)Author
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-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-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-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-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-03loplugin:stringadd improvement for appending numbersNoel Grandin
I was wrong, the Concat framework already optimised appending numbers by stack-allocating small buffers, so include them in the plugin Change-Id: I922edbdde273c89abfe21d51c5d25dc01c97db25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115037 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-03loplugin:unnecessaryparen small improvementNoel Grandin
when calling a function, and passing only one arg, but the function has defaulted args, we were ignoring this case. Change-Id: I86517f18e30531127664088ddc09ef96dbd8bdf5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115033 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-02tdf#79049 speed up OOXML workbook load (4)Noel Grandin
Optimise LocaleDataWrapper for reads by initialising the data we in the constructor, so we don't need any kind of locking Reduces load time from 34s to 28s. Change-Id: I4bd3bddb30b70ba015fe5b1372534f9507762b74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114960 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-01remove superfluous loop variableJochen Nitschke
Change-Id: I418ea4b1770b82541bae8901d8d1b78d36cfb5d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114920 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-29loplugin:stringadd simplify some *StringBuffer operationsNoel Grandin
pulled from a larger patch which I created with a more permissive variant of this plugin Change-Id: I7abf1f3f09e84703b6e0e52fe9587dff691b2187 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-27loplugin:stringadd convert chained append to +Noel Grandin
which can use the more efficient *StringConcat Also fix a crash in stringview plugin which started happening while I working on this. Change-Id: I91a5b9b7707d1594d27d80b73930f5afac8ae608 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114568 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-22no need to create temporaries when appending number to O[U]StringBufferNoel Grandin
Change-Id: I36d82423b5f75010552696a66cec7e53ee265ce4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114395 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-22no need makeStringAndClear() when appending to bufferNoel Grandin
it just creates an unnecessary temporary Change-Id: Ide3cd99b2ac4f2a621e5d55ce4bdc95d05430709 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114467 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-12loplugin:unusedfieldsNoel Grandin
Change-Id: Ifb8ff48a05f37c0593bf619d7c774a26cb2655e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113987 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-10ODF load: use AAA/AAAA instead of NN/NNN(N) for implicit secondary calendarEike Rathke
For example ja-JP Gengou calendar. NN/NNN always worked because ja-JP Gregorian calendar defines the same day of week names so it never was apparent. Change-Id: Ief0d7ce7532b7ed7d58910bf150b190b7872db28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113900 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-04-09Recheck include/ with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: Ifc253bf800bb1468b5774663a93f4fb30bec81d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113657 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-04-08xmloff: build-time test that XMLRtlGutterPropertyHandler.hxx is self-containedMiklos Vajna
By making it the first include in XMLRtlGutterPropertyHandler.cxx. Change-Id: Id2e273ac60ad0ca9811b8581b32fc40776f0877e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113816 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-04-01tdf#141345 sw page gutter margin: reimplement ODF filterMiklos Vajna
See <https://issues.oasis-open.org/browse/OFFICE-4105>, the proposal is to include the gutter in the left/top/right margin to have better backwards compatibility, at the price of more complex xmloff code. This works by increasing the left/top/right margin on export (so even if gutter margin is ignored at import time, the layout will look fine, just the editing will be poor) and decreasing on import. Change-Id: I852e5c7366e8641abd61e136f9390466585953fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113464 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-03-31tdf#140343 sw page rtl gutter margin: add ODF importMiklos Vajna
See <https://issues.oasis-open.org/browse/OFFICE-4105>, the proposal is to not map this to a new attribute of the <style:page-layout-properties> XML element, rather only write writing mode on export and infer RtlGutter from that writing mode in import. This is similar to how FillBitmapOffsetX and FillBitmapOffsetY are two UNO properties, but there is a single draw:tile-repeat-offset attribute for them. This has the benefit of simpler ODF markup, at the cost of more complicated xmloff code. Change-Id: I189a7ec62d4e5624e20252b7259a36133594fe40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113405 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-03-25const OUString -> const OUStringLiteralMike Kaganski
Mostly automated rewrite Change-Id: Ie020a083f898bc126b8fb039d4ecb2e687172da1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112965 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-03-25tdf#134734 xmloff: ODF import compatibility for BackgroundFullSizeMichael Stahl
This is annoyingly complex because LO 6.3 changed the way backgrounds are painted in an inconsistent way. Use the generator version to guess what the document should look like, which of course will give the wrong result if it was created before LO 6.3 and then round-tripped with LO 6.3. Since LO 7.0 at least a hard-coded draw:background-size was written. Change-Id: If9c5d2b32bfa50cbe4fb166132f7223763af850f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112770 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-03-25tdf#134734 tdf#141059 tdf#122508 cui,sw,xmloff: BackgroundFullSizeMichael Stahl
* add BackgroundFullSize property to PageProperties * add a checkbox on the SvxPageDescPage * marshal the item via SfxGrabBagItem to avoid changing svxids.hrc * add RES_BACKGROUND_FULL_SIZE item, pool default is "true" which is appropriate for Word import filters * ODF export: remove hard-coded export in XMLPageMasterExportPropMapper::ContextFilter() * use it in SwFrame::PaintSwFrameBackground() * fix painting of bitmaps by also using the page frame area in SwFrame::GetBackgroundBrush(), which was the reason why f006b6339e20af6a3fbd60d97d21590d4ebf5021 painted things inconsistently * force repaint in lcl_DescSetAttr()/SwFrame::UpdateAttrFrame() Change-Id: I4cb64f87c01d17c051936e9b8128395fbb8b4fe5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112594 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-03-23tdf#124176 Use pragma once in x*Vincent LE GARREC
xmlhelp, xmloff, xmlsecurity Change-Id: I80c6fa806387f3dcba8be7f93fe2fef146b033e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112050 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-03-21ODF load: suppress calendar modifiers in format codes if possibleEike Rathke
... for switching to/from implicit secondary calendar, like ja-JP explicit [~gengou] and [~gregorian] most times are superfluous and GE or YYYY are used. In preparation for https://gerrit.libreoffice.org/c/core/+/108532 Change-Id: I8eb412c0fbba0927741bb305f91eb575b5f1bb13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112596 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-03-13ODF load: replace YY/YYYY with E/EE only for secondary calendarEike Rathke
In the context of Gengou calendar with Era a [~gregorian]YYYY should not be [~gregorian]EE (although it works and displays the same Gregorian year). Related to https://gerrit.libreoffice.org/c/core/+/108532 Change-Id: Iaec55c997089cbaea424220d858bffdf20ff3706 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112406 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-03-12ODF save: write explicit "gregorian" calendar, not empty if defaultEike Rathke
Other implementations may have different opinions about default calendars and the context here is to switch to Gregorian. Change-Id: I14a27826e627f890911adaf01935c58b43ad766a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112354 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-03-11ODF save: handle implicit other calendar and switch to Gregorian for YYYYEike Rathke
In preparation for https://gerrit.libreoffice.org/c/core/+/108532 to add dual calendar mixed formats. Change-Id: Ibc9294af3ad294c702ee6597b1a8831dec39b948 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112285 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-03-11ODF export: sort <style:font-face> elements based on the style:name attributeMiklos Vajna
m_pFontAutoStylePool is already sorted, but sorting ignores XMLFontAutoStylePoolEntry_Impl::sName, and changing XMLFontAutoStylePoolEntryCmp_Impl would affect how find() works in XMLFontAutoStylePool::Add(), so just extend XMLFontAutoStylePool::exportXML() instead. With this, the order of <style:font-face> elements is meant to be stable in content.xml and styles.xml, helping use-cases where a document is converted to ODF multiple times and an integration test wants to assert that the output is the same. Change-Id: If0dbfa40a1b204aebe5e141fe64f71ac2ca92405 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112339 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-02-17loplugin:referencecasting in xmloffNoel
Change-Id: Ib601b7045d773ab612569a8fd00d76545dea13af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111055 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-03tdf#91920 sw page gutter margin: add ODF filterMiklos Vajna
Note that the context filter is not set, since fo:margin affects left margin, but should not affect the gutter margin. Also put the new entry at the end, but before the header and footer sections, so the attribute is written to the correct XML element. Change-Id: I3588d4e76cd713efed168eb93b9456bba96727fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110375 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-01-29loplugin:stringviewparam extend to new..Noel
O[U]StringBuffer methods Change-Id: I0ffbc33d54ae7c98b5652434f3370ee4f819f6f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110090 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-28simplify code, use more subView()Noel
Change-Id: I569c7f34acbdf8451cd5c9acf1abd334637072d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110051 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-28add string_view variants of methods to O[U]StringBufferNoel
and update the stringview loplugin to detect cases where we can use these new methods. Change-Id: I998efe02e35c8efcb3abfb4d7186165bbe6dfb2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110046 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-16make the Color constructors explicitly specify transparencyNoel
to reduce the churn, we leave the existing constructor in place, and add a clang plugin to detect when the value passed to the existing constructor may contain transparency/alpha data. i.e. we leave expressions like Color(0xffffff) alone, but warn about any non-constant expression, and any expression like Color(0xff000000) Change-Id: Id2ce58e08882d9b7bd0b9f88eca97359dcdbcc8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109362 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-07Use o3tl::temporary in calls to OUString::iterateCodePointsStephan Bergmann
...that are not interested in the updated *indexUtf16 value Change-Id: Iaaa0fe45dcb54c4a8a347bcdb6fca6041218d009 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108941 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-31loplugin:loopvartoosmall fix buildCaolán McNamara
Change-Id: I2f9aa75f8e4f0577261fb84a9629c183d3a72b70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108534 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-31remove unnecessary list member counterJochen Nitschke
std::list::size() has constant complexity since C++11 Change-Id: I97c4b0a2d4fe899bcdf5fd2492fed69ed26c20e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108342 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-29loplugin:stringviewparam: operator +Stephan Bergmann
Change-Id: I044dd21b63d7eb03224675584fa143009c6b6008 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108418 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-26vcl: use Color:IsTransparent() where appropriateChris Sherlock
Change-Id: I37bbab5f22f91faad65be8ef79734ce1ee6355d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108249 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-23Fix dubious OUStringLiteral with automatic storage durationStephan Bergmann
Change-Id: I0c80ce6efbbc950ce975e55663a5643ea8fb37f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108215 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-21use std::u16string_view in SvXMLTokenEnumeratorNoel
Change-Id: I1194441063047637adc20c8e37bb717fdb787714 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108073 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-18use more string_view in IsXMLTokenNoel
Change-Id: Ib84e2e7db4b4e6e2486dd024d60057d9d42ff4b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107932 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-18use more string_view in convertEnumNoel
Change-Id: I859de4b908672722e1873c5b41cb456b42258ddd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107885 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-15use views to parse rather than allocating OUStringNoel
Change-Id: If0a848c64ce8077d1681661873629c83307cf8b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107736 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-11Adapt the remaining OUString functions to std string_viewStephan Bergmann
...for LIBO_INTERNAL_ONLY. These had been missed by 1b43cceaea2084a0489db68cd0113508f34b6643 "Make many OUString functions take std::u16string_view parameters" because they did not match the multi-overload pattern that was addressed there, but they nevertheless benefit from being changed just as well (witness e.g. the various resulting changes from copy() to subView()). This showed a conversion from OStringChar to std::string_view to be missing (while the corresponding conversion form OUStringChar to std::u16string_view was already present). The improvement to loplugin:stringadd became necessary to fix > [CPT] compilerplugins/clang/test/stringadd.cxx > error: 'error' diagnostics expected but not seen: > File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 43 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:42): simplify by merging with the preceding assignment [loplugin:stringadd] > File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 61 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:60): simplify by merging with the preceding assignment [loplugin:stringadd] > 2 errors generated. Change-Id: Ie40de0616a66e60e289c1af0ca60aed6f9ecc279 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107602 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-09Fix loplugin:stringviewparam handling of comparison operatorsStephan Bergmann
Change-Id: I58456efb9588b544d998ac6a4c27d55457280742 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107510 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-08remove now unused XML_TOK_ constantsNoel
Change-Id: I73da015abc824194b88c53b87170c987d24080a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107411 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-08remove unused SvXMLTokenMap from XMLFontStylesContextNoel
Change-Id: I0e75bd2a65259659c31bbc721649b266fbaa3c8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107369 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-08fastparser in stylesNoel Grandin
Change-Id: I39d285f1dd7dd18c396db96863f77f511741951c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107364 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>