Commit Graph
13080 Commits
Author SHA1 Message Date
Khaled Hosny 6e73dd431b tdf#152206: Add FontVariations UNO service
Expose font variation axis info to scripting and extensions via a new
com.sun.star.awt.FontVariations service. From Basic:

  oInfo = createUnoService("com.sun.star.awt.FontVariations")
  aAxes = oInfo.getFontVariationAxes("Reem Kufi")

The intent is to allow extensions to build a UI for setting font
variations, by querying the axes for an arbitrary font family and then
setting CharFontVariations property.

Change-Id: I4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205070
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
2026-05-11 23:20:46 +02:00
Karthik 6007f05be2 sc: External links with xlStartup relationship type are not preserved
External links can have `xlStartup` relationship which is used to lookup
documents from Excel's Startup folder. These links are getting exported
as `externalLinkPath`.

This is similar to 9e075deee9138ab67c689b6b0d1fdd9d4d24a4be

bug-document: forum-mso-en4-31562.xls
Change-Id: I43efc144092ab7961fa486fcbd1e4d7676ddbbaa
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/908
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 805cfc8e75c968173494f5fc50ccc9dd66c27755)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204747
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-04 20:34:47 +02:00
Karthik Godha f5a2d3ef39 XLSX: Handle external references with missing path
External references with relationship type
"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing"
are not handled. Because of this formulas referencing this external
reference are not imported properly.

bug-document: forum-mso-de-100068.xlsx
Change-Id: I8032ea42a319ab0b5fd0ede3880469a3fe77cdfa
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/201
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 9e075deee9138ab67c689b6b0d1fdd9d4d24a4be)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204476
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-28 09:47:08 +02:00
Karthik Godha d2ef7090de sc: Include error constants in OpCodeMap
When importing formulas of data validataion, we use a custom OpCodeMap
which doesn't include error constants. Because of this invalid
external references are not properly being imported which was fixed
with (e3d17e1abca66cb01f7420fb8003eefd573b00e9)

bug-document: forum-de2-6391.xlsx
Change-Id: I3a79910d7dad95009ea4de6a36f181d76680d320
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/59
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Balázs Varga <balazs.varga@collabora.com>
(cherry picked from commit 2302e1d6e7ac1591266d14c7bb63724442003659)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204475
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-28 09:46:39 +02:00
László Németh 62aecba14c tdf#38159 cui sw offapi xmloff: add paragraph composer
Balance word spacing within the consecutive lines
to get uniform grayness and less rivers for better
readability, enabled by the new paragraph property

com::sun::star::text::ParaComposer

and the following developments:

* Add Paragraph Composer checkbox on Alignment pane of the
  paragraph formatting dialog window (not default yet);

* Implement paragraph composer: big word spacing of a
  line is decreased by shifting the last word from the
  previous line, only if the word spacing is better, than
  before, and the increased word spacing in the previous
  line doesn't exceed the Maximum word spacing (limited
  paragraph composer);

* When Maximum word spacing is not greater than the Desired
  word spacing, shifting of the last word is not limited
  by the Maximum word spacing (unlimited paragraph composer)

* Add loext:paragraph-composer attribute, as LibreOffice
  ODF extension;

* Add ODF unit tests for the limited and not limited
  paragraph composer.

Note: "Smart justify" line breaking algorithm chooses
space shrinking (limited by Minimum word spacing)
only if shifting the last word isn't better based
on the desired word spacing. This was still a greedy
line breaking algorithm, resulting big word spacing
in the lines before a longer word.

The paragraph composer shifts the last word (or the
first part of the hyphenated last word) from the previous
line to decrease big word spacing in the actual line.

Note: balancing very big word spacing in narrow consecutive
lines can result vertical rivers. To avoid this, use limited
paragraph composer by setting maximum word spacing.

Follow-up to "smart justify", word spacing, letter spacing
and glyph scaling developments. Selected commits:
commit 529755f091 "tdf#166113
sw smart justify: adjust algorithm for interoperability",
commit 7d08767b89 "tdf#130088
"tdf#119908 smart justify: fix DOCX line count + compat opt.",
commit 7d6696757d "tdf#159923
sw cui offapi xmloff: add custom word spacing",
commit 5a48070f59 "tdf#126154
sw offapi xmloff cui: add min/max word spacing",
commit f83a04c510 "tdf#167648
cui offapi xmloff sw: add DTP-feature maximum letter spacing",
commit 3c53797210 "tdf#167648
sw letter spacing: implement minimum letter spacing",
commit 45ec7bd761 "tdf#168251
cui offapi xmloff sw glyph scaling: extend UNO/UX/ODF".

