summaryrefslogtreecommitdiff
path: root/sw/source
AgeCommit message (Collapse)AuthorFilesLines
20 hourscid#1655270 suppress Uncaught exceptionCaolán McNamara1-1/+2
Change-Id: Id995b6ebe7e36084e759638e177f2e4a97358430 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187361 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
23 hourssw: add fallback for page styles using UIName identifiersTibor Nagy1-2/+4
Change-Id: I3cbbaaa54784f1b11a34c7711df12770885ffb8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187354 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy@collabora.com>
36 hoursflatten SwAccessibleParagraph::GetFieldTypeNameAtIndex a littleNoel Grandin1-136/+139
Change-Id: Ic622fd0312de4b7954ad705f66a2579c655f54ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187330 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
40 hourssw: use SAL_RET_MAYBENULL in GetSfxViewShell()Xisco Fauli7-30/+50
after commit 7ac9630d2258ae4b40917b79b38fa6cab0842078 Author: Caolán McNamara <caolan.mcnamara@collabora.com> Date: Tue Jul 1 09:24:54 2025 +0100 null GetSfxViewShell() deref Change-Id: If7e5019cf49917d163b36fc1aab24de64e10c4ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187242 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
44 hoursONLINE: Fix the problem with changing text box font color.Gülşah Köse1-0/+4
Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com> Change-Id: Ia39bda929964ae55a2c032a8c386ef77342b2d0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186454 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 12d98f7c55ef87ec488472de22bc4aca89243f53) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186557 Tested-by: Jenkins
46 hourstdf#166842 do not use LineColor==COL_TRANSPARENT...Noel Grandin2-8/+5
.. on OutputDevice if that OutputDevice does not support alpha Change-Id: Ic912237eda97beec6276c6c837f3b95fe92aea50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187275 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2 daystdf#167082 Fix the missing styleGülşah Köse1-1/+3
While we tracking change of the document, if action is delete and if it doesn't delete the whole node, we shoud use remaining text parts's style. If delete removes whole node we can use previous node' style. Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com> Change-Id: Ie5cc40c12b9e2dad521ee35098630c94048d490f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187266 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
3 dayslok: use locale units in dialogs and table sidebarPranam Lashkari1-3/+3
this patch updates fix for the dialog which were not fixed by e2708fecb34fb4084f8db5f2c5ffb4d8923002ca part 3 Change-Id: Icae1254a6a6825ee7b4c78a28c9b8d328b7de4a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185694 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 1cdff82bfcbf9192ad6e477763e49d7fe3b7de3a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185799 Tested-by: Jenkins
3 daystdf#167329: Make sure to invalidate inf flags properlyMike Kaganski4-3/+14
Since commit b6bcc7ac278e0db22df02707789730ec123bf934 (tdf#166871: drop mnMaxParaPerPage hack, 2025-06-07), an assertion fails in some cases (see https://gerrit.libreoffice.org/c/core/+/186243/3#message-edb2ace35947927748d0bd37a36d95f2ddf67217 ). The call stack is: #19 __assert_fail in /lib64/libc.so.6 #20 FindFrameInBody(SwAnchoredObject const&) at /home/caolan/LibreOffice/core/sw/source/core/layout/objectformattertxtfrm.cxx:605 #21 SwObjectFormatterTextFrame::CheckMovedFwdCondition(SwAnchoredObject&, SwPageFrame const&, bool, unsigned int&, bool&, bool&) at /home/caolan/LibreOffice/core/sw/source/core/layout/objectformattertxtfrm.cxx:723 (discriminator 1) #22 SwFlyAtContentFrame::MakeAll(OutputDevice*) at /home/caolan/LibreOffice/core/sw/source/core/layout/flycnt.cxx:448 (discriminator 1) #23 SwFrame::PrepareMake(OutputDevice*) at /home/caolan/LibreOffice/core/sw/source/core/layout/calcmove.cxx:397 #24 SwFrame::Calc(OutputDevice*) const at /home/caolan/LibreOffice/core/sw/source/core/layout/trvlfrm.cxx:1858 #25 SwFlyFrame::Calc(OutputDevice*) const at /home/caolan/LibreOffice/core/sw/source/core/layout/fly.cxx:3441 #26 SwObjectFormatter::FormatLayout_(SwLayoutFrame&) at /home/caolan/LibreOffice/core/sw/source/core/layout/objectformatter.cxx:210 The problem is, that some frames don't get their flags invalidated on move, and then use some flag state possibly calculated outside of layout. E.g., creation of table in InsertCnt_ would add cells and insert their content in SwCellFrame ctor; during that, the cell has no upper, and any attempt of a lower to calculate its inf flags would set mbInfBody to false. In SwFlowFrame::PasteTree, pStart may also have inf flags inconsistent with the target position. This change makes SwFrame::InvalidateInfFlags also invalidate these flags in lowers (for layout frames), because obviously, when upper neest to update the flags, so should do lowers. This is similar to what was done in lcl_InvalidateInfFlags, which got simplified. Change-Id: Ic4898791bacef46415985b43f44fddfd533051f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187240 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
4 daysnull GetSfxViewShell() derefCaolán McNamara1-3/+3
#0 0x00007d2c05299b40 in SwViewShell::SizeChgNotify (this=this@entry=0x3cd9f220) at sw/source/core/view/viewsh.cxx:1264 #1 0x00007d2c04e7bfb8 in AdjustSizeChgNotify (pRoot=pRoot@entry=0x3c9a1af0) at sw/source/core/layout/pagechg.cxx:894 #2 0x00007d2c04e7fa5d in SwRootFrame::CheckViewLayout (this=0x3c9a1af0, pViewOpt=pViewOpt@entry=0x0, pVisArea=pVisArea@entry=0x0) at sw/source/core/layout/pagechg.cxx:2490 #3 0x00007d2c04e81819 in SwPageFrame::Paste (this=this@entry=0x3cf5c9b0, pParent=pParent@entry=0x3c9a1af0, pSibling=pSibling@entry=0x3cebf0d0) at sw/source/core/layout/pagechg.cxx:1010 #4 0x00007d2c04e8498b in (anonymous namespace)::doInsertPage (pRoot=0x3c9a1af0, pRefSibling=0x7ffce60d5450, pFormat=<optimized out>, pDesc=<optimized out>, bFootnote=<optimized out>, pRefPage=0x7ffce60d5458) at sw/source/core/layout/pagechg.cxx:1396 #5 0x00007d2c04e852a4 in SwFrame::InsertPage (this=this@entry=0x3cebe640, pPrevPage=0x3cebb780, bFootnote=bFootnote@entry=false) at sw/source/core/layout/pagechg.cxx:1475 #6 0x00007d2c04eb3787 in SwFrame::GetNextSctLeaf (this=0x3cebe640, eMakePage=MAKEPAGE_INSERT) at sw/source/core/layout/sectfrm.cxx:1853 #7 0x00007d2c04e35530 in SwFlowFrame::MoveFwd (this=this@entry=0x3cebe720, bMakePage=<optimized out>, bPageBreak=bPageBreak@entry=false, bMoveAlways=bMoveAlways@entry=false) at sw/source/core/layout/flowfrm.cxx:2148 #8 0x00007d2c04e24732 in SwContentFrame::MakeAll (this=0x3cebe640) at sw/source/core/layout/calcmove.cxx:1930 #9 0x00007d2c04e2184c in SwFrame::PrepareMake (this=0x3cebe640, pRenderContext=0x3c95db30) at sw/source/core/layout/calcmove.cxx:396 #10 0x00007d2c04e3abe4 in CalcContent (pLay=pLay@entry=0x3ce01530, bNoColl=bNoColl@entry=false) at sw/source/core/layout/fly.cxx:1764 #11 0x00007d2c04ee2079 in SwLayoutFrame::FormatWidthCols (this=this@entry=0x3ce01530, rAttrs=..., nBorder=nBorder@entry=0, nMinHeight=nMinHeight@entry=23) at sw/source/core/layout/wsfrm.cxx:4013 (gdb) print mpSfxViewShell $3 = (SfxViewShell *) 0x0 Change-Id: I2e0f21a442791260e8b79e38965c8da7e41656cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187226 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
4 daysLOK Extract API: normalize textBefore / textAfter in redline extractionMike Kaganski1-40/+139
We return textBefore / textAfter context for each redline; but for it to make sense, it needs to reflect the text in the state when the redline was created. This change makes sure that for each processed redline, the document is set to the visual state present at the moment current for this redline: all previous changes are shown as if accepted; all future changes are not shown as if rejected. Change-Id: Ie5b9a971c2c98642b49212fbcd57df46a8daaccc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187221 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
4 daysSimplify a bitMike Kaganski1-2/+2
Initialize the variable on declaration; use clearer 'while' instead of 'for'. Change-Id: I461a3b0556e362006a47245dbc504b46807a23c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187231 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
4 dayssw: factor out common codeXisco Fauli1-75/+42
Change-Id: If92f5254d27426ada0b30b97e6d417f60bab1a0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187232 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
4 daysSimplify SwXRedlineMike Kaganski2-19/+17
It doesn't need own m_pDoc (SwXText has one already); and its ctor doesn't need an SwDoc& argument (it is deducible from rRedline). Change-Id: I93e72ba824a697df2d3654336c3f5c44192083eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187230 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
5 daystdf#167298 tdf#166113 sw word spacing: add word spacing indicatorLászló Németh4-11/+49
tdf#167298: As an advanced feature for typography and related development – including bug fixing –, add visualization for justified text lines with too big word spacing. tdf#166113: fix bInteropSmartJustify by adding bFullJustified to avoid unnecessary extra calculation for the last paragraph line. (Regression since commit 529755f0919217a84a12daad0fddfddd1124f0e9 "tdf#166113 sw smart justify: adjust algorithm for interoperability", detected by the word spacing indicator). The red word spacing indicator line is positioned before the justified text line, and its width is the extra space of a space character over the maximum word spacing. For example, if the font-defined space width is 3 pt, the maximum word spacing is 150%, spaces expanded to 6 pt in the justified line results a 6 pt - 3 pt * 1.5 = 1.5 pt width word spacing indicator. To enable the word spacing indicator in a justified text, 1) Open "Tools" -> Options" -> "Advanced" -> "Open Expert Configuration"; 2) search for "ShowWordSpacingIndicator"; 3) double-click on the config entry (or press Enter) to set it to True; 4) Enable Formatting Marks (Control-F10). Follow-up to commit 5a48070f5904c51dc9e7bbad4213d802fd4bc89b "tdf#126154 sw offapi xmloff cui: add min/max word spacing" and commit 7d6696757dcdfa3cee481ac7795a91b2b47da363 "tdf#159923 sw cui offapi xmloff: add custom word spacing". Change-Id: I315b5e6b8239f4fdc8e69eb45fc292b8d5891138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187199 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: Jenkins
5 daysLOK Extract API: add contextLen filter argument to redline data extractionMike Kaganski1-5/+26
Allows to specify the length of returned textBefore / textAfter fields. Change-Id: I17abd72fa063d8033e552e55844bf6b7fc1780d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187189 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
5 daystdf#166842 do not use FillColor==COL_TRANSPARENT...Noel Grandin5-7/+27
.. on OutputDevice if that OutputDevice does not support alpha Change-Id: I52f8a496127462deecba9cf6fd19f827466d16cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187181 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
5 daysUse more concrete type to avoid a queryMike Kaganski1-9/+3
And drop a comment obsoleted by commit 1ac5353bbb25bd9ff0ab0e157b3dbd0da325480a (Use weak reference to SfxObjectShell in SfxEventHint to avoid use-after-free, 2024-03-11). Change-Id: I7512328fea6c6bd5c893163616826c571e7b78bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187154 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
6 daysRevert "tdf#161264 don't hide paragraph with empty mail merge fields"Mike Kaganski3-5/+0
This reverts commit dce68b5f9f286a8b6af42fcad1331d7e9bb07f4c. That commit tried to workaround tdf#156061, by basically disabling the feature that was intended to match an existing feature in MS Word. After commit ef3b11f811e1fd3852a22881d712afda03a0238f (tdf#156061: don't hide DB fields when not in mail merge, 2025-06-29), fixing tdf#156061 properly, Word documents should again have the feature enabled, as intended. I checked that tdf#159123 doesn't re-appear after this (at least on my system). Change-Id: I154e776fe56373fa021ff63e4fb3ac3c0815bb10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187151 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
6 daystdf#156061: don't hide DB fields when not in mail mergeMike Kaganski3-1/+7
Original implementation (commit db04be037b611e296ef9f2542322c52ed82d7a2b tdf#35798: Hide empty Database fields' paragraphs (+ compat option), 2018-05-20) made empty DB fields serve as "hidden paragraph" field, when the field text is empty. The feature is created for mail merge, where the generated documents adapt to varying set of data in each record. But that broke the case where documents having DB field are used in non-mailmerge context, like viewing/printing such documents. Users expect such documents to show the lines. This patch changes the behavior, so that empty DB field only hides paragraphs when mail merge is being performed. When the resulting document converts DB fields to static text, the hidden paragraphs get removed. But if the generated documents still have DB fields, then the paragraphs in it will not be hidden, when opened later. This matches user expectations, and behavior of other apps, better. This behavior change required to change respective unit tests in sw/qa/extras/mailmerge/mailmerge.cxx from *_FILE_* to *_SHELL_*: the latter creates a static-text output, while the former produces files with fields. (IMO, that is a bug.) Change-Id: Id796ad8fe413372377ce22d8da4931110718c8c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187150 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
7 daysSimplify OUString creation from SvMemoryStreamMike Kaganski2-27/+7
No need for a fallback to Seek / ReadBytes if !p. No need to write null character, nor to count to it: we know the size. Change-Id: If85dd953862ae60e32f33af1ddd4d9099f6885f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187124 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
8 dayssw a11y: Unify wasm/non-wasm code paths a bitMichael Weghorn1-7/+2
Change-Id: Ia6935a04788a6179ec2c8cbff5ce435836fe559f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187076 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
8 daystdf#167254: check if getCellCount gives zeroMike Kaganski1-1/+1
Regression since commit 038473595ed266d15a788d8f97781cbaf066cfe7 (tdf#152839 add fill cells to tables imported wrongly from RTF, 2024-10-11). Change-Id: Ie2da84eb358d291bcc584a86ae69843f13186c3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187073 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
8 daystdf#167132: Reimplement SwWrtShell::InsertEnclosingCharsMike Kaganski3-7/+59
It used IDocumentContentOperations::ReplaceRange, and that created a number of problems. 1. The method is documented to only work in a single node. That meant, that trying to apply it on a selection over several paragraphs would make odd things: it would replace the selected part only of the first paragraph with the text of all the selected paragraphs, separated by hard line breaks (and enclosed in the requested characters). In debug builds, it would even fail an assert here. 2. It would replace all the content of the selection with just text, removing objects. 3. The implementation didn't check if the operation is permitted. 4. The implementation didn't create a single undo operation, and for a multi-selection, the operation would create multiple "replace" undo entries. This change re-implements it, trying to address these shortcomings. - It checks if the operation is permitted, consistent with how other methods there do it. - It merges all changes inti a single undo operation (with a proper description). - It inserts the requested strings in the start and ent boundaries of the selection, without replacing it. In this case, the start poses a problem: insertion inherits the formatting from behind, so may give the result having different formatting compared to the first selected character. This is workarounded by inserting the start string after the first character initially; then copying it (with its formatting) to the correct place, and removing the temporary insertion. - Change-Id: Ie3bf4d961ff5de5d2687692dac230579a176b960 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187072 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
8 daystdf#167133: Be prepared that frame's object's anchor may be nullMike Kaganski2-4/+14
... between the time the object was removed from the model, and the layout update. Change-Id: Ieb2f42c18794090cdc8786d5cffd9ae6e2b8f147 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187071 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
8 daysa11y: Drop redundant Window::SetAccessible callsMichael Weghorn1-5/+1
These vcl::Window::CreateAccessible overrides only get called from vcl::Window::GetAccessible when no accessible has been set yet. vcl::Window::GetAccessible already takes care to set the window's accessible to the returned one, so there is no need to do that in the overrides as well. This simplifies this further after commit f84f7188bd55f38199b26f22bc76dcb247955b27 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jun 25 11:21:36 2025 +0200 sd a11y: Simplify ShowWindow::CreateAccessible Thanks to Noel Grandin for the comment in [1]. [1] https://gerrit.libreoffice.org/c/core/+/186963/comment/a99199e0_c4561445/ Change-Id: I3954845c942b8cf9f42b58ceb7962e1ce6ace5f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187048 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
8 dayssw a11y: Don't call GetAccessible in SwPagePreviewWin::CreateAccessibleMichael Weghorn1-8/+4
As a vcl::Window::CreateAccessible override, it only gets called from vcl::Window::GetAccessible when no accessible has been set yet, so there's no need to check that inside of the method implementation again. In case of creating a new accessible, return the newly created one right away instead of calling Window::GetAccessible to retrieve it. Also switch local var from XAccessible to more concrete OAccessible to prepare for an upcoming change. Change-Id: Iebda3303afc1eaefc6d05f4faef718810fd8756b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186991 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
8 dayssw a11y: Return OAccessible in SwViewShell::CreateAccessiblePreviewMichael Weghorn2-6/+5
... instead of a reference to the abstract XAccessible interface. This will allow to also switch/simplify callers in upcoming commits. Change-Id: I0d33c057c5d92a4a20e621a7d3327c42f1615391 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186990 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
8 dayssw a11y: Return OAccessible in SwViewShell::CreateAccessibleMichael Weghorn2-5/+5
Change-Id: I4b482b6f29c892a8ec595ea9a17d9f4384dbfca7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186989 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
8 dayssw a11y: Let SwAccessibleContext subclass OAccessibleMichael Weghorn4-130/+16
Make SwAccessibleContext an OAccessible subclass. This allows to reuse logic implemented there for the XAccessible, XAccessibleContext, XAccessibleComponent and XAccessibleEventBroadcaster interfaces. SwAccessibleContext::getBoundsImpl implements what is needed to implement OAccessibleComponentHelper::implGetBounds, so simply call that method from there. Drop the SolarMutexGuard at the start of SwAccessibleContext::getBoundsImpl because the base class takes care of that when calling OAccessibleComponentHelper::implGetBounds. Explicitly lock the SolarMutex in SwAccessibleContext::getLocationOnScreen instead, which also calls SwAccessibleContext::getBoundsImpl that doesn't lock the mutex anymore now. No change in behavior expected or seen in a quick test with Writer and the gtk3 and qt6 VCL plugins on Linux together with Accerciser and the Orca screen reader. Change-Id: I2b75ccd3eed57f276feab303d63038299ceb90d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186988 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
8 daysloplugin:constantparamNoel Grandin8-17/+15
Change-Id: Ifd973d558a73954d4b240b4d740739aa0a0a077e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187044 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
9 dayssw doc model xml dump: show the item set of a format redlineMiklos Vajna1-0/+31
Turns out Writer can have a format redline on top of direct formatting, but this wasn't visible in the doc model dump, add this. Change-Id: I863136da16935ed93772f49934618bb96cefbbc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187056 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
9 dayssw a11y: Use vcl::unohelper::ConvertToAWTRectMichael Weghorn1-4/+2
Change-Id: I7ec2b48d7f5cf0482ade830caf50fd01fda64369 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186965 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
9 dayscid#1655155 COPY_INSTEAD_OF_MOVECaolán McNamara1-1/+1
Change-Id: Ib9cec93a52a61123b9bb98f1a56c2d09988b0cff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187002 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
9 daystdf#157596: add partly-deleted paragraphs to hidden list during fileopenBayram Çiçek2-11/+24
- regression from commit 2413f213625253a9c2b1787b3b9fe859d724a9bd - if a paragraph is partly deleted, add it to the "hidden" list. - if we delete -at least- a single character from a paragraph (during Record Track Changes is enabled), Writer thinks the whole paragraph and the numbering is deleted. Therefore, the numbering of the paragraph does not get added to the hidden list. - this patch adds the partly-deleted paragraph numbering to the hidden list during fileopen. - added a unit test Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com> Change-Id: Ia8852eb7d61b57f15a037b2ffd3e6eec363f90af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186597 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
9 daysUse OSL_SWAPWORD and friends, instead of ad-hoc codeMike Kaganski1-8/+2
Unifies and simplifies the code a bit. Change-Id: I6c6286a0193cf1dc9d2926df8fa86d2d5b25db88 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186983 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
9 daysLOK Extract API: add textChanged to redline data extractionMike Kaganski1-5/+24
This is the string of the edited part itself: the added, removed, or formatted piece. Change-Id: Ib8afd86e814e6310a24c215ebf497b7ff0096e3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186985 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
10 daysIntroduce SvStream::ResetEndianSwap to reset to native endiannessMike Kaganski4-24/+6
Used in several places; avoids inclusion of osl/endian.h and use of ifdefs for the task. Change-Id: I87a7b41ef6d0edc3fee39cc192f7abe09f7e45df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186928 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
10 daystdf#166940 sw: in docx field import use to outer char propsJaume Pujantell1-1/+5
For RTF field import, to assign character properties top a field, the properties are assigned to the field mark characters and then added to the content string. For DOCX according to the standard the content can have arbitrary styles, but for now we only support plain strings for some fields. So, for those fields, we want to insert the content with the properties of the surrounding context. This was done by taking the character properties of the end field mark character, like used in RTF import. This works most of the time but fails for documents where those invisible characters have their own properties which shouldn't show up in the visible text. Instead, for DOCX, it makes more sense to take those properties from the first run of the field and apply it to the whole field result. Change-Id: I9287f7ed81c4cc2b5bbf65e7151ee3a8bcbd95d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186302 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit adc483d5f9256b7e10beed29bb63a7c582cab56e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186453 Tested-by: Jenkins Reviewed-by: Jaume Pujantell <jaume.pujantell@collabora.com>
10 dayssw a11y: clang-format SwAccessibleEmbeddedObject codeMichael Weghorn2-8/+6
Only few lines need to be reformatted. Change-Id: I3ade15712e90609c4156ac79e3c75b98c5e0245d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186915 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
10 dayssw a11y: Use ImplInheritanceHelper for SwAccessibleEmbeddedObjectMichael Weghorn2-43/+6
Change-Id: Ic5530bdc9a222ac825282a831cb29aa08a66f9b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186914 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 dayssw a11y: Stop implementing XServiceInfoMichael Weghorn24-179/+1
Now that the only service that was implemented by Writer a11y classes was dropped in previous commit Change-Id: I7432d4a524ceaf404b1a2673d8bb6cdb142baf25 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Jun 24 10:41:11 2025 +0200 [API CHANGE]: a11y: Drop com.sun.star.accessibility.Accessible , also stop implementing XServiceInfo. The implementation names aren't used anywhere. Change-Id: I9d265e54cfe30f2eca43fa1aaa40c05195269d90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186883 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 days[API CHANGE]: a11y: Drop com.sun.star.accessibility.AccessibleMichael Weghorn1-1/+1
Drop the unpublished service "com.sun.star.accessibility.Accessible" because it's unused internally. As the doc in the IDL file says: > <p>Service <code>Accessible</code> is just a wrapper for the interface > <code>XAccessible</code>. See the interface's documentation for more > information.</p> That wrapper isn't needed. This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] gave one result that looks relevant/where this service is used: [4] It was originally added in commit [5] commit 3f227e8755954e30abf9eb2cde6e4613514e4958 Author: Zev Spitz <shivisi@hotmail.com> Date: Sun Sep 10 09:20:55 2017 +0200 Type definitions for LibreOffice, via Automation , which doesn't explain whether/why the particular use of the Accessible service was chosen there, i.e. whether this is actually of relevance. I've created an issue/discussion to make developers of that project aware: [6] Stopping to implement XServiceInfo in SwAccessibleContext and subclasses will be done in a separate upcoming commit, now that the only service implemented by them has been dropped. [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ [4] https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/activex-libreoffice/activex-libreoffice-tests.ts [5] https://github.com/DefinitelyTyped/DefinitelyTyped/commit/3f227e8755954e30abf9eb2cde6e4613514e4958 [6] https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/73096 Change-Id: I7432d4a524ceaf404b1a2673d8bb6cdb142baf25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186881 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 dayssw a11y: Implement XServiceInfo::getSupportedServiceNames in base classMichael Weghorn24-89/+8
By now, all the Writer accessibility classes only implement the "com.sun.star.accessibility.Accessible" service. Implement XServiceInfo::getSupportedServiceNames in SwAccessibleContext to return that service name there, instead of implementing the same logic in each of the subclasses. Change-Id: I4e1f2bb47790e830384b04821680dc261af087b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186880 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 dayssw a11y: Don't declare suport for non-existing servicesMichael Weghorn1-2/+1
There are no "com.sun.star.text.AccessibleFooterView" and "com.sun.star.text.AccessibleHeaderView" services defined anywhere, so don't declare support for them in SwAccessibleHeaderFooter::getSupportedServiceNames. Change-Id: Id7652f75ef7ce824d52c99ed595da37b89a0c152 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186878 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 days[API CHANGE]: a11y: Drop com.sun.star.text.AccessibleTextGraphicObjectMichael Weghorn1-1/+1
Drop the unpublished service "com.sun.star.text.AccessibleTextGraphicObject" because it's unused. (The IDL file only documents some internal implementation details of the a11y class implementing the service.) This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: I8446acfda2bb7a51c464c2bedf7bab2628cdbadc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186877 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 days[API CHANGE]: a11y: Drop com.sun.star.text.AccessibleParagraphViewMichael Weghorn1-2/+1
Drop the unpublished service "com.sun.star.text.AccessibleParagraphView" because it's unused. (The IDL file only documents some internal implementation details of the a11y classes implementing the service. It also isn't fully up to date, e.g. the description of the accessible name.) For AccessibleEditableTextPara, also no longer implement the XServiceInfo interface, as the now dropped service was the only one that was supported. This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: Iee961e76ff7af1dab46d26cd844763970adc98c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186876 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 days[API CHANGE]: a11y: Drop com.sun.star.text.AccessibleTextEmbeddedObjectMichael Weghorn1-1/+1
Drop the unpublished service "com.sun.star.text.AccessibleTextEmbeddedObject" because it's unused. (The IDL file only documents some internal implementation details of the a11y class implementing the service.) This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: I5e7ef3b2f8ca911b3c83ec0980bbfa85072ca11d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186875 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
10 days[API CHANGE]: a11y: Drop com.sun.star.table.AccessibleCellViewMichael Weghorn1-1/+1
Drop the unpublished service "com.sun.star.table.AccessibleCellView" because it's unused. (The IDL file only documents some internal implementation details of the a11y classes implementing the service.) This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: Iedce6bbf31ca0eb64e86de7239d44bd407d0dc7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186874 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
10 days[API CHANGE]: a11y: Drop com.sun.star.table.AccessibleTableViewMichael Weghorn1-1/+1
Drop the unpublished service "com.sun.star.table.AccessibleTableView" because it's unused. (The IDL file only documents some internal implementation details of the a11y classes implementing the service.) This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: I36b4b4089c98a1b1969a33cdb857ba8aea934f64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186873 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>