summaryrefslogtreecommitdiff
path: root/offapi
AgeCommit message (Collapse)Author
2023-06-01Revert "Convert XFastParser into a normal C++ interface"Noel Grandin
This reverts commit 5e68d6cfade45f40b1ad46025a81afe4cb8dd337. Reason for revert: Seems like outside users have been using this API Change-Id: I8814cf1eb4f000eeb4cbbb5db9c282d001465993 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152441 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-01Convert XFastParser into a normal C++ interfaceNoel Grandin
There is no need for it to be an UNO interface anymore (ever since we started supporting dynamic_cast on UNO objects). Which means that XImportFilter2 also needs become a C++ interface. Change-Id: Ice2db0f098271bba32b199bd083b08cb8410ce93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152388 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-29Remove recently unused CTLScriptType codeKhaled Hosny
This is now unused after: commit 98f7ec383db74a6491e925e30125d3fbf270afc2 Author: Khaled Hosny <khaled@libreoffice.org> Date: Sun May 28 16:28:52 2023 +0300 tdf#139863, tdf#155514: Don’t split COMPLEX text portions The code is also broken as it doesn’t handle surrogate pairs. The UNO API now throws an exception. Change-Id: I454ed741e3834e762a2731d671c21a3e73515da3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152359 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-05-26Fix text in IDL fileOlivier Hallot
+ Copy&Paste is evil... Change-Id: I11352ec41d96cfbc7d4176773789066aee292a0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152281 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-05-25[API CHANGE] remove XModuleUIConfigurationManager3 and XUIConfigurationManager3Miklos Vajna
The motivation was to not modify XModuleUIConfigurationManager / XUIConfigurationManager, but as pointed out at <https://gerrit.libreoffice.org/c/core/+/151798/10#message-31d00a775989b981a5f50639623cc773d6ea930d>, it may be fine to modify XModuleUIConfigurationManager2 and XUIConfigurationManager2 instead of adding XModuleUIConfigurationManager3 and XUIConfigurationManager3. Indeed, searching for usage in <https://github.com/libreoffice/wollmux>, only the published interfaces are used, so let's fold XModuleUIConfigurationManager3 into XModuleUIConfigurationManager2 and XUIConfigurationManager3 into XUIConfigurationManager2. This is a reasonable middle ground between 0 API change and breaking known users of the public API. Change-Id: I2dedee7e255f9dda9c9057961e6c829f83b2b709 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152254 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-05-23[API CHANGE] Add createShortCutManager function to uiconfigurationmanager.Gökay Şatır
We need to have different accelerator classes for differnt languages. This PR creates a new accelerator class for different languages. Since current code uses single instance for accelerators, i needed to add a create function. Also we now have an unordered map for different languages and modules. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147157 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148680 Tested-by: Miklos Vajna <vmiklos@collabora.com> Change-Id: Ia646f20b3206f430ece614fc127e8b748044e4c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151798 Tested-by: Jenkins
2023-05-20idl: they're not params but attributesJulien Nabet
Fix these warnings: /home/tdf/jenkins/workspace/gerrit_windows@2/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl:33: warning: com::sun::star::ui::dialogs::DialogClosedEvent::DialogResult has @param documentation sections but no arguments /home/tdf/jenkins/workspace/gerrit_windows@2/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl:29: warning: com::sun::star::ui::dialogs::FilePickerEvent::ElementId has @param documentation sections but no arguments Change-Id: Ic2ae5f70f3f6aa744bd61044f80e9ab525407ecc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152020 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-12sw offapi: clean up com::sun::star::text::CellProperties::HasTextChangesOnlyLászló Németh
Reported by Stephan Bergmann. Change-Id: Ide8d17dcc7775f3a4f97088e2cbb00ddef271929 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151676 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2023-05-12change ComplexColor to show more useful propertiesTomaž Vajngerl
Change-Id: Ie19f080f2faf388f9b8ba3e9a4b3c0926d5ebdd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151674 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-05-12use ComplexColor instead of ThemeColor for better OOXML compat.Tomaž Vajngerl
In OOXML a color definition includes more represenations, one of which is scheme color (which is what is implemented in ThemeColor currently), but it supports other representations too (RGB, HSL, System,..). ComplexColor includes all the representations, so to have a better compatibility with OOXML, this changes all uses of ThemeColor to ComplexColor. In many cases the usage of ComplexColor isn't the same as the usage of ThemeColors, but this cases will need to be changed in a later commit. Change-Id: I9cc8acee2ac0a1998fe9b98247bcf4a96273149a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151492 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-05-11tdf#150673 sw offapi: add change tracking of table column deletionLászló Németh
This is a minimal extension of the text range based change tracking to record and apply table column deletions with full Undo/Redo support. Add property HasTextChangesOnly to com::sun::star::text::CellProperties. During recording of track changes, deletion of table columns wasn't recorded: columns were removed completely with their text content. Now the deletion deletes the cell content with change tracking, setting also HasTextChangesOnly property of table cells to FALSE. If a tracked deletion is accepted in a deleted column, and the result is an empty cell, the column will be removed, if HasTextChangesOnly property of the deleted cell is FALSE. Note: Deletion of empty columns isn't recorded. Hiding deleted columns hasn't been supported yet in the Hide Changes mode. Follow-up to commit 05366b8e6683363688de8708a3d88cf144c7a2bf "tdf#60382 sw offapi: add change tracking of table/row deletion". Change-Id: I36915d7a58f66b4a3bdaf90495cb998d29c36561 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151593 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2023-05-08XComplexColor and UnoComplexColor - a wrapper for model:ComplexColorTomaž Vajngerl
Change-Id: I40107fc38a4d080d969fee862595660d2f585e51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151225 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-05-04tdf#105404 [API CHANGE] add index to accessiblity change eventNoel Grandin
Which shaves 80% off the time off breaking up a vector image on Linux. Change-Id: Id8e7daad001b6120d1fb98e382357da5b55e92ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151352 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-04tdf#154839 Add navigation buttons for slidesAmin Irgaliev
Change-Id: Ie9a533acf94f5760c6233aa70259bec620f420fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150448 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-27add @since for COMPACT_LAYOUTDennis Francis
Change-Id: I4b7f918e846ea1d220b9df2be5bc0b39d1f22f7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151086 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2023-04-27sc: pivot table compact layoutDennis Francis
This implements compact layout for pivot tables. In ooxml each row field can have a compact layout setting. Support for any such "mixed" layout of tabular/outline/compact per field is also implemented. This also implements expand/collpse toggle buttons to field labels to make pivot tables with compact layout more usable. Such buttons are also available if other layouts are used. Conflicts: sc/qa/unit/pivottable_filters_test.cxx sc/source/ui/cctrl/checklistmenu.cxx sc/source/ui/inc/checklistmenu.hxx Change-Id: Ieaa1f3bd282ebdec804d0b45a0af7b3d95a2027f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151057 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2023-04-10Clarify XSheetOperation::computeFunction() behaviour in descriptionEike Rathke
Change-Id: I097d5959f227769bbb0a082c5e0b51b245cf96ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150182 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2023-04-05tdf#148906: Ukrainian letters miss in bullets and numbering dialogJulien Nabet
Change-Id: Ieef2b2a7052da342709baf298b618d2c29fa3e43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149768 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-03-21There is no XAccessibleStateTypeTor Lillqvist
What is meant is surely AccessibleStateType. Change-Id: I57903dd7e1eb9b0a3cac42a96633093569f770eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149194 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
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-16Remove false documentationTor Lillqvist
There are no such duplicated constant labels in this file. Change-Id: I6352766834bf832667b5644d7507ec250932492a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148976 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2023-03-14Related tdf#129547 and tdf#154136: add COLON keyJulien Nabet
Change-Id: I17978dbb100fbfa6f6ddbbbdf96872076bc2a289 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86713 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-02-15Remove css.xml.xslt.XSLT2Transformer not implemented by LOStephan Bergmann
(see f4238ed900cdfa65d447fbef81b2e8ae95095a4e "Revert 'XSLT2Transformer::create should always succeed'": "LO does not ship this service, it's only provided by Saxon extension") Change-Id: I8ff8c9e4bd0eae7055dcb4fc83a04ea41310b9a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147038 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-02-13Rename: Extension Manager -> ExtensionsSamuel Mehrbrodt
simplify dialog title, should be clear what this is about. Change-Id: I65d8ca89e32cc225a07483703cd27b0fdc630b42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146715 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-02-06Make LOKClipboard available to other modulesSzymon Kłos
LOKClipboard has higher level dependencies (sfx2) so it cannot be moved to the vcl where SystemClibpoard instance is created. - introduce new interface LokClipboard to differentiate from SystemClipboard so we can have vcl's and lok's implementations at the same time - publish LOKClipboard using new interface for other modules by adding component file in desktop module Thanks to that when code calls GetClipboard and we cannot get clipboard assigned to the vcl::Window* (for welded widgets) in GetSystemClipboard correct instance is returned (shared clipboard for current view) so we can access content which was copied before. Previously always a new instance was created (with empty content). test ScTiledRenderingTest::testPasteIntoWrapTextCell was broken add some content to clipboard to simulate more real case and test the content copied Change-Id: I23c0298960a710c498646493f33122b908864cba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126310 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131644 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135198 Tested-by: Jenkins
2023-02-02Update the reference rdbs to libreoffice-7.5.0.3Stephan Bergmann
.../master/instdir/sdk/bin/unoidl-read --published \ .../libreoffice-7.5.0.3/instdir/program/types.rdb \ >.../master/udkapi/type_reference/udkapi.idl .../master/instdir/sdk/bin/unoidl-read --published \ .../libreoffice-7.5.0.3/instdir/program/types.rdb \ .../libreoffice-7.5.0.3/instdir/program/types/offapi.rdb \ >.../master/offapi/type_reference/offapi.idl * plus manual fixup by re-applying offapi/type_reference/offapi.idl part of b706b04110d9305b319689a5577746fac3e0e4c3 "[API CHANGE] offapi: clean up these index services IDL files" Change-Id: I5ac92f36f3952d335822c487d81efd3e9f38cd8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146510 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-02-02Remove redundant attributes that were added to published XLinguPropertiesStephan Bergmann
...by 57d79744c77eef96b4c2bd3b16e0a04317ffcf9e "tdf#136306 offapi linguistic: add options to disable rule-based compounding". See <https://lists.freedesktop.org/archives/libreoffice/2023-January/089784.html> "Re: Request for [API CHANGE] in spell checking: add new options to disable rule-based compounding" for details. (And I want to get offapi/type_reference/offapi.idl back into a clean state before updating the reference rdbs, which I want to do now that LO 7.5.0 has been released, so I'm taking over here.) Change-Id: I75d0ccdfdf644421e22c95de5db3267e8872a09d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146505 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-28introduce XTheme and UnoTheme implementationTomaž Vajngerl
Needed to transprt model::Theme around using throught UNO API as xmloff can't access SdrPage directly. Change-Id: I5931e42352186d62e7f09b112d8e8c9e4fb79440 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146224 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-25sw: add UNO API for multi-page fly framesMiklos Vajna
This exposes the internal property added in 0bb90afaeb193181d7b98b79e962549d8a1dd85a (sw: add document model for multi-page fly frames, 2023-01-24) on the UNO API. Change-Id: If9acd2d2130f727bc9481980445c0da01be04729 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146124 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-01-24[API CHANGE] remove service sd::framework::ModuleControllerNoel Grandin
It makes no sense to be constructed externally. Change-Id: I7e756e225e7b6e1785194b2f73edd5a7d65ec0e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146056 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-24[API CHANGE] remove service sd::framework::ConfigurationControllerNoel Grandin
It makes no sense to be constructed externally. Change-Id: I6fb8f58ff8594c58d190f78e6f26b2703046a95b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146001 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-23[API CHANGE] sd::frame::Configuration does not need to be an UNO serviceNoel Grandin
It does not ever appear to have been used as such, and it makes no sense to be constructed externally. Change-Id: Ia1a0cccdaeb19ded1197ad8aae701ac86dd3bb48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145989 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-23[API CHANGE] offapi: clean up these index services IDL filesMichael Stahl
CreateFromStarImage isn't implemented, having been removed in 2000. Change-Id: Ic0e90eaf760374df69f8d8779c37819d4943a063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145911 Tested-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-01-23tdf#153090 writerfilter,sw: DOCX/RTF import/export of TOC \c \tMichael Stahl
This is for Table of Figures/Objects/Tables. The core will happily generate entries from paragraph styles by simply setting the Template flag and adding the style name. In Word, this feature differs from ToC in that only a single paragraph style is allowed, and there is only one level to assign to so that is omitted and \t is simply the style name (presumably suffering the usual i18n disaster, see tdf#153083). So implement it with the same limitations, not reusing the CreateFromLevelParagraphStyles property on SwXDocumentIndex but instead add new property CreateFromParagraphStyle. Change-Id: Ic8ab1fa9e81bdc85cc932f6bba8724d560e0fbc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145904 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-01-20no need to load the list of impress/draw modules from configNoel Grandin
this is not something that changes Change-Id: Ie382665690a8baa31c916029de567cccdfdd0425 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145897 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-17ParagraphProperties.idl: SortedTextId: Changed 7.5 -> 7.6Fred Kruse
Change-Id: Iebfae0952f0c2d7219cb00bf1af73e1a75f4f256 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145674 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2023-01-17Properties SortedTextId and DocumentElementsCount added for grammar checkFred Kruse
The LanguageTool extension (LT extension) runs not only a grammar check on the level of sentences and paragraphs, some rules work on the level of many paragraphs or full text. The LT extension uses a complex caching mechanism to support this feature. A mapping from a check request to the cached to the (flat)paragraphs is necessary. Until now, this is done by a time-consuming and error-prone mechanism. The adding of the SortedTextId introduce a feature, a paragraph to be checked can be fast and easy identified. The flatparagraphs also can easily be mapped to cursors to get additional information of the paragraph, used for further features of LT extension. The added Property DocumentElementsCount to flatparagraphs and doProofreading gives the extension the hint to recreate the cache. Change-Id: I4b6b58bba4dfb3e870fe7b71fd8537ee9ffd6476 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142251 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-01-12introduce docmodel comp., model::ThemeColor, use it in SvxColorItemTomaž Vajngerl
Added a new component docmodel, that has the document model types, which only depend on other basic components. This is needed so the types can be used in every relevant component - xmloff, oox, svx, editeng,... Introduces model::ThemeColor, which is a class used to store the theme color data, including transformations (svx::Transformation). For UNO use XThemeColor is added, and the implementation UnoThemeColor which wraps svx::ThemeColor, so it can be tranported around. Reactor all the code and tests to accomodate for this change. Change-Id: I7ce6752cdfaf5e4d3b8e4d90314afa469dd65cfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144847 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-12document that LineJoint_MIDDLE is treated the same as MITERCaolán McNamara
Change-Id: I3d82d1dd3b5f66d76622103ec7b9b76acd857f36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145356 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-09Fix wrong version in commentofftkp
Change-Id: I4185b019b8dbce7de9bf853c0416fd43201b1f60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144987 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-03docx: Preserve w15:appearance SdtPr attributeofftkp
Now roundtrips the w15:appearance value which dictates whether there's an effect when hovering a placeholder. Change-Id: I3c911a0cfe31e235b9d981bbff0c1bb5827a85ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144845 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-12-30tdf#136306 offapi linguistic: add options to disable rule-based compoundingLászló Németh
Add two new spell checking options to disable rule-based closed and hyphenated compound word recognition with Hunspell dictionaries: com::sun::star::linguistic2::XLinguProperties::IsSpellClosedCompound com::sun::star::linguistic2::XLinguProperties::IsSpellHyphenatedCompound For professional proofreaders, it can be more important to avoid of the mistakes of the rule-based compound word recognition, than to speed up proofreading. Disabling the following two new options will report all rule-based closed compound words (default in Dutch, German, Hungarian etc. dictionaries) and rule-based hyphenated compound words (all languages with BREAK usage in their Hunspell dictionaries): - "Accept possible closed compound words" - "Accept possible hyphenated compound words" For example, disabling the second one, dictionary word "scot-free" will be still correct word in English spell checking, but not the previously accepted compound "arbitrary-word-with-hyphen". Note: the second option works with the update to Hunspell 1.7.2. Change-Id: Id879610927d5e8269fda5ad207c1c2fe1f57a0b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144875 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2022-12-20Async PDFExport dialog and parent methodsNickWingate
Filter dialogs are all called generically from guisaveas.cxx in GUIStoreModel() Signed-off-by: NickWingate <nick.wingate@collabora.com> Change-Id: Idfbe85c09f84d4a7cf3f00b9704d5af94868a051 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140403 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144511 Tested-by: Jenkins
2022-12-16sw content controls: enhance preserve idJustin Luth
Follow-up to 100c914d44ae8f362924fe567d7d41d0033ae8ad which added the initial id preservation for DOCX. adding DOCX block SDT grabbaging, ODF import/export [content controls can't exist in DOC format] The ID field is CRITICAL to preserve for VBA purposes. This patch adjusts BlockSDT to also round-trip the id instead of just creating a random one. m_nRunSdtPrToken <never equals> FSNS(XML_w, XML_id) since 2021 with 5f3af56b2c0ef6c628a7cfe5ce6e86f8e1765f5f, so I removed that part of the clause. I had thought about changing the ID to use a string instead of an int, but then the integer version was adopted to fix a regression in the commit mentioned earlier. I think it is AWFUL to have a number as the identifier when it will be used in StarBASIC. The VBA guys have to deal with it, but it would be nice to do something reasonable for LO native access to content controls. However, the concern would be if we allow VBA macro content created in LO to be exported to DOCX format - that would cause problems converting from a string ID to a number ID. VBA editing already is happening to some extent, and mmeeks seems interested in enabling it. So over-all it seems best to just stick with an integer ID. I used the commits for <w:alias> and <w:tag> to compose this patch. XML_ID already existed in include/xmloff/xmltoken.hxx and "id" already exists in xmloff/source/token/tokens.txt The ID can be used in VBA to select a specific control. The id (which is a positive or negative integer in DOCX) specifies a unique control - either by passing the number as a string (of the UNSIGNED value) or by passing as a float (specified with #). For example: msgbox ActiveDocument.ContentControls(2587720202#).ID msgbox ActiveDocument.ContentControls("2587720202").ID but not as an integer since that is used for index access. dim index as integer index = 1 msgbox ActiveDocument.ContentControls(index).ID make CppunitTest_writerfilter_dmapper CPPUNIT_TEST_NAME=testSdtRunRichText make CppunitTest_sw_ooxmlexport17 CPPUNIT_TEST_NAME=testDateContentControlExport make CppunitTest_sw_ooxmlexport18 CPPUNIT_TEST_NAME=testTdf151912 make CppunitTest_sw_core_unocore CPPUNIT_TEST_NAME=testContentControlDate make CppunitTest_xmloff_text CPPUNIT_TEST_NAME=testAliasContentControlExport make CppunitTest_xmloff_text CPPUNIT_TEST_NAME=testAliasContentControlImport Change-Id: I5c4022dc932d941fad9da6d75ce899ee1ff66ff5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142818 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-12-14[API CHANGE] Merge sfx2::XmlDump into css::qa::XDumperStephan Bergmann
Both sfx2::XmlDump and css::qa::XDumper were (only) used to dump various data from ChartModel and ChartView instances in debugging (e.g., F12 and Shift-F12 in an SW_DEBUG=1 Writer) and testing scenarios. The problem with XmlDump was that it was used as the target of a dynamic_cast from a UNO type, which is dangerous (see the upcoming commit introducing loplugin:unocast for details). One fix would have been to replace that dynamic_cast with a use of XUnoTunnel, and make ChartModel and ChartView implement that. But those classes already implement XDumper, so it looks more natural to use XDumper for that purpose too. However, the information that was obtained via XDumper was rather different from the information that was obtained via XmlDump. So make an incompatible change to the (unpublished) XDumper, adding a kind parameter distinguishing the original behavior of XDumper (kind == "shapes") from the original behavior of XmlDump (kind == ""). Change-Id: Ia7379bedfc45ab62a298fdc2f030cebaf21c4885 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144145 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-14tdf#151548 sw content controls: preserve tabIndexJustin Luth
This has to be vital to keyboard navigation. Certainly it is good to have it imported before we start to consider tab-movements for form controls. All tabIndex 1's are processed (in placement order) and then the 2's etc. 0's are to be done last. XML_TAB_INDEX already existed in include/xmloff/xmltoken.hxx and "tab-index" already exists in xmloff/source/token/tokens.txt make CppunitTest_writerfilter_dmapper CPPUNIT_TEST_NAME=testSdtRunRichText make CppunitTest_sw_ooxmlexport17 CPPUNIT_TEST_NAME=testDateContentControlExport make CppunitTest_sw_core_unocore CPPUNIT_TEST_NAME=testContentControlDate make CppunitTest_xmloff_text CPPUNIT_TEST_NAME=testAliasContentControlExport make CppunitTest_xmloff_text CPPUNIT_TEST_NAME=testAliasContentControlImport No existing unit test found containing blockSDT with tabIndex. Change-Id: I8a958844e6192b079a2b22a62dedfd8739021f4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143603 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-12-13tdf#151548 sw content controls: preserve lockJustin Luth
DOCX SdtControls can be locked in two ways: -Content Control cannot be deleted (sdtLocked) -Contents cannot be edited (contentLocked) or both (sdtContentLocked) make CppunitTest_writerfilter_dmapper CPPUNIT_TEST_NAME=testSdtRunRichText make CppunitTest_sw_ooxmlexport4 CPPUNIT_TEST_NAME=testSimpleSdts make CppunitTest_sw_ooxmlexport17 CPPUNIT_TEST_NAME=testDateContentControlExport make CppunitTest_sw_core_unocore CPPUNIT_TEST_NAME=testContentControlDate make CppunitTest_sw_macros_test CPPUNIT_TEST_NAME=testVba make CppunitTest_xmloff_text CPPUNIT_TEST_NAME=testAliasContentControlExport make CppunitTest_xmloff_text CPPUNIT_TEST_NAME=testAliasContentControlImport Change-Id: I5a82d9f6b5103a4902f59af66cd8a99addd4e690 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143542 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-12-09tdf#143311 offapi,oox,writerfilter,xmloff,sw: decorative flag on flysMichael Stahl
* sw core RES_DECORATIVE as a FRMATR * sw API SwXFrame property "Decorative" * UI checkbox "Decorative" * ODF import/export as loext:decorative on draw:frame * DOCX export * DOCX import - very non-obvious how to get it from model.xml to dmapper * PDF/UA export: tag flys with this flag as Artifact * test for DOCX filters, ODF filters, PDF export Change-Id: I1ceb67fdd4e1cfa212aafdeb1c5f4ccd873d433e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143815 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-11-22DOCX filter: fix <w:id> creating both grab-bag and content control for <w:sdt>Miklos Vajna
Exporting the DOCX bugdoc back to DOCX resulted in a document that can't be opened in Word. Examining the output, the problem is that the document had 2 inline <w:sdt> elements with <w:id>, and we mapped such <w:sdt> elements to both grab-bags and content controls, leading to duplicate <w:sdt> elements on export. This is schema-valid, but it goes against the intention of the spec and Word can't open it. The initial fix was just a writerfilter/ tweak to avoid grab-bagging <w:id> for inline <w:sdt>, but CppunitTest_sw_ooxmlexport4's testSimpleSdts points out that in other cases we already require preserving <w:id>. Fix the problem by storing <w:id> in the content control, which is essentially a subset of <https://gerrit.libreoffice.org/c/core/+/142818>. Thanks to Justin Luth! - he prototyped the DOCX filter for <w:id>. Change-Id: I9f002b770049ce8be30253d0b39410d9a58981dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143117 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-11-22sw, createTextRangeByPixelPosition(): fix crash when the position is an imageMiklos Vajna
Using createTextRangeByPixelPosition() with a pixel position that leads to a graphic node resulted in a crash. The direct reason for this is that the makeMark() call in SwXTextRange::SetPositions() returns nullptr in case rPaM points to a graphic node, but later we dereference that result unconditionally. This also uncovers that the XTextRange returned by createTextRangeByPixelPosition() is meant to point to a text node, but a pixel position may be closest to a graphic node. Fix the problem by explicitly checking for graphic nodes; and try to look up the anchor position of such graphics, which will be definitely a text node. In practice this will mean that in case the image's anchor type is as-char, then we'll return a cursor position which will be on the left hand side of the image. Change-Id: Ief58148247fe3cd4371ed245b4eff5b45ca2aa15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143092 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins