summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2023-09-24Drop some newly obsolete __GNUC__ version checksStephan Bergmann
...after 6ef2d358ac053ce0f6de9cf0f8f25e8bae66d441 "Adapt Clang and GCC minimum version checks" Change-Id: I5f3bcda2ce8e0e093af3bdd9d2cca741a5b95306 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157202 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-09-24Fix typoAndrea Gelmini
Change-Id: I88c3e9f36c38bd31cd78871d5e86c607ebb39211 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157209 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-09-24tdf#156539 Draw the gradient with polypolygonal clip when using SkiaPatrick Luby
For some unkown reason, the previous "draw gradient with XOR, draw polygon with N0, and draw gradient again with XOR" does not work with Skia/Raster (at least on macOS). Fortunately, Skia supports polypolygonal clipping so just clip and draw the gradient. Change-Id: Id069160312a270096f5ec9c670615eb95ec6200b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157199 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-09-23Revert partly "Use less epoxy external headers dependency"Julien Nabet
Following these errors: [LNK] Library/libdeployment.so ld.lld: error: undefined symbol: epoxy_glBindRenderbuffer >>> referenced by gtkinst.cxx:2081 (vcl/unx/gtk4/../gtk3/gtkinst.cxx:2081) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk4/gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:2082 (vcl/unx/gtk4/../gtk3/gtkinst.cxx:2082) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk4/gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:1925 (vcl/unx/gtk4/../gtk3/gtkinst.cxx:1925) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk4/gtkinst.o:((anonymous namespace)::GtkOpenGLContext::adjustToNewSize()) >>> referenced 5 more times ld.lld: error: undefined symbol: epoxy_glBindFramebufferEXT >>> referenced by gtkinst.cxx:2083 (vcl/unx/gtk4/../gtk3/gtkinst.cxx:2083) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk4/gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:2061 (vcl/unx/gtk4/../gtk3/gtkinst.cxx:2061) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk4/gtkinst.o:((anonymous namespace)::GtkOpenGLContext::restoreDefaultFramebuffer()) >>> referenced by gtkinst.cxx:1929 (vcl/unx/gtk4/../gtk3/gtkinst.cxx:1929) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk4/gtkinst.o:((anonymous namespace)::GtkOpenGLContext::adjustToNewSize()) >>> referenced 2 more times ld.lld: error: undefined symbol: epoxy_glBindRenderbuffer >>> referenced by gtkinst.cxx:2081 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2081) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:2082 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2082) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:1925 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:1925) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::adjustToNewSize()) >>> referenced 5 more times ld.lld: error: undefined symbol: epoxy_glBindFramebufferEXT >>> referenced by gtkinst.cxx:2083 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2083) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:2061 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2061) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::restoreDefaultFramebuffer()) >>> referenced by gtkinst.cxx:1929 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:1929) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::adjustToNewSize()) >>> referenced 2 more times ld.lld: error: undefined symbol: epoxy_glFramebufferRenderbufferEXT >>> referenced by gtkinst.cxx:2084 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2084) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:2086 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2086) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::makeCurrent()) >>> referenced by gtkinst.cxx:2062 (vcl/unx/gtk3_kde5/../gtk3/gtkinst.cxx:2062) >>> /home/julien/lo/libreoffice/workdir/CxxObject/vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst.o:((anonymous namespace)::GtkOpenGLContext::restoreDefaultFramebuffer()) >>> referenced 6 more times Change-Id: Iaba2323e294aba74a74d3ac98679143a68bbd53a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157180 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-23tdf#152675 treat all cairo versions <= 1.17.8 the sameCaolán McNamara
wrt unwanted sideeffects of CAIRO_HINT_METRICS_OFF seen in https://gitlab.freedesktop.org/cairo/cairo/-/issues/643 and https://bugs.documentfoundation.org/show_bug.cgi?id=152675 Change-Id: Ib3f43fd3832083f1768b737e3a5fb28063c0ae23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157177 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-23tdf#105303: Drop html export wizardXisco Fauli
Done during the conference hackfest Change-Id: I765e6dc839a98038c4071c8444ce3db9293c8a6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157173 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-09-23Use less epoxy external headers dependencyGabor Kelemen
Change-Id: If5d4e5a65a0fcea6bd67cdba48742f6aaec0811d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156556 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-09-23tdf#157168 GtkSpinButton ignores out-of-range value instead of limitingCaolán McNamara
(to range) Change-Id: Ib25276ccea18b45756ac2769cb00cb9d7db0c400 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157174 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-22tdf#143148: Use pragma once instead of include guardsCosmin Humeniuc
Change-Id: I800806bc45f8eb9d99a49697fe6142cf93c0f322 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157153 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-09-22tdf#157312 Don't change priorityPatrick Luby
Instances of this class are constructed with TaskPriority::POST_PAINT, but then it was set to TaskPriority::HIGHEST when reused. Flushing seems to be expensive (at least with Skia/Metal) so keep the existing priority when reused. Change-Id: Ieb40cd6122f543f76e66456cc92a8643e2320d73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157162 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-09-22tdf#143148: Use pragma once instead of include guardsBogdan Buzea
Change-Id: I3f0c0b4e9004c45e8f1d12065a322b7a91b09150 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157152 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-09-20tdf#156842 increase scale for external PDF dataPatrick Luby
For some unknown reason, the scale is 8 times larger than for non-external PDF XObjects. This fix also allows the CppunitTest_vcl_pdfexport to run successfully on macOS. Change-Id: I166914e6ac575c50985efba3fb7a38ec758dea1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157090 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-09-20Remove duplicated includesAndrea Gelmini
Change-Id: Ia76c2a83f5c5e0ea31260dace7bd32763eb4d0e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157035 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-09-19jsdialog: enable chart trend line tabSzymon Kłos
Change-Id: I89bae89a703fbd3ac07fc4e23659b092402e8a71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157050 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2023-09-19The name is macOS since 2016Andras Timar
Change-Id: I9f2011e1f9619652b4ed417f135451d8ccfe90bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157033 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-09-18jsdialog: vertical notebookSzymon Kłos
Change-Id: I584509bfd3d367c8b1c4183c8d176ba7b7ad0cfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155755 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Attila Szűcs <attila.szucs@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157027 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2023-09-18Move SalInstanceVerticalNotebook decl to headerSzymon Kłos
Change-Id: I38c7ed846c8a19f72f5738bd137cefebd6a33070 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157026 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2023-09-18a11y: Call base class impl at beginning of Edit::GetFocusMichael Weghorn
Call the base class implementation `Control::GetFocus()` (which currently is just `Window::GetFocus`) before doing anything else, not at the end. This ensures that a focused event is sent to the a11y layer before e.g. adapting text selection. Assistive tooling handles the currently focused object with special interest (and announces events on that object much more likely than for any other objects). This e.g. makes Orca announce the labels for the spinboxes (like "Width", "Height", "Left", "Right") in Writer's "Format" -> "Page Style" dialog -> "Page" page when using the qt6 VCL plugin. Previously, only the current value of the spinboxes was announced without the label when moving focus into one of them using the Tab key. The following 2 Orca commits [1] [2] in the LibreOffice-specific Orca code look related: commit c4c5d11656ec7221e4aa4b980e51c010dcc62674 Author: Joanmarie Diggs <jdiggs@igalia.com> Date: Mon Aug 7 13:53:41 2017 -0400 Work around event-ordering issue in LibreOffice commit 38b995d9bacc55bb455c4464b01c82b885ed5549 Author: Joanmarie Diggs <jdiggs@igalia.com> Date: Fri Feb 15 09:40:07 2019 -0500 Don't present locusOfFocus changes due to text-selection-changed events (The first one makes the object sending a text-selection-changed event the focus object in Orca, the second one then causes this implicit focus object to no longer be announced. And when LO itself sends the focused event for the object, the object is already considered as the focus object, i.e. not announced either because the assumption is that the focus hasn't changed.) If the new event order causes any issues elsewhere because other places depend on the previous order, that will have to be looked into individually, s.a. the discussion in the Gerrit change for some thoughts on that [3]. [1] https://gitlab.gnome.org/GNOME/orca/-/commit/c4c5d11656ec7221e4aa4b980e51c010dcc62674 [2] https://gitlab.gnome.org/GNOME/orca/-/commit/38b995d9bacc55bb455c4464b01c82b885ed5549 [3] https://gerrit.libreoffice.org/c/core/+/156679 Change-Id: Ib0188fe206a49c9052ec9694bafd451586ff0b9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156679 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-09-15Make svptest VCL example build on all platformsHossein
Previously, svptest VCL example was not built on all paltforms. Now, svptest is built on Windows and elsewhere. To run, one can invoke: ./bin/run svptest Change-Id: I915a4ef9748e2248d2d209969d1fef079ee06cff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156972 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2023-09-14nFrames can't be trusted to believe nSequence existsCaolán McNamara
Change-Id: Id4745487c97ce89fcf149676c15a974e40ee0eb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156925 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-14ofz#62352 Null-dereference READCaolán McNamara
Change-Id: Ibf8aa63a6d63809b361902b853dabd8ff0944503 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156924 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-13loplugin:unusedmethodsNoel Grandin
Change-Id: I00f228451574ca9f9e352d233c7f326c88e90a95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156892 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-13tdf#90341 Clean up excessive const_cast'ingsahil
Change-Id: I5e3cc14ed75309d0569a4bad710e7adea007329f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156807 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-09-12tdf#149545: increase svg check sizeXisco Fauli
otherwise it will fail to open documents like the one in tdf#149545 with long comments before "<svg" Change-Id: Ia46dad92052ae4ef7fee791098bf96df03257282 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156844 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-09-12add a unit test for AlphaMask::BlendWithNoel Grandin
Change-Id: Id4602470292d0ba66601c5d2446a06df7e4b508b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156851 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-12attempt to fix macos jenkins hangs - part 3Patrick Luby
oox::xls::WorkbookFragment::finalizeImport() calls AquaSalInstance::DoYield() with bWait set to true. But since unit tests generally have no expected user generated events, we can end up blocking and waiting forever so don't block and wait when running unit tests. Change-Id: I14cfdb88f04b82f49e8c15e554e5c4b4053e77b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156826 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-09-12ofz#62155 skip line with negative widthCaolán McNamara
Change-Id: I5549ac15a179051f6fb02786c53469479b0a2e67 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156839 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-12tdf#156890 SalInstanceTreeView: Indent the entry context bitmapJim Raykowski
when the bitmap is too large to center without it touching the expand button Change-Id: If4e307ed50eff9bdebe6c377847283ae2eea9543 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156787 Tested-by: Jenkins Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-09-11gbWatchdogFiring, replace 'volatile bool' with std::atomic<bool>Noel Grandin
this can be touched from different threads, so atomic is a better tool than volatile. Change-Id: I7304eb50cf565efc4322871e56d21eb4128c4a8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156821 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-11ITEM: Diverse further changes/cleanups/preparationArmin Le Grand (allotropia)
Added a counter for SfxItemSet usages, similar to the already added one for SfxPoolItems to allow quick info about evtl. problems/drawbacks of changes. Replaced enum SfxItemKind in favour of settable boolean flags directly at SfxPoolItem. These are organized as bitfield, do not need more space as the enum and allow to be set separately and multiple ones at the same time. Flags for PoolDefault/StaticDefault/DeleteOnIdle use this now and are quickly accessible booleans. It is not a problem that theoretically the flags for PoolDefault/StaticDefault could now both be set - this is internal to SfxItem stuff and not accessible from normal code, so can be managed. Added for debug build a bitfield boolean m_bDeleted that will be set in the SfxPoolItem destructor. Of course it's usability will depend on the freed space not yet being re-used, but will hopefully help in the debugger to detect reasons for failure (would have helped at least me before). Added for replacement of virtual method IsVoidItem() another bitfield bool m_bIsVoidItem that is set in the constructors of SfxVoidItem. Also had to add some constructors to do that which were defaulted before. This is mainly because the base class SfxPoolItem does *not* have a copy-constructor that copies the members (flags/RefCnt/WhichID) and we should keep that 'indirect reset' when Cloning. isVoidItem() is now a simple boolean member access - the bitfield does the needed masking. This spares one entry in the virtual function table of SfxPoolItem which is derived more than 500 times. Used the results of the experiment at https://gerrit.libreoffice.org/c/core/+/156774 to change some accesses to IsVoidItem() to use SfxItemState instead. This is for preparation of splitting up the two usages of SfxVoidItems, see commit text in the experiment. If this shows problems in the future those six places documented there may have to be changed back to use the new isVoidItem(), but should also check the ptr this time to be non-zero. Removed SFX_ITEMS_SPECIAL that is no more used anywhere. Change-Id: Ib687ca2362d72a4651c75aee0c67029088f68947 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156805 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-09-10attempt to fix macos jenkins hangs - part 2Patrick Luby
Commit a1174a5f1e312ebb98c3941d35287a8ffcb368e9 attempts to fix sporadic blocking and waiting when fetching a native event so use the same fix in AquaSalInstance::AnyInput() just to be safe. Change-Id: I1505b6089f11be825bd13e0219a305159dfc324f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156803 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-09-10using decls should come after #includeNoel Grandin
Change-Id: I058551e87bca42adede860f6f299b0f7ae2af3b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156798 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-10attempt to fix macos jenkins hangsNoel Grandin
I see sporadic hangs, and the backtrace indicates that the process is locked up inside _nextEventMatchingEventMask. Try an alternative formulation of this method. Change-Id: Id8d7631bb0421cfb3c91a673ea14c0fe458c6f28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156794 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-10FontIdentificator does not need to implement XAggreggationNoel Grandin
Checked on jenkins using 'make check' and +void SAL_CALL setDelegator(css::uno::Reference<css::uno::XInterface> const &) final { assert(false); } Change-Id: I13d3d34e202718894a50deb9dfa40041bdc5d25c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156771 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-08add SAL_WARN to UIObjectUnoObj::getChildNoel Grandin
to help track down an intermittent UITest failure on jenkins, which would otherwise assert inside the UIObjectUnoObj constructor Change-Id: I1b06c1eef5fe3402857b7a300decd48488ec621c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156698 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-07increase max_len for fodt2pdffuzzer furtherCaolán McNamara
Change-Id: I517fe5c9a3168cbaea670e0ead6d1f9588f588a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156664 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-07qt a11y: Forward CHILD event for removed childMichael Weghorn
No longer comment out the code to send a `QAccessible::ObjectDestroyed` event when receiving an `AccessibleEventId::CHILD` event with its `OldValue` set. The underlying issues causing crashes previously seem to be fixed, I can no longer reproduce these on Debian testing with Orca 44.1-2 when using the font color popup as described in commit 734d10ed3612d75edcee145475ddd0b0165efeac Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Apr 14 16:57:09 2023 +0300 qt a11y: Send QAccessible::ObjectCreated event for correct object > Adapting this for the case where a child has > been removed (bridged to Qt as `QAccessible::ObjectDestroyed` > event) would currently results in crashes when closing the > application e.g. after using the character font color popup in > the Writer toolbar. This needs further investigation, so don't > send the event for now, but add a `SAL_WARN`. Change-Id: Ib8f21850dd56645cf64a74be0e1ff8242615b928 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156647 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-09-07tdf#157112: fix off-by-one error in /LastChar of PDF Type 3 fontsKhaled Hosny
It should be the index of the last glyph in the subset, so nGlyphs - 1. Change-Id: I62853a27b602d7b3e6b6265555542dd417438fcc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156630 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-09-05tdf#114441 - Convert use of sal_uLong to better integer typessahil
Updated scrolling related variables to double from sal_uLong Change-Id: Ibf4bb3d55b074b5d2e369e4bc708b87bdfa302b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155644 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2023-09-04tdf#138792: PDF export: export metadata dc:formatSarper Akdemir
Export application/pdf MIMEType in dc:format Change-Id: I7cb658c869898df3a9436937329b4082843338bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156507 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-04tdf#138792: PDF export: add batch of dublin core attributesSarper Akdemir
Adds support for exporting, editing in the UI and storage in ODF for the dublin core attributes listed below. Contributor (http://purl.org/dc/elements/1.1/contributor) Coverage (http://purl.org/dc/elements/1.1/coverage) Identifier (http://purl.org/dc/elements/1.1/identifier) Publisher (http://purl.org/dc/elements/1.1/publisher) Relation (http://purl.org/dc/elements/1.1/relation) Rights (http://purl.org/dc/elements/1.1/rights) Source (http://purl.org/dc/elements/1.1/source) Type (http://purl.org/dc/elements/1.1/type) Introduces XDocumentProperties2 to extend XDocumentProperties interface. Change-Id: Ie2e0b1fbbbd00b66aef477ba1bf4e4f61c03a3b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156330 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-04tdf#138792: PDF export: export metadata pdf:PDFVersionSarper Akdemir
Adds export of pdf:PDFVersion metadata. Change-Id: Ic4c3eec3672839d0d125b64dfca6149912cd2458 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156329 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-04tdf#138792: PDF export: export metadata xmp:ModifyDate, xmp:MetadataDateSarper Akdemir
Export metadata xmp:ModifyDate & xmp:MetadataDate - populate both with the same information as CreateDate. Change-Id: I391a72cbe4e7d1ebba5c04c402a68534bbeb4743 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156328 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-04tdf#138792: PDF export: fix date of xmp:CreateDateSarper Akdemir
for pdf export xmp:CreateDate should be the modification date instead of the creation date. Change-Id: I2a86f30cb528cb2bd5e0f9e7c9a8a8b8d2993f50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156327 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-04tdf#154875 "Use slide background" is only for ImpressSamuel Mehrbrodt
Change-Id: I078437a1cff58b868f4db4b482ad2aff335dc965 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156514 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-09-02tdf#149611 qt: Make auto-selection of dark app colors workMichael Weghorn
Rename the newly introduced method `QtFrame::isUsingDarkColorScheme` to detect whether a dark color scheme is in use from Change-Id I8f347c6e7f775cc55377c5c84481de3051c3cf24 tdf#156894 qt: Prefer dark icon theme in dark mode and let it override `SalFrame::GetUseDarkMode`. This gets used (via `MiscSettings::GetUseDarkMode`) in `ColorConfig::GetDefaultColor` to determine what application colors to use. With this, setting "Tools" -> "Options" -> "LibreOfficeDev" -> "Application Colors" -> "Automatic" to "System Theme" will now automatically switch to dark application colors (like a dark doc background instead of white) for kf5/qt6 when a dark global theme is active (e.g. because "Breeze Dark" has been selected in Plasma system settings). Change-Id: I151e7eb35a94a9c525452a7d90b24283f6226904 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156467 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-09-02tdf#156894 qt: Prefer dark icon theme in dark modeMichael Weghorn
When in dark mode, pass the param to prefer a dark icon theme to `StyleSettings::SetPreferredIconTheme`. For Qt >= 6.5 use `QStyleHints::colorScheme` introduced in Qt 6.5 to get the color scheme. For older Qt versions, use the same algorithm based on the gray value of the window background as xdg-desktop-portal-kde does for evaluating whether a light or dark color scheme is preferred [1]. On my Debian testing, the Breeze dark icon theme is now used as expected with kf5 or qt6 when setting the Global KDE Plasma theme to "Breeze Dark" and manually setting the Icon theme to "GNOME" afterwards. Previously, this would not use a dark icon theme and icons would be hard to see. Without manually setting the icon theme to "GNOME", the Breeze Dark icon theme would already be used before, because selecting "Breeze Dark" as the global KDE Plasma theme also selects the "Breeze Dark" icon theme by default, and therefore "breeze-dark" was already passed as the first param to `StyleSettings::SetPreferredIconTheme` and since that icon theme is present, the `bPreferDarkTheme` wouldn't be evaluated at all; it's only used when determining the fallback icon theme when the specified icon theme is not present. (Likewise, by enabling the "Breeze Dark" global theme and then manually setting the icon theme to "Breeze" in Plasma System settings, the Breeze light icon theme will be used in LibreOffice as well, resulting in hard to see icons, but I tend to think that that behavior is correct and works as designed - it's a misconfiguration.) The color scheme is also specified in xdg-desktop-portal (s. commit [2]) and can be retrived via dbus. Example with "Breeze Light" active: $ dbus-send --session --print-reply=literal --reply-timeout=1000 --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read string:'org.freedesktop.appearance' string:'color-scheme' variant variant uint32 2 With "Breeze Dark": $ dbus-send --session --print-reply=literal --reply-timeout=1000 --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read string:'org.freedesktop.appearance' string:'color-scheme' variant variant uint32 1 [1] https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/blob/0a4237549debf9518f8cfbaf531456850c0729bd/src/settings.cpp#L213-227 [2] https://github.com/flatpak/xdg-desktop-portal/commit/d7a304a00697d7d608821253cd013f3b97ac0fb6 Change-Id: I8f347c6e7f775cc55377c5c84481de3051c3cf24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156465 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-09-02replace set(nullptr) with clear()Noel Grandin
It's a little easier to read, but mostly it makes an upcoming loplugin easier to implement Change-Id: I4ae7db8eda77795dab3255d1afd8ba4f20a8de76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156451 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-02tdf#147704 fix reading TIFF metadata (width and height)Tomaž Vajngerl
When we prepare (not read and load) the bitmap we need to read only the metadata - most importantly pixel width and height. This didn't work correctly for the TIFF files or more importantly the specific TIFF files in the document, and the result was that the size reported was 0,0 and somehow the crop factor wasn't applied correctly. This change fixes the metadata reading and makes it more robust. Change-Id: I60951e5d01afc311c400589496ae82377ccb4cf5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156457 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-09-01tdf#157028 sw: PDF/UA export: reduce the number of Span ILSEsMichael Stahl
Currently every text portion produces its own Span ILSE, which means there's at least one per line. But that seems a bit excessive, let's try to merge the portions and create new Spans only when needed, i.e. when the formatting properties that are exported change. ILSEs may even be nested, e.g. a Span may contain Link or Span. This will only merge within one SwTextFrame; merging across split SwTextFrames looks too difficult to implement. Change-Id: Id9b02332c580266f78da048be80ecceff1b28eca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156299 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>