Commit Graph
13095 Commits
Author SHA1 Message Date
Ben Urban 46efe4ffad Fixed typo
Change-Id: I6855830b438af532638fe1f68941f139af2b7863
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208713
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-28 10:13:54 +02:00
Caolán McNamara d3cf169ea1 bring external presentation sounds under link management
A presentation can reference sound files outside its own package, on a
slide transition, an animation, or a click action.

Linked graphics already come under link management, where the user
allows each external reference on its own.

Bring presentation sounds under the same link management. Each external
sound is registered as a link the user can allow through the link-update
infobar or "Edit, Links".

For the uno api move these sounds around as XSoundReference so their
allowed state can be moved with them. So that changes the property
from a string to an XInterface. Setter still accept a string, getter
returns the new XInterface, there's an acknowledged possibility of
incompatibility despite being technically api-change-passing

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ib7deea2f78cf5c5b9958e43adb8e6f46b1b31e80
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/6970
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 0aa870b7b5a6bda50bab50c7a0a41d28fdf4f6ab)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208430
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-22 14:01:37 +02:00
Neil Roberts d2429a3c46 pyuno: Reuse wrapped object when converting Python obj through UNO and back
When any2PyObject is given an interface which is actually an adapter for
a Python object, it now returns the original Python object instead of a
new wrapper for the object. This means that calling methods on the
returned object will be faster because they won’t involve UNO bridging.
It also means that Python implementations of UNO interfaces can detect
when they are given Python objects as a parameter and take advantage of
any internal private data attached to the object.

Change-Id: Ie13d0612f48e70973bd523e68710ec33a7875a16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207507
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-07-15 09:09:22 +02:00
Neil Roberts 63e28543e7 [API CHANGE] Add an interface to make a browse node copyable
Adds an optional interface to BrowseNode that can be used to query
whether a node can be copied and also invoke the actual copy. The goal
is to use this from the macro dialogs in later patches to support drag
and drop of script files.

Change-Id: I396a493d704d481b8f0d52c16a77f6452159d76e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207736
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-07-15 09:09:03 +02:00
Neil Roberts ca34fab9cc [API CHANGE] tdf#172532 Add concrete interfaces for manipulating scripts
Adds optional concrete interfaces that can be added to implementations
of XBrowseNode to create, delete, edit or rename nodes. The comphelper
abstraction now uses these if the interface is implemented otherwise it
will fall back to the old method using XPropertySet and XInvocation so
that existing script providers will continue to work.

The goal is to avoid using XInvocation for duck-typed methods because
that breaks pyuno. It is also easier to implement the optional
interfaces than to use the previous approach.

Change-Id: Id59136152941fd232673ec4b9082a0be0cb6ca8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207344
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
2026-07-15 09:05:46 +02:00
László Németh 5da16bdc79 tdf#172674 offapi cui sw xmloff: add hyphenation slider feature
To solve the trade-off between better spacing and less hyphenation,
support hyphenation level and its user interface, the hyphenation
slider, like DTP software do.

Add new paragraph property com::sun::star::text::ParaHyphenationLevel

The hyphenation slider is the basic interface of DTP software to adjust
single (or all) paragraphs using better word spacing (i.e. more
hyphenation) or less hyphenation (i.e. worse word spacing). It allows 1)
to choose the best from the near equally good layouts and 2) to solve an
extreme bad layout (caused by words without hyphenation or other corner
cases).

– 50% hyphenation level means disabled hyphenation, if minimum
  and maximum word spacing settings allow to break the line within
  words (default interoperability value).

– 100% hyphenation level means using extra hyphenation only if that
  results better word spacing in the line, than breaking within words.

– Between 50% and 100% hyphenation level, use extra hyphenation only if
  its weighted word spacing is better, than breaking the line between
  words (weighting grows with the hyphenation level).

– Between 0% and 50% hyphenation level it means disabled hyphenation
  with increased desired and maximum word spacing, depending on the
  hyphenation level. At %0, the desired word spacing is enlarged to the
  original maximum word spacing, while maximum word spacing is enlarged
  by a single space.

For example, the original 4-page unit test document with the default 50%
hyphenation level contains 14 hyphenations. 100% hyphenation level
results in 22 hyphenations, while 0% only results in 8 hyphenations.

– sw/qa/extras/layout/data/tdf167648_minimum.fodt,
  sw/qa/extras/layout/data/tdf169168_minimum.fodt: set maximum
  word-spacing to 100% from 101% to limit the original unit test only
  for minimum letter spacing.

More information: LO/COOL Book & Typography projects:

https://www.numbertext.org/typography/

https://www.numbertext.org/book/

Follow-up to commit cf104be5cb "tdf#119908
tdf#166113 cool#15973 sw smart justify: fix DOCX hyphenation",
commit d572576dd6
"tdf#119908 cool#15973 sw smart justify: fix "smart" hyphenation",
commit 529755f091
"tdf#166113 sw smart justify: adjust algorithm for interoperability" and
commit 7d08767b89 "tdf#130088 tdf#119908
smart justify: fix DOCX line count + compat opt."

Change-Id: I84b3893ea6c5cd4eff74a73514722285e7071392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207545
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2026-07-04 17:11:37 +02:00
Devansh Varshney 09823632bd chart2: add histogram underflow/overflow bin model support
Add model properties for optional underflow and overflow bins on
histogram chart types, and expose them through the HistogramDiagram
wrapper.

