summaryrefslogtreecommitdiff
path: root/sw/source/filter/xml/xmlexp.cxx
AgeCommit message (Collapse)Author
2023-10-20Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: swStephan Bergmann
Change-Id: I85fff7ed6932c5fc196e18f24fa01074ba4837e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158241 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-12sw floattable: add an AllowTextAfterFloatingTableBreak compat flagMiklos Vajna
Word and Writer normally only wrap the anchor text around the split fly frame on the last page, but as <https://bugs.documentfoundation.org/show_bug.cgi?id=61594#c33> points out, Word has an allowTextAfterFloatingTableBreak compat flag that allows wrapping on all pages. Map this to a Writer compat flag for now, which affects all floating tables in the document. The mailing list thread at <https://lists.freedesktop.org/archives/libreoffice/2023-July/thread.html#90670> suggests that possibly there will be demand to control this on a per-frame level: that's not something Word supports, but we could do an OR of the two settings in the future if wanted. This is just the compat flag itself, layout still has to actually handle it. This compat flag is probably quite rare, so only write it to documents if it's true (the default is false). Change-Id: Ibc431f7dc11710926c115d8e03f760b7f0784304 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157855 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-07loplugin:ostr: automatic rewriteStephan Bergmann
Change-Id: I2d09b2b83e1b50493ec88d0b2c323a83c0c86395 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157647 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2023-06-26new loplugin:constexprliteralNoel Grandin
OUStringLiteral should be declared constexpr, to enforce that it is initialised at compile-time and not runtime. This seems to make a different at least on Visual Studio Change-Id: I1698f5fa22ddb480347c2f4d444530c2e0e88d92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153499 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-24sw floattable: add a DoNotBreakWrappedTables compat flagMiklos Vajna
RTF doesn't break floating table across pages, and there is a matching DOCX compat flag to handle such documents. We can ignore floating table info on the model as a workaround, but that would mean the info is lost on save, so that's not ideal. Instead add a new compat flag that disables fly split at a layout level, which allows both not splitting tables & retaining the model-level info. This commit does the doc model, UNO API, layout & ODT filter, the Word filters are not yet updated. This compat flag is probably quite rare, so introduce a mechanism to only write the compat flag when it's true: this way the majority of the documents don't need to say anything about it and we can assume "false" for them. Also fix two missing xmlTextWriterEndElement() calls in the xml dumper. Change-Id: I32321ec204d7bfe011fcf024b97c906da0db8aae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152190 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-01-19XUnoTunnel->dynamic_cast for SwXFrameNoel Grandin
Change-Id: I48fd10781e7f09b37b6b0000f68456e8194e6d7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145761 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-14XUnoTunnel->dynamic_cast in SvXMLExportNoel Grandin
Change-Id: I68e4691ac0a58e2320b534d15934ff177feb124d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145493 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-25directly instantiate IndexedPropertyValuesContainerNoel Grandin
without the overhead of the UNO service engine Change-Id: I4a02fda2b3c92a897634374bf72cfffee4f531f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134923 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-10Recheck sw headers with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I99558e6b6952b3f2c1ee32dd07354ff659ad9cd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131183 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-12-26use comphelper::WeakComponentImplHelper in SvXMLEmbeddedObjectHelperNoel Grandin
Change-Id: Id574f7a1ff54fae4a76bcafb011b9a80b5f35232 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127407 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-31Prepare for removal of non-const operator[] from Sequence in swMike Kaganski
Change-Id: Ie9530262e4addec01091cc1147e68be5b5a782f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124398 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-28tdf#144532 closing mail merge wizard preview removed document's data sourceCaolán McNamara
Filter out the "EmbeddedDatabaseName" property from the document settings on saving document that will be loaded by the mail merge preview so that when the temp mailmerge preview document is closed it doesn't unregister the database of the same name which was registered by the document this is a copy of. This looks like a similar problem to tdf#118634 addressed by: commit edc62adae9a354ca1305e83b10c98a545f58d341 Date: Mon Jul 9 19:49:34 2018 +1000 tdf#118634: Don't save embedded data source to a temporary preview document Change-Id: I3fecc2ace1c9e06354b145609f0130dbbb2c036b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122763 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-09-28flatten this in advance of additional changesCaolán McNamara
Change-Id: I2169a235be83558edb1c5146e3fc8848449f55c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122762 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 5Mike Kaganski
- Revise uses of getSomething to use getFromUnoTunnel Where that is impossible, use getSomething_cast to unify casting, and minimize number of places doing low-level transformations. The change keeps the existing tunnel references that last for the duration of the pointers' life, because sometimes destroying such reference may destroy the pointed object, and result in use after free. Change-Id: I291c33223582c34cd2c763aa8aacf0ae899ca4c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122101 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 4Mike Kaganski
- Change implementations of getSomething to use getSomethingImpl Or where that's impossible, use getSomething_cast to unify this and reduce number of places where we reinterpret_cast. All static methods getting tunnel ids were renamed to getUnoTunnelId, to comply with the convention used in <comphelper/servicehelper.hxx>. TODO (in separate commits): - Revise uses of getSomething to use getFromUnoTunnel Change-Id: Ifde9e214b52e5df678de71fcc32d2199c82e85cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122100 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 1Mike Kaganski
The header got some changes: 1. Move UnoTunnelIdInit and isUnoTunnelId into 'comphelper' namespace 2. Rename UnoTunnelIdInit to UnoIdInit, as a precondition to replace of uses of OImplementationId with it, including in XTypeProvider 3. Introduce convenience functions 'getSomething_cast' to cast between sal_Int64 and object pointers uniformly. 4. Rename getUnoTunnelImplementation to getFromUnoTunnel, both to make it a bit shorter, and to reflect its function better. Templatize it to take also css::uno::Any for convenience. 5. Introduce getSomethingImpl, inspired by sw::UnoTunnelImpl; allow it handle cases both with and without fallback to parent. 6. Adjust UNO3_GETIMPLEMENTATION_* macros TODO (in separate commits): - Drop sw::UnoTunnelImpl and sw::UnoTunnelGetImplementation - Replace all uses of OImplementationId in core with UnoIdInit - Deprecate OImplementationId in <cppuhelper/typeprovider.hxx> - Change implementations of getSomething to use getSomethingImpl - Revise uses of getSomething to use getFromUnoTunnel Change-Id: If4a3cb024130f1f552f988f0479589da1cd066e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122022 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-05-02throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewriteStephan Bergmann
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-04-07tdf#141467 xmloff,sc,sw: ODF export: reorder flys' ZOrder/z-index harderMichael Stahl
Also keep the control layer distinct from the foreground, as a follow-up to tdf#133487. Try to improve the detection of already sorted indexes a bit to avoid unnecessary sorting. Hilariously the test docs require adding 3 additional items to the extension schema. Change-Id: I629d5b09294f679717677b9d89537d905ac4c404 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113696 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-04-07rtl::Static -> function local staticNoel Grandin
Change-Id: I2071c27bdf074403ec24e67f9278ac27f9491303 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113698 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-15tdf#133487 sw ODF export: reorder flys' ZOrder/z-index...Michael Stahl
... so background shapes have lower z-index than foreground shapes, as is recommended by ODF 1.3. Also let SdrObjList::sort() record Undo actions, because earlier Undo actions could expect the previous sort order. Change-Id: Idbecf0a2acd525d42efc0ac92677b1c7987cc6ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112180 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-02-15loplugin:referencecasting in swNoel
Change-Id: Ie923fc8baaa26938378407f6e5f3c50b2cea7cca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110815 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-14rename xmlnmspe -> xmlnamespaceNoel Grandin
Change-Id: I8fdf9833dede6f4c9ba4bbb76b9ab9b6b419f155 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100722 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-14rename nmspmap.hxx -> namespacemap.hxxNoel Grandin
we're not in DOS anymore, Dorothy Change-Id: I79926e0d694163940ba7ebf20419724dd0a486f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100721 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-01reorder parameters of SvXMLExport::SvXMLExportNoel Grandin
so they all have similar order Change-Id: Id8baef058d52f6cce9d9be41b0341eec8ad648b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97628 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-09xmloff: ODF export: adapt all checks of ODFSVER_012 etc.Michael Stahl
Most of these actually want to check ODFSVER_EXTENDED because the extension didn't get into ODF 1.3. Change-Id: I1b625a329f7a3d146c616c62c15b56e2c314c2c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92872 Reviewed-by: Michael Stahl <michael.stahl@cib.de> Tested-by: Jenkins
2020-05-07replace ODFDefaultVersion usage with ODFSaneDefaultVersionMichael Stahl
Compare with ODFSVER_012 mostly works the same, except for places where namespaces are defined where the ODFSVER_EXTENDED bit should be checked. Change-Id: I86469b763bc2f903632976bc9d6ec04d543d705e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92727 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-03-02speedup sw build a littleNoel Grandin
from 11m46 to 11m21 Used ClangBuildAnalyzer to find headers that took a long time to parse (in total, across all modules). (*) moved the boost stuff out of sw/inc/docary into a new header. (*) make sw/inc/ndtxt no longer include doc.hxx Change-Id: Ia1d4ebddb4ddd4ec4ffbc011f4a5e24a42b46d3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89808 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-20tdf#42949 Fix IWYU warnings in sw/source/filter/*/*cxxGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I87263017cb0802c9f5ca21d630bf3701b9c5e73a Reviewed-on: https://gerrit.libreoffice.org/85167 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-08-23tdf#39593 extract UnoTunnelId comparison to template functionArkadiy Illarionov
Change-Id: Ia2b5dea273c8de7b8c54e74780193a8d4cba7b45 Reviewed-on: https://gerrit.libreoffice.org/73874 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-20loplugin:referencecasting in swNoel Grandin
Change-Id: Ib5de4377b22815ba718559ff6fcfd6ab5a0547a6 Reviewed-on: https://gerrit.libreoffice.org/75999 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-20simplify SfxPoolItemArray_Impl (tdf#81765 related)Noel Grandin
Since we want to look up items by pointer, just store them in a std::unordered_set, which allows fast find(). This dramatically simplifies most operations on this data structure. Fix a dodgy sd test that was relying on items with the same whichid being in the pool being in a certain order. Change-Id: I4d79fc718f95e3083a20788be1050fbe9fca7263 Reviewed-on: https://gerrit.libreoffice.org/70881 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-01tdf#42949 Fix IWYU warnings in include/sfx2/[sS]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I4a3baffa8944b522b16b50975185759081662020 Reviewed-on: https://gerrit.libreoffice.org/69945 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-02-10loplugin:indentation in swNoel Grandin
Change-Id: I4936284bff568b6bb47e5df3821f4ddd78260e92 Reviewed-on: https://gerrit.libreoffice.org/67568 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-18sw_redlinehide: make layout based Show/Hide mode the defaultMichael Stahl
remove ExperimentalMode checks Change-Id: Ie098eda0840bbd3231696cae43cc572ad61379fc
2018-12-18sw_redlinehide_4b: export flag to flat-ODFMichael Stahl
Change-Id: Ief227f3f5b03ec186178f4d68c3a415969d65507
2018-11-06tdf#120515 ODT filter: relax layout requirement before exportMiklos Vajna
This reverts commit 343af46fc301a984929e071d477b8fb9f211e289 (ODT filter: make sure we have a layout before export, 2017-11-29) as it causes a performance problem with large documents (see bugreport). I added it initially for the EPUB export, but there this is no longer needed as commit 3ed8466b55ace15a28761e06b6bb76ebd8758106 (EPUB export, fixed layout: switch to a metafile-based approach, 2017-12-01) switched to the better metafile-based approach. Change-Id: Ie404e23db77b8ded1d29f42b6279a3cd06a574b5 Reviewed-on: https://gerrit.libreoffice.org/62924 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-10-29tdf#120703 PVS: V547 Expression is always true/falseMike Kaganski
Change-Id: I0516dc68cf7d451eafc044be8e50a66d2bddf15f Reviewed-on: https://gerrit.libreoffice.org/62484 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-10-17clang-tidy readability-redundant-smartptr-getNoel Grandin
redundant get() call on smart pointer Change-Id: Icb5a03bbc15e79a30d3d135a507d22914d15c2bd Reviewed-on: https://gerrit.libreoffice.org/61837 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-20tdf#108402: avoid crash if filter doesn't matchJulien Nabet
See bt https://bugs.documentfoundation.org/attachment.cgi?id=134006 + display warning Change-Id: I38496364c0965015ea54f753f3d3550f317d88d8 Reviewed-on: https://gerrit.libreoffice.org/60413 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-09-12loplugin:simplifyconstruct in swNoel Grandin
Change-Id: I17c9009637edc04d9d06fa9a0bd19572eefd4fe8 Reviewed-on: https://gerrit.libreoffice.org/60370 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-24loplugin:useuniqueptr in SwXMLExportNoel Grandin
Change-Id: Id0354b73b0ff14b6a168b672f25483c07988494e Reviewed-on: https://gerrit.libreoffice.org/57864 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-26[API CHANGE] deprecate XGraphicObjectResolverTomaž Vajngerl
XGraphicObjectResolver was used to get the GraphicObject URL from an storage (package) URL. This isn't possible anymore in LO 6.1 since creating GraphicObject from uniqueID was removed for its lifecycle issues. XGraphicObjectResolver is now deprecated and when the "resolveGraphicObjectURL" is called, it throws a RuntimeExeption. In places where XGraphicObjectResolver was used, we now use the XGraphicStorageHandler as the alternative. Both share a common implementation so previously we could cast one to the other at any time. Now only XGraphicStorageHandler is used. GraphicObjectResolver was removed and replaced by the alternative GraphicStorageHandler for instance creation - where needed. Change-Id: I5d3f759c6f95b7dbe2d93688d99c8aa4899ffa84 Reviewed-on: https://gerrit.libreoffice.org/53279 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2018-01-12More loplugin:cstylecast: swStephan Bergmann
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I0f49d21dfdf82742f11b27709f74294feb1e419e
2017-12-11loplugin:salcall fix functionsNoel Grandin
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-02Replace list by vector in xmlexp (xmloff/sw)Julien Nabet
Use for-range loop with "auto" to modernize a bit Change-Id: I9efd7ad2d60eac6a6ce0f79af6ccb02ec235c35d Reviewed-on: https://gerrit.libreoffice.org/45711 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-30ODT filter: make sure we have a layout before exportMiklos Vajna
It is expected that the commandline --convert-to switch gives mostly the same result as save-as on the UI, but this was not the case for ODT, as the convert-to case had no layout available. As a result the explicit width of table columns or soft page-breaks were missing from the export result in the convert-to case. Given that Word formats already calculate the layout before export and during crashtesting we already wait for the OnLayoutFinished even before export, just enable calculating the layout before ODT export as well to shrink the cmdline vs GUI differences. [ No testcase: saving writerperfect/qa/unit/data/writer/epubexport/table.fodt with the writer8 export filter would be a reproducer for this, but the test doesn't fail without the fix even aftet not calling CalcLayot() via the mustCalcLayoutOf() override, so I'm out of ideas right now how to test this. ] Change-Id: Ib05958e857f0a353b8740f2a87a6cf2f45f3c764 Reviewed-on: https://gerrit.libreoffice.org/45518 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-28tdf#109202: Convert images to desired format in (f)odt filterKatarina Behrens
Pass down mimetype to SvXMLGraphicHelper Change-Id: I9c81c06d2a1d6168704440094081e99d0bcbbff9 Reviewed-on: https://gerrit.libreoffice.org/41893 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-10-16use rtl::Reference for SvXMLGraphicHelperNoel Grandin
Change-Id: I0052b29660fb6157f7e98c4e124f030ba439d304 Reviewed-on: https://gerrit.libreoffice.org/43417 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-06use rtl::Reference in SvXMLEmbeddedObjectHelperNoel Grandin
instead of manual ref-counting Change-Id: I559ebb3871dd3dd4a160bd83a259e36dd2f7b4d6 Reviewed-on: https://gerrit.libreoffice.org/43200 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>