Commit Graph
12780 Commits
Author SHA1 Message Date
Tor Lillqvist 660f733855 There is no XAccessibleStateType
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-21 09:10:53 +00:00
Armin Le Grand (allotropia) 01d0019c85 MCGR: Model data changes for ColorSteps
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-19 17:38:38 +00:00
Tor Lillqvist 910226f291 Remove false documentation
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-16 10:43:29 +00:00
Julien Nabet e056c1ce10 Related tdf#129547 and tdf#154136: add COLON key
Change-Id: I17978dbb100fbfa6f6ddbbbdf96872076bc2a289
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86713
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-03-14 17:36:22 +00:00
Stephan Bergmann d22f3b8c78 Remove css.xml.xslt.XSLT2Transformer not implemented by LO
(see f4238ed900 "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-15 08:44:21 +00:00
Samuel Mehrbrodt ef3c81d0fc Rename: Extension Manager -> Extensions
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-13 13:17:12 +00:00
Szymon Kłos 52eba79371 Make LOKClipboard available to other modules
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-06 17:02:54 +00:00
Stephan Bergmann 2c961e4dc2 Update the reference rdbs to libreoffice-7.5.0.3
.../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
  b706b04110 "[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-02 20:06:18 +00:00
Stephan Bergmann 537a8de72b Remove redundant attributes that were added to published XLinguProperties
...by 57d79744c7 "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-02-02 18:31:34 +00:00
Tomaž Vajngerl 312f83bcf5 introduce XTheme and UnoTheme implementation
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-28 12:52:52 +00:00
Miklos Vajna fd3d4d894d sw: add UNO API for multi-page fly frames
This exposes the internal property added in
0bb90afaeb (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-25 12:40:04 +00:00
Noel Grandin e011ac1c14 [API CHANGE] remove service sd::framework::ModuleController
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 17:28:57 +00:00
Noel Grandin 31a5db6f28 [API CHANGE] remove service sd::framework::ConfigurationController
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-24 05:46:58 +00:00
Noel Grandin 5994aedd44 [API CHANGE] sd::frame::Configuration does not need to be an UNO service
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 18:38:39 +00:00
Michael Stahl b706b04110 [API CHANGE] offapi: clean up these index services IDL files
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-23 10:12:15 +00:00
Michael Stahl 5ef8d07fe0 tdf#153090 writerfilter,sw: DOCX/RTF import/export of TOC \c \t
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-23 10:12:05 +00:00
Noel Grandin a2d093c06d no need to load the list of impress/draw modules from config
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-20 19:21:50 +00:00
Fred Kruse 924005b067 ParagraphProperties.idl: SortedTextId: Changed 7.5 -> 7.6
Change-Id: Iebfae0952f0c2d7219cb00bf1af73e1a75f4f256
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145674
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
2023-01-17 17:36:14 +00:00
Fred Kruse 04f15c8a8c Properties SortedTextId and DocumentElementsCount added for grammar check
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-17 10:17:19 +00:00
Tomaž Vajngerl bd0f526f2d introduce docmodel comp., model::ThemeColor, use it in SvxColorItem
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-12 23:15:58 +00:00
Caolán McNamara 052e77bdd2 document that LineJoint_MIDDLE is treated the same as MITER
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-12 13:52:54 +00:00
offtkp 2dd45d5d81 Fix wrong version in comment
Change-Id: I4185b019b8dbce7de9bf853c0416fd43201b1f60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144987
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-09 09:01:55 +00:00
offtkp a3d79543e0 docx: Preserve w15:appearance SdtPr attribute
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>
2023-01-03 08:04:12 +00:00
László Németh 57d79744c7 tdf#136306 offapi linguistic: add options to disable rule-based compounding
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-30 11:03:39 +00:00
NickWingate 89f5912ad2 Async PDFExport dialog and parent methods
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-20 03:11:16 +00:00
Justin Luth 54599383a2 sw content controls: enhance preserve id
Follow-up to 100c914d44
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 5f3af56b2c,
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-16 07:34:20 +00:00
Stephan Bergmann 56e17186ff [API CHANGE] Merge sfx2::XmlDump into css::qa::XDumper
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-14 12:56:52 +00:00
Justin Luth 908d058c67 tdf#151548 sw content controls: preserve tabIndex
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-14 07:14:59 +00:00
Justin Luth 65fa248f9a tdf#151548 sw content controls: preserve lock
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-13 14:24:56 +00:00
Michael Stahl 31084ebb59 tdf#143311 offapi,oox,writerfilter,xmloff,sw: decorative flag on flys
* 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-12-09 16:03:20 +00:00
Miklos Vajna 100c914d44 DOCX filter: fix <w:id> creating both grab-bag and content control for <w:sdt>
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-22 19:36:37 +01:00
Miklos Vajna 2302ebefb2 sw, createTextRangeByPixelPosition(): fix crash when the position is an image
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
2022-11-22 10:07:52 +01:00
Caolán McNamara 468277a0ae clarify what 'IsSymbolFont' in this external facing idl means
Change-Id: I2cb2aab6797e55449e5e771192f48915baedc221
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143005
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-21 09:56:48 +01:00
Andrea Gelmini 16a7e944ab Fix typo
Change-Id: Iaa40db0f7799c70f39bb74d9768f84ff236502ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142977
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-19 23:02:12 +01:00
Noel Grandin ec6502a1f6 tdf#151846 Restore XChartTypeTemplate
Which I removed in commit 58766f997d.

Turns out it does have some usefulness for extensions. So restore most
of it. The exception is the getDataInterpreter method, for which I have
added a placeholder, so that the restored class has the same vtable
layout as the original.

Change-Id: Ief9b48ef2c408580bc24b5a8a0e11131edb3b943
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142908
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-19 15:50:48 +01:00
László Németh 6064b33821 tdf#115007 tdf#148672 bump libnumbertext 1.0.11
tdf#115007 fix missing currency of en-BZ, en-DK, en-IL, en-LK,
en-ZM, en-ZW; es-PA, es-SV, es-VE; and ga (Irish).

tdf#148672 fix of transliteration of parenthesized words of hu-Hung.

– remove EmptyString.patch1 wich was merged up-stream;

– add test for hu_Hung transliteration of parenthesized words;

– add new Persian (Farsi) module;

– fixes for Czech, English, Irish, Romanian, Russian, Slovenian,
  Spanish and Ukrainian.

Follow-up to commit 2a1d2d42af
"tdf#115007 add NatNum12 number format list items, fix title case".

Change-Id: I24aa32ad28c853e4c97a10dc8039ca6232eaed4c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142657
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
2022-11-14 09:26:20 +01:00
Miklos Vajna 652df8c733 sw content controls: drop not needed XServiceInfo impl
As noted in
<https://gerrit.libreoffice.org/c/core/+/142454/3#message-18fe8bb36fc24d317ad16dd25e236ed51c88a910>,
introducing a dedicated css.text.ContentControls service is actually not
needed and client code should be fine with just an "anonymous" object
returned by getContentControls() + implementing XIndexAccess.

Remove it before somebody starts to depend on it. Let's rather have a
bit of inconsistency (e.g. SwXFootnotes implements XServiceInfo, while
SwXContentControls not) than an XServiceInfo implementation that we'll
have to support from now on, without a user.

Change-Id: Ifde4fb6bcafdffabb189447415b89b01c9675296
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142511
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-11-10 09:58:25 +01:00
Miklos Vajna 56db6406b0 sw content controls: allow no list items in a dropdown
- Replace SwContentControl::HasListItems(), which assumed that the type
  is dropdown if we have list items. This is not valid, it's OK to have
  a dropdown with no list items. Add a GetDropDown() instead to check
  for the type, explicitly.

- UNO API sets the dropdown bit when list items are set and the type is
  not expilcitly combo box or drop down, to keep backwards
  compatibility with existing documents.

- No change to the edit shell, SwDropDownContentControlButton already
  checked if items are empty and used STR_DROP_DOWN_EMPTY_LIST in that
  case, but that was dead code previously.

- ODT & DOCX filters are now updated, ODF has a new
  <loext:content-control loext:dropdown="..."> attribute to specify that
  the type is a dropdown, explicitly.

Change-Id: Id577ba9639151549a8f953aab31685a73a898504
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142491
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-11-09 17:00:00 +01:00
Miklos Vajna a8448ded55 sw: introduce an UNO manager for content controls
This builds on top of commit ad950f10dc
(sw: introduce a manager for content controls, 2022-11-08) and exposes
it on the UNO API:

- add a new css.text.ContentControls service, backed by SwContentControlManager

- add a new css.text.XContentControlsSupplier interface, implemented by
  SwXTextDocument

- implement XIndexAccess in ContentControls

This allows UNO (and later VBA) clients to have random access to the
content controls in a document, which is much easier than the relatively
complex traversal of the whole doc model.

Change-Id: I26240c9ddbd06f4f57f5f65460ef75a2ace94825
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142454
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-11-08 18:09:15 +01:00
Miklos Vajna 58002ab85d sw content controls: enable data binding for date
The document had a 2022 date in document.xml, but had a 2012 date in
data binding. Writer used to show 2022, while Word picks 2012.

Data binding for dates were disabled in commit
de90c192cb (sw content controls, plain
text: enable DOCX filter with data binding, 2022-09-19), because the
formatting of those date timestamps were missing, so it was better to
just not update them from data binding, temporarily.

Fix the problem by adding a new read-only DateString property on
SwXContentControl, this way the import filter can set not only the
timestamp but the formatted date as well.

This shares the SwContentControl::GetDateString() code with the UI,
which already had the need in the past to turn a timestamp into a
date string, based on a provided language and date format.

Change-Id: I842a9483a675f895129a9854caec347be6b6b84e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141859
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-10-26 10:47:59 +02:00
Justin Luth 73911ed8d3 tdf#148806 doc vba: highest priority is ThisDocument AutoOpen V2
A review by Stephan Bergmann made me re-think adding a separate
event for this. It really is only one event and not two
(or three as I initially imagined). In the end, I like this better
because it highlights the difference between Excel and Word
by keeping all the differentiating logic in one place.

The inability to properly document the purpose of these new events
was the impetus to redesign this. Thanks Stephan for the prompt.

Change-Id: Ic2d461c13c4a52e279224cb485d2b6c4a3c57b54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141233
Tested-by: Justin Luth <jluth@mail.com>
Reviewed-by: Justin Luth <jluth@mail.com>
2022-10-12 01:12:17 +02:00
Justin Luth 3d77fe0af5 tdf#148806 doc vba: highest priority is ThisDocument AutoOpen
Word has three ways of running events at doc open,
although the two AutoOpen methods are exclusive.

One is the special ThisDocument Document_open subroutine.

Another is the AutoOpen subroutine, which is what this
patch is about. It can exist in any module - first come
first served (alphabetically) in doc - except that
ThisDocument is checked first.
[This is very different from Calc - which IGNORES these
functions in ThisWorksheet.]
//TODO: The subroutine must be public

And finally, there can be an AutoOpen module with a Main subroutine.
It is ignored if there is any AutoOpen subroutine.
//TODO: fix the third way.

I tried to create a unit test, but LO's Selection.TypeText
always starts at position 0 for each call, unlike Word
which also starts at position 0 for the first call,
but then remembers where it left off.

Change-Id: I4caf29eefd432c320b5acaf6210222f50a111e89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141037
Tested-by: Justin Luth <jluth@mail.com>
Reviewed-by: Justin Luth <jluth@mail.com>
2022-10-08 16:14:05 +02:00
Miklos Vajna 5262aab9d2 sw content controls: preserve tag
This is similar to <w15:color> to preserve <w:tag>.

Resolves
<https://gerrit.libreoffice.org/c/core/+/137399/2#message-a5ba9f1e0dc9e586034758ee7c0a94e1533e8922>.

Change-Id: I4fdab44aaf13ca812502ae79f38f32ec9468db11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140981
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-10-05 16:05:19 +02:00
Miklos Vajna 481a082469 sw content controls: preserve alias
This is similar to <w15:color> to preserve <w:alias>.

Related to
<https://gerrit.libreoffice.org/c/core/+/137399/2#message-a5ba9f1e0dc9e586034758ee7c0a94e1533e8922>.

Change-Id: I774b7204c5ca02ec6db89f5cbd3a6de6f2bf82a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140975
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-10-05 14:53:03 +02:00
Stephan Bergmann 92166dba58 Add some missing @since tags
...for constants introduced with 4917430c1c
"tdf#116542 a11y: introduce STATIC role" and
947fe0d89d "tdf#119788 tdf#117173 add
accessibility NOTIFICATION role", resp.

Change-Id: I1533f3bfcac5e7014078dd891dc05571f1186bb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140587
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-09-26 11:00:27 +02:00
Jim Raykowski 947fe0d89d tdf#119788 tdf#117173 add accessibility NOTIFICATION role
and use it to make screen readers announce notifications from the
'Find and Replace' dialog

Change-Id: Ifcf9304883e2e824ea1b7998d7767e474b87c8b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139709
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-09-26 05:55:25 +02:00
Miklos Vajna 276f3a3ce5 sw content controls, combo box: add doc model & UNO API
This is similar to dropdowns, but combo box allow free-form user input,
while dropdown is meant to enforce that the content is one of the list
items.

Change-Id: I4ae226c55f70b2b3237021348e21b7d184e8a5ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140302
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-09-21 12:07:35 +02:00
Ilhan Yesil ba164651bb tdf#149797 Change highlight background color in some controls
The highlight and highlighttext colors can be set for some
controls. So as example a selected item in a listbox can now
be paint with anothers colors then the standard blue. Controls
are: listbox, combobox, edit field and some special edit
fields like date, currency and others.

Change-Id: Iace2dd9a1a61abb7819b6c81eb0b8030912db32b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136691
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2022-09-19 13:30:15 +02:00
Stephan Bergmann 7f04bb393f Clean up color scheme migration
...avoiding to have code in configmgr that knows about the details of the data
stored in the configuration.  (See the comments starting at
<https://gerrit.libreoffice.org/c/core/+/139690/9#message-44703a2529c07bf1b0202ed3a232aa661784b159>
"Migrating product name related color schemes between different versions" for
details.)

This reverts the dubious changes of 583ea856f2
"Migrating product name related color schemes between different versions" in
configmgr and offapi.  (Also, this moves the computation of sMigratedProductName
in MigrationImpl::copyConfig, desktop/source/migration/migration.cxx, to a saner
location than in the middle of the "check if the shared
registrymodifications.xcu file exists" block where that
583ea856f2 had placed it.)

Change-Id: I7ab3d57db19065c7c818e697300a2abd9e7f72bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139963
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-09-15 14:27:31 +02:00
Tomaž Vajngerl 23c01f8268 Add documentation for data table added classes and functions
Change-Id: Idc9756bf5b468d8ed0d11e6a75703d96350e1273
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139960
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-09-15 12:38:22 +02:00