Pass the new settings through the existing histogram pipeline:
HistogramChartType snapshots the properties, HistogramDataSequence keeps
that snapshot, and HistogramCalculator creates optional edge bins around
the normal bin range.

Generated category labels now distinguish special bins from normal ranges,
e.g. "<= 11", "(11-13]", and "> 14".

Add a model-level test that sets fixed bin width together with underflow
and overflow bins, then verifies that the generated bin labels are rebuilt
correctly.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: I65eac9607daa4f4be6320304c9e9682549f479a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207151
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-29 14:35:14 +02:00
Xisco Fauli 667fe200a9 Revert "[API CHANGE] remove deprecated XSpell1 and XSupportedLanguages"
This reverts commit bce4b4af9d.

Reason for revert: Revert it for now until there is a policy
for removal of published APIs

Change-Id: Ia1cbcfcd6b953be48a60d8ef67333b1e3265e563
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207150
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-23 10:58:29 +02:00
Xisco Fauli c855a3ff35 Revert "remove css::embed::XLinkFactory"
This reverts commit 26305f046f.

it removes a published API without deprecating it first

Change-Id: I174320a675e9fe6f9a7de475491ca7984ac30d9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206709
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-17 08:52:51 +02:00
Noel Grandin bce4b4af9d [API CHANGE] remove deprecated XSpell1 and XSupportedLanguages
in favour of their replacements XSpell and XSupportedLocales

Change-Id: I3ad20d0c6c3bf0a00d7ef3947705059027a1ff6f
Signed-off-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4228
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 35842d441f2e82204ce77ba8c53735be3f18dc78)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206467
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-16 14:55:20 +02:00
Neil Roberts fa05a80aae [API CHANGE] tdf#171950 Add API to create 2- and 3- color scales
The existing API allows creating a color scale conditional format but it
has no entries and there is no API to create an instance of
XColorScaleEntry in order to add one. For data bars the existing API
instead creates a conditional format with two existing entries and then
you can use the XDataBarEntry interface to modify them. This patch makes
the color scale API work like the databar one. It adds constants to
ConditionEntryType to create a 2-color or 3-color scale which have the
entries pre-created.

This is an API change because it adds constants to an unpublished
constant group. It also makes it so that the getType method on the
conditional format will now return either COLORSCALE2 or COLORSCALE3
depending on the number of entries. In practice I think this is very
unlikely to break any existing code.

Change-Id: I28faa6c66ac3963220786e8da45a2d550058f095
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205944
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-06-09 13:11:16 +02:00
Noel Grandin 26305f046f remove css::embed::XLinkFactory
the last caller was removed in

    commit 508ea2d571
    Author: Kurt Zenker <kz@openoffice.org>
    Date:   Mon Oct 4 18:53:05 2004 +0000

    INTEGRATION: CWS mav09 (1.6.2); FILE MERGED
    2004/08/18 12:24:34 mav 1.6.2.4: #i27773# use system fallback
    2004/06/24 17:13:42 mav 1.6.2.3: #i27773# reactivate linking support for OOo documents
    2004/06/18 14:17:55 mba 1.6.2.2: #i27773#: special objects don't have a hatchwindow
    2004/06/10 16:19:50 mav 1.6.2.1: #i27773# use configuration for conversion purposes

and I cannot find any indication of external use

Change-Id: If895bd2309db8f16729ae0854d6d339f3525ff55
Signed-off-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3876
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 67f1434988c3ac51759f4d392daa728c1bfbaeb5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206188
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-07 22:49:13 +02:00
Xisco Fauli 0159850b67 [API CHANGE] drop ComplexColorJSON
No need to use it when we can use ComplexColor

Change-Id: I921e229d2dee719b7457f046c1ed1ff0492aa3e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205810
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-28 20:07:19 +02:00
Devansh Varshney 6829e82577 chart2: Implement Scott's Rule and Histogram Data Interpreter
This commit introduces the mathematical backend and data interpreter for
the Histogram chart, replacing the temporary raw value rendering.

- Adds HistogramCalculator, utilizing Scott's Rule to calculate optimal
bin widths and frequencies from raw data.
- Introduces HistogramDataSequence that listens to spreadsheet data
changes and automatically regenerates bin categories and frequencies
- Implements HistogramDataInterpreter to intercept raw values-y input,
and output the results into the calculated-y data sequence.

Change-Id: Iaf29ddd0b0824bd3f0808ffc91321cad9d5b877e
(cherry picked from commit 1ef619a998aba626d0ea7a9541109a7c9e145518)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1879
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit df68284255ccac4bd86583555986d9f7cbdddf9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203747
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:09:41 +02:00
Devansh Varshney 048b35b49d chart2: Add UI and basic rendering for Histogram chart
This commit introduces the structural foundation and user interface for
the new Histogram chart type. The rendering engine gracefully falls
back to plotting the raw values-y input data directly. As a result, the
chart currently renders identically to a standard bar/column chart.

- Adds UI entries in the Chart Type dialog.
- Adds HistogramChart to the view layer, inheriting from BarChart and
forcing a 0-gap width.

Change-Id: Ica5b15e9b7428d6c908e1b978259367fe8ff7aab
(cherry picked from commit 14a4a09b62fc283f9b629a2a317156efa6509054)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1878
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 508c3456e85a88771ac5e264cee9460274685a22)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203741
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:09:33 +02:00
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