Change-Id: I727caad70536c86be524bc9d9b52bc71208c202a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203288
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2026-04-09 14:42:07 +02:00
Andrea Gelmini 19c19b98a8 Fix typo "then"->"than"
Change-Id: Idaea43025716b80e42f908544da31cded63c99db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202916
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-03-29 09:44:50 +02:00
Michael Weghorn 8ead7a5953 [API CHANGE] wina11y: Drop XMSAAService::handleWindowOpened from UNO iface
At the only caller, a reference to the concrete implementation
class, MSAAServiceImpl, is available, so there is no need
to go via the UNO abstraction for this method call.

This also allows to switch the param to vcl::Window*, instead
of casting back and forth.

Drop the method from the unpublished UNO interface that
is only meant to be used internally to implement the
Windows a11y bridge.

Change-Id: I59033028ca31243ec350739fd9b078ddedc1cd34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201771
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-03-16 12:30:52 +01:00
Neil Roberts 8152a52da0 tdf#125485 Add hint to docs about not using textfield.URL in Writer
All of the other services in the textfield namespace can be added to a
Writer document via insertTextContent so it’s quite reasonable to think
that URL should work too. This patch just adds a note to the
documentation to help people discover the HyperLinkURL text property
which works better in a Writer document.

Change-Id: If00336dac8676ded98f02d03c6e67e366ac867b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201147
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Tested-by: Jenkins
2026-03-15 12:18:07 +01:00
Neil Roberts 50c63a7497 Fix some accidental preformatted paragraphs in the IDL docs
A bunch of places in the documentation in the IDL files were starting a
new paragraph with a <p> tag and a line that is more indented than the
previous one. This ends up making a preformatted code section in a
monospace font in the generated HTML docs and the <p> tag is visible.
This patch just moves the lines to the left to have the same indentation
as the previous one. These were found by running the following Python
script on the generated HTML files:

from bs4 import BeautifulSoup
import sys

for filename in sys.argv[1:]:
    with open(filename) as fp:
        soup = BeautifulSoup(fp, 'html.parser')

    for pre in soup.find_all("pre", class_="fragment"):
        if pre.string.find("<p>") != -1:
            print(f"{filename}:{pre.sourceline}:"
                  f"{str(pre).split('\n')[0]}")

