Commit Graph
12982 Commits
Author SHA1 Message Date
Noel Grandin 2f26af1d37 [API CHANGE] remove css::drawing::ResourceId
internal to sd, no need for it to use UNO

Change-Id: If3400472c136e315d1a8070faf67db2dc9e173e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186584
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-23 13:31:12 +02:00
Noel Grandin 2e75e5a7c9 [API CHANGE] remove drawing::framework::XResource
these are internal to sd and do not need to be exposed as API

Change-Id: I3a4f483ad86e6e9898ba9b8f96bac28c9f086181
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186808
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-23 11:07:35 +02:00
Noel Grandin f86536104f [API CHANGE] remove drawing::framework::XConfiguration*
these are internal to sd and do not need to be exposed as API

Change-Id: Ifeebd510a56ecd82b7c86d4b5365dd2fb7d3e734
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186784
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-22 13:56:03 +02:00
Michael Weghorn 6c4abe2cb1 [API CHANGE]: Drop AccessibleChartElement service
Stop implementing the XServiceInfo interface in chart2
a11y implementations as the info provided by that interface
isn't needed anywhere, see also

    Change-Id: Id306320710a1718ff10536127427f3a5daf68559
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Fri Jun 20 11:14:19 2025 +0200

        svtools ruler a11y: No longer implement XServiceInfo

for more background.

Related to that, drop the unpublished AccessibleChartElement
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.
couldn't be created by external code anyway.)

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

Change-Id: I97056996bc433940c262e9b1060eb37a24a0b00e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186758
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-06-20 21:22:56 +02:00
Michael Weghorn 9fd0e7bbe6 [API CHANGE]: Drop unused AccessibleChartDocumentView service
The service is not implemented or used anywhere.

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

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

Change-Id: I888f891704c2ba9087d91be391f89efbae997e3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186757
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-06-20 21:22:49 +02:00
Noel Grandin 0e095a3e24 [API CHANGE] remove css::drawing::framework::XToolBar
this is internal to sd, no need to use UNO here

Change-Id: I6ec94f89da5b7f01f0045e8c748ea43b3a3ad55b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186724
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-20 08:46:53 +02:00
Noel Grandin 5b3b308e3b [API CHANGE] move css::drawing::framework::TabBarButton inside sd
this is internal to sd, no need to use UNO here

Change-Id: I735e4ddbc91657659bbcd69fff44e53850f8bc90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186715
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-19 19:40:28 +02:00
Noel Grandin 982a78873b [API CHANGE] move css::drawing::framework::ResourceActivationMode inside sd
this is internal to sd, no need to use UNO here

Change-Id: Id2476bb08bd37903fe2feb95835474b88bd4db0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186714
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-19 19:40:20 +02:00
Noel Grandin 585d2075fa [API CHANGE] remove drawing::framework::XTabBar
this is internal to sd, no need to use UNO here

Change-Id: I03ab609583fe0c884897df70233a1af6239253f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186713
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-19 17:43:19 +02:00
Noel Grandin 396d456f59 [API CHANGE] remove drawing::framework::XPane2
this is internal to sd, no need to use UNO here

Change-Id: Ia00ac3217ea4e88b7b51a7634b0c9bbd3f48594f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186712
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-19 17:43:06 +02:00
Noel Grandin c9c217a073 [API CHANGE] remove drawing::framework::XModuleController
this is internal to sd, no need to use UNO here

Change-Id: I40c73356be2352a7e1f7738c92e4363fd5823da2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186710
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-19 17:18:03 +02:00
Noel Grandin 7082d14be3 [API CHANGE] remove drawing::framework::XConfigurationControllerBroadcaster
this is internal to sd, no need to use UNO here

Change-Id: I2e69ee45e3b5ee58c52cfc247d8ef0a497bad0c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186699
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-19 17:17:44 +02:00
Noel Grandin 370e71ccff [API CHANGE] remove drawing::framework::XConfigurationControllerRequestQueue
this is internal to sd, no need to use UNO here

Change-Id: Idc2c67562539b041ada5f6db7b450598248842e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186698
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-19 11:38:08 +02:00
Noel Grandin 48ef5c5b35 [API CHANGE] remove drawing::framework::XConfigurationControllerBroadcaster
this is internal to sd, no need to use UNO here

Change-Id: I5dfc7abb58051002c697da9c75cc750f2f2807ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186687
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-19 07:52:50 +02:00
Noel Grandin 1c754934d5 [API CHANGE] remove css::drawing::framework::XConfigurationController
this is internal to sd, no need to use UNO here

Change-Id: I7b1a68a45dc9e1a812e3f3724c08989021df29f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186648
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-18 19:17:52 +02:00
Noel Grandin 8a6dd9e68b [API CHANGE] remove sd::drawing::framework::XControllerManager
this is internal to sd, no need to use UNO here

Change-Id: I7987fd8ac86348451f9df2a14b3c6fed431ad1d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186647
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-18 16:38:58 +02:00
Michael Stahl c3974de96f tdf#159549 offapi: clarify docs of css::style::StyleFamily
Change-Id: I5391968e93bb28f0c5fc2c41673d4c6df344bfa6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186653
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2025-06-18 16:05:44 +02:00
Noel Grandin 03caa7db14 tdf#167073 Extension MRI does not start
revert
    commit 39f2c62847
    simplify TaskCreatorService
and
    commit 96b6d13c9a.
    [API CHANGE] no need for TaskCreatorService to be exposed via UNO

I missed that this service is in use.

Change-Id: I97b01668f7ba313335f9fbd8cf0e398dfc1b5ca0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186643
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-18 15:26:32 +02:00
Noel Grandin 74916e20a0 add XSlideSorterSelectionSupplier for use in filter
so I can remove the overly complex and unnecessary drawing::framework
stuff.

Change-Id: I907b4a0e623c182eb2dd5fec26a5d7b5f8275fdb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186594
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-18 09:04:37 +02:00
Michael Weghorn 6cd1cc14a9 a11y: Fix indices in XAccessibleText::getText doc
In order to get the whole text, the character
count needs to be passed as the end index, since
this is the "past the last character" index, see
also the XAccessibleText::getTextRange doc:

    @param nEndIndex
        Index of the last character to exclude in the returned string.
        The valid range is 0..length.

Change-Id: I45a1cb65b6ce9e6d1005b3b455bc6a0238b83027
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186606
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-06-18 07:18:26 +02:00
Noel Grandin 64ddd687f6 Remove XRelocatableResource
which is an internal interface for sd

Change-Id: I8c28216161b7e8752250f990522a321b50b31819
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186587
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-17 22:11:59 +02:00
Noel Grandin 29d467dd80 [API CHANGE] Remove some sd-console IDL interfaces
which are unnecessary, we already instantiate and use these classes
directly.

Change-Id: Iab99a3c1d109badddcea84932e79b6f966ca75ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186586
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-17 22:11:34 +02:00
Noel Grandin 316fca0f68 Remove some dead IDL files
ever since
    commit bfb8706466
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Wed Jan 25 10:09:55 2023 +0200
    no need for sd::ModuleController to load these factories via UNO

Change-Id: I5d912d2bc41e7fd1991d88d1e887d9ee27769bc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186585
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-17 09:58:54 +02:00
Noel Grandin 8c8368bcb9 remove unused IDL files
ever since
    commit cb32938d57
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Fri Jan 20 18:33:34 2023 +0200
    [API CHANGE] remove unused SlideSorterService

Change-Id: I1daf8c7dac985810a96b31c9ed5b1ba0f1245899
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186583
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-17 07:48:12 +02:00
Noel Grandin 9b94c0cbba Drop SlideRender service
since the console code is now inside sd/, we dont need this
anymore.

