need to react on change of EditViewActive in SdrTextPrimitive2D
decomposition, added that. Only do that in HighContrast mode
to not waste time if not needed.
Change-Id: I7300dfdcf8d51ef4db9ecc67f56c785d45ef44e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188112
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins
Handle the
// TODO after gtk 4.6 is released require that version and drop this
, given that GTK 4.10 is the minimum version since
commit 5bf58785ba
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Jun 21 09:22:07 2024 +0200
gtk4: Require GTK >= 4.10
Change-Id: I14a54b2e6503f7439b20c91e1b72db64b88b0b05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188113
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
...which was introduced in
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=117782e0c2a81a4b8170f87f0fe7190ee22548e2>
"c++: add -Wsfinae-incomplete" and causes warnings like
> In file included from include/vcl/event.hxx:28,
> from libreofficekit/source/gtk/lokdocview.cxx:26:
> include/vcl/outdev.hxx:160:37: error: defining ‘OutputDevice’, which previously failed to be complete in a SFINAE context [-Werror=sfinae-incomplete=]
> 160 | class SAL_WARN_UNUSED VCL_DLLPUBLIC OutputDevice : public virtual VclReferenceBase
> | ^~~~~~~~~~~~
> In file included from include/vcl/vclevent.hxx:24,
> from include/svtools/colorcfg.hxx:29,
> from include/vcl/themecolors.hxx:12,
> from include/vcl/settings.hxx:26,
> from include/vcl/event.hxx:26:
> include/vcl/vclptr.hxx:44:13: note: here. Use ‘-Wsfinae-incomplete=2’ for a diagnostic at that point
> 44 | int (*)[sizeof(T)])
> | ^~~~~~~~~
because
> include/vcl/vclptr.hxx:44:13: error: failed to complete ‘OutputDevice’ in SFINAE context [-Werror=sfinae-incomplete=]
> 44 | int (*)[sizeof(T)])
> | ^~~~~~~~~
> include/vcl/vclptr.hxx: In substitution of ‘template<class T> constexpr bool vcl::detail::isIncompleteOrDerivedFromVclReferenceBase(int (*)[sizeof (T)]) [with T = VirtualDevice]’:
> include/vcl/vclptr.hxx:60:79: required from ‘class VclPtr<VirtualDevice>’
> 60 | vcl::detail::isIncompleteOrDerivedFromVclReferenceBase<reference_type>(
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
> 61 | nullptr),
> | ~~~~~~~~
> include/vcl/outdev.hxx:188:37: required from here
> 188 | VclPtr<VirtualDevice> mpAlphaVDev;
> | ^~~~~~~~~~~
As discussed in the newly added comment in include/vcl/vclptr.hxx, until we can
address this with C++26 reflection, "use a HACK of (globally) ignoring that
warning". (Which required adding a new HAVE_GCC_WSFINAE_INCOMPLETE configure
check.)
Change-Id: Ie1b44e730cf6b6269572158f6bd50e8911c15846
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188115
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
- Replaces ValueSet with IconView widget in the border for presets and shadows.
- Updates the borderpage UI file to support IconView.
- Fix selection action for presets in format cell dialog test
Change-Id: I4a6ef0de2056e21539462c69551293df9a44041b
Signed-off-by: Parth Raiyani <parth.raiyani@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187987
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Tested-by: Jenkins
This adds a 'Insert Hyperlink' entry to the context menu to allow
quick hyperlink creation when some text is selected.
The entry will not be displayed when an already existing link is selected
or when no text is selected at all.
Change-Id: I954c9a3fe417548f9291e82d4504763eb71b998d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188106
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
and render to a combined color+alpha bitmap
The strategy is to remove the mpAlphaVDev from OutputDevice,
and have the OutputDevice create 32-bit SalBitmap's
and then have the various backends correctly render to
those 32-bit bitmaps.
However, whenever we extract a BitmapEx from OutputDevice
(e.g. via VirtualDevice) and hand it to the rest of the
system, we split the color and alpha information.
So the rest of the codebase doesn't have to deal with
this yet.
We have some major problems to overcome here:
(*) Cairo uses 32-bit data, even if we ask for 24-bit color with no alpha.
This is because the current version of cairo does not support RGB 24-bit data.
(*) Sometimes we want the bitmap to be initialised with an opaque white background,
sometimes we want it to be transparent.
(*) Sometimes when we extract a bitmap from a device, we want the alpha channel,
sometimes not.
(*) There are lots of left-over bits of previous attempts of this change lying around,
e.g. in skia.
Notes
(*) we allow Bitmap (ie. SalBitmap) to hold color+alpha
(*) The BitmapEx(Bitmap) constructor checks if the incoming
Bitmap is color+alpha, and if so, splits into a color bitmap and an alpha bitmap
(*) Because the underlying image data is stored pre-multipled, if
we write a transparent pixel with color, and then read the pixel value back,
we might lose the color information.
Change-Id: I0fc0042d6e5be5edd99b320892fb00a8eb2842fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173937
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
For some reason, STANDARD_DB_DATE was 1900-01-01, which differs from
the most used epoch of 1899-12-30 (see e.g. the default initializer
of ImpSvNumberformatScan). This was triggering tdf#167591, where the
correction added two days of the difference to the date entered into
the default value box.
I couldn't find how/if this value could get exposed to API; so let's
try to standardise it a bit.
Change-Id: I9207cbe3a5a91ca63f3f97792da0c5ad2931ffa8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188092
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
The correction is needed to adjust a date in the data source's epoch
to the epoch used by the control (and its formatter). These epochs
may differ.
The problem was, that when sDefault has a date string like "20/07/25"
or "2025-07-20", the conversion from that string to double using the
control's formatter already created the value in the required epoch;
and the correction broke the value.
Fix that by checking if the string was really a date string, and so
the correction should be skipped.
Change-Id: Ia1ba2b1b5dc88d66d524ff03fecc028f7ebf3336
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188091
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
css::util::NumberFormat is a bitset; css::util::NumberFormat::DATE is 2,
and css::util::NumberFormat::DATETIME is 6; so it doesn't make sense to
check the latter after checking the former.
Change-Id: I1fd968cae2678dc9244594faeb8f9164a714ef7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188090
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
- Adds a new PDFViewSelection option to tell LibreOffice NOT to include
hyperlinks to external files/URLs in the generated PDF document.
- New option can be used both through CLI and through a new radio button in GUI.
Known limitations: when this option is used it prevents LibreOffice from generating
link annotations in the generated PDF file.
But it does not prevent that some PDF viewers may still transform anything that
looks like an URL in the document text to a link automatically, even when there
is no explicit link in the PDF file at all.
(If that is undesired, check the settings of your PDF client to see if
that can be changed. E.g. if you intend to serve the generated PDF through
a web application to end-users, an option would be to use the pdf.js
Javascript based PDF viewer that has an "enableAutoLinking: false" option)
Change-Id: I264f85f7adb38a748f292badd6c5aac60fbd9957
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187800
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
Not all objects implement XServiceInfo. Any query must either be
UNO_QUERY_THROW, or check its result after UNO_QUERY.
Change-Id: I8b1d7c719c4a43a4d658957ad5a91181dc265186
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188080
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
GNU make's dir guarantees trailing slash. With these extra slashes,
I see this when running UITests on Windows:
C:/lo/build/workdir/UITest/calc_tests8//soffice.out.log: <<<
cat: 'C:/lo/build/workdir/UITest/calc_tests8//soffice.out.log': No such file or directory
>>>
Change-Id: Iee51a8efe654c083da6361d5789774755be79641
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188081
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
and just have a single pool for the EditEngine machinery.
I cannot find a reason for a separat pool anymore, probably
it was a thing from the distant past.
This also shaves 5% off the load time of tdf#162126 because
we no longer have to spend losts of time re-creating SfxItemSets
because they belong to different pools.
Change-Id: I837045809dc292548b10e2cf5173d2a29b0879a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187969
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Convert the accelerators between the Qt and VCL
version as needed.
Otherwise, the text for the first GtkFrame/QGroupBox
in the "Go to Sheet" dialog newly supported since
Change-Id: I8fe3383f5857d25ee08db84be681ecb39dea4d3c
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Jul 18 18:20:33 2025 +0200
tdf#130857 qt weld: Support Calc "Go to Sheet" dialog
is shown as literal "~Type a Sheet Name".
Change-Id: I8da60c15eb1ea1748c7a96a66b5b2cdfed3d3602
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188050
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This means that native Qt widgets are used for that dialog
now when using the qt5 or qt6 VCL plugin and starting LO with
environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set.
To trigger the dialog:
* start Calc
* insert a few more sheets
* "Sheet" -> "Navigate" -> "Go to Sheet"
Change-Id: I8fe3383f5857d25ee08db84be681ecb39dea4d3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188049
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This ensures that the corresponding a11y relation
is set and e.g. the Orca screen reader announces
the associated label when the "Number of copies"
spin button or the "Include" combobox (for even/odd pages)
receive focus.
Change-Id: Id2399c87cf934d16addabd34ebf503baaf21121f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188039
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Convert the accelerators between the Qt and VCL
version as needed.
In a WIP branch declaring support for the print dialog,
this makes the correct text show up instead of a literal
"~All Pages" for a radio button and "Page ba~ckground"
for a checkbox.
Change-Id: Ic73af5e654b00b4e6dae1d561465604c8e9b46c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188038
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
...so that functionality is available there, too. (And by breaking the code out
into its own file, give the function a more self-explanatory name than the
original "initUno".)
Change-Id: Ic65fbd98447574d881c4e7827a2cfeb67d3ff1fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188040
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
Default logic was accidentally inverted in
commit 1988a527d4
correct that here too:
the old key was not set by default to "alwaysoff" value
so the correct default value to assume here is "false"
Change-Id: I6da52586be8ee3d2ba8e3132e4b9e50ae8d4ff83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188021
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>