Change-Id: If351a5be24b21b24a4d7892a9185353e8691feb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201134
Tested-by: Jenkins
Reviewed-by: Neil Roberts <bpeeluk@yahoo.co.uk>
2026-03-07 10:25:33 +01:00
Michael Weghorn dd0f5953c0 a11y: Fix typo in XAccessibleExtendedComponent doc
Change-Id: Id0f6951b1030b63c4dbb22f55c9fd39cbb6e4ba1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200973
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-03-05 11:21:52 +01:00
Michael Weghorn d4e56c539b [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleDropDownComboBox
Drop the unpublished service
"com.sun.star.awt.AccessibleDropDownComboBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Also drop VCLXAccessibleDropDownComboBox::getImplementationName
as there is no need to report a different implementation name
than the base class implementation.

Change-Id: Icd30779791122e8d07da477ae78e60234f3bbbb3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200968
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:20:02 +01:00
Michael Weghorn 4b4aca0609 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleDropDownListBox
Drop the unpublished service
"com.sun.star.awt.AccessibleDropDownListBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Also drop the mention of only specific parent classes/services
for the AccessibleList parent, as that is not/no longer true
(and will change further as more unnecessary a11y services
will be dropped in upcoming commits).

Also drop VCLXAccessibleDropDownListBox::getImplementationName
as there is no value in reporting a different implementation name
than the base class implementation.

Change-Id: Ia8a3274fcbc061662759e74a21ebfd67c2d5840a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200966
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:19:09 +01:00
Michael Weghorn 5a545388c3 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleListBoxList
Drop the unpublished service
"com.sun.star.accessibility.AccessibleListItem".
It is unused, not implemented by anything.

Change-Id: I4e78c2cd5375b5fad8e74e6d9b4956e9109442f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200965
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:18:33 +01:00
Michael Weghorn e6f2fbe499 [API CHANGE] a11y: Drop com.sun.star.accessibility.AccessibleListItem
Drop the unpublished service
"com.sun.star.accessibility.AccessibleListItem"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: Ieb1d1f7d21a57a3487335072a706edee437c6207
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200964
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:18:16 +01:00
Michael Weghorn dc51368428 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleTreeListBox
Drop the unpublished service
"com.sun.star.awt.AccessibleTreeListBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: I98e6e241d17ddc725977a393e8d5da0c7d9569e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200963
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:18:00 +01:00
Michael Weghorn c160781599 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleToolBox
Drop the unpublished service
"com.sun.star.awt.AccessibleToolBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Also drop VCLXAccessibleToolBox::getImplementationName
altogether because the implementation name of a11y
classes isn't relevant.

Change-Id: I9b7be7b6f5843f8ec0a132ecbe8bee1b895a0b9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200961
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:17:23 +01:00
Michael Weghorn ad2b6bf7f0 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleToolBoxItem
Drop the unpublished service
"com.sun.star.awt.AccessibleToolBoxItem"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: I9b01a0fadd995f55e13981dd495be458a3ba2f1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200960
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-03-05 11:17:06 +01:00
Michael Weghorn a7d9ddb14b [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleIconChoiceControl
Drop the unpublished service
"com.sun.star.awt.AccessibleIconChoiceControl"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: Ifceae0c816284ad598e193920a07cc316d59db12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200958
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-03-05 11:16:14 +01:00
Michael Weghorn 507f5142ae [API CHANGE] Drop a11y: com.sun.star.awt.AccessibleIconChoiceControlEntry
Drop the unpublished service
"com.sun.star.drawing.AccessibleGraphControl"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service and that documentation is
outdated, e.g. it claims the role is AccessibleRole::LABEL,
but AccessibleIconChoiceCtrlEntry::getAccessibleRole
actually returns AccessibleRole::LIST_ITEM.)

Change-Id: I8d6eff6e7ba5023ecaa731a4c55b4db3e7223aa0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200955
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-03-05 11:15:45 +01:00
Michael Weghorn 061b5022ed [API CHANGE] a11y: Drop com.sun.star.drawing.AccessibleGraphControl
Drop the unpublished service
"com.sun.star.drawing.AccessibleGraphControl"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: I73c26b228ded2f080f99f0828fff794682bc0849
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200954
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:15:24 +01:00
Neil Roberts 8b022d0d0d pyuno: Add a unit test for singletons
As with the test for services, this uses the embindtest framework to
hide it behind --enable-embindtest-uno.

Change-Id: Ie64848926d21ca5c3edd449de85f4fed16b3b2aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199220
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2026-03-04 13:53:40 +01:00
Neil Roberts 2cd17a1148 Add a PythonTest for service constructors in pyuno
This leverages the existing framework for embindtest to add interfaces
and services to test with. Hopefully that means the tests will run on
the CI without ending up in the final release builds because they are
only enabled with --enable-embindtest-uno.

Change-Id: Idd394e616ad14943cecd60bf3a3e228d93166e34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199105
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2026-03-04 13:53:05 +01:00
Neil Roberts a2fd2ced7f XFunctionAccess: Write VOID in lower case in the documentation
This makes it consistent with the rest of the documentation.

Change-Id: Iebd0485b2dcf91e6648e88471dd010daa3bbacf9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200338
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-02-25 17:30:14 +01:00
Neil Roberts 74457edd5d [API CHANGE] tdf#168267: Allow missing args in FunctionAccess::callFunction
If one of the entries in the arguments array for callFunction is a void
type it will now be interpreted as a missing argument. This makes it
possible to call calc functions where a missing argument is meaningful
such as the “replacement” argument to REGEX().

This is a minor API change because previously passing VOID would throw
an IllegalArgumentException. It seems unlikely that anyone would have
been relying on that though so I think the change is pretty harmless.

Change-Id: Iaa4500300e9b4b88a7bdfdc153c67c42cd783525
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200287
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2026-02-25 17:30:04 +01:00
Dan Williams daa8f9a930 vcl: add DrawImageFlags::Invert and implement during Image drawing
Inverts an image after applying other transformations.

Change-Id: I05f31dc1d9be9c8ed72ee0e52d42133c081a2d74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196872
Tested-by: Jenkins
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-02-25 16:40:50 +01:00
Andrea Gelmini 61d5b3dc6b Fix "is build"->"is built"
Change-Id: I9ea2f76ac79601cc812004508e64eba12a9f8058
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198922
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-02-09 12:07:11 +01:00
Mike Kaganski d4c50dd103 Add missing @since tag
The method was added in commit 0446f73d27
(tdf#153519 use new IdleTask::waitUntilIdleDispatched, 2023-10-26).

Change-Id: Ife3bd0e8273e52d37af740eb426351bc7f09c9cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198477
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-02-01 10:04:15 +01:00
Balazs Varga 295d27cce4 Fix wrong tags in databaserange.idl after calc table
style patches.

Follow-up of commit: 2950f734c5
The new properties were introduced in this patch.

Change-Id: I8e6adad3ea3bf098bc7d737c5084289753928868
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198347
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
2026-01-29 15:30:34 +01:00
Markus Mohrhard 2950f734c5 add initial version of Calc table styles
Add the new UNO props properly.

cherry-pick from: 46b6455af7854795ac379a4a1f37c60b4414af02

TableStyleDark9 name as part of the generator seems like a bug
in the OOXML spec. The name in the
presetTableStyles.xml file is "TableStyleDark9 2" but MSO and the rest
of the spec reference a "TableStyleDark9" style.

cherry-pick from: 5aaa63d2b9850f8ec3de361df4e61710626d7e33

Fix windows MSVC build errors and warnings

cherry-pick from: 2d8a942de310d65f61641eae4315888b167c30bb

Change-Id: Ib0d3fc7fcf9eb39e2551b426b9c6075ef758010f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193666
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196734
Tested-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197962
2026-01-29 09:25:47 +01:00
Aron Budea c1f7ea0db1 tdf#162527 tdf#169802 hidden image/shape in DOCX should be invisible
...and remain invisible after save.

After 0b9e4f6085 shapes did get
hidden, but in case of wrap-around shapes text still flowed
around their supposed placement.
Hidden images were simply shown before and after.

Add a new Visible property to SwXTextGraphicObject, and let
it set SwFlyDrawObj's Visible member as SdrObject.
Import and export wp:docPr's hidden attribute in OOXML based
on these properties.
To avoid showing their area, let
SwAnchoredObject::GetObjRectWithSpaces() return an empty
rectangle (during opening this is only called from
SwTextFly's IsAnyObj(...) and InitAnchoredObjList(), though).

Note that Writer lacks support of changing visibility of
images and shapes. This change adds minimal support for
hiding them and roundtripping the setting in DOCX, but
doesn't add ODF or UI support.

Change-Id: I6e9d062628006a7128e380d1af06508625aa3d06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197056
Tested-by: Jenkins
Reviewed-by: Aron Budea <aron.budea@collabora.com>
2026-01-14 18:26:22 +01:00
Michael Weghorn a1ed7c743c [API CHANGE] a11y: Drop com.sun.star.formula.AccessibleFormulaView
Drop the unpublished service
"com.sun.star.formula.AccessibleFormulaView".

It is completely unused and not implemented by
anything.

A search in Google and on Ask [1] also didn't give
any results that would suggest this unpublished service
could be relevant for third party code.

[1] https://ask.libreoffice.org/

Change-Id: I487a60bc599dd53bd6f07e506e0a7d436d35043a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197123
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-01-13 19:38:22 +01:00
Michael Weghorn f515f0d8e8 [API CHANGE] a11y: Drop com.sun.star.formula.AccessibleFormulaText
Drop the unpublished service
"com.sun.star.formula.AccessibleFormulaText".

It is completely unused and not implemented by
anything.

A search in Google and on Ask [1] also didn't give
any results that would suggest this unpublished service
could be relevant for third party code.

[1] https://ask.libreoffice.org/

Change-Id: I95e1632e8f431785dc49f793d21040f828a23aec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197122
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-01-13 19:38:15 +01:00
Michael Weghorn e7b29ce176 [API CHANGE] a11y: Drop com.sun.star.drawing.AccessibleShape
Drop the unpublished service
"com.sun.star.drawing.AccessibleShape"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y classes
implementing the service.)

A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
(Instances of the service couldn't be created by external
code anyway.)

[1] https://ask.libreoffice.org/

Change-Id: Ib9cc4143bb5e5f32a149bda63d6ac6b72c1a099f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197116
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-01-13 19:38:08 +01:00
Michael Weghorn 1dc9655668 [API CHANGE] a11y: Drop com.sun.star.drawing.AccessibleGraphicShape
Drop the unpublished service
"com.sun.star.drawing.AccessibleGraphicShape"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
(Instances of the service couldn't be created by external
code anyway.)

[1] https://ask.libreoffice.org/

Change-Id: I96c693f8307e1815b0dc2d79cae77e4a671285db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197115
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-01-13 19:38:02 +01:00
Michael Weghorn aac0a5570e [API CHANGE] a11y: Drop com.sun.star.drawing.AccessibleOLEShape
Drop the unpublished service
"com.sun.star.drawing.AccessibleOLEShape"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
(Instances of the service couldn't be created by external
code anyway.)

[1] https://ask.libreoffice.org/

Change-Id: Id078b38399715ed0f014ef18d45aeeca8e44486b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197114
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-01-13 19:37:55 +01:00
Michael Weghorn a75316e93a a11y: Don't mention dropped method in AccessibleShape doc
XAccessibleExtendedComponent::getFont was dropped in

    commit a2c1a337f0
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Dec 4 15:36:59 2024 +0100

        [API CHANGE] a11y: Drop XAccessibleExtendedComponent::getFont

, so don't refer to it in the AccessibleShape
doc any more.

This addresses the warning mentioned in [1]:

> Now there is this warning when building:
>
>> E:/jenkins/workspace/gerrit_windows_wsl/offapi/com/sun/star/drawing/AccessibleShape.idl:164:
>> warning: explicit link request to
>> 'com::sun::star::accessibility::XAccessibleExtendedComponent::getFont()'
>> could not be resolved
>
> See e.g. https://ci.libreoffice.org/job/gerrit_windows_wsl/6486/consoleFull

[1] https://gerrit.libreoffice.org/c/core/+/177809/comments/d829fa46_3e3b2353

Change-Id: I75e80b07c8a57b29889c90bf28a05264c25f501c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197078
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-01-12 13:06:55 +01:00
Heiko Tietze 063bbd0729 Updated @since for new validation mode
Change-Id: I962ad17ed6183ba91356282692292f594def2025
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196609
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-01-06 17:32:58 +01:00
László Németh 391ea3bcb5 tdf#170177 cui offapi sw xmloff: hyphenate at constituent boundaries
Add new minimum character limit paragraph property to limit
hyphenation left to the compound constituent boundaries:

  com::sun::star::text::ParaHyphenationCompoundMinTrailingChars

– With the previous option for the hyphenation right to the
  constituent boundary, this new option allow to limit or disable
  hyphenation completely inside the compound constituents, or
  hyphenate only at constituent boundaries, with or without
  inside the suffix of the word or constituents;

– xmloff: add "no-limit" to loext:hyphenation-compound-push-char-count
  and loext:hyphenation-compound-push-char-count;

– "no-limit" values of this and the *LeadingChars option mean
  a maximum value. When both *LeadingChars and *TrailingChars
  got "no-limit", hyphenation before and inside the suffixes are
  forbidden, i.e. it is allowed only at constituent boundaries;

– textflowpage.ui: set max character count to 99, in both options;

– fix ParaHyphenationCompoundMinLeadingChars implementation for
  compound words with multiple constituents, when the middle word(s)
  are shorter, than the limit (e.g. Hungarian "tűz|kő|pattintás"
  wasn't hyphenated as "tűzkő-pattintás", only as "tűz-kőpattintás").

Follow-up to commit 3a332d9f1c
"tdf#158885 cui offapi sw xmloff: fix hyphenation at stem boundary"
and commit c899d3608d
"tdf#158885 sw: don't hyphenate right after a stem boundary".

Change-Id: I0b71562727332217364f9ace85e8ac6ea3abc8b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196345
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2025-12-31 22:54:05 +01:00
Heiko Tietze 2ce3901e75 Resolves tdf#160096 [API CHANGE] - Improve data validity handling
* Introduces a new option ValidationAlertStyle_NONE/SC_VALERR_NONE to
  silently reject invalid values
  (This is the behavior before c869fb5ea2)
* Sets the disabled state depending on "[ ] Handle invalid values"
  (previously "Show Error on loading")

The patch is motivated by bug 159595 respectively the inconsistent
solution. Excel either allows invalid data or shows a message that
allows to change/reject/accept the input. But there is not way to
silently reject invalid data.

The new option does not survive round trips and will be reset to Stop.

Change-Id: I33c965aa7ba999e5850b80d35964b5383928349d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195563
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2025-12-19 10:22:52 +01:00
Tomaž Vajngerl a967935a76 add representation string to XComplexColor
Mainly useful for debugging and to see the content with develop.
tools. For now it just outputs the JSON string, but this might
change to something more concise.

Change-Id: I5641d20f292495f5474755ab9c3b651f67aa6f6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195617
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-12-16 07:00:08 +01:00
Stephan Bergmann 3320b5fe2e Add exhaustive testing of PyUNO type mapping based on embindtest
...in preparation for doing fixes for tdf#169229 "PyUNO: Hard to create null UNO
interface references, to use in a method invocation" etc.  (Basing it on
embindtest means it requires --enable-embindtest-uno, at least for now.)

Various places in pyuno/qa/pytests/embindtest.py are marked with TODO comments.
(Executing

>         v = test.getAnyException()

would cause an odd

> Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception set

failure that needs further investigation.)

To not only test calls from PyUNO to binary (C++) UNO, but also from binary
(C++) UNO to PyUNO, add an executeTest method to the
org.libreoffice.embindtest.XTest interface.  For now, it only does those tests
that were already done by the org.libreoffice.embindtest.BridgeTest service
implementation, but the plan is to extend those (e.g., don't just only test
getAnyVoid, but all the getAny... variants).  And the corresponding Test class
implementation in pyuno/qa/pytests/embindtest.py for now only defines those
methods that are actually called, and will need to be extended as well.

Change-Id: I0dd66b9aed14cc7e679da78b86d0dc657625fe94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195238
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
2025-12-08 21:28:43 +01:00
Kurt Nordback 0686b19728 tdf#167941 - Chart color sequence OOXML import/export
Support import, storage, and export of OOXML chart color styles
(color sequence). In OOXML, chart color styles are in files such
as colors1.xml, and conform to the chartStyle schema. This commit
supports I/O of color styles, and provides supports storing them
in the chart document model. It does not include any features for
using or modifying the color styles, so at this point it has no
appreciable effect on users.

Change-Id: I5c02137ebf9c25e11951eea55c4c77fda35b0e80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194998
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-12-05 02:12:41 +01:00
Noel Grandin 1bd04a5413 [API CHANGE] remove XPivotTableDataProvider
in favor of a regular C++ interface class, since this is purely used internally to LO

Change-Id: I84991efb1b0c8829e2175dc083b0f8627fcb1712
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194512
Code-Style: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-26 10:06:23 +01:00
Samuel Mehrbrodt c085b0bdf3 Implement XShapeGroup::enterGroup and ::leaveGroup
has been a TODO item since initial import

Also un-deprecate the XShapeGroup interface.
There was no rationale given why it was deprecated and it seems
the functionality is not available elsewhere.

Change-Id: I8fd54d3732fd0ec1c54a2d1b2874e958a77b011e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194409
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2025-11-24 20:11:58 +01:00
Samuel Mehrbrodt ecf21a7f80 Make ColorPicker public
This is already used by external code, see for example:
  https://forum.openoffice.org/en/forum/viewtopic.php?f=21&t=99268

Change-Id: Ic4167775d55d4c38dd0301daff8e0a25e7b4f5c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194138
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
Tested-by: Jenkins
2025-11-24 12:32:42 +01:00
Neil Roberts 46968eff8e UITest: Add method to execute a command for particular XDispatchProvider
The existing methods of XUITest to execute a command always use the
active frame to dispatch the command. All of the dbaccess UI tests end
up creating subcomponents (such as the table edit view) and need to send
commands to that. The frames for those are not the “active” frame but
only the “current” frame. All of the tests have ended up making a copy
of a helper function to dispatch to a particular provider. To avoid that
duplication this patch moves it to a common helper directly in XUITest.
This will also make it possible to use the method from test.py in a
later patch.

Note that the order of the arguments has been swapped around to match
that of comphelper::dispatchCommand.

Change-Id: I274fe12e4dfec0bf78359d0e2b70a3cf4db5528c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194348
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-11-22 19:37:18 +01:00
Michael Weghorn 9d6ade1f3b [API CHANGE] Reintroduce com.sun.star.ui.dialogs.ColorPicker
Bring back the com.sun.star.ui.dialogs.ColorPicker service
previously dropped in

    commit 5ba0ccb296
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Mon Jun 16 08:01:55 2025 +0200

        [API CHANGE] Drop ColorPicker, AsynchronousColorPicker

    The unpublished com::sun::star::cui::ColorPicker and
    com::sun::star::cui::AsynchronousColorPicker UNO services
    were previously used to be able to use ColorPickerDialog
    (implemented in cui) from svtools.

    That's no longer the case since

        commit 0905c23676
        Author: Michael Weghorn <m.weghorn@posteo.de>
        Date:   Fri Jun 13 18:27:09 2025 +0200

            Stop using UNO abstraction for color picker

    , so drop the now unused services and the ColorPicker
    class that implemented them.

While the service was unpublished and undocumented, it was
still used in practice by third party code, see for
example the macro in [1] and further discussion in Gerrit
change [2].

Therefore bring back the service, but with a new
implementation in vcl that no longer uses the ColorPickerDialog
implemented in cui directly, but instead uses the
weld::ColorChooserDialog abstraction introduced in

    commit dae9472b27
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Fri Jul 25 14:26:06 2025 +0200

        tdf#167669 weld: Introduce weld::ColorChooserDialog

which supports the use of the native platform/toolkit
color dialogs (currently implemented for GTK and Qt), see
tdf#167669.

Don't reintroduce evaluation of the "Mode" parameter
to set a vcl::ColorPickerMode because that seems unused
by third-party code according to a quick Google search.

This makes the macro from [1] work again, and results in
the native GTK and Qt color pickers being used for the
case of the gtk3/qt6 VCL plugins on Linux.

[1] https://forum.openoffice.org/en/forum/viewtopic.php?f=21&t=99268
[2] https://gerrit.libreoffice.org/c/core/+/186538/comments/3af0d3d8_8b843d4e

Change-Id: Ic0f2ce2b289f37bf1fb32192d0f3b3deb99121ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194172
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2025-11-18 20:29:00 +01:00
Tomaž Vajngerl 58d2a68530 tdf#164593 Revert "tdf#82716 Add initial implementation of the His.."
This reverts commit 07ae0e5ada.

As discussed in https://lists.freedesktop.org/archives/libreoffice/2025-November/093988.html

(cherry picked from commit 9693f1461c7d78c7461f8bbd7f421ba8c3f8452b)

Change-Id: Ifd4008d62f9816d995f97104ba432ebc8be89c97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186407
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193983
2025-11-14 08:44:54 +01:00
Caolán McNamara 6db1f0cfc3 [API CHANGE] remove loadGraphicAtPage and loadGraphicFromOutputStreamAtPage
Change-Id: If53896987ea29ad09c82bdedd3a3028bffdff031
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193211
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-31 10:04:51 +01:00
Caolán McNamara cf6edbd0b3 [API CHANGE] sd pdfium: apply page number when loading pdf pages from fodg
this is the same concept/ideas as

a12bd4fedfc3f269f1dbb5fea36b607facd1261d
    [API CHANGE] sd pdfium: add page number when saving/loading pdf pages as images

but extended to support fodg where the problem of showing the first page
of the pdf for all images remained.

Change-Id: I5a180037634f71104800e09bec400316b56ab1f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193156
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-31 10:04:34 +01:00