summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-04-02MCGR: 1st additions to OOXML MCGR importArmin Le Grand (allotropia)
This change provides 1st changes to get Gradients with muti color stops imported from MSO in the oox import filter. It supports currently multiple ColorStops and transparency. Also 'border'(s) should work, but -remember- this is work in progress. Since it is work in progress it is currently and temporaily secured by ENV VAR "MCGR_TEST=0", so when not using this the master version will not be touched at all. The number defines various ColorStop tests, 0 for none, but some changes are active, e.g. MSO import. You may try 1 or 16 to see all your Gradients hard replaced by something using that feature. I will take care fo cleaning this up again when the feature progresses/gets complete. Change-Id: I92e10d8cd5150733741a6def20a542abf97bd903 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149682 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-04-02SDPR: Use currently added lambda to render GradientsArmin Le Grand (Allotropia)
Change-Id: I9fba920c60690f136cae956dae17e2f5e5081f19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149839 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-04-02tdf#154040 use a SdrObjKind::NewFrame for frame creation in writerTomaž Vajngerl
Instead of (ab)using SdrObjKind::NONE for the temporary, empty SdrObject instance in writer when creating a new frame, use a new SdrObjKind::NewFrame kind for the object and use a empty SdrObject instance EmptyObject - minimal implementation of SdrObject). Change-Id: I0277a8f0cf7bfd428e106258ae8710b77e62c41b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149924 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-04-01pack the UnoControlComponentInfos structNoel Grandin
Change-Id: I18ab490074051831dd31b3953308e372ca2b469f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149904 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-01use more XVclWindowPeerNoel Grandin
Rather than using it's superclass XWindowPeer and implicitly relying on it being XVclWindowPeer and casting it everywhere. Change-Id: Icfb46f3b920d00f4a167a31803a71bbb0368d05c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149894 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-01Add LoKit callback for application color changeParis Oplopoios
Change-Id: I9d0fe4ab878c9d3a4a6d842be5cd534b97bf77a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149822 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Paris Oplopoios <parisoplop@gmail.com> (cherry picked from commit 48650acef94147c2100eade8c583fddc770b94ef) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149876 Tested-by: Jenkins
2023-03-31simplify subclasses of comphelper::OPropertySetHelperNoel Grandin
they should deal in terms of the fast property IDS, they should not need to override setPropertyValueImpl, so just remove this, and standardise on the subclasses overriding setFastPropertyValueImpl Change-Id: I190955ccc4ae3e07dd481a1044f3c074dd1a40aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-31remove unnecessary UnoControlModel::setPropertyValuesNoel Grandin
which does exactly the same thing as the method it overrides Change-Id: Ib227011795f0cf6336fb1e01c14636a9996bb164 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149835 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-31make some method in comphelper::OPropertySetHelper finalNoel Grandin
Change-Id: Ia745a0d7568cf8f9180ed2e28cfd11da94cd186a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149834 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-30loplugin:stringadd in variousNoel Grandin
when applying my upcoming patch to also consider O[U]StringBuffer Change-Id: I8cf6a47ad357ddc73e2c430d966be72d5efd1485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149767 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-30add docstring for unclear default distance property in SvxTabStopItemSarper Akdemir
Change-Id: I6c9eef0a2167f738cdab8171d082becfca401d25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149740 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir@collabora.com>
2023-03-30tdf#146748 Change 'More Numbering/Bullets' options to 'Customize'Arvind K
Change-Id: Ia9ae20b8c73ddd762424c99eedbaf145fed81935 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148142 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-03-30sw reqif-xhtml export: fix export of transparent TIFMike Kaganski
Since commit 22b50f1937de67e4ad9e692d6964aa5b8d33af7a (use libtiff for tiff import, 2022-05-21), transparent TIFs are imported correctly. As the result, reqif export started to output the transparent TIF images as GIFs, because XOutFlags::UseGifIfSensible handles case of transparency, and XOutFlags::UseNativeIfPossible didn't handle TIF. Additionally, the resulting mediatype was reported incorrectly: <reqif-xhtml:object data="[...].gif" type="image/tiff" ... > 1. Handle TIFs in XOutBitmap::WriteGraphic when XOutFlags::UseNativeIfPossible is specified. 2. Return the corrected mediatype from XOutBitmap::WriteGraphic, to inform the caller about the possible change. 3. Remove the XOutFlags::UseGifIfSensible flag when doing the reqif export, to avoid the format change at all. Change-Id: I99f7cfb8d12ef66d372700ec810bd8b269868ffd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149744 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-29Prevent accidental OUString(nullptr)Mike Kaganski
Similar to commit f20162304d73bc01955e9ef6506c3bd1c7016c48 (Rule out OString(std::nullptr_t), 2015-07-12); after that, OUString was changed to have only one ctor taking pointer in LIBO_INTERNAL_ONLY case, so became a similar issue. Change-Id: Iac851d1c24c0616ee52a112b81ba71877c28c493 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149696 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-29tdf#149805 tdf#151677 tdf#152217 tdf#154043 tdf#153458 tdf#153800 Revert ↵Michael Weghorn
"VCL expect ... correct frame size for native menubars" This reverts commit afc828b9833b7a612369e95606ba56d41ef2c369 Date: Sat May 28 23:47:21 2022 +0200 VCL expect correct frame size for native menubars ... and renove the wrong framesize hack in the Qt backend because it caused several regressions and unfortunately the commit also doesn't fix all of the bugs mentioned in its commit message (while some previous patch sets of the change did address more, yet had other issues, s.a. the discussion in the commit's Gerrit change [1]). While e.g. the drag and drop issues reported in tdf#153458 and tdf#153800 could be fixed by translating the event position using `mapToParent()` (as is done in `QtWidget::fillSalAbstractMouseEvent` with the above commit in place), I currently don't see how to address the other issues and the overall direction of the change is not fully clear to me at this point. (There are also other pending changes in the relation change still pending in Gerrit that would presumably need more work/analysis.) After all, it seems the best way forward to revert the commit for now. This also reverts the follow-up commit commit 25da92004038c03c0feedf373e8038e7ee3e0c37 Date: Thu Jul 21 11:33:02 2022 +0200 Make JunitTest_toolkit_unoapi_1 succeed again on macOS that fixed a test failure introduced by the above commit. Luckily, there seem to be no follow-up commits that depend on this and the commits can be reverted cleanly without the need to resolve any conflicts manually. This reverts commit 25da92004038c03c0feedf373e8038e7ee3e0c37. This reverts commit afc828b9833b7a612369e95606ba56d41ef2c369. [1] https://gerrit.libreoffice.org/c/core/+/135082 Change-Id: I4c099ad7de8cbbad10da391ede4770d8c748fbde Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149495 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-03-29Resolves tdf#152184 - Application color should follow system colorHeiko Tietze
This patch reverts the previously added "LibreOffice Dark" application color set and adds it to the automatic colors. Switching between light and dark changes the Automatic color accordingly instead switching to another color scheme. The added System Theme option makes Light/Dark follow the actual OS appearance. Reverts 6dfc49bb6a72bf6bb79167b12f0d2d0c5a155d06 (Introduce dark color set), 546ad5d17d3e363b75337c336cfb2b2f8acc55e3 (color scheme translatable), 9f0cf00d29298ed55737928ec4dddc50ac850cd8 (Update view options string based on theme) Change-Id: Ibf491f2e510fac5f1d27a7166560c4ec281d98d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149059 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-03-28Fix build for recent GCCStephan Bergmann
...after 58dd5870a77344754ea459d8423d1b3787a6a813 "Avoid dangling references to temporary O[U]StringConcatMarker instances" caused e.g. > In file included from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/string.hxx:49, > from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/ustring.hxx:43, > from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/osl/module.hxx:31, > from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/sal/osl/all/loadmodulerelative.cxx:26: > /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/stringconcat.hxx:468:8: error: partial specialization ‘struct rtl::StringConcat<C, rtl::StringConcatMarker<C>, T2, Dummy>’ is not more specialized than [-fpermissive] > 468 | struct StringConcat<C, StringConcatMarker<C>, T2, Dummy> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/stringconcat.hxx:190:8: note: primary template ‘template<class C, class T1, class T2, typename std::enable_if<(allowStringConcat<C, T1> && allowStringConcat<C, T2>), int>::type <anonymous> > struct rtl::StringConcat’ > 190 | struct StringConcat > | ^~~~~~~~~~~~ (<https://ci.libreoffice.org/job/lo_callgrind_linux/13174/>) with GCC 11.02. (But what fixes it for recent versions of GCC would start to fail with > In file included from sal/osl/all/loadmodulerelative.cxx:26: > In file included from include/osl/module.hxx:31: > In file included from include/rtl/ustring.hxx:43: > In file included from include/rtl/string.hxx:49: > include/rtl/stringconcat.hxx:468:8: error: non-type template argument specializes a template parameter with dependent type 'std::enable_if_t<allowStringConcat<C, T1> && allowStringConcat<C, T2>, int>' (aka 'typename enable_if<allowStringConcat<C, T1> && allowStringConcat<C, T2>, int>::type') > struct StringConcat<C, StringConcatMarker<C>, T2> > ^ > include/rtl/stringconcat.hxx:189:125: note: template parameter is declared here > template <typename C, typename T1, typename T2, std::enable_if_t<allowStringConcat<C, T1> && allowStringConcat<C, T2>, int> = 0 > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ for e.g. Clang 17 trunk.) Change-Id: I6110d5a2813b561748654065e76bb4b6ab2f82d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149644 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-28editeng: document SvxOrphansItem and SvxWidowsItemMiklos Vajna
Replace boilerplate with something that actually helps remembering which one is which. Change-Id: Ia74b69d756cd31006b6f56726aeb37dc86880238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149636 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-03-28tdf#142391 - Store method using 0x13 format only when actually neededAndreas Heinisch
Change-Id: I907d234b20be5e3c7bee0d44407f1bf4c4b49f05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149175 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2023-03-27Avoid dangling references to temporary O[U]StringConcatMarker instancesStephan Bergmann
...which were created in O[U]String::Concat and bound to O[U]StringConcat::left. Thanks to Mike Kaganski for finding this. Change-Id: Id7838bc55eec7cba8860c2ec21a247bf4abd3c62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149629 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-27xmloff: prefix members of NameSpaceEntry, SinglePropertySetInfoCache, ...Miklos Vajna
... SvXMLAutoStylePoolP and SvXMLNamespaceMap See tdf#94879 for motivation. Change-Id: I306ceadd6d3753b76188fed3707b4df63c10bb8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149621 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-03-27tdf#152234 drawinglayer,svx: PDF/UA export: add Alt text to form controlsMichael Stahl
Specification: ISO 14289-1:2014, Clause: 7.18.1, Test number: 3 A form field whose hidden flag is not set and whose rectangle is not outside the crop-box shall have a TU key present or all its Widget annotations shall have alternative descriptions (in the form of an Alt entry in the enclosing structure elements) Form controls are weird because they have an SdrObject with the usual name/title/description plus a property "HelpText" on the control itself which is already exported as "/TU" on the /Annot unless it's empty. Exporting the SdrObject properties via ObjectInfoPrimitive2D doesn't work as tragically that is only created for form controls when painting to the screen while PDF export takes a detour that needs special handling. Change-Id: Id96f7dd13f190ab439c099cd1f4acb70c1c9fdc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149554 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-03-26tdf#90407 Change the auto-fit alg. to match better with OOXMLTomaž Vajngerl
The auto-fit algorithm has been tweaked to be more in-line with the expectations of OOXML. This means a couple of changes to what properties are scaled by the algorithm have been made: - most properties that influence the X axis position or size (for example indent) are not scaled down or changed by scaling. - properties that influence y axis position and size are scaled by a separate parameter (like in the OOXML). This is used in the auto-fit algorithm in a different way. - if line spacing is proportional, it is now scaled with the spacing parameter. Fixed line spacing doesn't get scaled. - the main scaling X,Y parameter only scales the fonts. - trying hard to scale the fonts to the nearest pt (point) value With this change the scaling is much more stable than it was before - for example it doesn't matter what the unscaled font size is, when it is scaled down to the text box size, it (should) always look the same (for example scaling from 32pt -> 10pt or 64pt -> 10pt or even 999pt -> 10pt). The algorithm is also rewritten to be better at finding a fit and is also better at find a good fit, but it can take more iterations by doing so (there are ways to improve it however). Previous algorithm used a linear search to converge to the best fit in less iterations, but the issue with that was that it could in some cases miss a solution (especially since change to floating point scaling parameter). The new algorithm now uses a binary search - always trying the middle of the search space. OOXML export and import was also changed to take advantage of the font scaling and spacing scaling parameters. The additional scaling at export that was needed to have consistent OOXML support was removed. Change-Id: I8f3bb8d43a01931f18bd7ffdf8e0ba40caa73d8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149207 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-03-24Introduce query() and queryThrow() to css::uno::AnyMike Kaganski
Similar to commit f3ffdc1a5fe965016550f20ada405ef638bf5f75 (Introduce non-static query() and queryThrow() to css::uno::Reference, 2023-03-23), this adds a syntactic sugar for css::uno::Reference ctors: css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(anAny, css::uno::UNO_QUERY); would become auto xSomeInterface(anAny.query<css::SomeNamespace::SomeInterface>()); and css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(anAny, css::uno::UNO_QUERY_THROW); would become auto xSomeInterface(anAny.queryThrow<css::SomeNamespace::SomeInterface>()); Change-Id: I06f8d97fe200a7dd03ecc965a431eb54b10a3c91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149549 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-24These must be constMike Kaganski
Change-Id: I6af7a8933662dc5b8585c14d1cb66e2aad883252 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149444 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-23tdf#142978 Remove a11y check dialogSamuel Mehrbrodt
in favor of sidebar deck Change-Id: I2daf34edbe71341ebc44ca9b966c97f8e494d583 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149433 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-03-23tdf#142978 Show a11y sidebar when finding issues on PDF exportSamuel Mehrbrodt
Change-Id: I5234aca76153e1a781b7df1d3fbea8bb856af921 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149430 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-03-23rename mnAnimCount to gAnimationRendererCountCaolán McNamara
to better distinguish it from nAnimCount Change-Id: I2fc5912964e8d48a991dfe0d755e5ce27d9e0905 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149458 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-03-23MCGR: Speedup Gradient Paint for VCLPixelProcessorArmin Le Grand (allotropia)
To do this, I re-organized FillGradientPrimitive2D and how it creates it's decompose. This provides the needed tooling to also do a more direct rendering in primitive processors if needed. The decompose no longer collects the matrices & colors as a 1st step in a helper data struecture (so I removed B2DHomMatrixAndBColor). It now uses a lambda function callback that hands over the matrix & color for each created step, so you can process it directly, in this case to create the needed primitives. NOTE: The decompositions are both tested. There was createNonOverlappingFill, but also createOverlappingFill that I am not sure is still used - and if in re-creating an old, strange XOR-using gradient paint mechanism in old metafiles (encapsulated with gradient info anyways), but I converted that and made sure it works. To do so I forced it to be used in paint. This is not really usable in paint since we need to paint using AA (else we would get staircase effects, esp. in new 'hard' color changes in multi-color gradients) and - as should be known - same edges painted in AA do *not* add up to full opacity, but leave behind awful 'jaggies' (e.g. opacity 0.5 and 0.5 create 0.75 and *not* 1.0). Still important to have the working geometry creation for this case. This already makes the decompose faster, but the main purpose is to use it as tooling for painting in own primitive renderers. Thus processFillGradientPrimitive2D now uses that instead of using the decomposition by default. This avoids one level of primitive creation, use that new FillGradientPrimitive2D tooling to directly create needed geoemtry & color for getting better performance (to partially compensate for potentially more expensive multi color gradients). It then paints directly using OutputDevice calls. NOTE: This can also be used in SDPRs as a 1st step to just directly and rapidly render filled single- color polygons, but of course there an implementation using the back-transformations (which are also adapted for MCGRs aleady and work) will be superior. Change-Id: I5079f76d6d8fe86007a098614c276447f2bfebce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149456 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-03-23Introduce non-static query() and queryThrow() to css::uno::ReferenceMike Kaganski
As a syntactic sugar for the respective ctors: css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(xAnotherInterface, css::uno::UNO_QUERY); would become auto xSomeInterface(xAnotherInterface.query<css::SomeNamespace::SomeInterface>()); and css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(xAnotherInterface, css::uno::UNO_QUERY_THROW); would become auto xSomeInterface(xAnotherInterface.queryThrow<css::SomeNamespace::SomeInterface>()); Change-Id: Ic42da364562b702cd468cc708fbda70394c4f2a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149368 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-23tdf#154319: fix TOC field codes parsingMike Kaganski
Change-Id: I734697f52df14ca5b316481df8a58fef72ab9571 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149254 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-23oox: import gradient fill to model::FormatSchemeTomaž Vajngerl
Change-Id: I90bc7cf4239f08efbc7239928c34ccdbec20cb2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147575 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-03-22MCGR: Corrected error with Case16 wrong gradient shortcutArmin Le Grand (allotropia)
Also simplified using the test cases, these now depend on an ENV VAR called MCGR_TEST. Fallback is no test. For seeing a multi-color gradient use 1, for Case16 use 16. If active, all gradients are replaced with the one active for the test, 2D and 3D. This is temporary but also for pro build to check for speed there. Change-Id: I90f3c7e59d9d0a3e070a849af3f9ea1c9e5462a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149316 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-03-22vcl,drawinglayer,svx,sw,sd: PDF/UA export: Annot StructElem for SdrMediaObjMichael Stahl
veraPDF complains: Specification: ISO 14289-1:2014, Clause: 7.18.1, Test number: 1 An annotation, excluding annotations of subtype Widget, Popup or Link, shall be nested within an Annot tag This is very similar to Link annotations, that is to say, extremely complicated to get it thought the convoluted PDF export code, with additional complication that the StructElem is produced by drawinglayer and the page annotation by sw. Put another map into PDFExtOutDevData where sw code puts stuff for the SdrObject that drawinglayer can find. The test had the problem that PDFObjectParser::parse() could not handle: <</Nums[ 0 [ 6 0 R ] 1 6 0 R ]>> Fix dropping the "1". Change-Id: If5bf7c552e26ebb7e631030b8aaecd4281e77acc (cherry picked from commit c78e90bd28cc4d6d3bde473535107784b12d9c0d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149008 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-03-22oox: introduce FormatScheme - use in Theme importTomaž Vajngerl
Introduces model::FormatScheme as an member of model::Theme, which is used in the theme import. As an first step it imports FillStyleList, but only SolidFill and NoFill. Change-Id: I14a75782ebabcf7ff69b0872752d411183653a47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147573 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-03-22jsdialog: double click for drawing areaSzymon Kłos
Change-Id: I280158b101f39d107090a2eebb2c06e64591cb94 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148852 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149231 Tested-by: Jenkins
2023-03-21sc drawstyles: Implement the styles familyMaxim Monastirsky
Change-Id: I2af6072685e4c79cfe2f177c0aae27044f86d840 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149184 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2023-03-21MCGR: Model data changes for ColorSteps (II)Armin Le Grand (allotropia)
The biggest change here is to allow multiple ColorStops with the same Offset. That allows to define gradients with 'hard' color changes at any place using two ColorStops with the same Offset and different Colors. This required quite some adaptions, but works well. Also removed in this context checking for all Colors being the same to not mix up things. Also works well. Also changed the need for having Start/EndColors AKA ColorStops for 0.0 and 1.0 in place, instead 'imply' the 1st ColorStop to also define the StartColor and the last one the EndColor. This allows e.g. Gradient definitions with two GradientStops at the same Offset e.g. 0.5 with different colors to already define a full Gradient. Also added a tooling method to reverse ColorSteps, which changes the order and mirrors the Offsets (what even keeps an existing sort valid). This is useful e.g. for GradientAxial which is the only one where for decomposition the Gradient had to be interpreted 'reverse' since it's defined from center to edge, but for creating correct filled polygons to represent this the inverse order had to be used, creating polygons from edge to center. This led to 'wild' code for this one of six cases and prevented unifications with the other cases (also made your brain flip). Thus I adapted this now to use the reversed ColorSteps consequently, and the same principle loops than the other implementations to make things easier for the future and to use common tooling. Change-Id: If2943348d17d5b9cd165f4d78f22638a1dff5237 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149208 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-03-21jsdialog: add wrapper for ScrolledWindowSzymon Kłos
Change-Id: I59489e4cf1e5fb492272108e3a19afb4212753f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148610 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149200
2023-03-21jsdialog: dump properties of scrolled windowSzymon Kłos
Change-Id: Id6d072e951efec4c1de7641c94017c82840fa50b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148609 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149190 Tested-by: Jenkins
2023-03-20vcl,sd,sw: PDF/UA export: add Alt text to SdrMediaObj media shapesMichael Stahl
7.18.6.2 Media clip data In the media clip data dictionary, the optional CT and Alt keys (ISO 32000-1:2008, 13.2.4.2, Table 274) are required. Change-Id: I147f1677f1bd0788c2269735688d329db15c0ead Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149007 Tested-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-03-20Missing includes (for std::exception_ptr)Stephan Bergmann
Change-Id: If93883ba9feb22e6da2d56af4ebb2f4eafe58de1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149162 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-20tdf#154273: Add the "&apos;" entity definition to our HTML parser...Damjan Jovanovic
... so that we can correctly read it and convert it a "'", but when writing to HTML write out the "'" directly for now. Fixes: https://bz.apache.org/ooo/show_bug.cgi?id=80657 Patch by: me Cherry-picked from https://github.com/apache/openoffice/commit/3304210c5c53f441cdb2c462fbbf6d8351380b01 "Add the "&apos;" entity definition to our HTML parser, so that we can…" Change-Id: I10d07af5f49d2432d99a79318d9d95b0bc976637 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149150 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-03-19MCGR: Model data changes for ColorStepsArmin Le Grand (allotropia)
Added tooling replaceStart/EndColor to allow simple transition for code that does not immediately adapt to multi color gradients. Also added createColorStepsFromStartEndColor for the same purpose. Adapted XGradient to no longer have Start/EndColor at all, but only use ColorSteps. Adapted all usages of XGradient to no longer use Get/Set/Start/EndColor, but access the ColorSteps instead. Replaced quite some XGradient constructors that used XGradient() as Start/EndColor since this is already the default. Adapted ColorBlending to black AKA Start/EndIntens in XGradient to work now on all ColorSteps in the required linearly-scaled manner. UNO API changes: Added com::sun::star::awt::ColorStep as basic data element that holds a pair of Offset and Color. Added com::sun::star::awt::ColorStepSequence to handle an array of sorted entries. Added com::sun::star::awt::Gradient2 derived from com::sun::star::awt::Gradient, extended by the needed com::sun::star::awt::ColorStepSequence. Added MID_GRADIENT_COLORSTEPSEQUENCE to UNO API to provide access to ColorSteps directly. Adapted XFillGradientItem::QueryValue/PutValue to make use of new UNO API data structures. To do so, added tooling methods for data transition: - fillColorStepSequenceFromColorSteps - fillGradient2FromXGradient - fillColorStepsFromAny - fillXGradientFromAny and adapted - case '0' (all data) - MID_FILLGRADIENT - MID_GRADIENT_COLORSTEPSEQUENCE - MID_GRADIENT_START/ENDCOLOR to make use of these. Tested usage of these in the office. Renamed from GradientStep to GradientStop after discussions with members on the list to make this closer related to other norms/definitions. Also renamed classes and class members to better reflect to GradientStop, so grepping/finding will be easier (e.g. 'Color' just exists pretty often, but 'StopColor' is more precise). Changed the used UNO API class for reprsenting the Color to better reflect to ranges [0.0 .. 1.0] and usage of RGB. Change-Id: I1eeb3e97e81d6785967615d1ff256551fc3b882d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148849 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-03-18loplugin:stringadd use more O[U]StringCharNoel Grandin
Change-Id: I196e4539ad430a39415eff9d7170b33df7228230 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149062 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-17Towards literal O[U]String types in C++20Stephan Bergmann
...(where destructors can be constexpr), making 21584b304b21bfe6b99b6f29018c6b754ea28fc0 "make OUString(OUStringLiteral) constructor constexpr" and 983c1146ac80c038feae653e8e3752a72171d6cb "actually make OString(OStringLiteral) constructor constexpr" actually useful and eventually removing the need for O[U]StringConstExpr again Change-Id: I55520c1d928758f61e92336206e0f14b6f12a711 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148978 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-17store last five most recently used currencies in the currency toolbar drop-downDrGigioSan
Refactory Cause Currency must be added in the MRU list in SvxCurrencyToolBoxControl::execute method. Unfortunately in this point the only information available is the number format. It is not possibile to infer currency from number format (e.g: both USD and AUD use symbol $). Encapsulating currency data In order to solve the problem currency data is enacpsulated in a SvxCurrencyData struct. Added a vector of SvxCurrencyData to SvxCurrencyToolBoxControl. Static and non static call Former static SvxCurrencyToolBoxControl::GetCurrencySymbols has been preserved, as it is called by SvxNumberFormatShell. A new GetCurrencySymbols is used by the control. To avoid code duplication, both functions call a static private function inner_GetCurrencySymbols. MRU Currencies MRU currencies are stored in another member vector m_mru_curencies: During currencies vector population (inner_GetCurrencySymbols) a space is reserved on top of vector for mru currencies. A new method addMruCurrency updates m_currencies. This method is called in SvxCurrencyToolBoxControl::execute Change-Id: I6f86179efd1839e31b089e0086b6ddbdda358f31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148896 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-03-16Update view options string based on themeParis Oplopoios
Update the view options string based on the theme when tiled rendering, and make sure only the currently active view is updated Change-Id: Ib24111848f2926fe7ae858ca2e18e946d980e83f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148943 Tested-by: Paris Oplopoios <parisoplop@gmail.com> Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
2023-03-16Add uno command that changes the themeParis Oplopoios
Add an uno command that changes the theme to the one specified in the first parameter Change-Id: Ia0fef2ca698415e07f1943cf80ab667fb5c37238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148942 Tested-by: Jenkins Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
2023-03-16update line controls preview if style changedCaolán McNamara
e.g. in page style dialog, footnote page, line menubutton, if theme changes from light<->dark while the dialog remains open Change-Id: If8ca8b2cf9c4e4d620ce0ea1c92c50accbc8ebcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148981 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>