Age | Commit message (Collapse) | Author |
|
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 7d6696757dcdfa3cee481ac7795a91b2b47da363
"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
|
|
regressioon from
commit 11b15571475414ef853e21a6c96afa2ac81f848f
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Wed Oct 30 09:51:26 2024 +0200
convert KernArray from sal_Int32 to double
Change-Id: I5c9a9d6caa0091f4be1c3307cc842b2ea4662728
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184449
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
since:
commit 5a03d511f46ecc05aab35bb29e714b46f5638b1b
CommitDate: Wed Apr 9 06:47:38 2025 +0200
tdf#130592 i18npool: Fix incorrect line breaking in mixed CJK+Latin
nBreakPos is -1 here, which itself looks dubious, but there is a later
nBreakPos < nMinBreakPos already.
Change-Id: Ie7f10bee19c359c877e454d20ab1a0efbf5b92c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184338
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
found with bin/find-unneeded-includes --fwdecl
Change-Id: Ic021d9a47f9974d20ef011b34f4897847dd2628a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183884
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
|
|
Fixes a bug causing editeng to insert kashida glyphs in positions where
there is not enough space for them. The root cause was failing to
account for the extra space used by blanks while rejecting candidate
kashida positions.
Change-Id: I1e22f758af0a88c2070f31cca040570f3a730c08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184282
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
|
|
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 7d08767b890e723cd502b1c61d250924f695eb98
"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
|
|
Change-Id: I45eedbeeb839279fb469a74a2f8ae1ff3cf32a38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184161
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The base class implementation in
OAccessibleComponentHelper::getAccessibleIndexInParent
already implements the same logic.
Change-Id: I4bd338632c4e440a54470f1294a9e67a0ccb866d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184000
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Use the equivalent base class method
OAccessibleComponentHelper::ensureAlive instead.
Change-Id: I17a87b743d2a7b324cd4ae04cb1b924c676f0195
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183979
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ia7ca4b39dc0917b05326e747820688eeb6c45343
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183978
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... instead of having a separate getter,
AccessibleImageBullet::SetIndexInParent.
Change-Id: Ie0e59f87e12d04efd72aa5663c4a3eb0df9baf21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183829
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Use base class method OAccessibleComponentHelper::NotifyAccessibleEvent
directly instead. That one has the reverse order for the old/new value
params, and no default for the old value, so adjust callers accordingly.
Change-Id: Ib591495c5698832a99cd60854d4ee8aa4a206442
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183828
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Let editeng's AccessibleImageBullet derive from
OAccessibleComponentHelper to make use of the
logic already implemented there instead of having to
implement all the XAccessibleComponent
and XAccessibleEventBroadcaster methods manually.
The existing AccessibleImageBullet::implGetBounds
implementations provide the necessary logic to implement
OAccessibleComponentHelper::implGetBounds, so mark it
as overriding the base class method.
Drop all of the other overrides that are no longer
needed as the implementation is now provided by
the base class.
No change in behavior intended or observed in a quick
test with Impress and Accerciser and the gtk3 VCL plugin
on Linux.
Sample steps to add a bullet item that shows
up in the a11y tree:
1) start Impress
2) Create a new slide (Ctrl+M)
3) type text "Hello world" for the first list item
4) right-click on paragraph to open context menu, select "Bullets and
Numbering"
5) For "Type", select "Graphics"
6) select "Select image..." -> "Gallery" -> "bluearrow"
7) close dialog with "OK" button
Then, start Accerciser, and locate the "Image bullet"
object within LibreOffice's a11y tree.
Change-Id: Iba9d44288be96838e39d7cee2333f7a074deae8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183783
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Modifying a sal_Int64 value won't throw an exception.
Change-Id: Ia5739ecebb839dfcd51c27f35309ad717b505c56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183782
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
* Drop const qualifier, which removes the need to const_cast.
* Don't call AccessibleImageBullet::getAccessibleContext,
but just use `this` directly.
Change-Id: I4949ec624e44b6330a0ca5f71f898f1d17b4bd8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183781
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Instead of letting AccessibleImageBullet dispose
itself in AccessibleImageBullet::SetEditSource when
called with a null edit source, let the AccessibleEditableTextPara
that created the bullet and can therefore be considered the
owner (see AccessibleEditableTextPara::getAccessibleChild) dispose it
again in AccessibleEditableTextPara::dispose.
Also clear `maImageBullet`.
This is similar to
commit 138bc16c9aac04def13843bb9bf6f18075a88c0f
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Apr 3 11:59:51 2025 +0200
editeng a11y: Let para manager dispose its child
Change-Id: I8083b0c9bf304942e9ead446bdeaefeb62ae609f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183780
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ib25bc28adab2e220c4fe3056413a6fac10fcbdc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183779
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Change-Id: I1d2f37499b5b1634141f9023815b0cb5ac1f4f18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183778
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
... to separate it from the VCL-Cursor/LOK logic.
Change-Id: I60f533630e6c55e832d1471c1512d6651107d5a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183310
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
... instead of 6
Change-Id: I27585734069f76d7d535c01760d0bd2085f51051
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183707
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ia6f694a813ad30aadf159db0f75fb1a86e9663dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181676
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
Let editeng's AccessibleEditableTextPara derive from
OAccessibleComponentHelper to make use of the
logic already implemented there instead of having to
implement all the XAccessibleComponent
and XAccessibleEventBroadcaster methods manually.
The existing AccessibleEditableTextPara::getBounds
implementations provide the necessary logic to implement
OAccessibleComponentHelper::implGetBounds,
so rename those accordingly (and drop the extra mutex
guard, as the base class takes care of that).
Drop all of the other overrides that are no longer
needed as the implementation is now provided by
the base class.
No change in behavior intended or observed in a quick
test with text in Impress slides and Accerciser and Orca
when using the gtk3 and qt6 VCL plugins on Linux.
Change-Id: I5cb47eb9c6738f4bd7807cbeef260151437c0862
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183681
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
* Make method non-const, which avoid the need to const_cast.
* Just use `this` directly instead of calling
`getAccessibleContext`, which returns a reference to `this`
again.
This also prepeare for turning AccessibleEditableTextPara
into an OAccessibleComponentHelper subclass in an
upcoming commit.
Change-Id: I74526e47070979ce34e89c165843ca3a5a9b1f60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183680
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Instead of letting AccessibleParaManager dispose
itself in AccessibleEditableTextPara::SetEditSource when
called with a null edit source, let the AccessibleParaManager
that created the paragraph and can therefore be considered the
owner (see AccessibleParaManager::CreateChild) dispose it
again in AccessibleParaManager::Release.
This is consistent with how it also explicitly disposes
all children in AccessibleParaManager::Dispose.
This is the only place that calls AccessibleEditableTextPara::SetEditSource
with a null param, so this change shouldn't change behavior
in any way.
Change-Id: I9d6ec8db69a789c18fd424e680624744b4913798
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183679
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Add a helper method AccessibleEditableTextPara::GetBulletTextLength
instead of duplicating the same logic 6 times in different places.
Change-Id: I8f9fa307fe52c84ca0200126061c5a957c7e02ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183677
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Change-Id: I0bcc4d5ee3c6d9f976688cb25e7b6a3234d78da2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183676
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Use the existing unotools::WeakReference instead of the
custom WeakCppRef template class to hold weak references
to the AccessibleEditableTextPara objects in
AccessibleParaManager.
An AccessibleEditableTextPara forward-declaration is not
sufficient to use
unotools::WeakReference<AccessibleEditableTextPara>, so
re-arrange includes/forward-declarations a bit.
Drop the now unused WeakCppRef.
Change-Id: I54553059a7cb36515109573c5b22d73738b1c46f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183672
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Replace use of the custom WeakCppRef template class
for AccessibleEditableTextPara::maImageBullet by
unotools::WeakReference which provides the
same functionality (a weak reference and access
to the the concrete implementation class).
Change-Id: I333f467caeb4925d718313e679507f45c9c96e00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183671
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Both callers are only interested in the XAccessible
in the returned std::pair, so let the method only
return that instead of the pair.
Drop the now unused AccessibleParaManager::Child typedef.
Change-Id: I2b271de7b3e668be982b01bd183e0c39d47f444d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183670
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This makes more obvious that the child is a
rtl::Reference<AccessibleEditableTextPara> here, which
is otherwise a bit harder to see with all the typedefs etc.
involved.
Change-Id: Id9d0c2457813b7e0fed34b0ce8fe52553ef6a39d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183669
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I27f86a476b6c4c7c90f4c26baff30cc1a525d9b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183663
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I0b036aebb481e3fe45fcad890a7f2227bc734142
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183662
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
AccessibleStaticTextBase::mpThis is only used to
pass it to Exception ctors, so it seems a bit
overkill to have to manage it for that purpose.
Drop it and the corresponding setter
AccessibleStaticTextBase::SetEventSource.
Its doc says that the interface is also used
as the event source for a11y events, but that's
not actually the case.
Also drop ScAccessibleCell::Init which now no
longer needs to override the base class implementation,
ScAccessibleCellBase::Init.
Change-Id: Ide64cf2e59bfb9ae7df41171cc36e1df0c86eb9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183628
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Merge AccessibleStaticTextBase_Impl into
AccessibleStaticTextBase.
Further simplification will be possible in
upcoming commits.
Change-Id: I4f0067c2cf1cb5b2f464b8075bc4a64f44d7babc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183627
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Change-Id: I5f2d99730cfda9490c3fa9fa43242e0d5219ca82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183626
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
So far, "paragraph <number>" and the (start of) the
paragraph text were reported as the accessible description
of the paragraph.
This resulted e.g. in Orca saying something like
"Paragraph 0: Hello world Hello world" when moving cursor
to a paragraph containing the text "Hello world" in Impress,
because both, a11y description and the text reported via the
AtspiText interface were reported.
Drop the a11y description, which is also consistent with Writer
where no description is reported. The
// (writer takes first sentence here, but that's not supported
// from EditEngine)
comment dropped along with this commit looks outdated.
The fact that this is a paragraph is already reported via the
a11y role and the text is reported via the XAccessibleText
interface. (The information which paragraph this is could
be retrieved by checking the children of the paragraph's
parent, so if an AT wanted to report that, it could
implement corresponding logic on the client side.)
Adjust the Impress a11y test originally added in
commit 6185a27db46bf5cba404e669eaf3a1c78f4a8607
Author: Colomban Wendling <cwendling@hypra.fr>
Date: Sun Jul 31 17:20:03 2022 +0200
tdf#150064 Add tests for a11y tree order
Check the tree order is stable across loads and page switches.
accordingly, which included the description in
the expected output, but that's not the purpose
of the test.
Also adjust the sw a11y test
(test::AccessibleTestBase::BasicTestFontworkDialog) accordingly.
Change-Id: Ifbc1a15a976d7488396630c6bc3c9e42ba26ccc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183625
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Only query the XAccessibleContext of the parent
accessible for the XAccessibleComponent interface,
not the XAccessible first and the XAccessibleContext
only as fallback.
As far as I understand it, the XAccessible is only there
to allow retrieving the XAccessibleContext using
XAccessible::getAccessibleContext and all other logic
should be implemented in the class implementing
the XAccessibleContext interface.
That's also what the platform bridges rely on, see
e.g. `getComponent` in vcl/unx/gtk3/a11y/atkcomponent.cxx.
If there's any case where this is handled differently,
that one should likely be adjusted to match the pattern
used everywhere else, too, instead of having special
handling here in AccessibleEditableTextPara.
(In most cases, it's the same class that implements both,
the XAccessible and the XAccessibleContext interface
anyway.)
Change-Id: Ic03c11f8406213f5f44074e39fe867b4e8b93dff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183624
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
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>
|
|
which I found useful in debugging
Change-Id: I28045cbedbba14633a85fa6b4ebc0b8c02f36cc0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183580
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Drop overrides of the XAccessibleExtendedComponent
which just return an empty string.
That is now already implemented in the base class
implementations in OAccessibleComponentHelper, see
Change-Id: I05547b12806a6a90b166edbe196b4bc5a27344be
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Mar 31 13:49:20 2025 +0200
a11y: Merge OAccessible{,Extended}ComponentHelper, add default impl
Change-Id: Ibc3fe295eaa2dc5443ba4f8fa25a81451b7b3765
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183553
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Merge OAccessibleExtendedComponentHelper and
OAccessibleComponentHelper by letting
OAccessibleComponentHelper already implement the
XAccessibleExtendedComponent interface.
Add default implementations for the two
XAccessibleExtendedComponent methods
(XAccessibleExtendedComponent::getToolTipText
and XAccessibleExtendedComponent::getTitledBorderText)
that simply return an empty string.
Replace all uses of XAccessibleExtendedComponent
by OAccessibleComponentHelper.
This simplifies the class hierarchy and prepares
for further simplification in upcoming commits.
Change-Id: I05547b12806a6a90b166edbe196b4bc5a27344be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183551
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Let editeng's AccessibleContextBase derive from
OAccessibleExtendedComponentHelper to make use of the
logic already implemented there instead of having to
implement all the XAccessible(Extended)Component
and XAccessibleEventBroadcaster methods manually.
Adjust the various subclasses accordingly as well.
Make OCommonAccessibleComponent::addAccessibleEventListener
and OCommonAccessibleComponent::removeAccessibleEventListener
no longer final so that AccessibleShape can override them
(to add/remove the listener for the AccessibleTextHelper
object in addition to calling the base class implementation).
The existing XAccessibleComponent::getBounds implementations
provide the necessary logic to implement
OAccessibleExtendedComponentHelper::implGetBounds,
so rename those accordingly (and drop the extra guards,
as the base class takes care of that).
Drop all of the other overrides that are no longer
needed as the implementation is now provided by
the base class.
No change in behavior intended or observed in a quick
test with Impress and Accerciser and Orca when using
the gtk3 and qt6 VCL plugins on Linux.
Change-Id: I7c42a9cac1099991bc5763b87c55ace2b0fed8a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183549
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Leave these 2 methods purely virtual in AccessibleContextBase,
as this depends on subclasses overriding them to function properly.
Change-Id: I52121e18f8bb0c76d8b588a7e09b3cca9f09232d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183544
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
AccessibleContextBase and AccessibleComponentBase
are both subclassed by the exact same classes.
Merge AccessibleComponentBase into AccessibleContextBase
to simplify the class hierarchy.
Drop now unnecessary overrides.
This also aligns AccessibleContext further
with the comphelper::OAccessibleExtendedComponentHelper
class that also implements both, XAccessibleContext
and XAccessibleExtendedComponent, and thus also prepares
for potential refactoring to deduplicate code in those
two classes in the future.
Change-Id: Ia3331f2bd4563bf9cdfee35c9ea6cca91bd093cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183543
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I874a95777aed3471675bf03acfcf05ecfcb4f830
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183531
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression from
commit 11b15571475414ef853e21a6c96afa2ac81f848f
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Wed Oct 30 09:51:26 2024 +0200
convert KernArray from sal_Int32 to double
Change-Id: I9266693fa8d449c3369b65c31fbb4a3d3182777f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183452
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Broken loading of text boxes with relatives sizes is fixed here.
Change-Id: I180850d746aa9e92d0de13b3eb594f3bb754899e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183341
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
|
|
When checking how TextEdit on the Overlay may be doable in Calc
I stumbled about that I initially did that based on Outliner
(svx) for all DrawObjects/Draw/Impress, but it is not accessible
from EditEngine.
Calc again just uses an EditEngine for TextEdit in Cell, so I
checked doability. Quite some stuff has to be changed, basically
instead of unsing IMPL/DECL_LINK I use lambda functions now. The
former callbacks were anyways exclusively used for this and had
no general used case.
Also simplified and cleaned up quite some other stuff, some
member functions could be removed, some helper classes deleted
or simplified/streamlined.
This should do no change to existing decomposes or edit views,
but will make it possible to move in the direction of CellEdit
on the Overlay and also prepares decompositions there to allow
going in the direction of primitive based paints in Calc.
Change-Id: Ia9c4c1129c9579ba4870b091977082e5f0d319f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183388
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins
|
|
cache LocaleDataWrapper because otherwise we spend quite a bit of
time doing function-pointer-symbol lookups.
Change-Id: Ic1bd07dabac95a2e1bdad70cffbc2b4cabdc62ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183221
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
There are two sets of getters there; and the non-const ones may copy
the COW mpImplFont, and may call its AskConfig.
The name overload is unfortunate. It is not obvious at the call site,
which of the two will be called; and what is different. IMO, the way
to fix it would be to keep only one set of getters (the const one),
and make the call to AskConfig explicit (in the places that set font
name, and know that resolution of other properties will be needed).
But in this change, I only rename the non-const getters, making sure
to keep the behavior unchanged (at least the intention is to have a
non-functional change, meaning that the places that called non-const
overload, now use the renamed functions), to make it clear where we
actually may copy and initialize it.
Change-Id: I9a5cd91d5c1c0de7ff8577b9b982d165e4cdd2c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183116
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|