Age | Commit message (Collapse) | Author |
|
Change-Id: Ic236de610c956c81f7eb8b0c27cee0b0ed6910ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159055
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Set those states that Gtk handles as `GtkAccessibleState`,
see documentation at [1].
For the LO a11y states, the Gtk 4 a11y API differentiates
between three different enums/ways of handling those:
* `AccessibleProperty`, for which handling was added in the
previous commit, Change-Id Ic033e66dd89021defca449bbe2251102bbd61015,
"gtk4 a11y: Map states to corresponding gtk a11y properties"
* `GtkAccessibleState`, for which this commit implements
the handling
* `GtkAccessiblePlatformState`, for which handling
was implemented in `lo_accessible_get_platform_state` in
commit 341ff232aec77c2b46325389da933315613b6f2d
Author: Caolán McNamara <caolanm@redhat.com>
Date: Mon Mar 20 20:37:15 2023 +0000
gtk4: get a11y to say hello world
already.
[1] https://docs.gtk.org/gtk4/enum.AccessibleState.html
Change-Id: If22725dc2ccab5f73518e4171209a80a9c4df6d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159006
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
For those states in
`com::sun::star::accessibility::AccessibleStateType::EDITABLE`
that have a corresponding `GTK_ACCESSIBLE_PROPERTY_*`, set
that property when creating a new `LoAccessible`.
This e.g. makes Accerciser show the "multiline" and "multi selectable"
AT-SPI states for a Writer paragraph when using the gtk4 VCL plugin.
State updates are not handled yet, since a11y event handling is
currently not implemented in the gtk4 VCL plugin yet.
Change-Id: Ic033e66dd89021defca449bbe2251102bbd61015
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159005
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
`QAccessible::State` has a `checkStateMixed` state flag [1]
that matches what `AccessibleStateType::INDETERMINATE` is for,
and Qt's AT-SPI adapter maps that to the AT-SPI equivalent,
`ATSPI_STATE_INDETERMINATE`, so add the corresponding
mapping.
[1] https://doc.qt.io/qt-6/qaccessible-state.html
[2] https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/accessible/linux/qspi_constant_mappings.cpp?id=c5d9e4a7a78b82ed31e5225c169de4718dfe4f05#n41
Change-Id: Ic16f50344040f3d4ff7ad4ef0002abf5a7ae3dcc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159004
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The Qt API doesn't have a separate role to distinguish password edits
from other text edits, but has a `passwordEdit` state.
Set that state for objects that have role
`AccessibleRole::PASSWORD_TEXT`.
With this in place, password entries,
e.g. the one in the "Tools" -> "Options" -> "Security"
-> "Password for Web Connections" -> "Master Password" dialog,
are exposed via the `ATSPI_ROLE_PASSWORD_TEXT` role with the
qt6 VCL plugin on Linux, because Qt's AT-SPI adapter takes
the `passwordEdit` state into account when mapping the
Qt a11y roles to AT-SPI ones. [1]
[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/accessible/linux/atspiadaptor.cpp?id=c5d9e4a7a78b82ed31e5225c169de4718dfe4f05#n1637
Change-Id: Icb3f0935e703e2786c5704007cad7eea9070f8a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158987
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This is in line with what the `GtkPasswordEntry` doc [1]
says:
> `GtkPasswordEntry` uses the `GTK_ACCESSIBLE_ROLE_TEXT_BOX` role.
Note however, that gtk's AT-SPI bridge has specific code to map
that to AT-SPI's `ATSPI_ROLE_PASSWORD_TEXT` for `GtkPasswordEntry` [2],
which won't apply for any custom LO widgets.
Currently, LO uses `GtkEntry` for password entries for gtk4
as well, e.g. the one in the "Tools" -> "Options" -> "Security"
-> "Password for Web Connections" -> "Master Password" dialog,
so those currently have an AT-SPI role of
`ATSPI_ROLE_TEXT` for gtk4, while it is
`ATSPI_ROLE_PASSWORD_TEXT` for gtk3.
(That's independent of this change, since a native `GtkEntry` is
used there. Changing this to use `GtkPasswordEntry` instead of
`GtkEntry` for the gtk4 case should cause that to use
`ATSPI_ROLE_PASSWORD_TEXT` as well.)
[1] https://docs.gtk.org/gtk4/class.PasswordEntry.html#accessibility
[2] https://gitlab.gnome.org/GNOME/gtk/-/blob/fe4b7a5159e8cc3e4918ad1829d71ff39edd5ba7/gtk/a11y/gtkatspiutils.c#L308-310
Change-Id: Iec6c8685f017b565553fbc63b4403484be20ed1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158984
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
After
commit 14e6a810e14e28ab82fe65d66e604ce562016845
Date: Mon Aug 15 13:14:08 2022 +0100
fix "invalid class cast from 'OOoAtkObj' to 'GtkWidgetAccessible'"
, Orca with the gtk3 VCL plugin was no longer announcing focus
(and content) for the "Not in dictionary" text edit in Writer's
spelling dialog ("Tools" -> "Spelling") when moving the focus
there e.g. using the Tab key.
Make it work again by restoring the `focus_event` function
from `AtkObject`, similar to how
commit f0827c392641b45647241b3a22e24a95e2b595e3
Date: Fri Aug 19 16:13:04 2022 +0100
Resolves: tdf#150496 we want the AtkObject get_parent function
GtkAccessible overrode it, but we expect the AtkObject implementation
did for the `get_parent` function to fix the announcement
of Writer paragraphs after the above-mentioned commit.
The other functions that `gtk_widget_accessible_class_init`
overrides [1] are already explicitly set to the wrapper
ones (s. the lines above the ones added in this commit), so
don't need additional changes.
[1] https://gitlab.gnome.org/GNOME/gtk/-/blob/c47425c62efb99be8cd2f0eea651dda76a99ba04/gtk/a11y/gtkwidgetaccessible.c#L542-557
Change-Id: Iae3b47f7fa7fe5ca90acb045a077cf0af52dd7fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158990
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
It was fixed only on Wayland previously.
Follow-up to commit 15cdee0d846854b50dd04626b73499bef9305e00
"Resolves: tdf#152155 use gtk's knowledge of relative widget positions".
Change-Id: I7a8b17189b319146142a2193ec4b5ec41e2c2d27
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159020
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
using a poly clip is better than using XOR, so make this the
default.
Change-Id: I48bb6b5d617b8b6dc82760277d72a50a2123ae0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158957
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is the second attempt to force a flush after scrolling.
Commit 9c0803edd1f42b2d29115674795c7c674fea1a35 worked on
Mac Silicon but not Mac Intel.
So, instead of calling [NSApp currentEvent] to determine if
scrolling has occurred, mark the AquaSalFrame whenever a
scrollwheel or mouse drag event is dispatched so the frame
will be flushed in the next AquaSalFrame::Flush() call.
Change-Id: I2d0b99d2cd1167e92c7fd89bf53b2f30ab85a165
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159003
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
- with this, once a LOK client dispatches .uno:InsertFrame, we don't
open two dialogs (one tunelled, one jsdialog)
- all the tabpages were already allowed as jsdialogs, the tabpages don't
open any unwanted file picker (hyperlink browse button, area -> image
-> import button)
- switching to async means we can't work with the original SfxRequest
(which is no longer there by the time the callback is invoked), but
057eca05f23d9d15465e591bd0da671735d62d50 (sc: convert optimal
width/height and normal width/height dialog to async, 2022-04-12) shows
we can re-create the SfxRequest after the fact, do the same here
- similar problem with SwFlyFrameAttrMgr, but looks like the
SwFlyFrameAttrMgr before launching the dialog doesn't share state with
the SwFlyFrameAttrMgr after the dialog is gone, so work with two
instances here
Change-Id: I97aad336b613d105f380012f8c79e92d89c583ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158978
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
While commit 9c0803edd1f42b2d29115674795c7c674fea1a35 fixed tdf#155266
on Mac Silicon, it didn't fix that bug on Mac Intel.
Change-Id: I4dc9eb3a5da319a0c8f58bcdea5abfc3e4ec4a0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158997
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Uses NSLevelIndicator to render LevelBar control on macOS.
Closely follows the existing implementation for ControlType::Progress
Change-Id: Ibd38e172b8b6297e6322cfe9d5a1b0a6ef0f0656
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158504
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Change-Id: I2ab54966c8a8b5e5a15f78481330365725b6ef30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158073
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ie94ce7c75ab96b8f7186f9f0c455dfa3a9f1683f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158072
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ifced331b65e27a02d9a3b3e220e22c279c6fc496
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158071
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Delaying flushing until the dispatch level returns to zero causes
scrolling via the scrollwheel or mouse drag to appear laggy and
jerky.
Change-Id: Ib70e7766435baa765dd0d1d704ba2fac87f7fccc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158853
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
I can't explain why inverting using Skia causes this bug on
macOS but not other platforms. My guess is that Skia on macOS
is sharing some data when different SkiaSalBitmap instances
are created from the same OutputDevice. So, mark this
SkiaSalBitmap instance's image as immutable so that successive
inversions are done with buffered bitmap data instead of Skia.
Change-Id: I8acf90561c48edba14a5f43d16f375f15f25820c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158880
Reviewed-by: Patrick Luby <plubius@neooffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Change-Id: Ib4e4deb5f7e332a7ef3a9231e993231068c21c4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158885
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
There seems to be no reason why SE child OBJR dictionaries are separate
objects, they could just be inline.
Change-Id: I9e4fcdf56d9b7454325f9d3ef7ba55bdc090f948
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158838
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
Handling for `NSAccessibilityMisspelledTextAttribute` and the newer
`NSAccessibilityMarkedMisspelledTextAttribute` [1] has been added in
commit db0fa92637a1b2edf26da9917c9dce050ebc8a78
Author: Boris Dušek <me@dusek.me>
Date: Sun Aug 11 16:37:48 2013 +0200
fdo#67980 - VoiceOver does not inform about misspelled text
and VoiceOver announces misspelled Writer text as such, so drop the
obsolete TODO.
[1] https://developer.apple.com/documentation/appkit/nsaccessibilitymarkedmisspelledtextattribute
Change-Id: Id8ae1ee660e87c06ac7f559b5cdf1b31e22aef90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158840
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ica75be2fa238fdf2a40e274f1175710923b281e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156468
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
when we drop them from our own font list, that way we don't get
suggestions for glyph fallback which we can't satisfy
Also prefer our application fonts to system fonts when they
share the same version number where they should be the same, but
more than once we have a system-side font with oddities.
Change-Id: I90bd3311e0f37bacd60d20e1c1a6769b551b8b76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158841
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Several problems here:
* As with fields, there may be selection rectangles with no text
* SwRootFrame::CalcFrameRects() adds flys that are anchored in the
selection to the selection
* A fly text portion causes Link annotations to split, but not Link SE
* If a fly only partially overlaps a line vertically, then
CalcFrameRects() produces a full-width half-height rectangle and
another 2 half-width half-height rectangles on both sides.
This is useless, the rectangles must be full line height.
Add some code in CalcFrameRects() to use the fly portions in the
SwParaPortion instead of the fly frame areas.
Change-Id: I93f0c12a5e5a3d5f51fcc4b33052a112e9174863
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158576
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
If there is a fly overlapping a paragraph, it may happen (depending on
wrap settings and position) that there's an empty space on one side of
the fly; the cursor selection region has the flys removed, and this
region is used here for the PDF export.
So there is a rectangle on the text on one side of the fly, turned into
the desired Link annotation, and another rectangle on the other side of
the fly, turned into another undesired Link annotation that isn't
connected to any SE because without text there is no SE.
This is a tricky problem, and the only idea to fix it is to try to see
if there is text in the rectangle by first GetModelPositionForViewPoint()
resulting in a SwPosition and a SwSpecialPos with an index inside the
field; then see if GetCharRect() for this position returns a cursor
rectangle that intersects the original selection rectangle.
Change-Id: I6918eac16690e7194208a828108bfa968d28d12a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158571
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: Iec2c344df9eb1fa61bb04355c3eee38499edcdac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158422
Tested-by: Jenkins
Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de>
|
|
When the a11y object is not expandable, also don't
report a true/false value for the expanded state on
macOS.
Otherwise, the CrossOver screen reader on macOS
will explicitly announce "collapsed" for these
objects, e.g. when moving focus between paragraphs
in Writer (as reported on the a11y mailing list [1])
or between toolbar butons, since
`isAccessibilityExpanded` gets called and
returns false, so it is assumed that this
is an expandable item that is currently
not expanded, i.e. it is collapsed.
Quoting from the NSAccessibilityProtocol doc [2]:
> You can control which accessor methods the assistive app can
> use by overriding isAccessibilitySelectorAllowed(_:).
> Return true if the assistive app can call the selector;
> otherwise, return false."
[1] https://listarchives.libreoffice.org/global/accessibility/msg01068.html
[2] https://developer.apple.com/documentation/appkit/nsaccessibilityprotocol:
Change-Id: Iac9027a598e5793d6bd0da79212d7b07448a4c34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158733
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I33fe8afcbba1d461bee98c92507c878e4e5d41d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158756
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I31aa7f683e8d9f9a227ba88c58e7fdba94c83bb5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158725
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
It already has 109 tests
Change-Id: Ic16c5ee68f020c2ee1662354786fb82aada62e0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158667
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
this went wrong in
commit d97e0458914991214e3d396273862855aff66234
Date: Mon Oct 1 03:09:35 2018 +0200
vcl: no raw pointers
where
rJobData.SetDriverDataLen()
was dropped
in favour of using using nDriverDataLen, but missed replacing an interleaved
GetDriverDataLen() with nDriverDataLen
Change-Id: Iebc9145865fa4ec985bc2feed754c775d77011b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158671
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I63c8d4f30a1558e3f1cee72cc5d4ba1426409912
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158635
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Introduces LevelBar that shares implementation with
Progress(Bar).
LevelBar is to be as a level indicator, e.g. password strength
level. Currently with native backends for gtk and Windows.
Currently, except on gtk - the colors of the bar at different
levels are hardcoded and not dependent on any kind of themeing.
On Windows it follows the styling of progress bar of type "Meter"
according to the uxguide:
https://learn.microsoft.com/en-us/windows/win32/uxguide/progress-bars#meters
Change-Id: Id772cda23615e9582463bf589e4674fd4588c864
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157826
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
CPPUNIT_TEST_FIXTURE is easier to write tests for and separate if needed
Change-Id: I2c478205847e4d15c0f8d65d498dd8d82079fa5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158616
Tested-by: Jenkins
Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
|
|
For ImplJobSetup. Also, check memcmp mem size more properly
Change-Id: Idcf20bf1b51bc2508f3d37e018efd18e591a6099
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/26648
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
The size of W_META_EOF (record indicates the end of the WMF metafile)
could be different than 3 (e.g. 6).
The MS Office is allowing different sizes of EOF,
and just properly finalizine parsing WMF file, and display its content.
Original bug report:
https://bz.apache.org/ooo/show_bug.cgi?id=42090
Change-Id: I21b72615c7f45fdca145e6240c6451d7d264d238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153204
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
|
|
spotted by mkaganski
Change-Id: If009be48a10ee5c7066a19b969212d10b9f6a83c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158607
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which the old parser didn't support
Change-Id: I63e426f57e893b13dd800f4af1ed4b50751dbb2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158600
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Iea16260cd152e1c495e7713ada812265dbb5b702
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158598
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Do not return the alpha mask if it is awaiting pending scaling.
Pending scaling has not yet been done at this point since the
scaling is done in the code following this block.
Change-Id: I995d7f7eca4190f0a8b2094928bd92f718f1d5bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158599
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
In previous implementation, there was no proper validation
of the records, by it's size.
This commit adds validation of the WMF records.
It would allow to interrupt reading, if wrong record found
and play only records until it it correct.
It will allow to mimic the behaviour of MS Office:
If the wrong record is detected, the image is displayed till the wrong record.
Currently in LibreOffice, if wrong record is found whole read is interrupted.
Change-Id: I0c82deabcec7a416ca44540e693822f1986437eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153351
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
|
|
... after commit 9b5a00d2281bebaac5fccfde17de6ca5134fc229.
It passes a sanity check:
for (sal_uInt16 nGrey1 = 0; nGrey1 < 256; ++nGrey1)
{
for (sal_uInt16 nGrey2 = 0; nGrey2 < 256; ++nGrey2)
{
const sal_uInt8 n1 = static_cast<sal_uInt8>(
255 - ((255 - nGrey1) + (255 - nGrey2) - (255 - nGrey1) * (255 - nGrey2) / 255));
const sal_uInt8 n2 = static_cast<sal_uInt8>(nGrey1 * nGrey2 / 255);
CPPUNIT_ASSERT_EQUAL(n1, n2);
}
}
Change-Id: Ib4b4e700a50027fb502767d72843b271f993f9c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158582
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
A block quote role exists in all of WAI-ARIA 1.3
(role "blockquote", [1]), IAccessible2
(`IA2_ROLE_BLOCK_QUOTE`, [2]) and AT-SPI
(`ROLE_BLOCK_QUOTE`, [3]).
Take over the definition that is the same in WAI-ARIA
and IAccessible2:
> A section of content that is quoted from another source.
The intended use for now is for a Writer paragraph using
the "Block Quotation" paragraph style, similar to how the
HEADING role is used for paragraphs using a corresponding
paragraph style.
For gtk3 (ATK) and winaccessibility (IAccessible2),
map the new role to the equivalant roles.
For macOS and the gtk4 as well as the Qt-based VCL plugins
on Linux which currently don't have an equivalent role,
fall back to the same role that the PARAGRAPH role is
mapped to.
This way, the behavior there will remain unchanged
once the BLOCK_QUOTE role is used for Writer paragraphs
with the corresponding style.
In general, treat BLOCK_QUOTE like PARAGRAPH
in code applying special handling for the PARAGRAPH
role.
[1] https://w3c.github.io/aria/#blockquote
[2] https://github.com/LinuxA11y/IAccessible2/blob/3d8c7f0b833453f761ded6b12d8be431507bfe0b/api/AccessibleRole.idl#L318
[3] https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/7cc4cee53ddbd22631fd110f0e5ce045dec2e411/xml/Accessible.xml#L615-616
Change-Id: I248c183a2e7ec5d6f0a89bf3cb4829bbd8588c77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158573
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Most of these have a direct match in Gtk, the others
are fairly similar.
Helpful:
https: //w3c.github.io/core-aam/#mapping_role
Change-Id: I1575943dc44b6c41a54d35eaef0e8afdf64d1bc3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158566
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
...as enabled by default now in recent Clang 18 trunk
Change-Id: I59f9bbdf2ce064f170df01e6d7ec2341884ab5e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158563
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
with lots of images, we seem to spend lots of time calculating
CRC. Replace the vcl checksum/CRC with rtl_crc32 in sal/, which
forwards to the zlib implementation, which has all kinds of
nice SIMD code for performance.
Change-Id: I295e2ee91b3450fa558b06e67aac0fbb20b85f52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158529
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression from
commit 81994cb2b8b32453a92bcb011830fcb884f22ff3
Author: Noel Grandin <noelgrandin@gmail.com>
Date: Fri Apr 16 20:33:10 2021 +0200
Convert internal vcl bitmap formats transparency->alpha (II)
Change-Id: I5cefa51c96d412f43f73277b590fd861397eb1a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158526
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Implement the `GtkAccessibleRange` range interface [1]
added in gtk 4.10, which is bridged to the AT-SPI Value
interface on Linux inside gtk.
Also set the related properties to their values retrieved
from the `XAccessibleValue` interface. (Those already
existed before gtk 4.10.)
The GType handling for implementing the interface only
if the `XAccessibleContext` of the underlying LO a11y
object implements `XAccessibleValue` is mostly copied
over from the gtk3 a11y implementation
(in vcl/unx/gtk3/a11y/atkwrapper.cxx) and adapted
a bit.
Let `lo_accessible_range_set_current_value` always return
true independent of whether the given value was actually
set, since LibreOffice (together with Accerciser) otherwise
crashes due to no proper DBus reply being sent, when
trying to set a new value via AT-SPI API, s.a. [2] and [3].
When setting a new value, take the type of the current
value into account, as done for gtk3 in
commit a0b7b47e3ec843d8012a7526c1e8e72d67cc41b1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Oct 24 12:29:54 2023 +0200
gtk3 a11y: Take current type into account when setting new value
With this change in place, the AT-SPI Value interface
is now shown as available for a checkbox form control
in a Writer doc when selecting the corresponding a11y
object in Accerciser's tree view of the LO a11y hierarchy.
When changing the value via Accerciser, the checkbox in
LibreOffice gets (un)checked as expected. (Setting the
value to 1.0 causes the checkbox to be checked, 0.0 to
become unchecked.).
The initial values (current value, min and max value)
are set properly. However, when querying the current
value after changing it, the initial value is still
returned. This likely needs to be addressed by
bridging the corresponding `AccessibleEventId::VALUE_CHANGED`
event to Gtk/AT-SPI by calling
`gtk_accessible_update_property` with the new value.
However, there's currently no implementation for
handling a11y events in the gtk4 VCL plugin yet, so
leave that for later.
More interfaces to expose more functionality
to the a11y layer will likely be implemented in
upcoming gtk versions (like an interface for Text [4])
and bridging those should presumably be possible in a
similar way.
[1] https://docs.gtk.org/gtk4/iface.AccessibleRange.html
[2] https://gitlab.gnome.org/GNOME/gtk/-/issues/6150
[3] https://gitlab.gnome.org/GNOME/gtk/-/commit/0dbd2bd09eff8c9233e45338a05daf2a835529ab
[4] https://gitlab.gnome.org/GNOME/gtk/-/issues/5912
Change-Id: I84136fd80361d21cf4f79ab17118bb14079ab785
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158556
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I8ebc2473884ad991a704c7e0955f262bccbf6dec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158528
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ib514607ad56b965c33439ad548ec90d516acfcf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158345
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
(cherry picked from commit 9e2da48ec3dbe541ff52f6d69f98afb57afaac3e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158443
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|