Change-Id: Ic663c148a641297b1e935aa7f5e245643ebc1157
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186569
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-16 22:30:33 +02:00
Noel Grandin 009ab45600 no need for PresenterPreviewCache to be an UNO service anymore
now that the slide console is not a separate component
anymore.

Change-Id: I21641e4157b8af4d44be91b15bc0b5740311472c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186568
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-16 19:50:36 +02:00
Michael Weghorn 5ba0ccb296 [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.

Change-Id: I9264707df57e46192a393f6736257c413e5d9831
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186538
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-06-16 15:37:30 +02:00
Noel Grandin 96b6d13c9a [API CHANGE] no need for TaskCreatorService to be exposed via UNO
This is a purely internal usage thing.

Change-Id: I8d13d21c791bc88a2fc288fb97f7877eecab3e73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186494
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-14 19:34:01 +02:00
Jonathan Clark 1df13d7ff1 tdf#166012 Implemented GUI support for style:script-type
Previously, when authoring documents containing multiple languages,
certain characters (e.g. smart quotes) could use the wrong/undesired
font. For example, if a Chinese word is quoted inside English text, the
right quotation mark would use the Chinese font rather than the
intuitively-expected English font. Users had no way to control this
behavior.

With this change, Writer will now set an appropriate style:script-type
hint when the user manually specifies a language for a selection in the
user interface. This can be used to quickly correct instances of the
above problem.

Change-Id: I6f8c924d230e3518272e2abb1cbea5e0e7451e9b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186394
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-06-12 04:54:55 +02:00
Khaled Hosny b2b31dd8be tdf#166357: Fix saving font weight to documents
Several font weights (Ultra Light, Light, and Medium) were incorrectly
saved to file.

ULTRALIGHT and LIGHT were saved as fo:font-weight 150 and 250,
respectively. But, according to ODF spec, the values of the
fo:font-weight attribute are normal, bold, 100, 200, 300, 400, 500, 600,
700, 800 or 900:

https://docs.oasis-open.org/office/v1.2/cd05/OpenDocument-v1.2-cd05-part1.html#a_20_184_fo_font-weight

This change fixes ULTRALIGHT and LIGHT to map to 200 and 300,
respectively.

This change also introduces awt::FontWeight::MEDIUM and gives it an
arbitrary 105% value (the percentage values in awt::FontWeight make no
sense at all, THIN numeric value is 100, so it should be 25% of NORMAL
whose numeric value is 400, but it is 50% in awt::FontWeight), and fix
the mapping to and from awt::FontWeight to handle medium weight
properly, and fixes the numeric weight values saved to file.

The backward compatibility for this change are likely negligible since
we don’t support extended font families on Windows, or Linux for
non-variable fonts.

Change-Id: I80ece7bb05462b0f3aceb7f39409f8135f63e94d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186128
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2025-06-10 18:26:22 +02:00
Mike Kaganski fd8d46654c Document that XDispatchHelper::executeDispatch executes synchronously
This is an important detail. XDispatch::dispatch documentation, which
is referenced from XDispatchHelper, discusses SynchronMode; but it is
unclear that executeDispatch doesn't need that, and it always appends
SynchronMode=true to the passed arguments internally (implementation
is in framework/source/services/dispatchhelper.cxx).

Change-Id: Ie9634db9458f192966de0094e1596bf3dd967784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186087
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-05-31 21:49:57 +02:00
Michael Weghorn 3cf9ebf584 [API CHANGE] uitest: Add API to get XUIObject for specific XWindow
Add a XUITest::getWindow method that allows to get the
XUIObject for a given XWindow.

The XUITest interface is internal/unpublished API used
for UI tests.

The newly introduced method will be used in an upcoming
commit in sw/qa/uitest/table/tdf146145.py to port
that test away from depending on a11y implementation
details that are about to change.

Change-Id: I6fcbee3ce894ad82ec42fa034b85544b50408779
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185773
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-05-28 09:19:34 +02:00
Mike Kaganski 994d15796a Fix reference in comment
Change-Id: I8cd2005c1bb34f90e4739b768c6ea2630c6632d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185814
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-05-26 21:52:25 +02:00
Michael Weghorn d99879e388 [API CHANGE] a11y: Drop unused XPane2::setAccessible
This method is now unused since

    Change-Id: I055dd19bbec810126d67e7795ffdfab257beeed3
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu May 15 14:45:24 2025 +0200

        sd presenter a11y: Drop indirection to set win accessible

, so drop it the same way that XPane2::getAccessible was
dropped earlier in

    commit 26bf576f85
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue May 13 21:20:11 2025 +0200

        [API CHANGE] a11y: Drop unused XPane2::getAccessible

Change-Id: Id0c185562213baa71de3987eb3b5d12fa24798f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185366
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-05-15 22:23:44 +02:00
Michael Weghorn fa5e99ccfe XPane doc: "closer button" -> "close button"
Change-Id: Id9072685c4ad12325316dcb968fa93d43b90421d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185284
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-05-15 06:48:23 +02:00
Michael Weghorn 26bf576f85 [API CHANGE] a11y: Drop unused XPane2::getAccessible
Drop the unused method from the unpublished
XPane2 interface that's used inside Draw/Impress.

How accessibility is implemented is an implementation
detail and likely subject to change in the near future.

XPane2::setAccessible is currently used, so remains
for now.

Change-Id: I49c475a795f382a8bf62238f2d6bbd7a95bed97a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185279
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-05-15 06:48:16 +02:00
Samuel Mehrbrodt 5683376d06 tdf#165392 Save as should default to current document directory as well
As done in 3fa39a4dad for Export,
do the same for "Save as"/"Save a copy" as well.

Change-Id: I5135cff0f74d6673fcfc7fa090ed752bea1d59cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184542
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins
2025-05-08 23:26:59 +02:00
Mike Kaganski d07f4c44cf Relationships have "Id" tag, not "ID"
See ISO/IEC 29500-1:2016(E) 9.2 Relationships in Office Open XML:

> ... a resource is referenced from a source part’s XML using the Id attribute
> of a Relationship tag ...

Change-Id: I3e2e8d3c1c82830c6b6037e9fb114a1a880ad6cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184747
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-04-29 10:43:43 +02:00
László Németh 5a48070f59 tdf#126154 sw offapi xmloff cui: add min/max word spacing
To avoid of rivers and too much hyphenation, add minimum
and maximum word spacing options, similar to XSL-FO/CSS
and DTP software.

Only limiting hyphenation was implemented: hyphenation
of the words are disabled, if it's possible to expand
or shrink the spaces of the line within the values specified
by the maximum and minimum word spacing. First try to apply
the minimum word spacing, and if not possible, then the
maximum word spacing.

Note: maximum allowed shrinking has been applied for the
hyphenated lines instead of the minimum to remove the
hyphenation, yet. With the suggested default word spacing
values, this results no or minimal differences.

New UNO paragraph properties:

  com::sun::star::text::ParaWordSpacingMinimum

  com::sun::star::text::ParaWordSpacingMaximum

New ODF paragraph attributes:

  loext:word-spacing-minimum

  loext:word-spacing-maximum

New paragraph settings on Text Align pane:

  Minimum word spacing

  Maximum word spacing

While the desired word spacing got "Desired" label.

Note: suggested values of minimum, desired and
maximum word spacing are 80%, 100% and 133% (default
values e.g. in Adobe InDesign), in narrow columns e.g.
60%, 100% and 150%.

Follow-up to commit 7d6696757d
"tdf#159923 sw cui offapi xmloff: add custom word spacing".

Change-Id: I7f2a07f7fdb634cb16cdd8c2c937ca911b968405
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184595
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2025-04-25 09:54:28 +02:00
Michael Weghorn 894ff7b2df [API CHANGE] a11y: Return string for XAccessibleExtendedAttributes
All XAccessibleExtendedAttributes::getExtendedAttributes
implementations return a OUString wrapped in an Any (or
an empty Any), and all consumers also expect that.

Therefore, change the return type from Any to OUString
to make that clearer and simpler.

Change-Id: Ic6af692f72fd072c4039996f31208ac2098d2750
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184514
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-04-24 07:56:31 +02:00
László Németh 7d6696757d tdf#159923 sw cui offapi xmloff: add custom word spacing
Add com::sun::star::text::ParaWordSpacing UNO
and loext:word-spacing ODF extensions to set
desired word spacing of a justified paragraph
relative to the width of the space character,
like DTP software do.

Add Justification section and "Word spacing"
spin box to the Text Align pane of paragraph settings.

This extends not only the smart justify interoperability
feature for custom shrinking (until 0%), but for custom
expansion, too, until 1000%, like Adobe InDesign do.

Note: this value hasn't been applied in the last
paragraph line, yet.

See also XSL-FO/CSS word-spacing and
commit 7d08767b89
"tdf#130088 tdf#119908 smart justify: fix DOCX line count + compat opt."

Change-Id: I06f771335135e4682a1d1abfc9a247dbe4bc6b66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184187
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2025-04-15 22:40:12 +02:00
Samuel Mehrbrodt 3fa39a4dad tdf#165917 Improve Export directory pre-selection
When calling an Export dialog (PDF, epub, ...) the following
folder will be preselected:

For stored documents:
* Current document directory
* If another directory was chosen for the export,
  that directory will be preselected for subsequent exports
  (stored only during runtime - per document)

For unstored documents:
* The last used export directory is restored (last used in unsaved doc)

Change-Id: I97595d164cf1d3604166c38aa2a5ed31be56f113
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184062
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins
2025-04-12 08:15:55 +02:00
László Németh d0eaf32858 tdf#165984 offapi: document inheritance of end zones
Document inheritance of the previously added paragraph
properties:

com::sun::star::text::ParaHyphenationZoneAlways
com::sun::star::text::ParaHyphenationZoneColumn
com::sun::star::text::ParaHyphenationZonePage
com::sun::star::text::ParaHyphenationZoneSpread

Follow-up to commit 7d384fb1c2
"tdf#165984 sw cui xmloff: add Paragraph/Column/Page/Spread end
zone" (where the new paragraph properties were introduced).

Change-Id: I90e275472e487a566b8e9cbb3fe511ec1e1e7874
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183603
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
2025-04-02 09:44:59 +02:00
László Németh 7d384fb1c2 tdf#165984 sw cui xmloff: add Paragraph/Column/Page/Spread end zone
Add new hyphenation options to adjust hyphenation, like DTP software do
in accordance with typographic requirements:

– Paragraph/Column/Page/Spread end zone spin boxes to Hyphenate Across
  section of Text Flow pane of paragraph settings;

– loext:hyphenation-zone-always, loext:hyphenation-zone-column,
  loext:hyphenation-zone-page and loext:hyphenation-zone-spread
  ODF extensions;

– widorp.cxx, guess.cxx: handle Column/Page/Spread end zones;

– guess.cxx: handle Paragraph end zone (without portions, yet).

According to their typography, languages with long words need better
adjustment of line break of the last full paragraph/column/page/spread
lines, than simply disabling hyphenation by the recent ODF hyphenation-
keep or its equivalent MS Word OOXML extension. DTP software use
paragraph and column/page/spread end zones to adjust the hyphenation
zones in the last lines, for example, setting Column end zone to the
150% percent of the Hyphenation zone, resulting less hyphenation, also
less short words parts at the end of the columns, pages and spreads,
increasing readability.

Note: the default OOXML hyphenation zone 18 pt (or its MS Word variants,
for example 21.25 pt) disables single letter or narrow 2-letter (li-,
fi-, i.e. fi ligature) hyphenations at 12 pt font height. Setting 27 pt
for Column end zone, all 2-letter hyphenation is disabled in last lines
of columns and pages.

Note: textflow.ui needs multiple adjustment definitions for correct work
of the multiple spin boxes.

Change-Id: I37bbb4da30de0ec75eb8636f70d8e16588c56ed1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183565
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2025-04-01 17:52:46 +02:00
Shardul Vikram SinghandMike Kaganski bd1c60bcf2 [API CHANGE] tdf#74580 Add option to skip filter settings dialog
Introduce a new set of setting under org.openoffice.Office.UI/FilePicker
to control whether the settings dialogs of filters always appears. Add an
"Edit Filter Settings" checkbox to the File Open dialog, using the new API
constant FILEOPEN_READONLY_VERSION_FILTEROPTIONS (TemplateDescription.idl)
to show additional controls: "Read Only", "Filter Options", and "Version"
listbox.

Modify the Calc's Text Import filter settings dialog to include an "Always
Show on Import" checkbox.

Co-authored-by: Mike Kaganski <mike.kaganski@collabora.com>

Change-Id: Ic7bea0036ae2db8f8ab223f48499fb0cc8b18425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183055
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-03-28 14:50:32 +01:00
Jonathan Clark 720983ad53 tdf#70102 API cleanup for RTL icon variant code support
Removed an unnecessary DIR_LR_TB enum value.
Added a missing @since annotation.

Change-Id: If27357cb05498abca5a69adcd6e63c25b412f6b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182802
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-03-12 06:45:09 +01:00
Jonathan Clark dcfc32914f tdf#70102 Code support for RTL variants in icon themes
UNO commands may optionally rotate or mirror their icons depending on
context (usually based on writing direction). This approach is an easy
way to provide large numbers of such context-sensitive icons, but
suffers from serious drawbacks in certain cases. For example, icons
which contain asymmetrical symbols or text will be obviously mirrored,
and icon themes which use shading will appear inconsistent next to
non-transformed icons from the same theme.

This code change lets icon themes provide specialized graphics for the
left-right-top-bottom text direction. Such specializations are available
for any command which specifies COMMAND_PROPERTY_MIRROR.

Direction-specialized versions should be placed in the `cmd/rltb`
directory within the icon theme.

Localized specializations may also be nested inside that directory. For
example, icons in `cmd/rltb/en` will be used for English in RTL context.

Change-Id: Ic7a8cf3a6657a171e92123413d1c47e621f1bddd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182761
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-03-11 06:40:33 +01:00
Andrea Gelmini b918d301a8 Removed executable permission on idl file
Change-Id: I093389379b73695ed2b86e4f6b39c909b4ce5e2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182690
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2025-03-09 21:05:01 +01:00
Oliver Specht 554d2769d1 tdf#71583 Add page count of ranges with consecutive page numbering
Adds a field that counts the pages in ranges defined by page number restarts

Change-Id: Ie0727ab20c81464918ad5fb9aa42046bf00aa63c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178141
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-03-08 14:59:16 +01:00
Michael Weghorn a80dec4e7b [API CHANGE] Drop css::drawing::XPresenterHelper
As the interface's documentation says:

    /** This interface is a collection of functions that were necessary to
        implement larger parts of the presenter screen as extension.  The
        methods of this interface give access to services that could only be
        implemented in the Office core, not in an extension.

        <p>As the presenter screen is no extension any more, this hack can go again;
        it just needs clean-up.</p>
    */
    interface XPresenterHelper

Now that all uses of the interface have been replaced
by using the concrete sd::presenter::PresenterHelper
class directly in previous commits (see the
`git log --grep="sd presenter"` output), drop the interface.

Take over method documentation to PresenterHelper.

Now that PresenterHelper no subclasses XPresenterHelper,
further cleanup/simplification is possible in upcoming commits.

Change-Id: Ie7bdad151d28762af1710db896bfaa1026dae65f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182259
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-02-27 07:59:13 +01:00