summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)AuthorFilesLines
2021-01-13sw edit win: fix read-only selections while handling ExtTextInputMiklos Vajna2-1/+42
When typing into a protected section (or other read-only area), the code goes through SwEditWin::KeyInput(), which checks for HasReadonlySel(), and calls into sw::DocumentContentOperationsManager::InsertString() in the read-write case. When typing via ExtTextInput (e.g. Online), then SwEditWin::Command() called into sw::DocumentContentOperationsManager::InsertString() without such a check. The convention is to do a read-only check in the first Writer function called by vcl, so handle this in SwEditWin::Command(), to have exactly 1 read-only popup on typing a character. (cherry picked from commit 0c03a97fb8844ad0de1abea79b5265617a509460) Conflicts: sw/qa/extras/tiledrendering/tiledrendering.cxx Change-Id: I7d002e7d76bffeb6f16750de735c5bbf13a7bba9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109212 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-01-13tdf#139566: Fix select all (table + text) when document window looses focus.Tamás Zolnai1-0/+2
Without setting mbSelectAll properly the selection cursor is converted to a SwShellTableCursor, which can't handle if a selection is extended outside of the table. Change-Id: Ibd43097ac782b9fc02ff818d3911ebcd20efbd21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109185 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2021-01-12Related tdf#123632: fix crash in accdoc (sw)Julien Nabet1-1/+1
Make sure to use gtk3 rendering - Open https://bugs.documentfoundation.org/attachment.cgi?id=149492 - Click F5 to open the navigator - Go to Images - Try double click the third and last image at least 15 times -> crash, here's part of bt: Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault. SwFrame::IsInTab (this=0x0) at sw/source/core/inc/frame.hxx:938 938 if ( mbInfInvalid ) (gdb) bt 0 SwFrame::IsInTab() const (this=0x0) at sw/source/core/inc/frame.hxx:938 1 0x00007fd7e78caf9c in SwAccessibleDocument::getExtendedAttributes() (this=0x7e4e090) at sw/source/core/access/accdoc.cxx:596 2 0x00007fd7e78cbf9d in non-virtual thunk to SwAccessibleDocument::getExtendedAttributes() () at sw/source/core/access/accdoc.cxx:708 3 0x00007fd7f18f90ad in attribute_set_new_from_extended_attributes(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleExtendedAttributes> const&) (rExtendedAttributes=uno::Reference to (SwAccessibleDocument *) 0x7e4e180) at vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx:1229 4 0x00007fd7f19113f3 in wrapper_get_attributes(_AtkObject*) (atk_obj=0x7df37d0) at vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx:394 I put "Related" because I don't know if it corresponds to the initial bug but I used the attached file of the bugtracker Change-Id: Ief9fda9f7bcf277d18490169eee2e43fb046a1bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109051 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 003b45624788610fba98e3f3334f99140017e472) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109002 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-12Resolves: tdf#139126 DBL_MAX is a valid value, just not for WriterEike Rathke1-1/+3
Restore the old side effect behaviour where "1.79769313486232E+308" was not converted back to DBL_MAX, Writer doesn't check cell value after import for this "special value", *cough*. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108875 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 0e37ded8d4aea25e5d9f7325fba0597f509147bc) Conflicts: sw/source/filter/xml/xmltbli.cxx Change-Id: I31cf598d5f91d1f727d5f1f0e936a3505ea1b9e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108900 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-01-12Make Fontwork gallery dialog asyncSzymon Kłos1-24/+29
Change-Id: I156dc1b505b01dc7520ccfe80bbf97eba881d653 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109092 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-01-07sw: ODF export: test new ODF 1.3 features exported to different versionsMichael Stahl2-0/+159
Change-Id: I57f598c39e1ffe77e351507cf661b52caa6bd4b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95141 Tested-by: Michael Stahl <michael.stahl@cib.de> Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2021-01-07tdf#102256 sw: ODF export: oops, don't write table attributes ...Michael Stahl1-17/+17
... when not writing table itself. (regression from commit d705a860936a58e40a2894a12d02be585a06e1c1) Change-Id: I73cbb126a5c6d12399806a20cd7f4307111a6c8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95057 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2021-01-07tdf#129568 Rename the default table styleMaxim Monastirsky10-29/+794
As it turns out, UI names of table styles are leaking into documents, and changing those names actually breaks the import of documents from previous versions. The problem is that a table style itself is saved using its programmatic name, but is referenced by tables using its UI name. So after changing the UI name, these no longer map. It's still possible to manually reapply the style, but if not doing this and just saving, the style and its child cell styles will be silently lost. Moreover, if the given document is of fodt type, it's not even possible to save it (even not as "save as" to odt). Obviously, the issue isn't just with renaming. The same happens also with documents created with a different UI language (even English). Fortunately, up to now English UI names were identical to the programmatic ones. So the first thing we can do is to accept both kinds of names for table:template-name. This way, we solved the problem for documents created in an English UI, and in addition made them work in non-English UI (unlike before). As for export, we want to always writes programmatic names, so newly edited documents will continue to work regardless of future UI changes or UI language switching (and also stay compatible with older versions). For the fodt export failure, changed the order of things in SwXTextTableStyle::replaceByName, as setting a new box breaks SwXTextCellStyle::getName in this specific case. Also changed cell styles to be named using the parent style's programmatic name, so new documents won't have this problem when opened in older versions. This also fixed part of the PythonTest_sw_python failure. The remaining PythonTest_sw_python failure was about the "TableTemplateName" UNO API property of a table, which didn't work with programmatic names. That's a real bug by itself, and was fixed. Also an explicit test was added, to make sure the API always returns the programmatic name. Finally, an odf export test was added. It tests files with both old-style UI names, and new-style programmatic names. Styles should be correctly imported, used by the table, and survive export. Change-Id: I45dfda193813fea184dc42e5e75544ebc05d4a92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87826 Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com> Tested-by: Maxim Monastirsky <momonasmon@gmail.com>
2021-01-07[API CHANGE] officecfg,xmloff: remove SaveBackwardCompatibleODFMichael Stahl1-8/+2
org.openoffice.Office.Common.Save.Document.SaveBackwardCompatibleODF was added in 2007 and apparently enables storing invalid ODF (or OOoXML) to workaround bugs in OOo <= 2.3; nobody should need it in this day and age, and the OOoXML export has been removed anyway. bce5e157785745a6729db62b15fb98bc396cddee 2007 c7a3859693971bf7103bfb0d05d64712e724fa37 2007 7477a65e09b20917adf025550c550f8822b508ee 2007 77baabe992c77018a0467ffec8f9482f8d76b66b 2007 575222083e058a740f5ad69e14e18622c3d4f7af 2007 66b908b45cde78af020b35e817e67bc40b8493f0 2007 Change-Id: Ib3f730c7c9ac6fbbbbae9fb4a42c1bd65f6c93df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94571 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2021-01-07tdf#102256 sw: ODF export: don't write table:table in shapesMichael Stahl1-4/+15
... for strict ODF versions, only write loext:table in extended. Since commit 62391c28fae5099dd1f67c322867933fcb05bc9f LO can read the loext:table elements, LO 4.4 should be sufficiently long ago. Actually with ODF 1.2, the export asserts because loext namespace was exported but isn't declared. Change-Id: I92318f78b3282989de1d9c2764c2ed7663cb50b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94438 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2021-01-07convert XML_STYLE_FAMILY to scoped enumNoel Grandin8-82/+83
Change-Id: I5335b0190a2f5a8111993c0c9c224c8a6a8f0cfb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88723 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-07officecfg,unotools,cui: add ODF 1.2 Extended / ODF 1.3 versionsMichael Stahl2-5/+5
... to configuration and UI. The new default is ODF 1.3 Extended, which is now ODFVER_LATEST and stored as value "3" in configuration. Adapt a few places related to DocumentDigitalSignatures etc. to new default. Change-Id: I420da4f7787cc864c6bd88470d61b146b9399aa1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93177 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2021-01-07replace hard-coded "1.2" ODF version stringsMichael Stahl1-2/+3
Most of these are calls to DocumentDigitalSignatures::createWithVersion(), where it doesn't make a difference if "1.2" or "1.3" is passed in but maybe it will be different with "1.4". There is another ctor createDefault() which looks appropriate for non-ODF contexts and can also be used when no actual signing or verifying is done. In cases where there's an actual document its Storage has the version. Change-Id: Id636bbf965d9f96c7ed5f50774c509032525b2b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93091 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2021-01-07xmloff: ODF export: adapt all checks of ODFSVER_012 etc.Michael Stahl1-1/+1
Most of these actually want to check ODFSVER_EXTENDED because the extension didn't get into ODF 1.3. Change-Id: I1b625a329f7a3d146c616c62c15b56e2c314c2c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92872 Reviewed-by: Michael Stahl <michael.stahl@cib.de> Tested-by: Jenkins
2021-01-07sw: fix SwModelTestBase::parseExportedFile()Michael Stahl1-1/+2
Both tests in fodfexport.cxx didn't test anything becuase this was called twice and the first time the stream was created for 0-sized file and the 2nd time the existing stream was reused so still no data. Change-Id: I97794490751d1f205919619484bb0c4ed962d4a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93174 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-12-28Fix crash in SwXTextDocument::getSelection() method.Tamás Zolnai1-1/+1
pWrtShell was nullptr. This crash was triggered by an collaborative editing use case. Change-Id: Id64298b424f5ac4d96df97581c6fe3067e799eb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108410 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2020-12-23tdf#138953: use original (cropped, but unrotated) object size in spPrMike Kaganski6-18/+53
This not only fixes the regression from b226383a83e41bbced9fc2a02dc09a449401ec97, but also makes the written size more correct than before, when it was slightly larger compared to original object size. Corrected unit test for tdf#116371 reflect that: the object in ODT is 241.78 mm x 240.61 mm. It previously was exported as 241.88 x 240.70; now the exported size is closer: 241.79 x 240.63. This backport introduces getShapes from 36e62098c8c541c4a3fb63eced591cf29ac56e4a to make backporting easier. Change-Id: Ibfe85c7cd98c089e58af8d7f3848990af8e1100f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107957 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108227 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-12-21replace ODFDefaultVersion usage with ODFSaneDefaultVersionMichael Stahl2-5/+5
Compare with ODFSVER_012 mostly works the same, except for places where namespaces are defined where the ODFSVER_EXTENDED bit should be checked. Conflicts: sc/source/filter/xml/XMLExportDataPilot.cxx xmloff/source/chart/SchXMLExport.cxx Change-Id: I86469b763bc2f903632976bc9d6ec04d543d705e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108107 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-30rework treeview initial toggle button col to be like expander colCaolán McNamara4-49/+37
cause this assumption is baked into the vcl one making it hard to adapt remaining cases Change-Id: I75dd5264c65b1ffbf4d26c9a86f6d4d08b400d90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95622 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106874 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-11-25tdf#136453 sw_redlinehide: SwUndoDelete: only create extra frames...Michael Stahl3-1/+119
... at the start if the section nodes were at the start. m_bBackSp and m_bJoinNext can't both be true. (regression from 740f1796504f66408b692225a9676c9ee3d63722) Change-Id: I999ed3809ca8f527bc3e754b229df02da4576825 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104891 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit c4967928475f2be20ac2d79e3fa84ac435a7e560) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104920 Tested-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 0e0c7616bace9f64079fe9c19c06aca823815666) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106529 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-11-25sw tiled rendering: fix paint->invalidation loop when paint is started by vclMiklos Vajna3-0/+44
SwViewShell::PaintTile() already calls comphelper::LibreOfficeKit::setTiledPainting(), so by the time it would rearch SwViewShell::Paint(), callbacks (e.g. invalidations) are ignored during paint. Do the same for SwEditWin::Paint(), where we processed invalidations during paint, potentially leading to paint->invalidation loops. Conflicts: sw/qa/extras/tiledrendering/tiledrendering.cxx sw/source/uibase/docvw/edtwin2.cxx Change-Id: I8280f5c2571beeae6c0f2986d275dde3c2d33161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106543 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-24lok: Don't even iterate through the redlines when they are disabled.Jan Holesovsky1-4/+12
It is not necessary, when we are not issuing any output anyway. Change-Id: Id952549befb1bef04a2dd9237d286922939eaae2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106509 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-16DOCX export: handle conditional fieldsMiklos Vajna3-1/+44
At least the subset where the condition syntax matches between Writer and Word. (cherry picked from commit 5d839ff8a81ade6453a239a258b2a2571e32001e) Change-Id: I107f2b4caeda6f7777696af8d5c5b455854cfa92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105947 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-16DOCX import: don't throw away cached value of SwHiddenTextField ...Miklos Vajna5-1/+117
... when we also have an SwUserField. The problem is that a DocVariable gets imported as an SwUserField, but then SwDocUpdateField::InsertFieldType() marks the field as dirty. This causes IsFieldsDirty() to return true, so then DocumentTimerManager::GetNextIdleJob() decides to recalc all fields. This leads to loosing the cached result of conditional fields. (cherry picked from commit 1abf4e6d07ca0ac31bc54f812df84efc82d2af1b) Conflicts: sw/qa/uibase/uno/uno.cxx Change-Id: I4f5c032648f8fc2aff98e4f8c883492375c7752d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105923 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-16tdf#122648 DOCX import: fix table formula in all tablesLászló Németh3-1/+37
Table formula import worked only in the first table, because of using bad fallback table for cell references without table names during formula conversion to internal formula. Set table of the text field as the correct fallback table. Follow-up of commit 68e74bdf63e992666016c790e8e4cfd5b28d6abe (tdf133647 tdf123386 tdf123389 Improved .docx table formula import). (cherry picked from commit 782700c6940341d489eabf00a531cb184941484e) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport15.cxx sw/source/core/doc/DocumentFieldsManager.cxx writerfilter/source/dmapper/DomainMapper_Impl.cxx Change-Id: Ib080f12426c57c8c74fe919eb45637a655875d1d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105917 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-11DOCX: fix memory leak of cell formula exportLászló Németh1-1/+1
clean-up of commit cf596c43315bb96b5e7256a82256f1ccb8c9c4d0 (tdf#133163 DOCX: export formula cell). The problem was reported by Miklós Vajna. (cherry picked from commit b0b5812bc6b74369c7909313fcb7fd86c535aea3) Conflicts: sw/source/filter/ww8/wrtw8nds.cxx Change-Id: Ia636a6ffe8386e58e31e37c0d8afc283e6f2fc4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105580 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-11tdf#133163 DOCX: export formula cellsLászló Németh6-11/+66
as formula fields instead of exporting only cell text content. Only unmodified formula fields were exported from commit d42776e01b87f12fddbcf78101bca1e10a6e4f97 (tdf#118682 DOCX: export formula fields). Now newly added Writer formula cells or modified table formula fields imported from DOCX (which are converted to formula cells after formula editing) are exported. (cherry picked from commit cf596c43315bb96b5e7256a82256f1ccb8c9c4d0) Conflicts: sw/source/filter/ww8/wrtw8nds.cxx Change-Id: Iecec75b2a36b94c2d3aa998603ac10ea2f2b8d4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105576 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-11Expose tracking changes actions in context menu for onlineSzymon Kłos1-0/+4
Change-Id: I127be4ed0803b8de25c6fd0dfdc6ee0f931d6922 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105551 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-11-10tdf#118682 DOCX: export formula fieldsLászló Németh5-0/+74
Convert also cell references by removing parenthesization: =<A1>+<B1> -> =A1*B1 =SUM(<A1:ZZ99> -> =SUM(A1:ZZ99) See tdf#133647 for fixing import of cell references. (cherry picked from commit d42776e01b87f12fddbcf78101bca1e10a6e4f97) Change-Id: I5082198aaf8230989f99984f8129b54867b77859 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105520 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-09tdf133647 tdf123386 tdf123389 Improved .docx table formula importMichael Warner5-0/+155
Converts table formula syntax from MS Word to LibreOffice. This version uses the list separator of the document for the formula regexen; however, it does not convert the decimal or list separators in the case where the person opening the document is using a different locale from the author. (cherry picked from commit 68e74bdf63e992666016c790e8e4cfd5b28d6abe) Conflicts: writerfilter/source/dmapper/DomainMapper_Impl.cxx writerfilter/source/dmapper/SettingsTable.cxx Change-Id: I9600a0bea060a76705a7ad6b051ed4fdd50b9d40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105483 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-09DOCX import: fix assertion failure when redline ends right before a ToCMiklos Vajna5-0/+147
This was always a problem, but now more visible since commit 8b3c861c46ae12d21b7b3a550e2daa21d2006b77 (tdf#89991 DOCX: import Show changes from older formats, 2019-06-13), as it now affects more documents: tracked changes can be hidden by the time the initial layout is created. With that aside, the immediate problem is an assertion failure in InsertCnt_(), because it assumes that an end node for a section has to have a matching pActualSection, created by start node of the same section. This will fail in case the start node is hidden, but not the end node. The deeper problem is that redlines are not supposed to cross section boundaries: if e.g. multiple cells are selected in a table and the user deletes while tracking changes, then the UI creates multiple redlines instead. The problem here is similar: a delete redline ends right before the section start, so when SwNodes::InsertTextSection() inserts a section node, the end of that redline is automatically moved to the start of the section content (its index increases, the actual SwNode doesn't change). Fix the problem by explicitly checking for a redline end at ToX start and moving it back to the end of last content node. This matches the doc model produced by the WW8 import. (cherry picked from commit 69edfcf789db1920273191d93fae0bc03f385b81) Conflicts: sw/source/core/docnode/ndsect.cxx Change-Id: Ic7b279185a20d2a32abd054d3fc6be530ddde12a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105473 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-31tdf#131679 sw: fix crash when copying fly via context menuMichael Stahl1-2/+47
sw::DocumentContentOperationsManager::CopyImplImpl() is called with a rPam that's on an SwOLENode. The problem (which i can't reproduce in --enable-dbgutil build, presumably for timing reasons) is that after the context menu pops up, some idle layout runs and reformats the document and deletes a SwFlyFrame and that calls SdrMarkView::UnmarkAllObj(). Then when SwFEShell::Copy() is called, it finds IsFrameSelected() returns false, and it tries to copy normal text when the cursor is on an SwOLENode. Fix this in SwFlyFrame::FinitDrawObj() by first moving the cursor out of any selected flys. (regression from 81ec0039b2085faab49380c7a56af0c562d4c9e4 - previously CopyImplImpl() would return early) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104697 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 40bff2567fa4a3fa8ec4445182cbbe3547c17410) tdf#131679 sw: follow-up: Unmark before SetSelection() Backporting this to 6.4, it crashes in CppunitTest_desktop_lib because some sidebar is loaded from SwView::AttrChangedNotify()/SelectShell() and that ends up calling SwView::StateTabWin() about 40 stack frames later and this calls SwFEShell::GetAnyCurRect() which gets the still selected fly but its page frame is null. So make sure shells don't see the deleted fly. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104815 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit f63afb95b5c2d80d33a35820ef1d9abd9e70d3ca) Change-Id: Id135fcc002c03c07c34fbdc0355f2895d8b6565b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104682 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105095 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-10-31tdf#135260: sw_uiwriter: Add unittestXisco Fauli1-0/+28
Change-Id: Iec50c3129097e99ae57543601d40c5a380db678f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104391 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105094 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-10-31tdf#135260 sw_redlinehide: fix insert-with-delete differentlyMichael Stahl2-10/+4
The problem with the fix for tdf#127635 is that now the cursor doesn't move left on backspace if change tracking is on. (regression from 398ba26077f9029bdf6f7378bfc9ce8376b6f02d) Revert that and fix the autocorrect position in SwWrtShell::Insert() instead. Change-Id: I5989a589b654fc6e5ba3dd66922af15eff758ecc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104280 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit be4616d6b49b8c9cf1a90b212b24ead3dabcab6c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104299 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105093 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-10-27tdf#136983 partial revert NFC ww8 cleanup: remove unused variablesJustin Luth2-1/+10
This is a partial revert of LO 6.2 commit 2ec0cf500222aef55d02df80154b47fbb92970c9 I can't think of any excuse for how I possibly missed that xDocProps was being defined/used outside of this clause. Just plain stupid and blind. The good news is that the create and modified date still seem to be getting saved somehow/somewhere. So it isn't the disaster that it looks like it could have been. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103565 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 1086654d6e8cc22f1f99195668db3f305437e570) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104495 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 19b8ded3ae18dd4070a3e21d7b980782a27e5547) Change-Id: I72ef56fa50b9e92e4ce687b132b1919cfae6c1f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104497 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-26lok: Send form field events to the correct view.Tamás Zolnai1-2/+2
Change-Id: I00b40052774602eccd8e4a7d460cedcb36bbd0d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104812 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2020-10-19Check render parameters for AutoSpellCheckingMert Tumer2-0/+19
Change-Id: Ife2551b4023461da26e70ac3de505adf9d7db1e8 Signed-off-by: Mert Tumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104274 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-10-18fix sw/qa/uitest/writer_tests/watermark.py after change in steps of spinboxAndras Timar1-1/+1
Change-Id: I85dff2b698fbb6d808cba7dc7545e8c5571fa6d5
2020-10-13Angle of the watermark: step by 45°Andras Timar1-2/+1
Change-Id: Ia4ab9a56f346625cf191c1f5a648e1744dad29d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103431 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-10-13leaflet: User may continue writing a comment after it loses focus/core part.gokaysatir2-1/+14
This path enables Online users to continue writing their comment after they click somewhere else in the document. Online side will remember original position of comment and it will send the cursor position when needed. When there is no cursor position, default behaviour will work. Change-Id: Ided951481af6e0ec6c930e125bec7fdf687614d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102377 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-10-09Added optional parameter Enabled for uno:SpellOnlineMert Tumer2-1/+24
Change-Id: I3578b0a002ea2cdcc7893972607f26732ce545ea Signed-off-by: Mert Tumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104083 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-10-08Online: "Copy hyperlink location" feature improvement.gokaysatir1-7/+1
Lambda functions are replaced with class pointers. Change-Id: I48628d3105533aad2463bd8ade1f65cf5b154b0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104054 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-10-06Make Split Table Cell dialog asyncSzymon Kłos1-14/+19
Change-Id: I4efbb24f721aa50cc4dbbe78ae1e7e6087f8c876 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103670 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-09-30Online: Copy hyperlink location. / Core side.gokaysatir1-3/+10
Payload format is added to LOK_CALLBACK_CLIPBOARD_CHANGED. Clipboard changed event is not fired when "copy hyperlink location" command is issued. So i added a call to LOK_CALLBACK_CLIPBOARD_CHANGED inside TextDataObject::CopyStringTo function. Change-Id: I8157572288da88b5522662e13abe151ef8548b34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103164 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-09-30tdf#133358 fix crash in redoing indentCaolán McNamara1-2/+3
since... commit b070202b420129b5edd368420e0e50ec45261d01 Date: Tue Nov 20 18:26:18 2018 +0100 sw_redlinehide_4a: SwEditShell::IsMoveLeftMargin(), MoveLeftMargin() Change-Id: Ie28207747560153020341305015f1693f6ca9f50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103552 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit dc6e005c79b6c23b805dea44cd89fa83ea945f03) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103578 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-09-30tdf#132688 diacritics broken in lines with punctuationNoel Grandin1-0/+2
regression from commit 4b2d4f3c4a68361a6bc03c9ab110ce9376b14b20 tdf#119227 fix freeze when copying a large bulleted list Change-Id: I7d54b19c7a02c717426edce7896caaadf909154e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102000 Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins (cherry picked from commit 18e4367c33f327cf09985105bde583cdcc7b2a46) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101972 Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 9ec49c6c2dd58eb60ca0ac5e99edee9ee098302a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103581 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-09-25fix Graphic duplication in import and add GraphicMapperTomaž Vajngerl2-0/+83
When importing writerfilter, we change to oox when importing images. This transition doesn't store any previous contexts and all instances are reset. The problem occurs when we have identical images because the transition erases all caches we have to determine if an image has already been imported or not, which causes that we import the same image multiple times which create unnecessary copies. This introduces the XGraphicMapper, which can be used to store the XGraphic for a key and can be transferred between writerfilter to oox. With this we can remember which images were already imported and don't create unnecessary internal copies which decreases memory. This also includes a test which checks that the import and export doesn't produce unnecessary copies of identical images. The test checks that for OOXML, ODF and MS Binary formats. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103283 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit d0efd878dc41e3913a2d91ff4b5c335c1d71a85c) Change-Id: I33dc19218c565937fab77e132b3a996c51358b6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103407 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-09-25docx export: Use checksum as key to cache graphic, not Graphic*Tomaž Vajngerl2-14/+40
The problem is when we have multiple identical images in the document and try to export. Without this change, the images will be duplicated because the cache is using Graphic*, for which the instance changes all the time (is not unique). Using the checksum will make sure that all the images with the same content will be saved as one image into the document. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103132 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 8679bf3ec608aec277fd677082aa5c38e63a65ce) Change-Id: I980af2dba51060ce4320571aca14d21e26ed8976 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103406 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-09-25tdf#134782 sw,unotools,officecfg: adapt configuration and UIMichael Stahl4-7/+49
Store AddParaLineSpacingToTableCells in configuration as "AddTableLineSpacing", consistently inconsistent like AddTableSpacing (the <desc> elements are not subject to translation). Adapt SwCompatibilityOptPage with some ugly hacks to allow 3 different states (TriState) for the corresponding checkbox that map to false/false, true/false and true/true. The checkbox widget doesn't allow to change *to* indeterminate but at least the status of the document can be displayed this way, with a non-obvious tweak to optcompatpage.ui to reference "checktri1" column. Change-Id: I5f32e05c93b5e16e782cba5d1d055809d9e5e251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103318 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 68aec8fd57eda8c05926b7f361dc102772f2c501) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103360 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-09-25tdf#134782 sw: split AddParaSpacingToTableCells flag in 2Michael Stahl9-6/+54
commit 3cccdabf19a99fd3f657985c1822436d7679df2b "extend AddParaSpacingToTableCells with line spacing" changed how the ADD_PARA_SPACING_TO_TABLE_CELLS compat flag works, to improve interop with Word. This commit splits out the change as a separate new compat flag ADD_PARA_LINE_SPACING_TO_TABLE_CELLS ("AddParaLineSpacingToTableCells"), to preserve compatibility with ODT documents that were produced by LO < 6.4 (via SwXMLImport::SetConfigurationSettings()). New documents and WW8/RTF/DOCX import have both flags enabled. The combination false/true is invalid, and treated as equivalent to false/false. Change-Id: Ida20df8fe4a8192a714f91da95345f9726fd7d98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103317 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 38aa699f265c17548769aaa4f20e1ae35d18f202) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103359 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>