...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>
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
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
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>
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
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
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>
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
* 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>
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>
...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
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>
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>
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
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>
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>
I think this will be useful when you want to manipulate a window that
doesn’t have a unique ID and is difficult to get access to but you can
make it get the keyboard focus via UNO commands or keyboard shortcuts.
Change-Id: Iafc41dda7c3fdc1b15a62875fe3aa7efc88dcbe5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193172
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Implements support for ODF fo:text-align start and end in paragraph
styles. The new alignment options can be selected in the paragraph
dialog. Further user interface changes are tracked as separate bugs.
This change also adds START and END to css.style.ParagraphAdjust, which
is flagged as an incompatible UNO API change.
Change-Id: I2ee57f0029de7b794bc1ecd3eddbbd90af5dfdb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192932
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Moved the most recent UNO interface change to the end of the file,
and added a reference to the version number in which it was introduce.
Note that the initial change was made with [1], but it wasn't marked
as [API CHANGE].
[1] 33bbf0bd20
Change-Id: I03d84f3092787c7daa1ab6a3c49c8f751b34868c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192591
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
... instead of STATIC.
This was originally changed from AccessibleRole::TEXT
to AccessibleRole::LABEL and then AccessibleRole::STATIC
in
commit fa775ed30a
Date: Tue Feb 20 13:55:53 2018 +0100
tdf#86661 a11y: give ROLE_LABEL to read-only edit
ROLE_TEXT is for editable text, ROLE_LABEL should be used for static text,
so that screen readers know they should speak it.
and
commit ac475d8d6f
Date: Wed Aug 8 13:39:31 2018 +0200
tdf#116542 a11y: Make R/O accessibleedit use STATIC role
as improvement to tdf#86661 which had made it a LABEL as first improvement
over TEXT.
. However, that distinction between TEXT and STATIC
for editable vs. readonly objects doesn't match what
platform a11y APIs actually use, which focus more
on the object being interactive or not, and
an edit is a control that can receive keyboard
focus, so is interactive.
Quoting from the ATSPI_ROLE_TEXT doc [1]:
> An interactive widget that supports multiple lines of text and
> optionally accepts user input, but whose purpose is not to solicit user
> input. Thus ATSPI_ROLE_TEXT is appropriate for the text view in a plain
> text editor but inappropriate for an input field in a dialog box or web
> form. For widgets whose purpose is to solicit input from the user, see
> ATSPI_ROLE_ENTRY and ATSPI_ROLE_PASSWORD_TEXT.
Quoting from the AT_SPI_ROLE_STATIC doc [2]:
> A generic non-container object whose purpose is to display a brief
> amount of information to the user and whose role is known by the
> implementor but lacks semantic value for the user. Examples in which
> ATSPI_ROLE_STATIC is appropriate include the message displayed in a
> message box and an image used as an alternative means to display text.
> ATSPI_ROLE_STATIC should not be applied to widgets which are
> traditionally interactive, objects which display a significant amount of
> content, or any object which has an accessible relation pointing to
> another object. The displayed information, as a general rule, should be
> exposed through the accessible name of the object. For labels which
> describe another widget, see ATSPI_ROLE_LABEL. For text views, see
> ATSPI_ROLE_TEXT.
VclMultiLineEdit (for which VCLXAccessibleEdit
is the a11y implementation) is used in
SalInstanceTextView, i.e. used for implementing
a text view, for which the above suggests to
use ATSPI_ROLE_TEXT.
GTK 3 also reports a read-only GtkTextView with
AT_SPI_ROLE_TEXT (and not having the
ATSPI_STATE_EDITABLE state), so this commit also aligns
it with that.
The MSAA/IAccessible doc [3] also matches for this.
> ROLE_SYSTEM_TEXT
>
> The object represents selectable text that allows
> edits or is designated as read-only.
and
> ROLE_SYSTEM_STATICTEXT
>
> The object represents read-only text, such as labels
> for other controls or instructions in a dialog box.
> Static text cannot be modified or selected.
In LO, text in readonly edits can be selected,
so that also makes ROLE_SYSTEM_TEXT more appropriate.
Therefore, use AccessibleRole::TEXT again.
This makes the NVDA screen reader on Windows announce the
status text in the "Help" -> "Check for Updates" dialog
(requires --enable-online-update autogen option).
Also update the AccessibleRole idl description
accordingly to align better with the AT-SPI and MSAA/IAccessible
semantics as described above.
If the STATIC role is preferred in a particular case,
it can still explicitly set for the corresponding
widget in the .ui file.
[1] https://docs.gtk.org/atspi2/enum.Role.html#text
[2] https://docs.gtk.org/atspi2/enum.Role.html#static
[3] https://learn.microsoft.com/en-us/windows/win32/winauto/object-roles
Change-Id: I58f35864eedb1b527c1af651f88612ef96678138
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192017
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The element <table:sort> has the values 'alpha-numeric', 'double' and
'integer' in its attribute embedded-number-behavior in ODF. The member
bNaturalSort in ScSortParam covers only 'alpha-numeric' and 'double'.
The patch replaces the member bNaturalSort of ScSortParam with a new
eSortNumberBehavior. That takes the three values from enum
ScSortNumberBehavior. Only the parameter 'SfxBoolItem NaturalSort
SID_SORT_NATURALSORT' in SID_SORT is kept so that existing macros that
use it still work.
Change-Id: I2a346223767a5a4aae79bac5fa08e608b0cea503
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191159
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
this is an internal-only interface which we only need for
shape export, and we only need one of the existing methods for that.
Change-Id: I89adb32ba6bda43d72731465eb5d62f5d6ddc16b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191571
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
this is an internal UNO API, and there is only one implementation,
so make that obvious in the code.
That required moving some classes from the svx library to the
svxcore library
Change-Id: Ic5c19327df271920dc1077185ff692abbf5fb091
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191494
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Parse the style*.xml file in the OOXML package, and store the imported
styles in XChartDocument via a new XChartStyle. Some areas are yet to be
fleshed out, but the intent here is to get a review of the general approach
and architecture. This includes no work on the export side (or the UI and
application of styles to a chart, which is a separate but related project).
Change-Id: I9d5b9f5aa44fb7944b2d971edc26e04dc2256c7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189531
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Add new paragraph justification options "Minimum glyph scaling"
and "Maximum glyph scaling" to improve typography, like DTP software
do, allowing to typeset visually better paragraphs, especially narrow
columns without unacceptably big word spacing.
* Add spin boxes to Alignment in paragraph formatting dialog window;
* Store properties in paragraph model:
css::style::ParagraphProperties::ParaPropScaleWidthMinimum
css::style::ParagraphProperties::ParaPropScaleWidthMaximum
Note: desired glyph scaling is already supported by ODF/UNO,
see css::style::CharacterProperties::CharScaleWidth.
* Implement visual layout of minimum and maximum glyph scaling,
limited by the available extra word spacing and letter spacing,
too.
Note: last line can exceed the paragraph width, because minimum
glyph scaling, also minimum letter scaling of the last line
haven't been applied there, yet.
* Add ODF import/export (loext:text-scale-maximum and
loext:text-scale-minimum, where style:text-scale is for the
desired text scaling).
* Add ODF unit test.
Note: hyphenated lines, lines with multiple portions haven't
been using custom glyph scaling, yet.
Note: resolution of glyph scaling is 1 percent, which will
avoid of overgeneration of font types using variable fonts.
Change-Id: I9b4576dde4303437b64e37202c47f888f94c3f67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190534
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Implement new paragraph justification option "Minimum letter spacing"
allowing to shrink text lines more, choosing better paragraph layout
instead of hyphenation or rivers of space.
* Implement visual layout of minimum letter spacing.
* Enable Minimum letter spacing spin box on Alignment pane of the
paragraph formatting dialog window
* Remove also desired letter spacing spin box from the alignment pane.
It will be better to visualize CharKerning with percentage value
instead of adding a new user interface to the same setting.
* Set minimum and maximum spin box ranges to [-100, 0] and [0, 500],
and remove unnecessary handlers.
* offapi: extend API description with ranges of letter spacing
[-100, 500] and word spacing ([0, 1000]).
* Add ODF unit test.
Note: hyphenated lines, lines with multiple portions haven't
been using custom letter spacing, yet.
Note: resolution of the custom letter spacing is only 1/20 point
(1 twip) yet.
Note: adjust testTdf163149 failing on a test machine, maybe
because the DOCX test document contains the not supported Arial
font, resulting small differences based on the font replacement.
Follow-up to commit f83a04c510
"tdf#167648 cui offapi xmloff sw: add DTP-feature maximum letter
spacing".
Change-Id: I0d686ccbdaa5324eaf6c4c7f6da0f37e76f60611
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190533
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
When sorting a database range the feature 'natural sort' can be used.
If source has the strings K3 K10 K104 K23 K2, then the result will be
K2 K3 K10 K23 K104. Alphanumerical sort results in K10 K104 K2 K23 K3.
ODF has the attribute table:embedded-number-behavior for this
(19.628 part3 ODF 1.4). Its values are 'alpha-numeric', 'double' and
'integer'. LO has the attribute bool bNaturalSort in struct ScSortParam.
The ODF method 'integer' is not implemented in LO.
Currently natural sort is not read/written with ODF and is not available
in the API. I plan three steps:
1. Make natural sort available in the API (this patch)
2. Read and write table:embedded-number-behavior attribute
3. Implement 'integer' method.
To be later able to have three values, not a boolean property is used for
the API, but a group of constant values, although currently only two
values are needed.
Change-Id: I0418d5f23400fb0479034589fc90868a1e97ce44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190133
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Tested-by: Jenkins
.../master/instdir/sdk/bin/unoidl-read --published \
.../libreoffice-25.8.0.4/instdir/program/types.rdb \
>.../master/udkapi/type_reference/udkapi.idl
* css.lang.XSingleServiceFactory has been un-deprecated with
4f03d1c238 "css.lang.XSingleServiceFactory must
not be @deprecated"
.../master/instdir/sdk/bin/unoidl-read --published \
.../libreoffice-25.8.0.4/instdir/program/types.rdb \
.../libreoffice-25.8.0.4/instdir/program/types/offapi.rdb \
>.../master/offapi/type_reference/offapi.idl
* css.i18n.GROUP_SEPARATOR_IN_NUMBER_3 is marked as "@since LibreOffice 25.2"
but was only brought into libreoffice-25-2 with
055b637ed9bdd02cd857664813a66afde51dfd0a "tdf#158867 offapi,i18npool,starmath:
fix ',' in Math again" after libreoffice-25.2.0.3, for which point the
previous type reference had been generated with
aabf7c44ec "Update the reference rdbs to
libreoffice-25.2.0.3"
Change-Id: I387e20b3bc5955b60b8365f6a64604481f2e0de2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190155
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
shown as the "prompt" text in the final slides
What should works
- New sd specific uno api shape property: CustomPromptText
- With this property, the corresponding master slide SdrObj's
and their final slide SdrObj's placeholder text can be set.
- If we have CustomPromptText value it will be used for the
PresetObj and will be created (CreatePresObj) with those texts
as a default prompt text. If we do not have the usual default
ones will be used.
- OOXML import and export (partly since we have many other problems
around export) are works
- Enable to OOXML import of com.sun.star.presentation.SubtitleShape
(partly, since in the core we handle them as Text objects) to handle them
a bit better. OOXML export is still not good for different reasons:
see tdf#112557
- Unit tests for custom "prompt" text
TODO
- odf import/export
- we cannot set in runtime new custom placeholder texts, so the new
placeholders/presobj will be created with the usual default texts.
Change-Id: Ic2b06a10f7a19f0cfdb2b705645b08a24b3e433b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189185
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Follow-up patch to 6eff24aec6.
Removed empty line after @endparblock in
com::sun::star::i18n::XBreakIterator.
Put multiple paragraphs to parblocks in
affected files in com::sun::star::sheet.
Change-Id: Ie36edb9ff8ba8f59ea53214ffcc08b348c92c834
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188363
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Previously, we silently discarded fonts which rights disallowed editing
of documents. This change introduces a choice, where user can opt to
either discard the restricted fonts, or switch to read-only mode.
1. When user opens a document with restricted embedded fonts, which are
already installed on the system, those fonts are not considered as
restricted.
2. Trying to switch to edit mode will show the dialog again, allowing
to discard those fonts to allow editing.
3. Saving the document will discard restricted fonts not installed on
the system in any case.
4. Even though saving discards those fonts from file, it doesn't switch
to edit mode, because it doesn't reload the document, that is needed
to reload embedded font data (and release respective font files).
5. Opening a document initially in read-only mode skips the dialog.
TODO: avoid showing those fonts in the font lists.
Change-Id: Ia7c9b6c3f727720e64e4df8d1c4a8e3641b067bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189366
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
...to enable "the UNO parts (types and servie implementation) of the embindtest
framework (which can also be used independently of the Emscripten build)." And
which e.g. both last year's Lua GSoC project and this year's Rust GSoC project
(<https://gerrit.libreoffice.org/c/core/+/186425> "Add core UNO types for Rust
language binding") enabled locally in their respective dev builds.
Change-Id: I8cf917fbcdaf73e244bd84689a1f29f3aa95f923
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189363
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Add new paragraph justification option "Maximum letter spacing"
to distribute letters on (part of) the available blank area of the
justified line instead of overstretching word spacing, like DTP
software do.
This improves typography a lot, allowing typesetting visually better
i.e. more readable paragraphs, minimizing or removing rivers and
too big word spacing (which was common in columns or text without
hyphenation).
* Add spin box to Alignment in paragraph formatting dialog window,
(also add spin boxes for future Minimum and the alternative
percent-based Desired letter spacing, see CharKerning);
For example (only ASCII visualization!), 100% maximum letter
spacing adds a space character-width blank space between the
characters, including the original space:
0%:
Lorem ipsum
pellentesque dolores
vitae.
100%:
L o r e m i p s u m
pellentesque dolores
vitae.
Normal value: 3%-5% (or more for very narrow columns), which means
e.g. 1-2 twips (twip = 1/20 pt) letter spacing in a ~12 pt text.
Note: resolution of the custom letter spacing is only 1 twip yet.
* Store properties in paragraph model:
css::style::ParagraphProperties::ParaPropLetterSpacingMaximum
css::style::ParagraphProperties::ParaPropLetterSpacingMinimum
Note: desired letter spacing is already supported by ODF/UNO,
see css::style::CharacterProperties::CharKerning.
* Implement visual layout of maximum letter spacing.
Note: after the last character of the line, there is an
unwanted letter-spacing, yet (which is visible only with
big letter-spacing values).
* Add ODF import/export (loext:letter-spacing-maximum and
loext:letter-spacing-minimum)
* Add ODF unit test.
Note: hyphenated lines and lines with multiple portions do not
yet use custom letter spacing, yet.
Change-Id: Ieac9f21631b90ae46bed4501f12da0d15ed84d63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188653
Tested-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Put multiple paragraphs into paragraph in
XBreakIterator::previousWord().
Additionally added missing punctuation in XBreakIterator.idl.
I also checked the rest of offapi/com/sun/star/i18n
and this was the only instance of multiple paragraphs
in a param block.
Change-Id: I5ef56673694ce5decb473129daa59e6080284a23
Change-Id: I9011867fd5444e90d4c0d22a095f43d8ce92e162
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188300
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.awt.AccessibleTreeListBoxEntry"
because it's effectively unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service, and that doc is also outdated/inaccurate.)
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: I4a4291b1147c6c01f0bfe1b939ff378fbd39d46d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188146
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
com::sun::star::drawing::AccessibleSlideView.
It's not implemented or used anywhere.
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
would be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I6071ebdc51cbdcdf85b9d89bb495f893b995ca92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186913
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
com::sun::star::drawing::AccessibleSlideViewObject.
It's not implemented or used anywhere.
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
would be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I6656d4bcdb40a33a3119aa1fd6a2a5cacdc94764
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186912
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
com::sun::star::sheet::AccessibleCsvCell.
It's not implemented or used anywhere.
ScAccessibleCsvCell looks like the class implementing
the functionality mentioned ("The accessible object of the data
table in the CSV import dialog") but it doesn't actually
implement that service.
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
would be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I0abd0bf627ff71ccce148fec1bdfd5c23ba453d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186911
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
com::sun::star::sheet::AccessibleCsvTable.
It's not implemented or used anywhere.
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
would be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I40adefd81086284fec63d5343963000506469810
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186910
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
com::sun::star::sheet::AccessibleCsvRuler.
It's not implemented or used anywhere.
ScAccessibleCsvRuler is the class that implements
the functionality mentioned in the IDL file
("The accessible object of the ruler in the CSV import
dialog.") but it doesn't actually implement that service.
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
would be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I80da59a92ce2e5a38db5230d2af0f6fb4e69d5a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186909
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.accessibility.Accessible"
because it's unused internally.
As the doc in the IDL file says:
> <p>Service <code>Accessible</code> is just a wrapper for the interface
> <code>XAccessible</code>. See the interface's documentation for more
> information.</p>
That wrapper isn't needed.
This is one step towards dropping the XServiceInfo
implementation from a11y classes, which will also help
avoid linker issues seen on Windows related to multiple
classes subclassing
cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo>
seen with upcoming commit
Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon May 26 12:24:52 2025 +0200
vcl a11y: Let OAccessibleComponentHelper implement XAccessible
(Gerrit change [1], Windows CI log: [2]).
A search in Google and on Ask [3] gave one result that looks
relevant/where this service is used: [4]
It was originally added in commit [5]
commit 3f227e8755954e30abf9eb2cde6e4613514e4958
Author: Zev Spitz <shivisi@hotmail.com>
Date: Sun Sep 10 09:20:55 2017 +0200
Type definitions for LibreOffice, via Automation
, which doesn't explain whether/why the particular use of
the Accessible service was chosen there, i.e. whether this
is actually of relevance.
I've created an issue/discussion to make developers of
that project aware: [6]
Stopping to implement XServiceInfo in SwAccessibleContext
and subclasses will be done in a separate upcoming commit,
now that the only service implemented by them has been
dropped.
[1] https://gerrit.libreoffice.org/c/core/+/185849/6
[2] https://ci.libreoffice.org/job/gerrit_windows/200107/console
[3] https://ask.libreoffice.org/
[4] https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/activex-libreoffice/activex-libreoffice-tests.ts
[5] https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3f227e8755954e30abf9eb2cde6e4613514e4958
[6] https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/73096
Change-Id: I7432d4a524ceaf404b1a2673d8bb6cdb142baf25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186881
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>