...with a new Module.catchUnoException JS function that can be used in a JS
catch block to provide the thrown UNO exception as an Any. (For a non-C++
exception, it rethrows the exception, and for a non-UNO C++ exception it maps it
to css.uno.RuntimeException.)
The implementation reuses parts of bridges/source/cpp_uno/gcc3_wasm/, which have
been moved to a new StaticLibrary_emscriptencxxabi.
Change-Id: I708fe6121c43a1b9736de5dff449f6c4f32a45f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169325
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Set accessible names for the items in the "Borders"
control in the Calc Sidebar, "Properties" deck, section
"Cell Appearance". Use the same text as is used for the tooltip.
With this in place, Orca now announces what each item
is about when using the gtk3 VCL plugin, instead of just saying
"Button".
Move the gla11y suppressions to the .false file, as they
have been dealt with now, see doc at [1].
[1] https://wiki.documentfoundation.org/Development/Accessibility
Change-Id: Id1856e4b116acad9bf6d14132bc6d9c91a01ae06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169321
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Add API to set the accessible name of toolbar items
and implement it for the VCL, gtk3 and gtk4 implementations.
This will be used in an upcoming commit to set a11y names
for the border items in Calc's sidebar.
Change-Id: I958390d8736da8f1281f91586cacbefb5975e229
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169320
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Export the bugdoc to PDF, the orange "date" lost its font color.
This went wrong in commit 82d90529dc (sw
content controls, rich text: add initial PDF export, 2022-09-12), we
export the content control as a PDF form widget by default since then.
Various properties like checkbox status and dropdown items were handled
already, but not text color.
Fix the problem by mapping the SwFont color to the widget descriptor
color, this fixes the color of the already filled in content of the
widget.
Note that given this is a property of the form widget, the color is
correctly applied also to strings filled in via PDF readers, interacting
with the form.
Change-Id: Id3e8611e415c0d571afe1cd14561c97b8a910ce9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169317
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
XMATCH functions.
Introduce a value "3" for parameter Match_mode for Regular Expression mode
in XMATCH and XLOOKUP, to seperate the original Match_mode value "2",
which was used for both, Wildcard and Regular Expression mode as well.
Note: "The ODF TC will follow that in the specification of these functions and
at the same time specify, that the host dependent properties HOST-USE-REGULAR-EXPRESSIONS
and HOST-USE-WILDCARDS (file format table:use-regular-expressions and table:use-wildcards)
will be ignored by these functions."
https://issues.oasis-open.org/browse/OFFICE-4154
Also Microsoft Office will introduce this new value for Match_mode in XLOOKUP and XMATCH:
https://insider.microsoft365.com/en-us/blog/new-regular-expression-regex-functions-in-excel
Follow-up commit: 0ca20dca33
(Related: tdf#127293 Add unit test for xlookup regex search mode)
Change-Id: Ibcbfa4cf227ab9a9d317d94c1bab8254b1f91822
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169275
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Tested-by: Jenkins
The method itself clears its own guard; the caller still holding the
guard results in hangs seen in some Java code.
See also commit e2bfc34d14 (Reimplement
OleComponentNative_Impl to use IGlobalInterfaceTablem 2024-03-11).
Change-Id: Ib22e71e7500ccceb946f7b1d6606f8f61ae2afe8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169315
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
<https://github.com/emscripten-core/emscripten/>
system/lib/libcxxabi/src/cxa_exception.h has two different definitions of that
struct, a short one for when __USING_EMSCRIPTEN_EXCEPTIONS__ is defined, and a
long one for the other case. In 7175431a4b
"Implement exception catching", I had naively copied the short version, assuming
that __USING_EMSCRIPTEN_EXCEPTIONS__ was something that sounded like it would be
defined with --enable-wasm-exceptions. But some debugging of actual exception
handling now showed that the assumption had apparently been wrong (though I
still have no idea about the semantics of that __USING_EMSCRIPTEN_EXCEPTIONS__
define, and when it would or would not be defined), and that I had copied the
wrong version.
The relevant test code
> try {
> const ret = invoke.invoke('throwRuntimeException', params, outparamindex, outparam);
> console.assert(false);
> ret.delete();
> } catch (e) {
> const [type, message] = getExceptionMessage(e);
> console.assert(type === 'com::sun:⭐:reflection::InvocationTargetException');
> console.assert(message === undefined); //TODO
> //TODO: inspect wrapped css.uno.RuntimeException
> decrementExceptionRefcount(e);
> }
in unotest/source/embindtest/embindtest.js had apparently happened to not cause a
crash with the wrong version of __cxxabiv1::__cxa_exception, but had also
happened to not detect the mistake due to the relevant parts being commented out
with TODO (because, in turn, proper UNO exception catching is still lacking in
our Embind-based JS binding).
Change-Id: I718087c7ed2c17808696267ece17237d5cdf2f54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169305
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
OUStringToNSString() returns an autoreleased NSString so it
needs to be retained for the life of maOfficeOnlyTypes.
Change-Id: Ic3777f818b7cada8e88e97965531fc0a7f2e825c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169284
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
...after 4eb9cde4db "libxslt: uprade to 1.1.41",
> external/libxslt/ExternalPackage_libxslt.mk:28: *** file workdir_for_build/UnpackedTarball/libxslt/libexslt/.libs/libexslt.so.0.8.21 does not exist in the tarball. Stop.
at least during an Emscripten cross-build
Change-Id: I7fcde7f8708fba68d5d9b751420e402c5da41f3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169280
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
First a DAVException with DAV_HTTP_CONNECT is thrown, then it's
converted to USC_CONNECTION_TIMED_OUT, then that is converted to
DAVException with DAV_HTTP_TIMEOUT, a bit misleading.
Change-Id: Ie5089d67d363f57eaa9e1ed057b36adb41e846d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169277
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
exit early in DelBookmarks if the redlines are not in the range we need
to fix
(Second attempt at landing this)
Change-Id: I371623ad5840e56bc4ed80565befc7b26e3f5e08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169270
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Update translations from branch 'master'
to 755fc723ca53063e9481f8ca26b14e6b00d46d38
- update translations for 24-8/master
and force-fix errors using pocheck
Change-Id: If076c515de168ad573ccd927faf405d15c6dff34
.uno:CopyDelete copies the cell and deletes the content,
assigned to shift+ctrl+X
Misses to block the command while in edit mode, see tdf#161712
Change-Id: I479008b0484ef8ced86b709a0dc2bdbfa6c44cb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169266
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Align the implementation of the now function in basic with the now function in calc to include the also nanoseconds. The precision is limited to milliseconds to avoid comparision inaccuracies.
Change-Id: Ia85b653898f5849f67a171749725faab976b2a8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168706
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
When the page is duplicated we need to clone all SdrObjects and
with that also all the annotations contained in the SdrObjects.
The annotations must also be added to the page, so that we can
find them quickly.
Previously we only cloned the annotations and relied that the
SdrObjects would be automagically be created, but as the SdrObject
are also cloned this creates a mess with duplicated objects with
annotatins for the wrong page or annotation objects with missing
annotation.
Change-Id: I4bf53e4bd387fad9b0a8e4f43edd57c3d0fd34cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169256
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
(cherry picked from commit c3281e071526f7efa9b7646a993476fc3f6ff8db)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169260
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* Update translations from branch 'master'
to cf2e53f45d2727aa4c1b587362eb2e5f1a83f498
- Updated Slovenian translation
Change-Id: Ifd238155fe7ef5bd93520acb24c0c4f7ad659313
If new view is created using createViewWithOptions API call
we pass language of that view. We do a setup of that language
in SfxLokHelper::setViewLanguage but it was only set inside
ViewShell.
Unfortunately just after we create the view we call setView which
later checks if comphelper::LibreOfficeKit::getLanguageTag()
has matching value with ViewShell field.
It was showing warning in the logs:
warn:lok:31748:31654:sfx2/source/view/lokhelper.cxx:206: LANGUAGE mismatch at setView! ... old (wrong) lang:de new lang:fr
Let's check if the view we try to modify is the current one and
in that case synchronize value we can get using global
comphelper::LibreOfficeKit function.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Icddfda003522dda661066c4d1c43ca1dec9e5c55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169107
(cherry picked from commit 800d8580ec8d99f5c610727a9d53ab143019c014)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169144
Tested-by: Jenkins
Copy a single world from the Impress bugdoc to Writer, number of
paragraph styles increase from 126 to 221, while only +0 or +1 are
expected.
It seems the problem is that the editeng doc of the shape refers to all
styles of the masterpage and we write the style table before the
content, so we export all styles to be on the safe side.
Fix the problem by iterating the paragraphs of the selection in the
"copy" (not "export") case, assuming that typically the selection
doesn't refer to all available styles in the document, and the number of
paragraphs in a shape is not a large amount.
An alternative would be to limit the style import on the RTF reading
side, but not producing those not needed styles in the first place looks
superior.
Change-Id: I43e4c542e530ff6422357a28399718e89fdbabe9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169251
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
The `m_pChildWindow` is created in the lines
above if not set before, so there's no need to check
whether it's set. Assert instead.
Change-Id: I1058897bc423b24be0f92c4dcc59c18801da45bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169243
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Set accessible name for the button to open the popup
to select a border style.
This is announced by Orca with the gtk3 VCL plugin
when the button gets focused as expected.
Setting accessible names for the items in the
popup still remains to be done, s.a. discussion
in pending Gerrit change [1] that's related.
(If that gets merged, setting a11y names should
probably be done in C++ code, not the corresponding
.ui file.)
[1] https://gerrit.libreoffice.org/c/core/+/169052
Change-Id: I200e160e64735e8701866428bf51e8b955dcc930
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169188
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
No longer update the menu for the menu button
in the sidebar in the handler that gets called
when the button gets clicked, but continually
keep the menu up to date instead.
This ensures that the menu is up-to-date when
it gets shown. Updating the menu in the button handler
is too late since
commit f075fa01cb
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Aug 22 10:26:32 2023 +0200
tdf#141101 tdf#101886 a11y: Restore previous focus on col/line popup close
, as the handler is now no more called before the menu
gets shown.
Do the update in method `TabBar::UpdateMenus` instead
and call that one whenever items change or the
sidebar gets docked/undocked, as menu entries
are shown for the items and for (un)docking.
This makes the menu show all entries again
when opened the first time after starting Writer,
which was no longer the case after the
above-mentioned commmit.
Change-Id: I9a7e341e88d2de5f34e8f85ebada3ff2ebf6b47d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169196
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Notify listeners using an `VclEventId::WindowToggleFloating`
event when the floating mode was toggled in
`DockingWindow::SetFloatingMode`.
This will be used in upcoming commit
Change-Id: I9a7e341e88d2de5f34e8f85ebada3ff2ebf6b47d
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Jun 18 13:41:03 2024 +0200
tdf#159835 sfx2: Keep sidebar menu up to date
to react to that toggling.
Change-Id: I5286ab727c30d4dd4bbc3cf5d42f19ff649b39f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169195
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>