summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-02Fix gtk4: conversion from 'AbsoluteScreenPixelRectangle' to 'tools::Rectangle'Julien Nabet
Following b6b26421a1029b18b48b69dbdac4bb70fb622604 "split Point/Size/Rectangle into AbsoluteScreenPixel* types" I got this error: In file included from /home/julien/lo/libreoffice/vcl/unx/gtk4/gtksalmenu.cxx:10: /home/julien/lo/libreoffice/vcl/unx/gtk4/../gtk3/gtksalmenu.cxx:470:22: error: no viable conversion from 'AbsoluteScreenPixelRectangle' to 'tools::Rectangle' tools::Rectangle aFloatRect = FloatingWindow::ImplConvertToAbsPos(xParent, rRect); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/julien/lo/libreoffice/include/tools/gen.hxx: 879:23: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'AbsoluteScreenPixelRectangle' to 'const tools::Rectangle &' for 1st argument class SAL_WARN_UNUSED Rectangle final : public RectangleTemplate<Rectangle, Point, Size> ^ /home/julien/lo/libreoffice/include/tools/gen.hxx:879:23: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'AbsoluteScreenPixelRectangle' to 'tools::Rectangle &&' for 1st argument /home/julien/lo/libreoffice/include/tools/gen.hxx:888:24: note: explicit constructor is not a candidate constexpr explicit Rectangle(const AbsoluteScreenPixelRectangle & r); Change-Id: I3e77ce65ba1c5f2ab8cad818f8158b65abe510eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155214 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2023-08-02vcl: Simplify analyzeSfntFamilyNameKhaled Hosny
We only need a family name not a set of name, and drop a work around for a broken font that is probably long obsolete. Change-Id: I219ec58e65826250d08b3e88462fdcc1e2e2b7f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155195 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Drop the PrintFont -> FastPrintFontInfo -> FontAttributes indirectionKhaled Hosny
We want FontAttributes at the end, so lets have them up front instead of the intermediary structures. Change-Id: Iafdf17f4a7615f0c3d972e6080cebea0183840b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155191 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Drop unused FontAttributes::GetMapNames()/AddMapName()Khaled Hosny
Change-Id: I50e06ad24e95cab39009a8affb876ebc920c1c11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155168 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Drop unused PhysicalFontFamily::GetAliasNames()Khaled Hosny
Change-Id: Ide306f0656230460f976daef0ed213f734136030 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155167 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02vcl: Fold two static method into their only call siteKhaled Hosny
Change-Id: Ifa943bd658892d4fcf8e47a6abfa245fbcaa78a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155161 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-02Prevent to open multiple Theme Color Edit dialogGülşah Köse
When we do super fast clicks to Add button prevent to open multiple dialog. Follow-up commit e73b2bc4e6fdaba3098fa2c701342e1df112514c Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com> Change-Id: If40c4982b873d41984bea298284eae062742b057 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155083 Tested-by: Jenkins
2023-08-02tdf#152307 sw: layout: invalidate more frames when footer growsMichael Stahl
While on page 12: SwTabFrame::MakeAll() is called on 523 while it's on page 12; there is one invalid pos text frame 492 with a fly somewhere before it; PrepareMake() of 523 formats prevs 492 then 493 which MoveFwd() taking 523 with it. While on page 13: TabFrame 523 is valid, and the footer 6651 never formatted (0 height). Formatting the footer in SwHeadFootFrame::FormatSize() invalidates the body 1031, immediately calls Calc() from SwFrame::MakePos(), where ~SwLayNotify() -> SwLayoutFrame::ChgLowersProp() invalidates SectionFrame 1034. Then SectionFrame 1034 is formatted, which via SwSectionFrame::CheckClipping() -> SwLayoutFrame::ChgLowersProp() invalidates only the last lower frame, because it checks the position of the frame and this frame still has a position on a previous page (it moved from page 12) and isn't even invalid yet. So in case there are invalid frames, the positions of the frames following these cannot be trusted to be used to optimize invalidations in SwLayoutFrame::ChgLowersProp(). (aside: it seems odd to format the body text before the footer text, but in this case doing it differently wouldn't have helped because the problem was already caused on a previous page) (regression from commit b9ef71476fd70bc13f50ebe80390e0730d1b7afb) Change-Id: I23b35c09af3a373d0913d931a2ba59d45fadf2c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155196 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-08-02Update git submodulesRafael Lima
* Update helpcontent2 from branch 'master' to c13eb798f7eb33dbaa98fdd09ddb5374c5fbf0fc - tdf#156573 Correctly resolve HID with "?" character Change-Id: I1642e5c56d0d67fe4170358a61ec786f313029e1 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155184 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-02tdf#156260 sw floattable: avoid moving text from the last anchor to its precedeMiklos Vajna
The 5 page long bugdoc had a "dt" in the last paragraph, expanding that to an actual dummy text with F3 resulted in anchor text on both page 4 and page 5, while the expected behavior is that text only wraps on the last page, i.e. page 5. What happened is that the (text) "offset" of the text frame anchors on pages 1..5 are meant to be all 0 (so the actual anchor text is only on the last page), but in practice the anchor text frame on page 5 had an offset of 1123, which breaks the invariant that in case a fly frame is split to N pages, then only the last matching anchor text frame has text. (If it has too much text, then a next page with just anchor text is fine, but 0..N-1 pages should have no anchor text.) Fix the problem by SwTextFrame::AdjustFollow_(): in case it would reach the end for the "has follow, but no follow's follow" case, then still avoid setting the offset of the follow in case we know this is text frame has a non-last split fly anchored in it. With this, the render result matches in no overlaps and also what Word does in a similar edit session. (No F3 there, but can paste similar text at the document end.) Change-Id: I6c8d4f825d9dc356bb2a3a87a2f9c2e6529ce533 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155209 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-08-02Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 0de5c3029b8e31e68bc3324fdbc54667377ec923 - tdf#155875 Tab'd UI cmds Writer/Format in Help(9) + refactoring + Writer Format menu (part 9) Change-Id: I5de345ea59c4f11327d5dd56b91c3d63fa4f3745 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155205 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-02Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 8639e492e3161f216cd0ec16c32b0d4149e937dd - tdf#155875 Tab'd UI cmds Writer/Format in Help(8) + refactoring + Writer Format menu (part 8) Change-Id: I70ae77276c69b0080608ca68586809d9f138f1fa Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155203 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-02Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 767abbced350d007bf6c3d88aedae16463c8c7a6 - tdf#155875 Tab'd UI cmds Writer/Format in Help(7) + refactoring + Writer Format menu (part 7) Change-Id: Ie42db50e3db0a0c22b819c0d9e2650dcab7beaf8 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155201 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-02Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 9415fea9cfb6f28c9e2214736aabee2cff5fea40 - tdf#135837 - Update anchoring of images in Writer + refactor Change-Id: Iee9f1bdc846d67dfc2d9a1b12782bd7203f8fb21 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155200 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-02No boost in basicMike Kaganski
Change-Id: Iba8d1bacf37d29137c2d4f4ed6f0ea1206c84f3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155186 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-08-02tdf#129713 Output message when using "--cat" with other LO instances runningMatt K
This change modifies the code that determines whether a 2nd LibreOffice instance is running during the startup of the new soffice.bin process. In that section of code, we simply write a new error message to console and pop-up a message box via FatalError. The message tells the user that they should close other LibreOffice processes if they want to use the "--cat" or "--script-cat" command line options. Change-Id: I2c2a00c07d733e2f0ed6c0632f0f0d115188b116 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154909 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-08-02split Point/Size/Rectangle into AbsoluteScreenPixel* typesNoel Grandin
to attempt to make it obvious in code what kind of coordinate system we are dealing with. The idea is that by doing this, the compile-time type checking will flush out inconsistencies between different code. I started with vcl::Window::OutputToAbsoluteScreenPixel and worked outwards from there. Change-Id: Ia967d7a0bb38886695f3a761b85c8b9340ddb1c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154676 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02fix up testTdf125334 to set a language of "none" for the chart labelsCaolán McNamara
i.e. add fo:language="zxx" fo:country="none" to the "Some long X Axis Label on Vertical X Axis..." labels so that there is no hyphenation attempt made on the text so that the same behaviour in the jenkins build where there is (presumably) not hyphenation available is seen on personal builds which might have hyphenation available. See commit d0cf5bb9bc267847f23f1bf1fde0df062a554059 Date: Mon Jul 31 13:17:15 2023 +0200 CppunitTest_sw_layoutwriter2: fix up testTdf125334 for more details Change-Id: Id0dc0abd785a32349eece6b7f658826f0fea571c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155151 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-02std::set->o3tl::sorted_vector for m_aFontFileToFontIDNoel Grandin
sorted_vector is perfect for small sets of small objects, and fontId is an int. Change-Id: I6955ae1a8793c47cf79b3080e566d7b50896b3e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155192 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02CppunitTest_sw_htmlexport: clean up testFdo81276Miklos Vajna
Still fails with commit 7dff37c65e08985b80ac79e13f5571819a8e739d (fdo#81276: sw: HTML import: fix inverted test in CSS import, 2014-07-22) reverted, but now avoids the almost unused DECLARE_HTMLEXPORT_ROUNDTRIP_TEST macro. Change-Id: I8298606b8521009e733ba1e0ce6e513cd8f3db2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155198 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-02a11y: Don't always append window type to a11y name in debug buildsMichael Weghorn
Appending " (Type = <number>)" to the accessible name is probably meant for debugging purposes to see what type of window is involved, but doing that by default in debug builds has disadvantages, e.g.: 1) It affects how assistive tooling, like screen readers, handles the accessible objects, therefore the behaviour with a debug build (what a developer working on something experiences) does not necessarily match what happens in non-debug builds (what end users will experience). For instance, when Orca announces the "Update styles" push button in Writer's formatting toolbar, it not only announces the extra type information for the objects in the hierarchy it announces anyway, but announces the panel in addition, since it has a non-empty name due to the appended type information. Announcement without this change in place (from Orca log): INFO:speech:SPEECH OUTPUT: ' (Type = 371) panel.' INFO:speech:SPEECH OUTPUT: 'Formatting (Type = 356) tool bar' INFO:speech:SPEECH OUTPUT: 'Update push button.' Announcement with this change in place: INFO:speech:SPEECH OUTPUT: 'Formatting tool bar' INFO:speech:SPEECH OUTPUT: 'Update push button.' 2) It breaks selecting the object under the mouse cursor in Accerciser at least with the qt6 VCL plugin when the object is in a dialog, because the window name retrieved via the accessibility APIs (with the appended type information) does not match the one retrieved via Wnck [1]. Therefore, don't append the type information by default, but only if environment variable `LIBO_APPEND_WINDOW_TYPE_TO_ACCESSIBLE_NAME` ist set (typically `LIBO_APPEND_WINDOW_TYPE_TO_ACCESSIBLE_NAME=1`, but any value other than "0" will do), so that can still be used for cases where having the type as part of the accessible name is useful. [1] https://gitlab.gnome.org/GNOME/accerciser/-/blob/5af3fdbfb8a7832e434ad6fc7d2ecaad18f2e32e/plugins/quick_select.py#L109 Change-Id: Ie33b14fbdf9731b02c8c620d7a5ac718ef99367d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155094 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-02a11y: Convert AccessibleTableControlObjType to enum classMichael Weghorn
Change-Id: I227ca242ae8fa22940b1bf302541f8d9b7b40eb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155199 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-02tdf#156473 a11y: Properly retrireve a11y context from XAccessibleMichael Weghorn
... by using `XAccessible::getAccessibleContext` rather than trying to just query for the `XAccessibleContext` interface on the `XAccessible` object. (While in many cases, the class implementing both interfaces is the same, that doesn't have to be the case.) Change-Id: I281082672447c7bfd2812d7f3cd54c74414df66e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155193 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-02tdf#156473 a11y: Don't use selection index as child indexMichael Weghorn
`XAccessibleSelection::getSelectedAccessibleChild` takes the index into the selection, not the child index, as its documentation (in `offapi/com/sun/star/accessibility/XAccessibleSelection.idl`) says: > @param nSelectedChildIndex > This index refers only to the selected children, not to all the > children of this object. Even if all children are selected, the > indices enumerating the selected children need not be the same > as those enumerating all children. If only single selection is > supported the only valid value is 0. The previous handling here in `AccessibleGridControlTable::getSelectedAccessibleChild` was treating it as the child index, though. Therefore trying to get the selected children would break once any row other than the first was selected. Fix this by calculating the actual row/column index of the cell from the given *selection* index. This could be observed e.g. with the qt6 VCL plugin by querying selection from Accerciser, with the last row selected in the table from the tdf#156473 macro in LO and the corresponding table object selected in Accerciser's tree view of the LO a11y hierarchy: Before: In [41]: sel = acc.querySelection() In [42]: sel.nSelectedChildren Out[42]: 5 In [43]: sel.getSelectedChild(0) In [44]: sel.getSelectedChild(0) == None Out[44]: True With the fix in place: In [48]: sel = acc.querySelection() In [49]: sel.nSelectedChildren Out[49]: 5 In [50]: sel.getSelectedChild(0) Out[50]: <Atspi.Accessible object at 0x7fcaeaddb900 (AtspiAccessible at 0x3ae4a80)> In [51]: sel.getSelectedChild(0).name Out[51]: 'C1 , R4 , ' In [52]: sel.getSelectedChild(1).name Out[52]: 'C2 , R4 , ' In [53]: sel.getSelectedChild(4).name Out[53]: 'Column 5 , R4 , ' Change-Id: Id7d42a89b913d2ed101a9edb45dee5f3d870dbbd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155190 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-02tdf#156545 - a11y - fix warns about background character style formattingsBalazs Varga
Do not add warn to a11y sidebar if we use charstyle for character background format. Change-Id: Ide558b590cae2bc20c71c5c44909cd2cdeb89985 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155095 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-08-02Add translator comment to clarify meaning of the Fix buttonGabor Kelemen
Change-Id: I9e792bb27523a2daf6afca00ad1c210e6b274573 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155087 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-08-01tdf#156283: take remaing dx value into consideration tooXisco Fauli
Change-Id: I27c6f12edacd68c7f956b67dcf9ef0cc5045e3d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155169 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-08-01Revert "tdf#144072 prevent use of a deleted pointer"Patrick Luby
This reverts commit 01a1d2a84992973b8a0e5f1ae99fd32f5913b58f. That commit appeared to fix tdf#144072 but it only delays the crash as the reportdesign module will keep reusing the same SdHdl pointer that has already been deleted. Change-Id: I8e416b0376aa8724b697f54ed45f58341b47dc2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155181 Tested-by: Patrick Luby <plubius@neooffice.org> Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-01tdf#146619 Remove unused #includes from C/C++ filesVenetia Furtado
Change-Id: Ia8b406b6a59086160a5167480c6d3bde6574ffbe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155029 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-08-01tdf#156462: sc_uicalc: Add unittestXisco Fauli
Change-Id: Ib02bcb33c243450cdc94328e07d02510d50eb7c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155164 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-08-01Fix reversed expected and actual unit test resultsKhaled Hosny
Change-Id: Ie7eaec7ce9ad6f85b02edc831f1d138f45c18220 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155152 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-01Fix typoAndrea Gelmini
Change-Id: Ib15fe6d0d9df549a9c7952494bfca78ec66b7f8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155160 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2023-08-01tdf#156544 sw tracked table column: delete empty columnLászló Németh
Empty table columns were removed without change tracking in Record Changes mode, too. Follow-up to commit fe43f5971dfd2a121634eea9e39c7ad0cf3f962a "tdf#156475 sw tracked table column: delete empty cell". Change-Id: I8154cb1c75cf793f5a60e8259a91dd779fc766e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155153 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2023-08-01cool#6911 report the position of comments as cell addressesCaolán McNamara
and leave it to the client to determine the bounds of the cell Change-Id: I20a1bece5d0717c0e099b38610842d4800d6a074 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155088 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-01tdf#144072 prevent use of a deleted pointerPatrick Luby
BegDragObj_createInvisibleObjectAtPosition() may clear the handle list and that will delete the SdrHdl instances owned by this section view so set _pHdl to null if it has been deleted during the call. Change-Id: I89606958f8a76a2c35685d1aff6b0159739a464a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155119 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-01Allow getViewRenderState to get from a specific viewParis Oplopoios
getViewRenderState would get its output from the current view, make it so that it's possible to specify a specific view Change-Id: I279b215f8311b079c220c79b8b41c76bc0210154 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154943 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit eff5643dbc5bb9dfede530e8e07261bb9bdc98f0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155046 Tested-by: Jenkins Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
2023-08-01wina11y: Drop/Clean up CHILD event handling in subclassesMichael Weghorn
Now that Change-Id I62ab32342ef67c770ced9f0d2be867dc9355bd4a ("tdf#156561 wina11y: Handle CHILD event") has implemented handling for the CHILD event in `AccEventListener`, drop the overrides in child classes that effectively do the same. For the case that a new child gets added, `AccFrameEventListener::HandleChildChangedEvent` also passes the HWND, so leave that and only forward to the base class for the other case. Change-Id: I68d836abedbf3563df84187d56851820c043866f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155127 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-01tdf#156561 wina11y: Handle CHILD eventMichael Weghorn
So far, `AccessibleEventId::CHILD` events were ignored by `AccComponentEventListener` and its base class, `AccEventListener`. As a result, no event listener would be created when e.g. a child that was previously hidden got shown, resulting e.g. in NVDA not announcing that object when it receives focus later. Handle the event and register a listener when notified about a new child and drop the old child when one gets removed, like some of the derived classes already do in pretty much the same way. (Those implementations will be cleaned up/dropped in a separate commit.) This addresses one of the root causes of why tdf#140762 ("No text spoken by screen reader for 'Borders' dropdown button items in Calc's formatting toolbar (NVDA on Windows)") occured without commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Mar 15 17:00:27 2023 +0100 tdf#140762 tdf#152671 Make dock win visible before showing popup , i.e. when the window is made visible only after its parent. Still, this change at least by itself does not yet solve tdf#152671 ("ui, accessibility: auto filter drop down menu is not spoken by the screen reader") and also for the case of the toolbar popup, the initially focused item would no more be announced when reverting the above-mentioned commit and its follow-up commit commit 57c2209dd04abfda90e0aba782bc174243633ec9 Author: Caolán McNamara <caolanm@redhat.com> Date: Thu Apr 6 15:07:15 2023 +0100 tdf#154470 try moving the Show of the client to after the float positioning Example backtrace of the font color popup in the formatting toolbar where no event listener was created previously: 1 AccEventListener::notifyEvent AccEventListener.cxx 74 0x7ffe4b4ecf14 2 AccComponentEventListener::notifyEvent AccComponentEventListener.cxx 82 0x7ffe4b4ee699 3 comphelper::AccessibleEventNotifier::addEvent accessibleeventnotifier.cxx 256 0x7ffe5e80ebac 4 comphelper::OCommonAccessibleComponent::NotifyAccessibleEvent accessiblecomponenthelper.cxx 127 0x7ffe5e80443e 5 VCLXAccessibleToolBoxItem::NotifyChildEvent vclxaccessibletoolboxitem.cxx 213 0x7ffe4b337e10 6 VCLXAccessibleToolBox::UpdateCustomPopupItemp_Impl vclxaccessibletoolbox.cxx 373 0x7ffe4b33334d 7 VCLXAccessibleToolBox::ProcessWindowEvent vclxaccessibletoolbox.cxx 547 0x7ffe4b33263c 8 VCLXAccessibleComponent::WindowEventListener vclxaccessiblecomponent.cxx 112 0x7ffe51e871c5 9 VCLXAccessibleComponent::LinkStubWindowEventListener vclxaccessiblecomponent.cxx 98 0x7ffe51e861f6 10 Link<VclWindowEvent &,void>::Call link.hxx 111 0x7ffe504204b3 11 vcl::Window::CallEventListeners event.cxx 263 0x7ffe50420860 12 svt::PopupWindowControllerImpl::WindowEventListener popupwindowcontroller.cxx 148 0x7ffe53c65593 13 svt::PopupWindowControllerImpl::LinkStubWindowEventListener popupwindowcontroller.cxx 89 0x7ffe53c64f76 14 Link<VclWindowEvent &,void>::Call link.hxx 111 0x7ffe504204b3 15 vcl::Window::CallEventListeners event.cxx 263 0x7ffe50420860 16 vcl::Window::ImplResetReallyVisible stacking.cxx 723 0x7ffe5033d6f1 17 vcl::Window::Show window.cxx 2234 0x7ffe5053eca7 18 ImplDockingWindowWrapper::ImplPreparePopupMode dockmgr.cxx 769 0x7ffe5041154e 19 ImplDockingWindowWrapper::StartPopupMode dockmgr.cxx 816 0x7ffe50413d4c 20 DockingManager::StartPopupMode dockmgr.cxx 349 0x7ffe50413c11 ... <More> Change-Id: I62ab32342ef67c770ced9f0d2be867dc9355bd4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155126 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-01tdf#156100 tdf#156561 Revert to previous behavior for gtk popupsMichael Weghorn
In order to fix announcement of items in the popups with at least NVDA on Windows, commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb Date: Wed Mar 15 17:00:27 2023 +0100 tdf#140762 tdf#152671 Make dock win visible before showing popup made sure that the dock window is made visible before the popup is shown. That's problematic for the gtk implementations, though. On issue was addressed with commit 70642bb7afd2cee6f7ae6eff2936a35978bd0597 Date: Thu Apr 6 15:07:15 2023 +0100 tdf#154470 try moving the Show of the client to after the float positioning , but there's still an issue for the RTL case (tdf#156100). To unbreak that while leaving the announcement with NVDA working properly, effectively revert to the original behavior for the gtk VCL plugins (which have their own implementation for popup handling) for now. Further analysis of the root causes is planned in the context of tdf#156561, so hopefully the code paths can be unified again in the future. (One issue is addressed by Change-Id I62ab32342ef67c770ced9f0d2be867dc9355bd4a, "tdf#156561 wina11y: Handle CHILD event", but that's not enough by itself.) Change-Id: Ie67bded6c380695866d5343dab9d3f563ada057a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155125 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-01tdf#156548: make truncated long bookmark name unique, and use it in hyperlinksMike Kaganski
Change-Id: I156359339ff8be85fe90cb6612eafdc6030c851f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155092 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-08-01gtk_tree_view_scroll_to_cell: assertion 'tree_view->priv->tree != NULL' failedCaolán McNamara
on loading sw//qa/extras/layout/data/tdf125334.odt and double clicking chart Change-Id: I65b10c0223e9c217d77dc7daa73580fadffc32c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155096 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-08-01tdf#156260 sw floattable: avoid overlapping flys on anchor changeMiklos Vajna
Going to the end of the document, typing "dt" and F3 collapses the multi-page floating table into a single page, with overlapping text. In practice we insert a new paragraph before the "dt" one, insert the dummy text there and then re-anchor the floating table from the old paragraph to the new one. Such re-anchoring isn't really meant to be done with floating tables, which are always just anchored in the next paragraph in practice. An additional problem is that the amount of fly frames created depends on the position of the first fly frame, so if the anchor changes, we may need a different number of split fly frames. Fix the problem by not trying to reuse the old fly frames on anchor change: delete the old frames, change the anchor and finally create the new frames, which leads to correct layout with complicated logic trying to update the old fly chain to the new anchor. The original document still puts some dummy text on page 4 instead of starting it on page 5, that part is still unfixed. Change-Id: I74549e2ea8ca0d06a9e4814a58aaa8ca476263dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155122 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-08-01tdf#156376 qt: Open help for focused native menu entry on F1Michael Weghorn
In order to allow have pressing F1 (`QKeySequence::HelpContents`) open the corresponding help entry for the currently selected menu entry, connect to the signal that gets emitted when a menu entry is selected (`QAction::hovered`) and remember its help ID. Register the F1 shortcut for the menu and connect its `activated`/`activatedAmbiguously` signal with a slot that opens the help for the current/ last selected menu entry. Change-Id: I24eec4806e5a202052a49c239e4836b92c9f0228 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155055 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-01Update to curl-8.2.1.tar.xzStephan Bergmann
...obtained from <https://curl.se/download/curl-8.2.1.tar.xz> Change-Id: I7260f79e2f72501869ff58c77f0d9dfa3ebdece1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155116 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-08-01sw: document SwFormatINetFormatMiklos Vajna
Especially how it relates to SwFormatURL, which is for images, not for Writer text. Change-Id: Idc00f3b9803d2fb603647b692de2c1a6ce068361 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155115 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-01CppunitTest_sw_layoutwriter2: fix up testTdf125334Miklos Vajna
This started to fail for me after commit 4b743de97fc133623e46827869c4ea3eb845ad47 (tdf#156234: Don’t round glyph coordinates when doing subpixel positioning, 2023-07-17), the test was added in commit 75ef0e41ea8a9096ac619356d2b837c5333b47e6 (tdf#125334 Chart: allow text break in bar chart axis labels, 2019-05-17). Manually opening the test document indeed shows chart axis labels that are not wrapped to multiple lines, while they were in the past. Tweak the test to accept the new state just to unblock make check, but add a FIXME because in the long run this should probably needs some more investigation either on the chart2 or on the vcl side. Interestingly the test still passes on Jenkins (but not locally) and it seems the available / missing system fonts don't influence the result, because CppunitTest_sw_layoutwriter2 has gb_CppunitTest_set_non_application_font_use set to "abort" already. Change-Id: I2bf105d04f2fe69aac386a13103681536a19d02c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155090 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-01fix C/P typo that allowed setting LumMod color transform value 0Tomaž Vajngerl
should be m_nLumOff instead of m_nLumMod Change-Id: I14b04fb0fecad949a41abf752d2ac05ceed5ba83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155112 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-01set finalColor of the ComplexColor in BorderLine and BrushItemTomaž Vajngerl
The final color is stored inside the ComplexColor and is used to represent the final computed color from theme color and/or transforms. Change-Id: I405615bba144bfe876b75c565746d9eebc88e973 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155111 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-01sc: remove code duplication at OOXML export of ComplexColorTomaž Vajngerl
This removes the code duplication when exporting the ComplexColor to OOXML. Now we use a common oox::xls::writeComplexColor function which writes a ComplexColor to the stream. Change-Id: I4e7bb1f8427409d09550c71894c327dba5096bec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155110 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-08-01sc: rename oox::xls::Color to oox::xls::XlsColorTomaž Vajngerl
It's annoying that the class name is so similar to the commonly used class Color, even when it is in its own namespace. To avoid unneccesary conflicts and confusion, it was renamed. (Similar would be also good for oox::drawingml::Color) Change-Id: I68dcaf951b7faf089cb2b13d94576007f40c441e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155109 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>