In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses.
By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when one class changes.
By now, only weld::Button is left in weld.hxx.
Rename the header to Button.hxx.
Drop weld.hxx includes and instead add Button.hxx
includes (or weld::Button forward declarations) where
weld::Button is used.
(Don't simply replace all weld.hxx includes with
Button.hxx ones, since many of them were for the
use of other widgets that have since been moved
to their own headers.)
Add further includes where needed now that the
(direct or transitive) includes of weld.hxx were removed.
Change-Id: I8ea6201446a418d5e38b46337059dcd517ee29d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205937
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.
Change-Id: If7cb4403f1861c465f44a1cae4065b0bf8dfad48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205323
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
When saving as PPSX (PowerPoint Show), the export always wrote the
content type as presentationml.presentation.main+xml (PPTX) instead
of presentationml.slideshow.main+xml (PPSX). This caused:
- Impress not auto-playing its own PPSX files on re-open
- PowerPoint rejecting PPSX files created by Impress
- Re-saved PPSX files from other apps losing their autoplay ability
Propagate the STARTPRESENTATION filter flag through the export chain
(FilterBase -> PowerPointImport -> PowerPointExport) and use it to
select the correct slideshow content type, following the same pattern
already used for template export.
Change-Id: Idcf6222d3855c587d0dabffe3a345c9ef2bfdcf2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199884
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204105
Tested-by: Jenkins
And not truncate it to an integer value.
Add additional overload for attribute that takes an enumerated type, otherwise
the compiler will complain about ambiguous conversion because it cannot
choose between the attribute that takes a integral value and the one that
takes a double value.
Change-Id: I9eae22817ec3b26da7b9468d1c8b5e6f3e900538
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201193
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
Add UnoApiTest::disposeAndLoadFromURL for tests where
we need to close the current document and open a new one
Change-Id: Ia9419d0743f4a1c22d8c4d8b91bc168cd43533d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198966
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
it allows to simplify the code a bit since the
TestFilter is passed as the first parameter.
In preparation for a follow-up commit
Change-Id: I316c88e1583dc7d9b04876883b971bdfa54e8967
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198588
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Helps to reliably restore the correct previous value of a setting:
in many cases, the old restoration code used hardcoded values, which
could get out of sync with current defaults. Also, makes the code
easier to read.
Change-Id: Ia60b4e42192009c16bdbe58c540980c13626d5d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198479
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
This patch primarily allows exporting as an DOCM file
without forcing compatibilityMode = 12 (2007)
Other than that, I don't think there will be any other impact
(although that simple fact has lots of layout implications).
With this patch, the Word 2010-365 (macro-enabled) filter
will be the default for:
- --convert-to (command line) docm
- GUI (save-as) docm
- LOKit download as docm
- TestFilter::DOCM unit tests
Change-Id: Iabc9820096a100774157996b54e325c76d2440c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196789
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
This patch primarily allows exporting as an XLSM file
without forcing lowestEdited = 4 (2007)
Other than that, I don't think there will be any other impact
(and at this point we don't even know of lowestEdited impacts).
With this patch, the Excel 2010-365 (macro-enabled) filter
will be the default for:
- --convert-to (command line) xlsm
- GUI (save-as) xlsm
- LOKit download as xlsm
- TestFilter::XLSM unit tests
Change-Id: I5c5fac221b6a454a98df9034f59aba0a7d97880d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196788
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
This is in preparation of moving code out of weld.hxx
to separate headers/source files, in order to make it
easier to keep an overview and to avoid having to
recompile ~all UI code when anything changes.
Also move weldutils.cxx to a new vcl/source/weld
directory.
Change-Id: Ia75b42f21e560dd248307282a522f186a64cd742
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195777
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Fixup various pieces from 3431c1ee1be1bd33638ffe5ff2e340a692bed9dc
prematurely merged to master with fewer adaptations.
Change-Id: Ib4a430d6d7c32f662a4b3e4f056cea1b11b3ca74
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192012
Tested-by: Jenkins
Let test::AccessibleTestBase::getWindowAccessible
return an OAccessible and drop
test::AccessibleTestBase::getWindowAccessibleContext,
as OAccessible implements the XAccessibleContext
interface as well.
Change-Id: I50308897a1539521f09fae0b13a56813077c7cc4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188635
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Word and Powerpoint store data internal to the chart in .docx and .pptx
formats, respectively. In chartex this uses the <cx:chartData> and <cx:data>
tags, and unlike in pre-2016 charts, is at the chartSpace level rather than
internal to individual series. Provide support for these tags and data
structures.
Note that this does not yet allow .docx and .pptx files with chartex
contents to round-trip successfully (MSO -> LO -> MSO). Additional work
remains needed for this.
Change-Id: I1e91cd0e014787ce19303a906ff76cd6c7c4b0fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187426
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
Port this Java a11y test to C++.
This mostly ports the existing logic from
Java to C++ and switches to the existing
helpers for testing the XAccessible* interfaces.
Change-Id: Ib39b2d301b98896a5ce29cd90c56c0d97e8cb892
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186679
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
So far, the XAccessibleEventBroadcasterTester logic was
to modify a vcl::Window to generate a11y events for it
that the XAccessibleEventBroadcaster would receive.
Change this to allow passing a function to the ctor that
is responsible for generating accessible events, to
allow using this class for other scenarios in the future as
well.
Move the vcl::Window-specific logic to a new subclass
WindowXAccessibleEventBroadcaster.
Change-Id: I36cd49d40e68127d2d98a6b5c151b1e32c29dd92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186678
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Similar to how e.g. XAccessibleContextTester tests
the methods of the XAccessibleContext interface, this
one tests the methods of the XAccessibleText interface.
The logic in this C++ version is in general based on the Java
implementation in
qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java.
This will be used to port the AccessibleFixedTest
Java test to C++ one in an upcoming commit.
Tests that don't test common expectations for all XAccessibleText
implementations but depend on further conditions (like particular
text content, see the tests in the Java version that check whether
or not this is the "SmGraphicAccessible" or "AccessibleStatusBarItem"
test) are not included in the C++ version.
If considered relevant, I think it makes more sense to include those
specific tests in the test suite for the particular classes for which
the corresponding behavior is expected.
In XAccessibleTextTester::testGetCharacterBounds, don't
fail if the character bounds are outside of the
component, but just produce output, as the Java
version (in _XAccessibleText._getSelectedText) does.
Change-Id: Iec0c6a7413181b2f6ea28fdbbf6c0f2d9792fac8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186677
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
... instead of the toolkit counterpart, XWindow.
This allows to use this also for vcl::Window
based tests, without having to involve
the UNO abstraction.
Adjust AccessibleStatusBarTest accordingly to pass the
vcl::Window associated with the XWindow.
To run the test:
make CppunitTest_toolkit_a11y
Change-Id: Iee77f293338f269a2ad7c631384d5e3797b06152
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186200
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
See commit messsage of
Change-Id: Id81ab5f90955ecc600e179164b5f9c7a771182d1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed May 21 11:03:56 2025 +0200
sw a11y test: Don't rely on XWindow being XAccessible
for more background.
Extract a new helper from the existing
test::AccessibleTestBase::getWindowAccessibleContext
that returns only the XAccessible and use that one
to avoid duplication.
Change-Id: I0f3db88a4754f3ce8de5b02e0a0e41ac9cac9ac2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185602
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Similar to how e.g. XAccessibleContextTester tests
the methods of the XAccessibleContext interface, this
one tests the methods of the XAccessibleAction interface.
This C++ version is similar to what the Java implementation in
qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java
does.
XAccessibleActionTester::testGetAccessibleActionDescription is
more strict in that it also requires that the action description
is non-empty.
This will be used to replace the existing AccessibleDropDownListBox
Java test with a C++ one in an upcoming commit.
Change-Id: I41e9fe2fb5011cd8f33dbfc2494b04f4833c43cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182983
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Move the XAccessibleEventBroadcasterTester and
XAccessibleExtendedComponentTester classes from toolkit to test,
so they can be reused for a11y tests in other modules.
Change-Id: I33e9ee43b9652e6cefcea2ee3264114109f8d9f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182982
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Move the XAccessibleComponentTester and XAccessibleContextTester
classes from toolkit to test, so they can be reused for a11y tests
in other modules.
Change-Id: I9a4bb3f96d92b05d58a5e8afe7f86b5eb2fd0c38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182967
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins