summaryrefslogtreecommitdiff
path: root/sw/inc
AgeCommit message (Collapse)Author
2023-05-24put floating frames under managed links controlCaolán McNamara
like we do for sections and ole objects that link to their content individual commits in trunk are: extract a OCommonEmbeddedObject::SetInplaceActiveState for reuse no behaviour change intended Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150341 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 183e34a3f8c429c0698951e24c17844e416a3825) use parent window as dialog parent it makes no odds, but is more convenient for upcoming modification Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150342 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit f93edf343658abd489bde3639d2ffaefd50c0f99) adjust IFrameObject so it could reuse mxFrame for a reload of content Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150343 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 3a727d26fd9eb6fa140bc3f5cadf3db079d42206) query getUserAllowsLinkUpdate for the case of content in a floating frame similarly to how it works for the more common "normal" embedded objects Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149971 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 52aa46468531918eabfa2031dedf50377ae72cf7) add a route to get writer Floating Frame links under 'manage links' Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150349 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 8b8a2844addbd262befb1a2d193dfb590dfa20be) allow SvxOle2Shape::resetModifiedState to survive having no SdrObject Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150538 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 02379929bd0e1d1676635f0ca1920422702ebb7c) create the FloatingFrameShape in a separate step to inserting it this is derived from the path taken by the AddShape(const OUString&) function for this case. No change in behavior is intended. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150526 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit bafec47847a0b9697b3bbe9358e53f8118af3024) add a route to get calc Floating Frame links under 'manage links' much harder than writer because the organization and ordering of properties and object activation etc is different. This ended up ugly, but functions. We set FrameURL before AddShape, we have to do it again later because it gets cleared when the SdrOle2Obj is attached to the XShape. But we want FrameURL to exist when AddShape triggers SetPersistName which itself triggers SdrOle2Obj::CheckFileLink_Impl and at that point we want to know what URL will end up being used. So bodge this by setting FrameURL to the temp pre-SdrOle2Obj attached properties and we can smuggle it eventually into SdrOle2Obj::SetPersistName at the right point after PersistName is set but before SdrOle2Obj::CheckFileLink_Impl is called in order to inform the link manager that this is an IFrame that links to a URL Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150539 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 07179a5a5bd00f34acfa8a3f260dd834ae003c63) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150755 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> bc5333b137d2da089b3b701ff615c6ddf43063d0 7eec3132a23faafd9a2878215a0a117a67bc9bf2 83e38dfa2f84907c2de9680e91f779d34864a9ad f90ff71d6a96342574799312f764badaf97980eb ea059262c124e3f44249e49b4189732310d28156 d09ae0c65a55a37743ad7c184070fb8dd97d8a7f 67fc199fef9e67fa12ca7873f0fe12137aa16d8f Change-Id: Ia1d12aa5c9afdc1347f6d4364bc6a0b7f41ee168 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152131 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2022-05-31forcepoint#104 sw: do not delete fieldmark chars in MoveNodeRange()Michael Stahl
The problem is that SwXTextTableCursor::mergeRange() wants to move some nodes, and the deleteMarks() deletes a fieldmark creating a SaveBookmark but it contains the positions relative to the CH_TXT_ATR_FIELD* still in the text, while deleting the fieldmark of course removes these. The SaveBookmark would need to adjust the indexes and store the separator position too and the vector would need to be restored in reverse order. But every time the SaveBookmarks are created, they are restored as well, so it looks simpler to just suppress deleting the CH_TXT_ATR_FIELD* in this case, and inserting them too (latter is already done when copying text). Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132531 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 5d41c2461642364b7159398024acccbee12f6e3e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132589 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit c489920f6f497a5bc4a9932eaa8408209b54294c) Change-Id: I690c6432a38eab6dec10adff74e638f0e52cca55
2022-05-31forcepoint#92 fix crash on layout of specific docCaolán McNamara
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132142 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132148 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 0d0cee5e48ca523f11540e9ae0ff022692fd9dca) Change-Id: Id40d25d05d10d641d071cddd2e1c84594ac777a6
2022-02-18tdf#104823: support for sdt plain text fieldsVasily Melenchuk
This is a squashed commit containing set of changes: * Create a input field from sdt text block. * Advanced support for reading field data from data bindings which can point to custom xml or properties xml. For this XOOXMLDocumentPropertiesImporter idl interface was extrended with extra getterrs to get properties as xml dom elements. * Support for exporting of this feature back to docx. For this some extra parameters for sdt block are kept in newly introduced grabbag for input fields. If field does not contain grabbag it being exported as before (FILLIN or whatsoever), otherwise sdt block is counstructed based on data from grabbag. * Basic support for updating custom xml values back into custom xmls with usage of xslt transformations. To achieve this extra parameters were introduced to XXSLTTransformer: now it is able to support in-memory transformation stylesheets. * plus some follow-up clean-ups Some unittests were corrected: since sdt plain text edit area is a field located inside paragraph in outout corresponding sdt is also located inside paragraph (instead of Word's approach with paragraph inside sdt). Seems this is not critical. Change-Id: I1a73ef300db3619804f7adf18579bea708764c14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127015 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127284 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Fix typos Change-Id: Ib75af11e67cadd3522c2c4b94b0549c8a96b8464 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127150 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> crashtesting: set document reference only once For SdtHelper we need to keep valid reference to main document (in our case first call), not to any of substreams like header, footer, etc. Change-Id: Id9d99c1a9bff9a3392eea4cc6e2abe774e5868d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127672 Tested-by: Jenkins Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de> be more exact about the type of pDocument Change-Id: Iab0d23e8ee691ac6ed3381bd7e1ee02bb59dc64f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127661 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Recent XOOXMLDocumentPropertiesImporter changes went into 7.3 Adjust @since statement to new realities Change-Id: I8a65b4bdd2ef2ffab95f8a934ff5e5e8ffb90f03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127282 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130043 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-02-02lok: render image preview with lower resolutionSzymon Kłos
renderShapeSelection callback is used to render image previews which are later used during eg. rotation. Do not render preview with original size which slows down app a lot. Use 1280x720 max. Change-Id: Ia8365a67d87cea869ef74cb70ce4830439a523b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129230 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mert Tumer <mert.tumer@collabora.com>
2022-02-02Use unique id for FN_UNO_TRANSFORMED_GRAPHICSzymon Kłos
Change-Id: I1425fbbe843534adba8b87f9c7b23461cc6049c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129229 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-01-06Add image preffered DPI document setting, use it in Writer, ImpressTomaž Vajngerl
This adds a "image preferred DPI" document setting, which is used as a suggestion of the DPI that an image should have in the document. This is currently used when the image is inserted into the document (Writer, Impress/Draw) to resize it to the preferred DPI value. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126334 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 4c00e8fb10437fcaefe8635ef390b78376938d15) Change-Id: I3ee9d409257e3c6aa2ead05144ecbba7b3b916f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127206 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-11-10sw: try grouping undo actions of IME-edited textMiklos Vajna
This is a problem since commit e7760d428bc82ccfcae14f1907b78f9f1013b88c (Fix tdf#87500 - Freeze with English/Japanese mixture undo., 2015-09-08), that started not grouping IME-edited text completely. This means that in case you go via SwEditWin::Command() instead of SwEditWin::KeyInput() to type a 4 characters word, then it'll create 4 undo actions. Fix the problem by tracking who was the last caller of sw::DocumentContentOperationsManager::InsertString(), so we can only disable grouping switching between IME and non-IME, and we can have grouping for a series of IME input. (cherry picked from commit 6680e51716e383c68bb1ec9cc0a05d698d3b6a3d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124834 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit b8e0b887efb35b0afd85b81349d5f8e2f7d1c359) Conflicts: sw/qa/core/doc/doc.cxx sw/source/core/doc/extinput.cxx Change-Id: I31bd02db4fe653ab63e41a77c75b8bebfc749ff1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124921 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-10-23tdf#137810 sw: fix SwXNumberingRules setting CharStyleNameMichael Stahl
During ODF import, due to removal of the pDocShell parameter, this hits else rCharStyleName = sCharFormatName; while setting the "CharStyleName" property and later GetNumberingRuleByIndex() prefers m_sNewCharStyleNames over the format set in the SwCharFormat?? Also, "BulletFontName" has a similar problem; otoh "HeadingStyleName" only makes sense on chapter numbering. The m_pDoc and m_pDocShell members are such a WTF. (regression from ae0e4a6ba9be2fa99ac2be8e20157806e36209b2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115495 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit c5e5467f6a13aba68b4706a4d7feb130e824bcc6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115291 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 2a71eac9027b3838f675ad20c91320abca8bb884) Change-Id: I9d4d4cd7aeb7e6e29221d53facaff213fd4e35a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124088 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2021-06-03Make SwRect::Union() inlineTor Lillqvist
Change-Id: I40e3e5f4d7ae7c2ab3d58d1dc9bf71ceb9f0b437 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116663 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-06-03Make the two SwRect::IsInside() functions inlineTor Lillqvist
They show up in profiles so might give performance benefits when compiled with optimisation. Change-Id: I29a1442fac987819f06fa6dd9e92a3299b0637fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116662 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-05-26Mail Merge: Remove the missing data source warning on load.Gülşah Köse
User can easily forget that they (or somebody else ) added a data source to document. This warning is only useful for the user that plans to use mail merge wizard. When they don't plan to use mail merge wizard and see that warning on infobar they can confuse. We already have the same warning on mail merge dialog itself. We don't need on load warning anymore. Change-Id: I8d80148a9637ee66cc35e2ef583fff51a04386eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116029 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116132 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-04-08tdf#139906 Show warning message when data source is not avaible.Gülşah Köse
CurrentDatabaseDataSource config item holds a database name for a specific file. When document has CurrentDatabaseDataSource config item but LibreOffice doesn't have in registered databases we should notify the user at load time and put a button to fix the problem. Change-Id: Ia0a6fd53985fc2fb82ce37d3962b3f479c20a647 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113296 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113701 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-03-29impress: don't exit textbox editing when new slide was addedSzymon Kłos
When new slide is added by other user before currently visible slide then SwitchPage is called and textbox editing is ended. Avoid any focus change when setPart is called just for rendering or SwitchPage is used on previously avtive slide (only slide numer changed). Change-Id: I7fef42b863e0079acc84dadfc3f891548652b48f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113144 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-03-22tdf#135244: move LockAllViews to SfxObjectShellMike Kaganski
... so that it may be called from SfxObjectShell::SaveTo_Impl, and handle export cases in addition to save (as) handled in tdf#41063. Change-Id: Ie39196656dd1a95dcb6bab3ae8138c2f5c8729e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99714 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112825 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-09tdf#91920 sw page gutter margin, from top: add doc model & UNO APIMiklos Vajna
Do this per-doc, rather than per-page-desc, because Word doesn't support it per-section, so we would just create interop problems for ourselves with supporting it per-page-desc. (cherry picked from commit 97abf85bb152b8a665dff6fd8b65fffea5365dc8) Conflicts: sw/inc/IDocumentSettingAccess.hxx sw/source/core/doc/DocumentSettingManager.cxx sw/source/core/inc/DocumentSettingManager.hxx sw/source/uibase/uno/SwXDocumentSettings.cxx Change-Id: Id3c6aac7323deb8d27bab08675ff623f90a63cd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110639 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-09fontwork: insert in the center of LOK viewSzymon Kłos
Change-Id: Iabde4ee927546b0e396c4fbd6d0099fa82240166 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109968 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-02-09sw page gutter margin: add UNO APIMiklos Vajna
SvxLRSpaceItem is used for all sorts of left/right margins, but gutter only makes sense for pages, so only expose the gutter margin in the page properties. (cherry picked from commit 947277146e4c1ff7544371095fcc6bd5842b2d98) Conflicts: sw/source/core/unocore/unomap1.cxx Change-Id: Icfca2499e944081b70bbdbc4c62e78cade25f5c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110620 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-01-07tdf#129568 Rename the default table styleMaxim Monastirsky
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>
2020-11-11tdf#133163 DOCX: export formula cellsLászló Németh
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-09-25tdf#134782 sw: split AddParaSpacingToTableCells flag in 2Michael Stahl
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>
2020-09-22Added new command to delete the comment threadPranam Lashkari
Change-Id: I16d46787a6972afb0c3ab2e56482888082af1d27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102695 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-09-22Added new command to resolve the comment threadPranam Lashkari
Change-Id: I8a4e5f63ee6ea5e560fae8a5d3602178f2b58b36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102627 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-09-09tdf#135056 sw_redlinehide: when moving sections to undo nodes-array,Michael Stahl
... delete frames with utmost prejudice - the code that was checking for empty frames or cells was going into infinite loop because first the *outer* section is moved to the undo nodes array, then when the *inner* (index header) section is moved, its section node's m_pStartOfSection points to the section node that is already in undo nodes array and so SwNodes::GoPrevSection() goes very wrong and CheckNodesRange() is called with positions in 2 different arrays. (regression from a60dd9ef1361c5925803acaa5292e99277d1faf3) Change-Id: I5682ebc2081ffc7dc49a9c43e613f72c26e93673 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101755 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 1d6e919046ed353a9d9d86bb9f0332da2e9dea4d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101683 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-09-07sw: default to UI locale when language is missingMiklos Vajna
This means that when extras/source/shellnew/soffice.odt is opened, it'll always match the user's language. The same was already working in Calc and Impress. Conflicts: sw/source/core/doc/docnew.cxx Change-Id: Ic1afc82d7b59f1bd32815586f756e7e8408e5c6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102052 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-09-03sw: insert plain tab char at a numbered para start if indent wouldn't changeMiklos Vajna
Pressing the <tab> key at the start of a numbered paragraph typically is not interpreted literally, rather we increase the numbering level by one. This results in a similar increase of indentation, and results in a semantically better document. However, this automagic is annoying in case the numbering is a leftover, which is not even visible, so the user only sees that pressing tab is "ignored" (if they don't pay attention to the status bar). Fix the problem by guessing if "downing" the numbering will change the indent, and if not, fall back to inserting a plain tab character instead, which will increase the indentation. Conflicts: sw/qa/core/doc/doc.cxx Change-Id: I260d3caab447c03a98655d8f5da310082ba0b46e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102004 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-08-23tdf#135412 tdf#135888 sw: fix copying of linked text-boxesMichael Stahl
The resetLink()/restoreLinks() were added in commit 00a007be5ad88bac9905b373bc5e02d02acab11a because testMissingPath missing-path.docx was crashing. But then 0bcc5b3daebeb2a7d2b5ba132af4745cc6c78cd0 refactored how linking works and introduced the isTextBox function, which is called in the middle of DocumentContentOperationsManager::CopyFlyInFlyImpl() after resetLink(), and this now always returns false, the same for another call inside CopyLayoutFormat() (when called from CopyFlyInFlyImpl()), which causes text-boxes to be copied to 2 separate flys (tdf#135888). The problem in tdf#135412 is that somehow when called from SwFEShell::Paste() the content-index from the clipboard document ends up in the SwDrawFrameFormat that is created in the target document, and this causes crash in Undo because the node index is out of bounds. 10 SwUndoInsLayFormat::UndoImpl (this=0x7c2a760, rContext=...) at sw/source/core/undo/undobj1.cxx:310 (rr) p rContent.GetContentIdx()->GetNode().GetDoc()->IsClipBoard() (rr) $29 = true It turns out that missing-path.docx doesn't crash any more without resetLink(), and removing it fixes the 2 bugs. Change-Id: I0c6c91a42e00b9f3b79b774c814e7323f2bb3e05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101004 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 10ae7ba661dff57a7d08174792565ec5e33fae9b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100948 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101230 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-08-17tdf#128197: sw: different line height for DOCX with compat=14Vasily Melenchuk
Lines containing just a shape inline without any other text are treated in DOCX with compatibility option 15 and 14 in a different way: while compat=15 is layouting line exatly as LO does, in compat=14 mode minimal line height takes into account just shape height and not current font. Change-Id: Id2bdab941a0bbaa9080567d736435d9e0babd490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96080 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100542
2020-07-20Make Bookmarks dialog asyncSzymon Kłos
Change-Id: I820019f6906fef57743886fb1ba9c98217955370 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99041 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-07-20Make InsertBreak dialog asyncSzymon Kłos
Change-Id: I2191ef0ea6b79bd45d682eb1ae6b0d60627f7486 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99033 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-07-10tdf#134253 sw: fix SwUndoInserts::UndoImpl() if inserting before sectionMichael Stahl
Somehow the clipboard is pasted before the SwSectionNode, which is the first node in the body text. The OSL_ENSURE( !bStartIsTextNode, "Oops, undo may be instable now." ) is triggered; the Undo must remove 2 SwTextNode in this case. Because of the extra SwTextNode the indexes are off by 1 and this starts to assert since commit 24fd14b387dca458a1b6e9415e936d26562ddb1e when setting a fieldmark on a non-text node. Change-Id: Ic52b0f4c7665994cadfe8f074bc4607c55352aa1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97887 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit dc7e7b94a7211c576454267c09eb108e761e4487) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98078 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98508 Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-06-19new json writer for LOKNoel Grandin
we shave about 3 memory copies off in the process, and make the class play nicely with our string types. Change-Id: I1f614fb35b1de499ac99e3b33ac638ad81054bed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96393 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-19tdf#133957 sw: SelectAll should select fly in empty sectionMichael Stahl
Ctrl+A should select everything in the section; if the section is empty, there's no text to select, and then the shell will cancel the selection because SwCursorShell::HasSelection() returns false - so check if there are flys anchored there, which fixes the Copy. To fix Delete, a few more checks for empty selection need to be changed. Change-Id: If54160bdca976ad5f153b89cf8492f4da1e774b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96324 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 2d89b9929e85bede4c72684a12e7508751875f0e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96368 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-06-17Fix 983db96a17630be906b868d2be811663f0d846f6Julien Nabet
warn:unotools.config:172285:172285:unotools/source/config/configitem.cxx:409: ignoring XHierarchicalNameAccess to /org.openoffice.Office.Writer/FormLetter/PrintOutput/AskForMergeFormLetter/FileOutput/FilePassword/FromDatabaseField com.sun.star.container.NoSuchElementException message: FormLetter/PrintOutput/AskForMergeFormLetter/FileOutput/FilePassword/FromDatabaseField /home/julien/lo/libreoffice/configmgr/source/access.cxx:436 missing comma + confusion in switch cases in SwMiscConfig::Load + typo Encyrpted->Encrypted Author: Gülşah Köse <gulsah.kose@collabora.com> Date: Fri May 22 11:51:33 2020 +0300 Add an option to create encyrpted PDF files with mailmerge. With that option user can create encyrpted pdf files with a password column in database via mailmerge. Change-Id: I1ae9bbeb3f69ed9c0ba51709852f8edd5f2dc683 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95033 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 90d3311b08cef7418376d183b7116223db3e627d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95248 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-06-15tdf#131912 sw: fix spell check correct deleting flysMichael Stahl
* SwEditShell::ApplyChangedSentence() should not call DeleteAndJoin() + InsertString() but ReplaceRange() * ReplaceRange() and SwUndoReplace need to set a new flag DelContentType::Replace to tell SwUndoSaveContent::DelContentIndex() not to delete flys but instead record the previous anchor positions * SwUndoReplace::UndoImpl() should also not call DeleteAndJoin() + InsertString(); instead call ReplaceRange() for the start node and then DeleteAndJoin() for any regex "\n" that were inserted (regression from 28b77c89dfcafae82cf2a6d85731b643ff9290e5) Change-Id: I485d79510ae233213cb4b208533871934c5e5ec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96201 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit e1629c210ad78310e3d48c0756723134a27b89df) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96204 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-15tdf#128195 Keep spacing below last paragraph in header (docx)Samuel Mehrbrodt
Add a layout compat option to keep the spacing below the last paragraph in the header in doc/docx files (cherry picked from commit 9b5805d1ef2b9e9c4e8f389c069807bf4489ea95) Conflicts: sw/inc/IDocumentSettingAccess.hxx sw/source/core/doc/DocumentSettingManager.cxx sw/source/core/inc/DocumentSettingManager.hxx sw/source/core/layout/flowfrm.cxx sw/source/filter/ww8/ww8par.cxx sw/source/uibase/uno/SwXDocumentSettings.cxx writerfilter/source/dmapper/DomainMapper.cxx Change-Id: I259511183a8252e04d9951357dbdd4f4832523ec
2020-05-27Add an option to create encyrpted PDF files with mailmerge.Gülşah Köse
With that option user can create encyrpted pdf files with a password column in database via mailmerge. Change-Id: I081ef050bc269b1fec24fd01ecc812acd7b857ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94709 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> (cherry picked from commit 983db96a17630be906b868d2be811663f0d846f6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94689 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-24lok: MSForms: Handle event about item selection of a drop-down field.Tamás Zolnai
Change-Id: I095013097348c98361b6614e4ddf1e9029923c7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93659 Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2020-05-20Make Insert Table dialog asyncSzymon Kłos
Change-Id: Id2458c16f259a58e2376f42104a9a6c9056cab11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94536 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-18tdf#128468: Add new UNO command "MoveTabstop"Tor Lillqvist
Work in progress. Implementation still incomplete. The stuff I added in the .sdi files is mostly copy-paste without any deeper understanding. Change-Id: Iad36c20e963c9df19645a04ca4a0d9bf81f3839a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87873 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 00db5444b2126dbf48a7ef65e702dd4b10d4f941) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94223 Tested-by: Tor Lillqvist <tml@collabora.com>
2020-05-13tdf#94628: sw: allow setting for bullet for outline paragraphsVasily Melenchuk
Paragraphs in outline (having style "Header XXX") can also be a part of list and have custom bullets. Simplified code of SwXNumberingRules::SetPropertiesToNumFormat(): do not check for properties special for outline/chapters and removed redundant data shuffle with local maps. Change-Id: I1fa7f8f5359acee1d5aa62d9700641490bb91b6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93672 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94032
2020-05-11sw: add UNO API for semi-transparent textMiklos Vajna
This makes the ODF filter work out of the box, since the same property was provided by Draw/Impress in the past already. (cherry picked from commit c48790b5cec73a49aed20c26b123c3656bb9eff9) Conflicts: sw/inc/unoprnms.hxx Change-Id: Ie6a053864c9fa41fad6ca4571d7d04a3756b7591
2020-05-06tdf#116883: sw: support for lists level format stringVasily Melenchuk
Multilevel lists are more flexible in case of DOCX. There is supported custom format for any level in DOCX unlike in LO and ODT where we are limited only with prefix and suffix for hardcoded list levels separated by dot. At the same time DOCX can have lists not only "1.2.3.4", but "1/2/3/4" or even "1!2>3)4" and such format can vary on each list level. Here is basic implementation for list format as a core feature for all documents and old way (prefix-suffix + ".") is left as fallback. Practically its usage is currently implemented only in DOCX import/export. Some RTF/OOXML unittests were redesigned: since we are not creating prefix/suffix for these formats conditions should be checked in a different way. Change-Id: I1ec58bcc5874d4fa19aee6a1f42bf1671d853b14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92106 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93125 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Change-Id: Ia8f066913a2565559d81f3caabeba24b29c09052 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93456
2020-05-06Dump some more layout info as XmlJan-Marek Glogowski
Change-Id: Ia82d545e4c5d4507899d123eba9d4b2efded992d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90125 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 36f0a04d3caa176b20dccb10ff0bbcfb5cb8d893)
2020-05-04sw: don't send LOK notifications about redlines during saveMiklos Vajna
SwXMLWriter::Write_() sets redline flags to show insertion and hide deletion, but it resets those flags before the function returns. So LOK notifications for redline changes during save is not useful. Change-Id: I4bf963bbe9c7003cbe85ea6c5538be733a3e3cdf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86363 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit 08a0ede627fbf9bea42165c3de63812e469306b4)
2020-03-25ofz#21168 sw,writerfilter: limit writerfilter hack to writerfilterCaolán McNamara
The problem is that at the end of WW8 import, a delete redline is inserted that ends up calling DeleteAndJoin from inside AppendRedline(). A fly is anchored AT_CHAR at (node 46, offset 0) and the deletion goes from (node 46, offset 0) to (node 48, offset 13) hence the special case check in IsDestroyFrameAnchoredAtChar() for the IsInReading() prevents it from being deleted, and then its anchor is still registered at the node 46 when it gets deleted. So try to restrict the WriterfilterHack to writerfilter, so it won't affect WW8 import. Unfortunately this is far less obvious than expected, because import can happen for creating a new file, in which case it's all done via UNO in writerfilter, or when inserting into an existing file, in which case SwReader::Read() is used. The SwDocShell's pMedium can't be used becuse in insert file case it will be the loaded file, not the inserted file. There isn't any obvious alternative to adding a silly UNO property for the writerfilter to use. Change-Id: Ia7fdc9bb1925202f6692ebee6e4b6b1fe50e5345 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90384 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit c4dab726caaa73be9f9c731312080143b0a0b89d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90951
2020-03-12tdf#131185 Prevent unnecessary SwapIn calls.Gülşah Köse
When the http response is 404 or something like that we shouldn't retry the download embeded image constantly. This causes libreoffice to short freezes. Change-Id: I7381d04f12e9fbea961dd0e3333ea0d39aa93d14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90102 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90045 Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-02-25sw: improve DOCX export of footnote separator a little moreMichael Stahl
The Writer footnote separator has configurable line thickness and spacing above and below; let's abuse the font size of the paragraph to approximate the height of the separator (in the bugdoc that's currently interesting there isn't a separator line so if it works in that case it's good enough). Change-Id: I7f33e5a226ecaa9f9ab233e003c71aaed145b638 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89228 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 12d88808fbde933c0498c895ddb74700c263bf0f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89138 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-02-07tdf#130362 sw: fix anchoring of inline math objectsMiklos Vajna
Regression from a7528cd6f17ea5c5b29e7d607e54c62de0d9e7db (sw: insert image: set anchor to at-char by default, 2019-11-18), that defaulted to at-char anchoring for charts and images. What was not considered is that math objects had a previous as-char default (not to-para), and that is supposed to be unchanged. (cherry picked from commit a2f85c062aafb3fd9dfb1c6c6e87e1e73e7545a3) Change-Id: I2a91af6425035b48a0e47ad9b10939945855cd16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87997 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-01-21tdf#129582 sw: fix copying of flys in header/footer in DOCX/RTF importMichael Stahl
The problem is that the exception for writerfilter in IsDestroyFrameAnchoredAtChar() and IsSelectFrameAnchoredAtPara() is wrong in the case when the header/footer content is copied via SwXText::copyText(); that is, previously the situation was that writerfilter relied on Delete not deleting such flys (for RemoveLastParagraph) but Copy copying them. (regression from 28b77c89dfcafae82cf2a6d85731b643ff9290e5 and e75dd1fc992f168f24d66595265a978071cdd277) So restrict the writerfilter hack to delete; this causes a problem with ooxmlexport9 test testTdf100075: it has 2 flys anchored at the same paragraph; writerfilter will insert the content into the body and then convert to fly; when the 2nd one is converted it will copy the 1st fly and anchor it inside the 2nd fly but then unotext.cxx:1719 will reset its anchor to inside the body... Prevent this unwanted copy by relying on the new parameter bCopyText that was introduced in 04b2310aaa094794ceedaa1bb6ff1823a2d29d3e, but change things a bit so that the case that pass in the extra flag isn't the copyText() one that wants the *normal* selection semantics in writerfilter import, but the 2 known places that want the *exceptional* selection semantics in writerfilter import (hopefully there aren't more). This is not ideal and the various bool parameters to CopyRange() plus mbCopyIsMove plus mbIsRedlineMove should probably be consolidated into some flags enum passed to CopyRange(). Change-Id: I638c7fa7ad0b4ec149aa6a1485e32f2c8e29ff5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87072 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 81ec0039b2085faab49380c7a56af0c562d4c9e4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87095 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>