summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/SmartTagHandler.cxx
AgeCommit message (Collapse)AuthorFilesLines
2020-08-14loplugin:simplifybool moreNoel Grandin1-1/+1
look for expressions like !(a && !b) which can be expanded out Change-Id: I72515a9638762b050f9a258c08da39ebfa2ef8e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-02loplugin:flatten in writerfilterNoel Grandin1-31/+30
Change-Id: Ifaa63738c4e38dddd385821f568911927d834f1e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99966 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-20writerfilter: clang-format these filesMiklos Vajna1-35/+35
I added these files more or less recently and they have long lines. Use clang-format to break at a sane column limit. (And I now promise I won't remove more files from the clang-format blacklist for a while.) Change-Id: I7eae945defe67fa19c4bd9f4789d7918bb45bf9a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94585 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-04-27Make upcasting css::uno::Reference ctor require complete typesStephan Bergmann1-0/+2
The main reason for the "home-grown" UpCast introduced with 904b3d1fceee5827076758ed2a81f80cb73493ca "Up-cast conversion constructor for css::uno::Reference" in 2013 was probably that we could not yet rely on C++11 std::is_base_of back then. A (welcome) side effect was that the derived class could be incomplete. However, specializations of UpCast relying on whether or not T2 is incomplete are obviously an ODR violation if the type is incomplete in some TUs and complete (and derived from T1) in others. And even if UpCast had internal linkage, it would still be brittle that its behavior depends on the completeness of T2 at the point of the template's instantiation, and not necessarily at the point of use. That means we should better base that ctor on std::is_base_of (which we can do now since 39a1edd6fec902ef378acce8af42c4d7fba280d0 "Make css::uno::Reference upcast ctor LIBO_INTERNAL_ONLY"), which causes a compilation error at least on Clang and GCC if the completeness requirements are not met. This change fixes all the cases where types need to be complete now, plus any resulting loplugin:referencecasting warnings ("the source reference is already a subtype of the destination reference"). Change-Id: Ieb9e3552e90adbf2c5a5af933dcb872e20661a2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92950 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-31clang-tidy modernize-concat-nested-namespaceNoel Grandin1-5/+2
Change-Id: Iab35a8b85b3ba1df791c774f40b037f9420a071a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86708 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-12Add missing sal/log.hxx headersGabor Kelemen1-0/+2
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories w* x* Change-Id: I27bff44da3d34d24262031c7489e755311599bc5 Reviewed-on: https://gerrit.libreoffice.org/57307 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-09Fix some IWYU warningsMiklos Vajna1-0/+1
Change-Id: Iab61e0a7cac2dc89e6b04875a62894b181aa0ff4 Reviewed-on: https://gerrit.libreoffice.org/54016 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-10-05writerfilter: consistently use "" and <> in include directivesMike Kaganski1-1/+1
[cpp.include] tells that includes in <> are searched in implementation-defined places; includes in "" are searched in other implementation-defined places, and is unsuccessful, then as if they were in <>. MS VisualStudio IDE uses paths configured for the project for includes in <>, and starts with current file paths for includes in "". So, using <> for includes in current source file's directory missing from configured project paths makes IDE show unsuccessful includes and unknown identifiers. This fixes includes in writerfilter source directory. Change-Id: I0bc1147aa68c305afd0c119418f07b655783a466 Reviewed-on: https://gerrit.libreoffice.org/43138 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-08-25writerfilter: fix inconsistent param naming in interface/implementationMiklos Vajna1-3/+3
Talking about names when those are numbers is confusing. Change-Id: Icfeed8924daeb1d6f658118515f9d4a76229106e Reviewed-on: https://gerrit.libreoffice.org/41540 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-02-15writerfilter: can use std::move() hereMiklos Vajna1-2/+2
Change-Id: I48980ae44cd68b9526d915f877a37f6a559910e5
2016-12-20writerfilter: various small cleanupsMiklos Vajna1-1/+1
Change-Id: I258a03909e2a166b8f1c077cf758974a06ad3403 Reviewed-on: https://gerrit.libreoffice.org/32215 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-05-20writerfilter: use '= default;'Miklos Vajna1-3/+1
Replace default bodies of these trivial special member functions. Also remove RTFSprms::operator=() as it matches what the compiler would generate anyway. Change-Id: Ib5e30dfdd9b428a6d7800cec056c3f55ca92f4a4 Reviewed-on: https://gerrit.libreoffice.org/25187 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-01-04DOC(X) filter: BAF -> BAILS in the smart tag mappingMiklos Vajna1-9/+9
The filters map between a common subset of Word smart tags and Writer RDF annotations, and when doing so, they need to know what path to use for a smart tag namespace and also the other way around: what RDF types are interesting for smart tag purposes. It turns out there is BAILS specification at <http://www.tscp.org/wp-content/uploads/2013/08/TSCP_BAILSv1.pdf> that describes how to refer to BAF objects, so use that instead of our custom RDF statement / document metadata key names. Change-Id: Iac569608b05aa61547f664f2a5df7d46fe46da76
2015-12-02DOCX import: handle <w:smartTag>Miklos Vajna1-2/+60
These can be sort of arbitrary key-value pairs around one or multiple runs, handle the following subset: - when they appear at a paragraph context -> we assume they are annotations on the paragraph - when the smart tag's URI/element is RDF -> we map these to RDF metadata statements on paragraphs - when the attribute name's namespace is known, because in ODF we need to specify both a path and a type (namespace) for the RDF graph, and OOXML only provides a namespace As a start, recognize the TSCP BAF namespace from <https://www.tscp.org/wp-content/uploads/2013/08/TSCP_BAFv1.pdf>. Change-Id: Ib188b1395e7ec7e0441b4f12f86cfef99fb9f096
2015-12-01DOCX import: tokenize <w:smartTag>Miklos Vajna1-0/+70
Change-Id: I2c408a25880ad0e87f0b5a246a350e45c8378ce5