summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2024-07-11CairoSDPR: Improve BColorModified BitmapsArmin Le Grand (allotropia)
There is the complete BColorModifierStack support for primitives for Bitmaps, e.g. hue/saturation, etc, but it was slow due to not being buffered, so had to be re-created often. I changed this to use the common buffering mechanism to improve this. Up to now a fallback to use the old Graphic manipulators for that purpose was in place since this was faster, but had to be done every time. I have now changed the priority to using the primitive way to handle things, but kept the fallback code - just in case. Note that the new stuff is faster, but even much faster when the bitmap is copied and appears multiple times -> the same buffered instance is used, and SDPRs then use the system-dependent data buffered at that prepared data. Also note that this change does not only speedup CairoSDPR, but all PrimitiveRenderers, including the VCL and Metafile ones. In principle everything that uses BitmapEx::ModifyBitmapEx. Had a 2nd thought: Only the content Bitmap gets changed, so for this case we do not need AssociatedAlpha and watch for it to not have changed. Removed that. Change-Id: I2ee36cc84bdc1c723aa01f872edbfd1f51e11c2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170305 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-07-11tdf#161659: icon choice ctrl: Make use of the extra spaceMichael Weghorn
commit f6ea343e6fb2dc3539823dee60c9c6f96fc16275 Date: Thu May 30 12:26:11 2024 +0200 tdf#161030 Improve vertical Tab list display increased the width for items in the vertical tab control. Make use of the new space also for items using an icon. This causes them to be centered again (tdf#161659). When using the kf5 VCL plugin with the default Breeze style, this also causes the "New Document" text of the last item in the "Insert" -> "Hyperlink" dialog to no longer be cut off (see attachment 149544 from tdf#123623 for the previous behavior). (As a side note, switching `SvxIconChoiceCtrlEntry::eTextMode` from `SvxIconChoiceCtrlTextMode::Short` to `SvxIconChoiceCtrlTextMode::Full` would generally allow text to wrap and use multiple lines instead of cutting off text at the end of the single line.) Change-Id: I7ec2575bbeb895c034dfc9f2033cea3e3986305a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170262 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com> Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-10tdf#160427 native menu changes can only be done on the main threadPatrick Luby
Change-Id: I7dbe9913eaa087e143acb95bdae625c69888c3dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170308 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins
2024-07-10loplugin:casttovoidStephan Bergmann
Change-Id: I07f5220c44077ddb7737d00a8dc5e598a00c3c59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170310 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-07-10prefer higher version of "Noto Sans Arabic" of system vs bundledCaolán McNamara
I have "Noto Sans Arabic" installed system wide: file: "/usr/share/fonts/google-noto-vf/NotoSansArabic[wght].ttf"(s) fontversion: 131858(i)(s) and there is the bundled version: file: "./instdir/share/fonts/truetype/NotoSansArabic.ttf"(w) fontversion: 131727(i)(w) what we generally want to do is pick just one font, the version with the higher number, but in this case we don't see them as near-duplicates and so add both of them. In my case then using any font/glyph fallback for a "en" font suggests "Noto Sans Arabic", presumably because the bundled one has those glyphs, but we seem to end up rendering with the system one which doesn't have them, so font/glyph fallback for fonts that are non explicitly configured somewhere in fontconfig end up with missing glyph symbol. So additionally disregard the FC_INDEX and FC_POSTSCRIPT_NAME fields when comparing fonts to find the higher version. https://bugzilla.redhat.com/show_bug.cgi?id=2262410 has a similar sounding problem but in the end I think it is a different issue, but maybe the same trigger of having "Noto Sans Arabic" at the start of the list of possibilities. Change-Id: I500fb9cad793b63d0fbeb8c4bc1246fd68be39fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170251 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-07-10icon choice ctrl: Drop unused forward-declarationMichael Weghorn
Change-Id: I7035f9495b6b2fb0f602f88fef9b3c837417b875 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170250 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-10icon choice ctrl: Drop code for non-autoposition modeMichael Weghorn
As shown by Change-Id: I8d19e15d8c6e95cdc5e797e6b9524d9299dc1fdd Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jul 9 17:32:01 2024 +0200 icon choice ctrl: Always use SvxIconChoiceCtrlPositionMode::AutoArrange , `SvxIconChoiceCtrlPositionMode::AutoArrange` is the only positioning mode that actually gets used, so simplify the code by dropping the effectively unused code for `SvxIconChoiceCtrlPositionMode::Free`. (`git show --ignore-space-change` can help to see the "actual changes" more easily.) Change-Id: Icd5ee30eafefafbf597681e28521d5a566ea0af3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170249 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-10icon choice ctrl: Always use SvxIconChoiceCtrlPositionMode::AutoArrangeMichael Weghorn
`SvxIconChoiceCtrl_Impl` is only used by `SvtIconChoiceCtrl` and that one explicitly sets `SvxIconChoiceCtrlPositionMode::AutoArrange` in its ctor to override the `SvxIconChoiceCtrlPositionMode::Free` default. In a first step, default to `SvxIconChoiceCtrlPositionMode::AutoArrange` and drop the setter, to simplify the code. Further cleanup will be done in a follow-up commit. Change-Id: I8d19e15d8c6e95cdc5e797e6b9524d9299dc1fdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170248 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-10icon choice ctrl: Simplify list pos handlingMichael Weghorn
Instead of storing the current list position in the `SvxIconChoiceCtrlEntry` and having to take care of updating that when entries are added to or removed from the `SvxIconChoiceCtrl_Impl` in order to keep it in sync with the elements in the vector, just calculate and return the vector index in `SvxIconChoiceCtrl_Impl::GetEntryListPos` on demand. Change-Id: Iec4e700c1ccc1261fde778b1b38af4dbac5a14c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170247 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-10icon choice ctrl: Drop unused GRID_NOT_FOUND defineMichael Weghorn
Unused since: commit 5db79db0f0c7c432d933433192506d234f6cd26e Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:54:48 2024 +0200 tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::GetPredecessorGrid Change-Id: I146da489fcc1faa4915d2af5449131729cf042bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170213 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-10icon choice ctrl: Drop SvxIconChoiceCtrl_Impl::nMaxVirtWidthMichael Weghorn
Since Change-Id: I52c40acf2024b25b0cd713fd7c91d7e0b59f4663 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jul 9 11:55:26 2024 +0200 icon choice ctrl: Drop WB_ALIGN_TOP , it is only written to, but never read, so drop it. Change-Id: Iee03649a1ff99bf77383710835995b393cab689e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170212 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-10icon choice ctrl: Drop WB_ALIGN_LEFTMichael Weghorn
At least since Change-Id: I52c40acf2024b25b0cd713fd7c91d7e0b59f4663 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jul 9 11:55:26 2024 +0200 icon choice ctrl: Drop WB_ALIGN_TOP , it's quite clear that the `WB_ALIGN_LEFT` is always set, so drop the flag and code paths only relevant if the flag were not set. Change-Id: If736ffc386833d3ff188d4174baf36bd2bcca57e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170209 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-10icon choice ctrl: Drop WB_ALIGN_TOPMichael Weghorn
The `WB_ALIGN_TOP` flag is never set, last code path that would have set it (but was apparently already unused back then) was dropped in commit 80bf2654d72995f6b13c5addcd7c5e89ec76b0d9 Author: Caolán McNamara <caolanm@redhat.com> Date: Mon Jun 23 15:34:02 2014 +0100 meChoicePos is always PosLeft, simplify Change-Id: I40085b0db89484f0d24ecaccf910f4399198294d Therefore, drop the flag and all related code altogether. Change-Id: I52c40acf2024b25b0cd713fd7c91d7e0b59f4663 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170208 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-10icon choice ctrl: Don't explicitly call base class impl of methodMichael Weghorn
`SvtIconChoiceCtrl` doesn't override any of these methods, so there's no need to explicitly call the base class implementations. (And `Control` also doesn't implement them, so the `Window` base class implementations are used anyway.) Change-Id: I8196a568433416e10c2d0d50fad64b4525577679 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170207 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-09use a throwaway TMPDIR for ghostscript-using helpersCaolán McNamara
Change-Id: Iba5a475399589c9e2c4fd485d613f0dedfe0dc44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170215 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-07-09loplugin:unusedmethodsNoel Grandin
Change-Id: I799129a3449ebcbb7b7005b933349cd2e6287860 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170185 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-07-09Avoid potential negative array index access to cached text.Michael Meeks
if ((nIndex != 0 || nLen != text.getLength()) && !skipGlyphSubsets) seems unlikely to protect us from this: /opt/rh/devtoolset-12/root/usr/include/c++/12/string_view:239: constexpr const std::basic_string_view<_CharT, _Traits>::value_type& std::basic_string_view<_CharT, _Traits>::operator[](size_type) const [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; const_reference = const char16_t&; size_type = long unsigned int]: Assertion '__pos < this->_M_len' failed. coolwsd[16958] ... SIG Fatal signal received: SIGABRT code: 18446744073709551610 for address: 0x7300004e16 SalLayoutGlyphsCache::GetLayoutGlyphs(VclPtr<OutputDevice const>, rtl::OUString const&, int, int, long, vcl::text::TextLayoutCache const*) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/vcl/source/gdi/impglyphitem.cxx:399 GetTextArray(OutputDevice const&, rtl::OUString const&, KernArray&, int, int, bool, vcl::text::TextLayoutCache const*) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/include/rtl/ref.hxx:128 SwFntObj::GetTextSize(SwDrawTextInfo&) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/txtnode/fntcache.cxx:766 SwSubFont::GetTextSize_(SwDrawTextInfo&) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/txtnode/swfont.cxx:1022 SwTextSizeInfo::GetTextSize() const /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/inc/swfont.hxx:314 blind fix - but seeing a lot of these. Change-Id: Icb6ca25e4b8c6ef8a5e5b89dfa01b56bb788378d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168539 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-07-09jsdialog: enable interaction handler without LOKNotifier cool#9453Szymon Kłos
When pasting content with URL to remote content behind basic authentication - we ask for user and password. That dialog didn't have LOKNotifier set. It's new case because we create the dialog controller and we setup the window id = 0, later when we run the dialog we did correct setup of LOKNotifier and id was changed to eg. 7. Then client had out of sync identifier because we already sent the old value. Setup the "default" notifier directly in weld_dialog to avoid that. Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: I7b6ceef722f7f9827b1fb41cc0229b0170693d1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170159 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170192 Tested-by: Jenkins
2024-07-09cid#1607395 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I7cecc8a0ced4a9889cf9efd78d7c0341a78c9b4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170195 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-09cid#1554702 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1554729 COPY_INSTEAD_OF_MOVE Change-Id: I39b5e679ea0adf7d3ab543d828730067aef273f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170191 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-09jsdialog: support on demand rendering for icon viewSzymon Kłos
- rename action: rendered_combobox_entry -> rendered_entry - change generic get json property callback to more specialized image getter as it wasn't used anywhere apart of that and we need image enceded as base64 only not JSON - add to the full update of icon view "ondemand" property to the entries with images so LOK client will know it has to download the render - it will be possible to support HiDPI renders in the future: added TODO Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: I83a6e91133f8f9cb03e0bc794b51e1947435fa90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169622 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170160 Tested-by: Jenkins
2024-07-08tdf#159900 sw: fix Figure tag placement attribute when exporting to PDFTibor Nagy
Paragraph tag is a possible parent element for the Figure tag. Figure tag and (any structure element) may have a value of “inline” as a placement attribute and thus, may be a child of a Paragraph tag. Change-Id: Ie1e0221976dbcfbae9ff01b1c9b76dd2d2e7edcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170015 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-07-08cid#1609651 Pointer to local outside scopeCaolán McNamara
since: commit 5b57fe250108a9ea30b87e40e306af8a79043354 Date: Sun Mar 31 00:07:58 2024 +0900 vcl: clean-up and refactor GraphicFilter::ImportUnloadedGraphic Change-Id: Iea3438863df4ac23860cea403d1633a1d3892970 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170099 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-07cid#1545993 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I3234bce1f3b71f10529d5874552566d7abcb3a95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170077 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-07vcl: add more GIF metadata to GraphicFormatDetectorTomaž Vajngerl
Change-Id: Ie85947371df087495a80179e4e0f2f660877e368 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166277 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-07-07vcl: inch-size.emf is actually PICT format, rename to inch-size.pctTomaž Vajngerl
Change-Id: I69c1cf65415546811777ec3df914db3596887db6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166276 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-07-07vcl: remove GraphicDescriptor::ImpConstructTomaž Vajngerl
It's not really needed - it sets values to defaults, which are already set. Change-Id: If61edace7975cd438d86ee9774535c0f14868fd5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166275 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-07-06cid#1554704 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I844d0bfcdb5b16d0e6e06499ceac2add0e26bb9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170046 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-07-06cid#1555223 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I991ea6869a22476d793bf301183ccc984d411a49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170020 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-06vcl: clean-up and refactor GraphicFilter::ImportUnloadedGraphicTomaž Vajngerl
- Remove code duplication - Z decompress with a helper function. - Split up the code to make it better readable. - Default status to ERRCODE_GRFILTER_FILTERERROR and only return ERRCODE_NONE on success. Change-Id: I27c1ba6198120c66d5348702a6af1ffbfa7c5031 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166274 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-07-06Related tdf#161461: break out of loop once data flavor is setPeter Hagen
Change-Id: Ia56514e83e09c6747f582117e77de89f69495862 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170034 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Jenkins
2024-07-05Related tdf#161461: break out of loop once data flavor is setPeter Hagen
Change-Id: I37126d2d77a7a80168bd5ab08fa26e8eabfa22cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170055 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-07-05Make window's default mouse position a large negativeMike Kaganski
Some operations, like DrawViewShell::Activate, trigger FuDraw::ForcePointer. The latter may call SdrView::PickAnything to test if the pointer is over an object. In SdrMarkView::CheckSingleSdrObjectHit, the bound rectangle of the object is tested first, which doesn't need the object's deep processing. If the point in in the rectangle, the object is processed further, which may render the object. The hit test is performed using a tolerance. Commit 56a1f9bea2f1b64dee4111ec6671caf42ef63c91 (sd: extend test to check the PDF pages aren't rendered when loaded, 2020-03-26) made sure that the rendering doesn't happen in the LOK mode. In that mode, the mouse position is unchanged from the values set in the ImplFrameData ctor. Previously it was enough for the test, that the initial position was [-1, -1], which made the point outside of the bounding rectangle of the objects. But an upcoming fix for the map mode calculations makes tolerance large enough to consider the point inside the rectangle, which triggers rendering and fails the test. This change makes the default position [-32767, -32737], which should be reliably outside of the tested rectangle. Change-Id: Ie1142729448f7ac3c628880140f123cde66b404e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170005 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-04cpdb: Don't include cpdmgr.hxx if not building CPDB supportMichael Weghorn
Don't include the header when building without `--enable-cpdb`, as the code there is CPDB-specific. This prepares for Biswadeep's pending Gerrit change series starting at [1] that implements CPDB support using the CPDB C API, and includes the corresponding header. (See CI failure [2] due to missing headers when not building CPDB without this change in place.) [1] https://gerrit.libreoffice.org/c/core/+/168633/5 [2] https://ci.libreoffice.org/job/gerrit_linux_gcc_release/168688/consoleFull#1916232175cd06c086-ffd7-48da-8ce2-d58b9387379c Change-Id: I8b5395d2ad45d50c63c2dbdd0a5459890fc6f6a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170001 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04Fix typoAndrea Gelmini
Change-Id: Id187ef0b7d1d705dfc45a806fc6db459a278fdcd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170000 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-07-04tdf#161833 treat semi-transparent pixels as opaquePatrick Luby
Limiting the contour wrapping polygon to only opaque pixels causes clipping of any shadows or other semi-transaprent areas in the image. So, instead of testing for fully opaque pixels, treat pixels that are not fully transparent as opaque. Also, tdf#161833 would cause semi-transparent pixels to be treated as fully transparent pixels when calculating the wrap contour for an image. To force the correct contour when loading a document, force the contour to be recalculated by ignoring the saved polygon if the contour is set to "recreate on edit". Change-Id: Ibe256f54e1c82de30c2b7d5b92a69344b4a7ba10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169745 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-07-04Fix regression Gtk-CRITICAL+Gtk-WARNING on vcl/wizard.uiJulien Nabet
(soffice:40467): Gtk-CRITICAL **: 11:08:58.517: gtk_assistant_set_page_has_padding: assertion 'child != NULL' failed (soffice:40467): Gtk-WARNING **: 11:59:34.471: ../../../gtk/gtkcontainer.c:1348: container class 'GtkHeaderBar' has no child property named 'expand' Regression from 2f3f1170a7ae8bb06c6cd66a8ba3eb85cc63c2ac Resave with newer Glade version Change-Id: I9fd86af43149f2ea6bd25e63c1c04360fdae0bcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169987 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-07-04cid#1607240 silence Copy-paste errorCaolán McNamara
and cid#1607649 Copy-paste error Change-Id: I9b0bfc1b2403ecaa514b6086bc5a4c37b0fdf7ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169981 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-04tdf#144981 tdf#161853 icon choice ctrl: One selection border is enoughMichael Weghorn
The previous `if (bSelected)` body a little bit further up in `SvxIconChoiceCtrl_Impl::PaintEntry` already has rRenderContext.DrawRect(CalcFocusRect(pEntry)); to draw a border around the selected entry. One border is enough, so don't draw another one using `vcl::RenderTools::DrawSelectionBackground` (pass false instead of true for the `bDrawBorder` param). For the gen and the Qt-based VCL plugins that use Cairo rendering by default, this avoids the additional misplaced and not properly cleared selection rectangle. See tdf#144981 comment 6 for where the problematic handling in the Cairo rendering path is, but which also mentions that changing this would break other things. For then gen VCL plugin using Skia (`SAL_FORCESKIA=1`) or on Windows, I see no visual change for either the "Hyperlink" dialog (Ctrl+K) or the "Page Style" dialog (Alt+Shift+P) in Writer with this change in place while moving focus between entries. On Windows, when moving focus out of the icon choice control (into the tab page), the border now remains black on all sides instead of being partially black (at least the top border) and partially blue (at least the bottom border), so it's more consistent there as well now. Change-Id: I6db415344e9276ce89d41c6b40fb93fc38ddf9a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169972 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 Simplify SvxIconChoiceCtrl_Impl::RepaintSelectedEntriesMichael Weghorn
* Drop superfluous check at the start. (Loop will just do nothing if there are no elements.) * Use range-based for. Change-Id: Idbe0ba67268cf76d38b27fcf94e59eb8abd5f566 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169971 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 Drop IconChoiceFlags::SelectingRectMichael Weghorn
Since commit 35775e291d6570b29dc0120e4839c720152b5149 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jul 2 12:34:57 2024 +0200 tdf#161853 Drop now unused SvxIconChoiceCtrl_Impl::SelectRect etc. , that flag is never set, so there's no need to check for that. Drop it. Change-Id: Ibc2efdfc9b54c19bb90c2e71cc80e0cb4a0321a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169970 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 SvxIconChoiceCtrlEntry: Drop means to manually set neighboursMichael Weghorn
This mechanism to manually sort the entries by setting a link/pointer to the neighbours isn't actually used, so drop the code to maintain a linked list. See Change-Id: I44eceb41866bb6d99ccea032f98637a42dabc9ee Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:44:46 2024 +0200 tdf#161853 Drop always null SvxIconChoiceCtrl_Impl::pHead Change-Id: Ib939145999725232d803103dc1fd0b49fa2d425a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169916 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-04tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::GetPredecessorGridMichael Weghorn
Unused since: Change-Id: I4a412389669f9cbc6701b7ed78bd45f838e13590 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:34:20 2024 +0200 tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::{Set,Find}EntryPredecessor Change-Id: I3688c74d0cdf01c68913767f6aa214c54ab719cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169915 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 Drop always null SvxIconChoiceCtrl_Impl::pHeadMichael Weghorn
With Change-Id: I13ae34ffc51972bef746e53fcd46e65ea9fbf82c Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:38:56 2024 +0200 tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::InitPredecessors in place, it can be seen that `SvxIconChoiceCtrl_Impl::pHead` is always nullptr as it's initialized to that and never assigned a different value afterwards. Therefore, drop it and all related code. Drop the now unused `bKeepPredecessors` param from `SvxIconChoiceCtrl_Impl::Arrange` and `SvxIconChoiceCtrl_Impl::ImpArrange`. (Use `git show --ignore-space change` to more clearly see the "actual changes"). Change-Id: I44eceb41866bb6d99ccea032f98637a42dabc9ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169914 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-04tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::InitPredecessorsMichael Weghorn
Unused since: Change-Id: I4a412389669f9cbc6701b7ed78bd45f838e13590 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:34:20 2024 +0200 tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::{Set,Find}EntryPredecessor Change-Id: I13ae34ffc51972bef746e53fcd46e65ea9fbf82c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169913 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::{Set,Find}EntryPredecessorMichael Weghorn
Both methods are unused since: Change-Id: I926b03a0f2054c21f8ab96eeee0083156443d2c0 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:17:41 2024 +0200 tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::SetEntryPos Further cleanup will be done in following commits. Change-Id: I4a412389669f9cbc6701b7ed78bd45f838e13590 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169912 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 Drop unused SvxIconChoiceCtrl_Impl::SetEntryPosMichael Weghorn
Unused since: Change-Id: I63ab1272140a0d5386538e6b749ba0f652f49c38 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 10:15:27 2024 +0200 tdf#161853 Drop SvxIconViewFlags::POS_MOVED Change-Id: I926b03a0f2054c21f8ab96eeee0083156443d2c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169911 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-04tdf#161853 Drop SvxIconViewFlags::POS_MOVEDMichael Weghorn
The flag is never set, so there's no need to check or clear it either. Change-Id: I63ab1272140a0d5386538e6b749ba0f652f49c38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169910 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-07-04tdf#161853 Drop SvxIconViewFlags::POS_LOCKEDMichael Weghorn
The flag is never set, so there's no need to check or clear it either. The only method setting it (`SvxIconChoiceCtrl_Impl::LockEntryPos`) was dropped in commit 18d18c8a5646868a8229dea9ffe3f46888c2bad5 Author: Joseph Powers <jpowers27@cox.net> Date: Sat Jul 23 07:16:14 2011 -0700 unusedcode.easy: svxIconChoiceCtrl_Impl Doing List cleanup, I ran into SaveSelection() and decided to delete it. While I was in the class, I went ahead and cleanup them all up. , but that method was already unused by then. Drop the flag and related code. Change-Id: I9b886f3a63444d502ef8c488437889a2b05e065a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169909 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-04tdf#161853 Drop SvxIconChoiceCtrl_Impl::bUpdateModeMichael Weghorn
It's initialized to true and since Change-Id: I0c6f191017b13fffee57d1e5eba1c03c05736ee2 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jul 3 09:09:22 2024 +0200 tdf#161853 icon choice ctrl: Drop WB_SMART_ARRANGE handling , the value never changes, so drop it and simplify accordingly. Change-Id: I05007727e29a7884165fa25c668f139a96b7c4c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169905 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins