Comparison can fail for the same object due to UNO multiple inheritance.
Fixes warnings like:
warn:legacy.osl:1662530:1662530:forms/source/helper/windowstateguard.cxx:184: WindowStateGuard_Impl::disposing: where does this come from?
Change-Id: I89de2832f61927dd8a6ee1762b3363a9cfe3a923
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200062
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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: I5b23b02151c75bb49831a2bbf8d515eb0b54415e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199068
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
these were skipped in previous runs, since they contain some code behind #if
After inspecting these, it seems like the removals should not cause trouble.
This also shaves off some 140M input
Change-Id: Ie1f57174dd6fec3ba5b0b91eb0688acdc1a8143d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197494
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[q-w]*
This shaves off about 100M input
Change-Id: Ib4d0af44b383d34d856a9797fe70a974b359402f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196398
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
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>
Replace by operator[], begin() and end(), which don't have overhead
since commit 2484de6728 (Remove non-
const Sequence::begin()/end() in internal code, 2021-10-15)
and commit fb3c04bd19 (Drop non-const
Sequence::operator[] in internal code, 2021-11-05).
Change-Id: I221470b3439bb0dc6e7705b0d99deb3cd2063484
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195176
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Added the following commands:
.uno:StartPara
.uno:EndPara
.uno:CommonAlignStart
.uno:CommandAlignEnd
Currently, the Start/End align commands use the same icons as the
Left/Right align commands, respectively, but they are mirrored
automatically in RTL context to reflect the appearance of the text.
Unique icons may be added in a future commit.
Change-Id: I0fbf7039d2bc20e025af3d30c775f270354e5aca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194125
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
After recent commit 851fb75779
recheck these directories in include/ again
to test drive the new --headersfwd mode of bin/find-unneeded-includes
Change-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192377
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
At least IWYU 0.24 no longer gives a warning if sal/types.h
is included only for the css alias
Few other places were excluded because an enum type used some
base type from sal/types.h
Now there is no false warning about those instances either, so drop them too
Change-Id: Ib2fac8fe2c7022c28194514e828c773385217ddd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191564
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
This value is only used for dates comparison inside ODateTimeType;
_getValue is used in OValueLimitedType_Base::_validate to comnpare
to minimal and maximal cached values, and the latter are set using
normalizeValue. The choice of null date is ~random, and in theory,
we could just normalize using Date::GetAsNormalizedDays(), but the
null date close enough to the actual dates has an upside of keepng
enough precision for time part - so just use the most used epoch,
which gives an optimized GetAsNormalizedDays, and hence, a faster
operator-.
Change-Id: I35723373107b2786633c7ddb3cfb82a7dcc4deaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190827
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
It is unused. ISO8601parseDate would either return false (and then
the function would throw), or it would use a different default and
result of parsing the string. The initializer here was confusing.
Change-Id: Ia44d0755262382fa94aefe0e8c183ba3785b5fe5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190773
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
since Bitmap can handle transparency now.
Drop some code - we no longer have images with palettes and transparency
Change-Id: I480765e0e402e67485a53c660e1179a9d7c5b153
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190282
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
To insert a default value, ODatabaseForm gets its value from column
properties, and passes to XColumnUpdate. The problem appeared when
the default was a localized date string, like "20/07/25".
The string was set as the value of a ORowSetValue; then, when its
value was requested, its getDate() called DBTypeConversion::toDate,
which only handles ISO date strings. But for correct conversion, not
only the string is needed, but also its format key. This information
is already lost at that point. The conversion failed, and the result
date was invalid, somewhere in the beginning of CE.
Try to overcome this problem by converting the default value from
date string to date(time) where all the information is available.
Change-Id: I73e96e433895da18cbf6145ffc26b16fa4844452
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188093
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
At EditEngine, ImpEditEngine, Outliner, OutlinerView
and EditView. Changed to more explaining names. Checked
parameters.
Change-Id: Iccf8ce82d2772cbd769269014e920739a11bece2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187483
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins
While accessibility logic for vcl::Window and subclasses
was previously split between vcl::Window and
VCLXWindow, vcl::Window now takes care of everything
to create an XAccessible without involving VCLXWindow
now after
Change-Id: I25de1ab0f8b47b12346abd01bad05cb54fb75f52
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon May 26 09:45:11 2025 +0200
vcl a11y: Let vcl::Window create accessible directly, drop a11y factory
(and previous changes for vcl::Window subclasses).
Therefore, drop the remaining a11y logic from
VCLXWindow.
No longer let it implement the XAccessible and
XEventListener interfaces.
The latter was only implemented to clear the
reference to the accessible context in
VCLXWindow::disposing, but VCLXWindow now no longer
holds such a reference with this commit in place.
Drop calls to (the now nonexistent) VCLXWindow::disposing
in subclasses (and drop overrides now only calling
base class methods from another subclass).
vcl::Window::dispose already takes care of disposing the
window's XAccessible, so disposing the XAccessibleContext
in VCLXWindow::dispose is no more needed.
(VCLXAccessibleComponent implements both, the XAccessible
and XAccessibleContext interfaces.)
Change-Id: Ided896abdc84cfbbf883621020169699a37cf6df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185844
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Implemented the ODF 1.0 style:script-type text property. This property
can be used by documents to influence which script type-dependent
attributes are used when rendering certain characters.
This implementation uses the following semantics:
- If unset, the behavior is as it was in previous versions.
- If set to latin, asian, or complex, those characters not mapped by the
ODF standard to a script type are treated as latin, asian, or complex,
respectively.
- If set to ignore, all characters will be treated as latin. This value
is intended to be used for interoperability with file formats that
don't implement script types (e.g. HTML).
Change-Id: If81a1390ee455fd971dea655d161d9c3f44fd08a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186309
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
...warning about non-overriding virtual dtors in final classes. Every single
one of these might or might not be suspicious (e.g., in some cases it might be
better to have a virtual dtor in a derived-from class). Also, for some of the
virtual dtors, making them non-virtual then caused
> error: unnecessary user-declared destructor [loplugin:unnecessaryoverride]
so those were removed completely.
Change-Id: If0ee71645a347d6096b65988c56f627c42fe54b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185223
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
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
found by a little plugin I created.
Plugin parked into store/ folder because it needs hand-holding
when run.
Change-Id: I2b4da7378f0becbc5f020ac9e78cd765aa0119b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181768
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Avoid accessing invalid index -1 if OUStringBuffer aBuffer is empty.
It cannot be guaranteed that callers will always pass strings that
result in aBuffer being non-empty.
Change-Id: Ied9abf753bcaf2bd1ee618b2431fa35b0bdb5573
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180856
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins