summaryrefslogtreecommitdiff
path: root/include/vcl
AgeCommit message (Collapse)Author
2024-05-03jsdialog: support for LinkButton as an independent widgetTomaž Vajngerl
This adds support for the (weld)LinkButton (FixedHyperlink) as an independent widget and not part of FixedText to jsdialog. In addition add "click" event that triggers activate_link method. Change-Id: Id110b4a0fd60fc24592e00235243783d46ae4575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166898 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-04-30tdf#160867: restore HTML map export for text hyperlinks in framesMike Kaganski
The most exciting was to discover that this functionality was actually already implemented prior to 2001, and then accidentally dropped, and nobody noticed, until Noel did his great cleanups, and made an amazing investigation in commit ed2ae3c3bb0a708cafc3de6a01adc9ddc43fb859 (remove dead SwNoteURL, 2018-03-14). The detailed commit message made my task so much easier: I knew where and what to restore. So this change restores relevant pieces removed over the time in commits * 1b666235f6b0b0f0b13f473bf3b639f4f5f0b12f (loplugin:singlevalfields improve copy constructor check, 2018-01-03), * be8c414567f49242164b1fdfb12764b16be355c1 (loplugin:unusedmethods also check for functions returning bool, 2018-01-19), * 73139fe600fc1399ae828077981a2498cb0a0b0c (loplugin:unusedmethods, 2018-01-20) * bb7ade140df807b6a0f12766a1365b8f8d0fd342 (loplugin:unusedmethods, 2018-03-08), * ed2ae3c3bb0a708cafc3de6a01adc9ddc43fb859 (remove dead SwNoteURL, 2018-03-14), * fd1cfd25b48cb4bd5c87e9cb317b37699ca3a1d6 (PortionType::Url is unused, 2019-01-18). It re-implements the functionality accidentally removed in commit da7671e4f7482110ecd0cfbfd7dbd9e0b873c81c (Opt.(FME): The new attribute handler makes a lot of code superfluous, 2001-03-15), moving it into SwAttrHandler, which replaced the ChgFnt in SwTxtAttr. It also fixes the code writing the HTML image map, to output valid HTML. And finally, it adds a unit test, to avoid repeating the story :-) Change-Id: I72ae3cf30f0e9689f50a2c877e1622e4ae46de49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166924 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-29reduce symbol visibilityNoel Grandin
Change-Id: Ibc850eb12c38f2985015f06e330585b02d6bf15f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166822 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-04-28reduce symbol visibilityNoel Grandin
Change-Id: Iad2d114d257244f456d5579636e5c25ce070a08a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166805 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-04-24vcl: Factor out common code and simplifyXisco Fauli
Change-Id: I836c8f85474dc564efa3ca781f47a25e1d8c55fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166582 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-04-22tdf#159660: also add normal blend filterXisco Fauli
Change-Id: I3edc7495975618357f002536857a11dcc72cc0b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166460 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-22tdf#159660: Add support for lighten mode in feBlendXisco Fauli
Change-Id: I17471a9c70a38d05de5ad476f817285fb2438e5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166429 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-22tdf#159660: Add support for darken mode in feBlendXisco Fauli
Change-Id: I56862163b7bf1177120081c95ab7851a5fc4019b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166428 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-22tdf#159660: Add support for multiply mode in feBlendXisco Fauli
Change-Id: I03230e122a10dd6ada6af357c674c278b6b99d9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166427 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-22tdf#160726, tdf#48062: Simplify how BitmapExs are createdXisco Fauli
In my initial approach, I tranformed the primitive2DContainers before converting them to BitmapEx. This caused circles like https://bugs.documentfoundation.org/attachment.cgi?id=193790 not to be displayed. Simplify how BitmapExs are created by just using the range both primitive2DContainers have in common. This way, DrawBitmapInRect can be dropped now Change-Id: I2401dc87b98e04b9cf9f5ebade2b5622d884fc3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166391 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-20Return double from OutputDevice::GetTextArrayMike Kaganski
And introduce GetTextWidth / GetTextHeight variants returning double. It allows to avoid premature rounding. At least in one case - testTdf145111_anchor_in_Fontwork - it allowed to make the test DPI-independent (at least in my testing on Windows, using 125, 150, and 175% UI scaling). Change-Id: I973d2c729ec6bb7114b4f99b9027f1ead7c1d061 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166237 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-19tdf#160622: Let SalLayout::GetBoundRect return basegfx::B2DRectangleMike Kaganski
This avoids premature rounding in TextLayouterDevice::getTextBoundRect. The box in D2DWriteTextOutRenderer::performRender needs to be expanded to allow room for the line width (which now will be guaranteed on all sides; previously, the rounding could happen to give no room on some side, even prior to commit 8962141a12c966b2d891829925e6203bf8d51852). Fixes some lines partially cut off in smaller text (or zoomed out). Change-Id: I07335136021f894cf045363b4d736bfab06c64d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166236 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-17Drop FRound, and use generalized basegfx::froundMike Kaganski
Change-Id: I7447e649dc3ef4e51242f69c7486a3e84e103d2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166159 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-16tdf#48062: Add support for arithmetic in feCompositeXisco Fauli
Took https://github.com/w3c/csswg-drafts/issues/3831 as a reference Change-Id: I42039c481ec114c3faeae51526a5f29b86960146 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165828 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-12tdf#159660: Add support for screen mode in feBlendXisco Fauli
Change-Id: Iefe655a370cca930319290baa2a25d791371f55c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165958 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-08cid#1596254 Null pointer dereferences in GetSotStorageStreamNoel Grandin
Re-arrange the calling convention to make it obvious that a valid stream is the same as a good (true) result. Change-Id: I974b023a8e7231e70ab649628fdbe43c33001e5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165874 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-04-02simplify SotTempStream and lifetimeNoel Grandin
It is really just an SvStream instance, and the lifetime does not need reference counting Change-Id: Idb5ffd96f852aae0dc1a94cddc0a83fbcdf974ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165655 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-04-01tdf#151413: add UTF-8 data to the Link clipboard formatMike Kaganski
And introduce methods in TransferableDataHelper to handle that. Change-Id: I1d91f0f6b7e8523125f9cc1507dbd6737968f7d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165607 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-28fix comparison of UIObject's inside UITestsNoel Grandin
using == to compare them doesnt work, because we return a new one with every call to getTopFocusWindow and similar. So add a equals() method to the UNO interface to do the comparison. Change-Id: Ie909fe9b4e84fe07f4ca87bbebf65b56d3da8f78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165436 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-28vcl: Implement JSLevelBarHubert Figuière
This fixes the JSDialog layout of the sheet protection dialog. This was introduced for 24.02 to provide password strength indication of the sheet password. Defined a new WindowType of PROGRESSBAR. The type property in JSDialog JSON will be "progressbar". Change-Id: I202528a81706943e1838f3c37fb555f4a1bf889e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165236 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-25Relax SolarMutexReleaser precondition to not require SolarMutex lockMike Kaganski
As discussed on https://gerrit.libreoffice.org/c/core/+/164843/2#message-8873d3d119de7206b33bc824f5809b8b1d3d97da, it is impossible at times to know in advance, if a specific code, that must not be guarded by SolarMutex (e.g., calling to other threads, which might need to grab the mutex), will itself be guarded by SolarMutex. Before this change, a required pre-requisite for SolarMutexReleaser use was existing lock of SolarMutex; otherwise, an attempt to release it would call abort(). Thus, in some places we had to grab the mutex prior to releasing it, and that itself introduced more potential for deadlock. Now the SolarMutexReleaser is safe to use without the lock, in which case, it will do nothing. Change-Id: I8759c2f6ed448598b3be4d6c5109804b5e7523ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165262 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-23Harmonization of warning and error colorsHeiko Tietze
* hard-coded colors from infobar moved to settings * weld::LabelType::Warning and ::Error uses these colors * gtk3 native configuration removed Change-Id: Ia80584e9267b8385f7f6b25322f5a85a2570af68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165161 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-03-22vcl: remove SetSizePixel from BitmapExTomaž Vajngerl
Makes no sense (and would case serious problems) to set the size (pixel) from the outside of the BitmapEx. Change-Id: Iab597f755d45be2380884ec6685d119fcc8b1e98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164946 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-03-21tdf#93352 Fix horizontal swiping and scrolling when using an RTL UIPatrick Luby
Starting with commit bfa21ce5fa08f2c634ccb6162914be55aef9f3c2, horizontal swiping in Calc moved in the wrong direction scrollbars were drawn mirrored. So, revert parts of commit bfa21ce5fa08f2c634ccb6162914be55aef9f3c2 so that we are using Calc's previous "negative scrollbar range" implementation for RTL UIs, but only for horizontal scrollbars since vertical scrollbars are the same in LTR and RTL UIs. Also, always disable RTL for scrollbars. Enabling RTL causes the following bugs when clicking or dragging the mouse in scrollbars in Calc's RTL UI: - Click or drag events get mirrored so you must click or drag in unexpected locations to move the scrollbar thumb in the desired direction - Repeatedly dragging the scrollbar thumb leftward can only move no highter than the R, S, or T columns Note: even though RTL is always disabled for Calc scrollbars, the arrows must still be swapped in vcl's ScrollBar class. Change-Id: I85aac94ffaf7df2eeb251a3ff150cc0363b5d770 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164959 Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org> Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-03-20vcl: move Vectorize out of Bitmap - add Vectorizer classTomaž Vajngerl
Change-Id: I991b6e908d4139723c2d408d4ba3586676fded18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164693 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-03-17reduce symbol visibility in vclNoel Grandin
Change-Id: Ibe6154dc5de6251fb39952caa190d53a6fd1fd89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164926 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-16reduce symbol visibility in vclNoel Grandin
Change-Id: Ia56bb092a4634e301ff8922ae63e6f7ede874d80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164865 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-15Make vcl::bitmap::get_unpremultiply_table VCL_DLLPUBLIC againMichael Weghorn
This fixes my GCC 13.2.0 --enable-gtk4 build on Debian testing, which started failing after commit acd40306b3737d50cf24462b2d3e451092543e64 Date: Thu Mar 14 12:22:13 2024 +0200 reduce symbol visibility in vcl like this: /home/michi/development/git/libreoffice-WORKTREE/vcl/unx/gtk4/../gtk3/salnativewidgets-gtk.cxx:2195: error: undefined reference to 'vcl::bitmap::get_unpremultiply_table()' collect2: error: ld returned 1 exit status make[1]: *** [/home/michi/development/git/libreoffice-WORKTREE/vcl/Library_vclplug_gtk4.mk:20: /home/michi/development/git/libreoffice-WORKTREE/instdir/program/libvclplug_gtk4lo.so] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:290: build] Error 2 Change-Id: I0921801f6ad0f20f5250ca15a2749d7da044fcd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164856 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-03-15Fix buildMike Kaganski
[LNK] Library/libupdatecheckuilo.so /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:96: error: undefined reference to 'MenuBarUpdateIconManager::MenuBarUpdateIconManager()' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:105: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleImage(Image const&)' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:107: error: undefined reference to 'MenuBarUpdateIconManager::~MenuBarUpdateIconManager()' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:166: error: undefined reference to 'MenuBarUpdateIconManager::RemoveBubbleWindow()' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:187: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleTitle(rtl::OUString const&)' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:191: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleText(rtl::OUString const&)' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:197: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleImage(Image const&)' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:203: error: undefined reference to 'MenuBarUpdateIconManager::SetShowBubble(bool)' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:215: error: undefined reference to 'MenuBarUpdateIconManager::SetShowMenuIcon(bool)' /home/mk/core/extensions/source/update/ui/updatecheckui.cxx:55: error: undefined reference to 'MenuBarUpdateIconManager::~MenuBarUpdateIconManager()' collect2: error: ld returned 1 exit status Change-Id: I7175126d82731c3dd2cdba64646006f4be664450 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164855 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-14reduce symbol visibility in vclNoel Grandin
Change-Id: Ifaa37246e79678aa0c548b9ca8a9faf8036b9195 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164804 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-14replace VCL_DLLPRIVATE with SAL_DLLPRIVATENoel Grandin
it is always SAL_DLLPRIVATE, and we are already using SAL_DLLPRIVATE mostly, so just be consistent Change-Id: I7df969506a9b7a078921400cf245cede3c60c5f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164805 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-13Introduce a guard to delay processing of idlesMike Kaganski
In a following scenario, there could be a crash: 1. Platform: a Windows system with MS Word installed. 2. LibreOffice is run in a listener mode; 3. A Java program opens a Writer document in a visible mode, with an embedded Word OLE object; 4. It adds some text; then resizes the OLE object; then removes the OLE object. Word OLE objects have OLEMISC_RECOMPOSEONRESIZE flag [1]; this means, that every re-layout of the document with this object must ask the OLE server to re-layout the object content. So, the request thread changes the document text, which triggers idle re-layout or redraw; the idles start executing immediately in the idle main thread, with solar mutex locked; then the request thread starts the OLE object removal operation. The ongoing relayout in main thread would at some stage need to execute a call to the OLE object, which temporarily releases the solar mutex (this makes impossible using solar mutex to synchronize the order of operations in this scenario). Other mutexes guarding OLE object (in OleEmbeddedObject, and in OleComponent) are also released for the duration of the call. Thus, the removal that happens in the request thread proceeds, and the node containing the OLE object is destroyed, while the main thread (processing exactly this node) is waiting for the OLE server response, then for mutexes, to proceed. After that, the main thread would attempt to access the destroyed node object. This change introduces a scheduler guard (a RAII object), that sets a flag to not process idle events during the lifetime of the guard. In its constructor, it also makes sure, that current pending idle events are finished. This would make sure that guarded code started from other threads would not race with idles potentially accessing the model that is currently in transient state. [1] https://learn.microsoft.com/en-us/windows/win32/api/oleidl/ne-oleidl-olemisc Change-Id: I2ef0601ccd8b5872588a88493d1f43e39022dbed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164753 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-13reduce symbol visibility in --enable-mergelibs=more modeNoel Grandin
Change-Id: If811c9ec336543227db73c990248b9113846cf2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164657 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-07Revert hyperlinkInfoAtPositon changes.Gökay Şatır
Revert "Implement hyperlinkInfoAtPosition for Impress." This reverts commit 876543305c78cb596720da087454a5c54e5feb06. Revert "Readonly Hyperlink Info - normalize the clicked coordinates." This reverts commit 322669725b771f5fa2b3c10c5fb73238ca3713f6. Revert "Implement hyperlinkInfoAtPosition function for Calc." This reverts commit be01dd78c47b51b19603a6259504e29b11979b0b. Revert "Implement hyperlinkInfoAtPosition for Writer." This reverts commit 6773c8929690f557d29bc282dd8f5c4381da3484. Revert "In readonly mode, we restrict many events like click." This reverts commit a4f3b97e506f38e0c43d6fbf1192cc523750a9fd. (cherry picked from commit c3f1d63178d6aaa0888085c7b641eb6d49a18276) Conflicts: sc/source/ui/unoobj/docuno.cxx sd/source/ui/unoidl/unomodel.cxx sw/source/uibase/uno/unotxdoc.cxx Change-Id: Ie821a4bca6e6b4649cea17748c44af105cd45d30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164481 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-05Fix Windows --enable-mergelibs=more buildNoel Grandin
after commit 68f55fc9a1aa8c0f403761e39e7531ae298ea79e Author: Vasily Melenchuk <vasily.melenchuk@cib.de> Date: Wed Oct 25 22:26:14 2023 +0300 vcl: interface for WinAPI FlashWindow() function and commit 621e16205363c1eea0be57017997396dee63df4b Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Fri Mar 1 15:58:23 2024 +0200 add UNLESS_MERGELIBS_MORE and use to reduce symbol visibility Change-Id: I32660173d255b4b49a346c56fadf998968580a61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164416 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-04vcl: interface for WinAPI FlashWindow() functionVasily Melenchuk
To improve LibreOffice UX it will be great to have possibility to signal user on some event did happen, but without capuring focus and bringing LO to foreground, like it is happenings sometimes. It can be annoying. For example, if dialog window is opening slowly and user did switch to another application, this is used to inform user that there are some updates in LO window: dialog finally alive. There are somewhat confusing implementation of this feature: VCL dialog window became visible and actual Windows window should use ::FlashWindow() are very different in hierarchies, so it is somewhat challenging to find window to flash or even decide shoud we flash window or not. Change-Id: I6ca6706d2dda8902aea273ebe6e318ec9bf4beda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158472 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2024-03-04Fix --enable-mergelibs=more --enable-sal-log buildStephan Bergmann
...after 621e16205363c1eea0be57017997396dee63df4b "add UNLESS_MERGELIBS_MORE and use to reduce symbol visibility" caused > vcl/source/opengl/x11/context.cxx:118: error: undefined reference to 'OpenGLHelper::debugMsgStream(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > const&)' > vcl/source/opengl/x11/context.cxx:270: error: undefined reference to 'OpenGLHelper::debugMsgStream(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > const&)' > vcl/source/opengl/x11/context.cxx:370: error: undefined reference to 'OpenGLHelper::debugMsgStream(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > const&)' > vcl/source/opengl/x11/context.cxx:251: error: undefined reference to 'OpenGLHelper::debugMsgStream(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > const&)' > collect2: error: ld returned 1 exit status > make[1]: *** [vcl/Library_vclplug_gen.mk:20: instdir/program/libvclplug_genlo.so] Error 1 Change-Id: If27b1ffaad7b40dd3baffa8b3a33b1cc3a8e7153 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164314 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-02add UNLESS_MERGELIBS_MORE and use to reduce symbol visibilityNoel Grandin
Change-Id: I2e6c2dcd06c76e0f5f68a1debde3a20665104b27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164219 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-29vcl: separate scanline direction from ScanlineFormatTomaž Vajngerl
ScanlineFormat enum is used to indicate 2 things - scanline format type and scanline direction (TopDown or BottomUp). This makes it complex to manipulate with (using bit arithmetics) and hard to use in general for no benefit, so this commit separates direction out from the ScanlineFormat into ScanlineDirection enum. ScanlineFormat is now just a simple enum class (not a bit field). Change-Id: Iad55d0a4c8c07b71221c2facf7cf6a2d518fec0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163943 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-02-29tdf#155218 sc: fix regression page orientation in print dialogTibor Nagy
The print page orientation set in the Print Dialog displays incorrect print area borders on the sheet after closing the Print Dialog or interrupting the printing process. The print dialog increase in size if the "Pages" and "All pages" radio buttons are toggled many times.(problem is not reproduced on Windows) regression was made by: I5e494a0714e398221bee00744d7e25c419a41df7 Change-Id: I5a0ab3d781b21eff575afaebb233237eff1827d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164085 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-02-27tdf#159910 a11y VclBuilder: Apply tool item's a11y name to itselfMichael Weghorn
For the VCL `ToolBox` implementation of a toolbar, the items are not represented by own widgets (`vcl::Window`s), but handled by the `ToolBox`. As a consequence, the `vcl::Window` passed to `VclBuilder::applyAtkProperties` cannot be the tool item itself (e.g. a `GtkToolButton` in the .ui file), but is the `ToolBox`, i.e. the (VCL builder implementation of the `GtkToolbar` parent widget in the .ui file). So far, the ATK properties set for the tool item were just applied to the parent instead. For example, with the upcoming Change-Id: I852503e849651bb7be4daa419ec2379568623f0f Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Feb 27 11:51:55 2024 +0100 tdf#159910 sw a11y: Set a11y names for Navigator items , this would result in the toolbars getting the name of their last item (one of the toolbars in the Navigator would get the a11y name "Show Up to Outline Level") and the toolbar items would only have an a11y name set because they still fall back to the tooltip text for the a11y name. Adjust that to set the accessible name for the actual toolbar item when a toolbar item is processed. (Add a bool param to indicate that). See also `VclBuilder::applyPackingProperty` which already had a similar way to determine and handle that case. With this in place, the accessible name set in the .ui file is now applied to the toolbar item as expected. (The accessible description could be handled similarly, but I'm a bit more hesitant to add that right away because the accessible description is currently also used for the extended tooltip text and the NVDA screen reader on Windows announces the description in addition to the name by default.) Change-Id: I45b87839dda90083ceba1c43fdb4d4ec460fce3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164034 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-02-27tdf#159910 vcl a11y: Allow explicitly setting toolbar item a11y nameMichael Weghorn
Add `ToolBox::SetAccessibleName` (and corresponding getter) to allow explicitly setting an accessible name for a toolbox/toolbar item with the VCL toolbar implementation. In the a11y class for a toolbar item, use any explicitly set name if it's non-empty, otherwise fall back to the previous logic. This will be used in an upcoming commit to take into account the accessible name set in .ui files and align the VCL ToolBox more with the gtk implementation using native GtkToolbar and native widgets for the toolbar items. Change-Id: Ib0255e2741a7ab2489a857ac120fb87f680fa775 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164033 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-02-26tdf#159910 VclBuilder: Add helper to identify toolbar item classMichael Weghorn
Extract a new helper method `BuilderBase::isToolbarItemClass` to identify whether a widget class is one of those used for toolbar items. Related: Gtk's GtkToolItem doc [1]. (But this commit just moves the existing logic without looking into that Gtk doc further.) [1] https://docs.gtk.org/gtk3/class.ToolItem.html Change-Id: I1e39e4afb13db374ae77a3cdb6a4dd9eca7ee3ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163957 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-02-26tdf#159251: Revert "vcl: Allow pushing/popping OutputDevice’s RTLEnabledKhaled Hosny
...state" This reverts commit 611694b707eb43e4c0f20b781f6869016a3ba099. Change-Id: I044e6a1fb08f482c6b494e87f9c23e2303b97fd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163951 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2024-02-24tdf#159251: Blind fixKhaled Hosny
Hopefully fixes regression introduced in: commit 611694b707eb43e4c0f20b781f6869016a3ba099 Author: Khaled Hosny <khaled@libreoffice.org> Date: Thu Aug 17 17:39:29 2023 +0300 vcl: Allow pushing/popping OutputDevice’s RTLEnabled state Change-Id: I9236bd6951d83a512390934127031204d94d14bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163877 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2024-02-23tdf#159793 Save printer paper tray in RTF and DOCXOliver Specht
Saves the paper tray id as w:paperSrc w:first and w:other in docx and \binfsxn and \binsxn in RTF Change-Id: I79004f54aba3b6609d7921afacf815726f7f2678 Change-Id: Ie3c11fffa6a133250b7db69b4e845bccaa8e2280 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163654 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-21tdf#130857 - Drop unused `getUIFile` method from VclBuilder class.OmkarAcharekar
Noticed during refactoring builer patch [1], the getUIFile method is not been used anywhere. So it make sense to drop it. [1] https://gerrit.libreoffice.org/c/core/+/163103/4..5/include/vcl/builder.hxx#b76 Change-Id: I8bf1eec7aaccac528959029cddff0cdc8209ba00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163662 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-02-19hide more symbolsNoel Grandin
using the bin/find-can-be-private-symbols.py script to find classes with large numbers of exported symbols that can hidden. before exported = 58104 imported = 30810 unused_exports = 35433 after exported = 55094 imported = 31073 unused_exports = 32423 Change-Id: Idd0a70ee3740afd5ca1a86771e0e2ff8090d102d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163456 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-13fix windows --enable-mergelibs buildNoel Grandin
after commit b663d94cf67a5af4fd89c1ac8bdffd6059f6bf85 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Feb 5 08:50:24 2024 +0200 create --enable-mergelibs=more Change-Id: Ib9f0b3b28df70a9bab10d9bb0aa77a2b2decc616 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163308 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-12use more UNLESS_MERGELIBSNoel Grandin
Change-Id: I351a9127fb26369d8f598b6d6519d7e490fa476b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163190 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>