summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-31Bump version to 22.05.10.1cp-22.05.10-1Andras Timar
Change-Id: I27a9ff61800178a2d1cdea300abb6d1cf704f81d
2023-01-31tdf#153289: remove problematic assertionMike Kaganski
It is unclear what it should guarantee; but at least when ungrouping, SwDoc::UnGroupSelection copy-constructs a shared pointer (increasing the refcount), then a copy-constructed argument passed to lcl_CollectTextBoxesForSubGroupObj increases it once again, and then the assertion expectedly fails. Change-Id: I0cb5f303c67b2dc67d5583a9eb03fe405af3573d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146327 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-01-31tdf#148687 tdf#149173 tdf#149546 sw: fix crash with textboxesAttila Bakos (NISZ)
Regression from 2110597ac730fa07dbbdd603fda82b182ed27c9e "tdf#147485 sw: fix group shape crash using std::shared_ptr". Details: 1) Using reference instead of copy assignment in SwTextBoxHelper. 2) Cleanup: Unused parts of SwTextBoxHelper were removed. 3) Fixing destruction of textboxes, in case when first the shape is removed, with clearing all textboxes from the doc and the shape before the pointer is released. All of this only have to be done if the call is not coming from the swdoc dtor, unless there will be double freeing. 4) Missing style conversion was fixed in writerfilter. 5) Don't import sections in textboxes, unless the hack of dummy paragraph before tables in sections will be applied and the paragraph with anchored objects inside will be removed with the objects; 6) ConvertTextRangeToTextFrame also fixed, so embed frames in frames are imported from now. (Also textboxes in frames, this can be useful when there is a floating table having group textbox with nested complex content inside, or floating table in floating table, etc...) Note: Follow up commit will enable group textbox import in frames and tables. 7) Import of group textboxes with complex content in header/footer was impossible, from now this is also supported both from DOCX and ODT (test included). 8) Guard class for blocking unwanted recursive textbox sync has been introduced, and maybe some speedup with group textbox import has been achieved. 9) The anchor sync method got a new function which avoids unnecessary sync when the anchor is the same. 10) Sync of As_char textboxes during layout calculation caused crash so that has a workaround from now, for DOCX import anchor change and Undo. That syncs starts before the layout calculation so sync not needed later. 11) A memory leak was found in Undo, which has been fixed. Note: layout test "testTdf147485Forcepoint" has to be limited to Windows and Mac builds, because font substitution causes crash on the Unix based systems. Change-Id: I69d5d79cc120e3a70ba9285be32ec36a434b2a04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136192 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143373 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-01-31cui: Make SimilaritySearch dialog async and enable use for jsdialogHannah Meeks
Change-Id: I89c6665138c94aa355efbbc4aa0947226c68af5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146325 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2023-01-30fix online crash in WIndow::IsTrackingNoel Grandin
/opt/collaboraoffice/program/libmergedlo.so vcl::Window::IsTracking() const /home/collabora/jenkins/workspace/build_core_co-22.05_for_online_snapshot/vcl/source/window/window2.cxx:340 /opt/collaboraoffice/program/libmergedlo.so (anonymous namespace)::LOKPostAsyncEvent(void*, void*) /home/collabora/jenkins/workspace/build_core_co-22.05_for_online_snapshot/sfx2/source/view/lokhelper.cxx:812 /opt/collaboraoffice/program/libmergedlo.so LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, double) /home/collabora/jenkins/workspace/build_core_co-22.05_for_online_snapshot/include/rtl/ref.hxx:128 Change-Id: I204bac7d8f595054abe9b6e8e631c02b26e20361 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146231 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-30fix online crash in SpellDialogNoel Grandin
program/libmergedlo.so EditEngine::GetUndoManager() /opt/rh/devtoolset-10/root/usr/include/c++/10/bits/unique_ptr.h:173 program/libcuilo.so svx::SpellDialog::InitHdl(void*) cui/source/dialogs/SpellDialog.cxx:2016 program/libmergedlo.so ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) include/rtl/ref.hxx:128 program/libmergedlo.so SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) vcl/headless/svpinst.cxx:317 Change-Id: Icd79faea8b066e0725c5d96f5d9b64445578f3a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146161 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-30tdf#151548 sw content controls: preserve tabIndex val="-1"Justin Luth
Either we have to read sal_uInt32 (which I can't figure out how to do) or else we have to write it out as sal_Int32. Microsoft isn't much help here because their documentation does not give any example of a non-tabsltop, and one errata document indicates that MS Word simply ignores tabIndex altogether for Sdt (and ffData). According to the documentation, tabIndex is a CT_UnsignedDecimalNumber which we do not have in our model.xml so it was defined as being a CT_DecimalNumber which works fine for reading something human sensible like -1. However, in our exporting we were exporting a sal_uInt32 which creates large, all positive numbers which were not being read on import. Nothing I tried worked to read these large numbers. Perhaps it is even illegal to do so in MS formats? Since it doesn't seem to matter to MS Word, and for a human it is easier to understand -1, and it is easier to solve in export than import, I'm taking the easy road. Change-Id: I6b296703c9a37149d9e11f29901e6db32bd041b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146149 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146296 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-26sfx2: fix crash in SfxLokHelper::notifyAllViews(...)Aron Budea
Crashreport signature: program/libmergedlo.so SfxLokHelper::notifyAllViews(int, rtl::OString const&) sfx2/source/view/lokhelper.cxx:682 program/libmergedlo.so SfxClipboardChangeListener::ChangedContents() include/rtl/string.hxx:413 program/libmergedlo.so SfxClipboardChangeListener::LinkStubAsyncExecuteHdl_Impl(void*, void*) include/rtl/ref.hxx:128 program/libmergedlo.so ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) include/rtl/ref.hxx:128 program/libmergedlo.so SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) Change-Id: Ibf70f42292d67a3d6cc68f579ee02f671da85acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146150 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-26tdf#152045 DOCX export: fix empty display text for content control list itemsMiklos Vajna
Regression from commit f726fbc2699b05199a8dec3055710a7131e0aad6 (tdf#151261 DOCX import: fix dropdown SDT when the item display text is missing, 2022-10-10), the problem was that the correct way to represent "no display value" is not an attribute with empty value but a missing attribute. Change-Id: I25b2bb564444f43d1ca1bf95d1c59b208cb24530 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143048 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 017c38a9702da0566ac1ce5d758444e5ff25df9d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146090 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2023-01-26lok: send status for file export dialogsSzymon Kłos
Change-Id: I21530abc89808beb4c794f912e9453d8552c3b01 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146006 Reviewed-by: Ashod Nakashian <ash@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-24tdf#151060 sw PDF export: don't paint off-page part of drawing objectMiklos Vajna
Reported to be a regression from c12358166a9bd88fe10feabca45a6ad3f65dff8e (DOCX import: fix lost objects anchored to an empty linked header, 2020-01-10), the 3rd page of the PDF export result contains an unexpected line shape. This was "working" before as all objects anchored to the empty header were lost. Fix the problem by clipping the rendering to the page frame when handling shapes, similar to what 689cead9e0837dc932e3a4cd765f7d319b529018 (tdf#91260 svx, sw: don't paint off-page part of drawing object, 2016-12-06) did to fix the normal rendering of the document. The testcase document just has 2 pages, so there the unexpected shape was on the 2nd page. Change-Id: Ica24cd15717a1ee97dff448d385a10536671103e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141167 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit bab44a97d21d0ac8a8a06678e71024c1a830943f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141180 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 475e698826e2103bdc78ac286e1fc8970363638e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146050 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-01-24sw: lok: avoid creating callback json if kit is not activePranam Lashkari
Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: I60ae5a37acdbe4ea01b730702cc499833ce5b77c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146036 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-24sw: send LOK call back on section deletionPranam Lashkari
this helps with zotero when user deletes or undo a bibliography stored as a section without this online will be unaware of any such changes made by user Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: I6a8ae3924d548e97299a8d74f8c93c3345d1a430 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146007 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-24sw: add a new .uno:DeleteSections UNO commandMiklos Vajna
This is similiar to commit 1d6593dd799ff4eb931ffbb5338e4856fb87f77f (sw: add a new .uno:DeleteFields UNO command, 2023-01-16), but that deleted refmarks (used for e.g. Zotero citations), while this deletes sections (used for e.g. Zotero bibliography). Implement the section "unlinking" (delete the section, but not its data) by deleting the section format: that will remove the matching section node as well, but not the content nodes. (cherry picked from commit a5a1ea2f7d784c5c6c33f332ba61aceb7af3eca4) Change-Id: Ib00a8f592ddbb77c5e8e08ff94bb0eebfcf7cea8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145895 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-24tdf#148784 consider StretchX in OOXML exportRegina Henschel
The export to custGeom uses currently a static version of the shape. Its vertices are calculated with EnhancedCustomShape2d::GetParameter(). That has parameters to determine whether ReplaceGeoWidth and ReplaceGeoHeight has to be used. It needs to be used, in case the shape has property StretchX or StretchY. That was missing. It is added now in cases where GetParameter() returns a coordinate. Not all cases are covered by unit tests. Further files for manual testing are attached to the bug. Change-Id: Idcdd081f855ed6c4e3a84dba08f8a2148ddfe54c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133463 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> (cherry picked from commit 0818a3dcaf6d7962d043829d42a3bb9d998393d4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145987 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-01-24tdf#100391 calculate true textarea rect for custGeomRegina Henschel
Without the fix the attributes for <a:rect> were set to 'l', 't', 'r' and 'b'. That means that the textarea rectangle equals the shape rectangle. That is the default and works for many shapes. But 'Puzzle' has a smaller textarea rectangle, for example. Because the values in draw:text-areas are relative to the internal coordinate system given by draw:viewBox in ODF, but the values in <a:rect> are relative to the shape coordinate system in OOXML, we cannot simple write the current absolute values but need to calculate them depending on actual width and height. For that we need guides. The patch introduces a guide list. Currently the list contains only the guides for the textarea rectangle, but it can be extended when export of handles will be implemented one day. Change-Id: I1050627ef6459ab5f8fafa939d7905122870c903 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132489 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> (cherry picked from commit 1ad58c77352e418124387b804b18da2aeea22c8b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145986 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-01-23Hide fill attribute widget if fill style is noneGülşah Köse
When fill style is none we can not use fill attribute element. So It is better to hide. Change-Id: I88d5e49448040b3afa18fbf66377d254716e7415 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145817 Tested-by: Jenkins Tested-by: Pedro Silva <pedro.silva@collabora.com> Reviewed-by: Pedro Silva <pedro.silva@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145876 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2023-01-23sw: send LOK call back on refmark deletionPranam Lashkari
this helps with zotero when user deletes a refmark or use undo without this online will be unaware of any such changes made by user Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: Ia4326fd03f6b7d27fdb59ccc25d60331ba7923d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145774 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-23sw: send LOK call back on bookmark deletionPranam Lashkari
this helps with zotero when user deletes a bookmark or use undo without this online will be unaware of any such changes made by user Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: Id5ea4ee0ee1d16c399460cd177ec8e33256ce3dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145777 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-23sw: send field mark delete call back only on deletionPranam Lashkari
previously command call back was also sent when field was selected Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: If0768180e81c47a738225e693b07441cf25906b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145884 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-20Add dropdownfielddialog.ui to JSON dialogues.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com> Change-Id: I4cfc792f0b1269936723285cc5ff1324bc22c161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145871 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-19sw, .uno:InsertField: handle Endnote as a value for the Wrapper parameterMiklos Vajna
This is similar to commit 43d80906c8693ca27c5b3077fbaa259df4004924 (sw: .uno:TextFormField: handle Endnote as a value for the Wrapper parameter, 2023-01-17), but that was for fieldmarks & endnotes, this is for refmarks & endnotes. (cherry picked from commit 04d988d3c368fe07ae3c44c536a4513e424f104e) Change-Id: I46512dd973508f51f7093521c40ad4100dd39ae6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145773 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-19sw, .uno:InsertField: add a new Wrapper parameterMiklos Vajna
This is similar to ceea8f3924f26d5f10adc41b9ea587c77c2fda74 (sw: .uno:TextFormField: add new Wrapper parameter, 2023-01-16), but that was for fieldmarks & footnotes, while this is for refmarks & footnotes. Also start a new test file as the one for the entire directory starts to grow too long. (cherry picked from commit e9d5ccd5a0822969412dbddf0191e28703e72e82) Change-Id: Ib7c0e03d6686a8a52a5691a4e2dbf97dcc2facba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145713 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-19sw: send LOK call back on fieldmark deletionPranam Lashkari
this helps with zotero when user deletes a fieldmark or use undo without this online will be unaware of any such changes made by user Signed-off-by: Pranam Lashkari <lpranam@collabora.com> Change-Id: I93cf102c20b3861140508aee5d81e65f5b9207ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145753 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-19Adapt to new Clang 15 trunk -Wdeprecated-builtinsStephan Bergmann
...<https://github.com/llvm/llvm-project/commit/0b89d1d59f82cf5b45c250cd5c3351e43ce35ef9> "[Sema] Add deprecation warnings for some compiler provided __has_* type traits", which hits in Boost include files, > In file included from libreofficekit/qa/tilebench/tilebench.cxx:27: > In file included from external/boost/include/boost/property_tree/json_parser.hpp:31: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:14: > In file included from external/boost/include/boost/property_tree/ptree.hpp:31: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/ptree.hpp:16: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/string_path.hpp:15: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/id_translator.hpp:16: > In file included from external/boost/include/boost/optional.hpp:31: > In file included from workdir/UnpackedTarball/boost/boost/optional.hpp:15: > In file included from workdir/UnpackedTarball/boost/boost/optional/optional.hpp:42: > workdir/UnpackedTarball/boost/boost/type_traits/has_nothrow_constructor.hpp:27:84: error: builtin __has_nothrow_constructor is deprecated; use __is_nothrow_constructible instead [-Werror,-Wdeprecated-builtins] > template <class T> struct has_nothrow_constructor : public integral_constant<bool, BOOST_HAS_NOTHROW_CONSTRUCTOR(T)>{}; > ^ > workdir/UnpackedTarball/boost/boost/type_traits/intrinsics.hpp:199:48: note: expanded from macro 'BOOST_HAS_NOTHROW_CONSTRUCTOR' > # define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible<T>::value) > ^ etc. Change-Id: I08376710e25013b44279532d6e5fc256ed95cb76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137046 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145764 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2023-01-18Make PDFExport Password Subdialog AsyncNickWingate
Dialog in File>Export As PDF>Security>Set Password Close subdialog when parent dialog is closed Signed-off-by: NickWingate <nick.wingate@collabora.com> Change-Id: I9db8459309f2806ed47f9f932e0bde246400b2dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144854 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-18lok: fix query language statusHenry Castro
The Calc and Impress return language status as a SfxStringItem, but Writer is a SfxListStringItem. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I88f77288e422a8f80473f0e33257078cfaa704b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145675 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-01-18sw: .uno:TextFormField: handle Endnote as a value for the Wrapper parameterMiklos Vajna
This is similar to the fieldmark-in-footnote case, but here we need to make sure that the layout is calculated before the cursor attempts to jump to the endnote, otherwise the fieldmark will be inserted before the endnote anchor, not in the endnote body. The move of StartAction() / EndAction() calls can be done unconditionally, it's not a problem for the existing footnote case. (cherry picked from commit 43d80906c8693ca27c5b3077fbaa259df4004924) Change-Id: I772d27937456978ca6aa01148eff3163d8877208 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145672 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-18ThemeDialog added which allows to change the theme used by the doc.Tomaž Vajngerl
ThemeDialog is a common dialog that can be used to select the theme used by the document. Currently it only implements colors but in the future also the fonts and formats (for shapes) will be adde. The IThemeColorChanger interface is used by the dialog to change the actual color values inside the document. For the writer the existing ThemeColorChanger is now implementing the interface. The dialog is accessible in Writer at Format -> Theme... in the main menu. Change-Id: I23c7dc9668cdc5427f36d604a76c433d6dbef497 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145264 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit d4e4a2b96a787b4f99d68d7a417c37c97b47c170) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145695 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-18sw: add ThemeColorChanger that sweeps the model and changes colorsTomaž Vajngerl
The ThemeColorChanger responisiblity is to recalculate and change all the theme colors in the model. This includes styles and direct formatting changes. It uses ModelTraverser for direct formatting changes as it already implements traversing through nodes. The ThemeColorChanger replaces the code to change the colors in ThemePanel. Also modify undo/redo for changing of attributes to not move the cursor and selection when undoing and redoing (new flag NO_CURSOR_CHANGE), as in this case it is very distrcting. Change-Id: Ida1912bd0697307daad9244d474862830ab2686f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145263 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 1af58b5acec4a2de095d86feef05ac4aed3edb8f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145694 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-18sw: rework ThemePanel, theme color ValueSet drawing as custom drawTomaž Vajngerl
Rework the ThemePanel to only work with theme colors, as fonts are uing an old mock implemntation of themes. To do this properly it is needed to remove the implementation for now. The theme colors entries were rendered as a bitmap and then shown in the ValueSet. This has the problem that it doesn't look sharp on a HiDPI screen, so replace that with a ThemeColorValueSet, which uses custom draw to render the theme color entries directly. The ThemeColorValueSet was added to th svx component as it will be used in other components as well. Change-Id: I1a727ef4cf4be4e215db57ac33f571f43aaddc15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145087 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 8bc22ed6899bcbafc3020f0af6c939019506a5fd) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145693 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-18svx: add UX defined theme color setsTomaž Vajngerl
Change-Id: I82cbe16fcfaa8367dacda7ff977e18b0ed39ec2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145086 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 2ec4a66b6d049f5d11f4ceb993ed907c790ed592) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145692 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-18svx: add resolveColor that resolves the color for input themeTomaž Vajngerl
resolveColor added to ColorSet resolves the color for the input ThemeColor, which contains the index for the color in the ColorSet and applies all the additional tranformations defined in the ThemeColor. Change-Id: I5c6d53d5e1d2c61bdb22b0e58c034ec91fbeb2d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145085 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 4d17d06279d3bceee8d4b92f444b5e425412c576) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145653 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-18svx: change ColorSet add method to use ThemeColorTyp enumTomaž Vajngerl
Change-Id: I2034a7e915d41c6b55c8344d44be4f6a60e8287e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145072 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 0b35b239c0ff1adad2c4544d8692b5b13a0d363b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145652
2023-01-18support theme color for lines + oox support + testsTomaž Vajngerl
Extended XLineColor to handle model::ThemeColor which then maps to the newly added LineColorThemeData property. Extended oox import and export to map the scheme color elements to and from ThemeColor. Added a new test to check the theme line color in impress shapes. Change-Id: I23ecc18c88b5b47608c9110f5681f189d02e2f36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145071 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit af8fdba1194e657237f9abc460381a1c4bc49982) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145651 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-17sw: lok: use redline author for saved author fields(2)Dennis Francis
Without the fix author fields will expand to "Unknown author" when loading files which have author fields in them. But only update the fields when the first view joins and not for later view joins. online.git does not expect document to be modified just after load, so to avoid this situation clear the document modified flag just after field update. Change-Id: I19253f4c871e2c023d206d2d83b6d694ed5933d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145654 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17sw: .uno:TextFormField: add new Wrapper parameterMiklos Vajna
Currently all fieldmarks are inserted into the document body unconditionally when this UNO command is dispatched. Inserting at the current cursor position makes sense, but some citation styles want to insert the actual citation as footnotes, and only have the footnote anchor at the cursor position. Fix the problem by adding a new Wrapper parameter to this UNO command: currently the only interesting value it may have is Footnote, if this is specified then first we insert a footnote and the footnote content will host the fieldmark, not the original body text. The same will be wanted for endnotes as well, but that's not yet done in this commit. (cherry picked from commit ceea8f3924f26d5f10adc41b9ea587c77c2fda74) Change-Id: I5c96c7dc9ddaace09b1dbc21b8f12005a2934d04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145661 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-17sw: add a new .uno:DeleteFields UNO commandMiklos Vajna
This is similar to 40753de837b9776dd8b33e830be0cceef83f024a (sw: add a new .uno:DeleteBookmarks UNO command, 2023-01-13), but that was about deleting bookmarks matching a given prefix with their name, and this one is about reference marks (fields in general), matching a certain type & prefix with their name. (cherry picked from commit 1d6593dd799ff4eb931ffbb5338e4856fb87f77f) Change-Id: Iec953034cd0e6875f173712b0fb10bfddf16ed3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145560 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-17sc: fix crash in ScViewData::GetCurXForTab()Miklos Vajna
Crashreport signature: program/libsclo.so ScViewData::GetCurXForTab(short) const sc/source/ui/view/viewdata.cxx:1431 program/libsclo.so ScViewFunc::OnLOKInsertDeleteColumn(short, long) sc/source/ui/view/viewfunc.cxx:1552 program/libsclo.so ScDocFunc::InsertCells(ScRange const&, ScMarkData const*, InsCellCmd, bool, bool, bool) source/ui/docshell/docfunc.cxx:2256 program/libsclo.so ScViewFunc::InsertCells(InsCellCmd, bool, bool) sc/source/ui/view/viewfunc.cxx:1658 Seeing that e.g. ScViewData::WriteUserDataSequence() already checks if the pointer in maTabData is a nullptr, do the same here. Change-Id: I0ebdba8c8a5bedd3c3c57c36bdf0632e2fee45c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145431 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
2023-01-17tdf#66039 DOCX: import textboxes (with tables, images etc.) in group shapesAttila Bakos (NISZ)
Text boxes in group shapes were imported as shapes, losing complex text content: tables (tdf#66039), colors (tdf#73022), images (tdf#81958), lists, paragraph styles, hyperlinks (tdf#122960) and track changes. Note: a few unit tests have been deactivated temporarily. Test document "groupshape-trackedchanges.docx" of testGroupshapeTrackedchanges is imported correctly now: with track changes, and the test was modified accordingly. Follow-up to commit 2951cbdf3a6e2b62461665546b47e1d253fcb834 "tdf#143574 OOXML export/import of textboxes in group shapes". Change-Id: I6eb918dbf64393fd723fe43f798f93b5b9a12575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125051 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143371 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17Related tdf#66039 DOCX import: fix Z-order of group shapesAttila Bakos (NISZ)
A missing function resulted covered textboxes which weren't visible in group shapes. Follow-up to 121cbc250b36290f0f8c7265fea57256dad69553 "tdf#66039 DOCX: import textboxes (with tables, images etc.) in group shapes". Change-Id: I08eb1c1cf4a4f4769af8812500b9cf9778b01e9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128279 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143372 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17tdf#149550 sw: fix crash by implementing nested textbox copyAttila Bakos (NISZ)
Grouped shapes with a nested textbox were copied without the textbox with frequent crashing. Regression from commit 2951cbdf3a6e2b62461665546b47e1d253fcb834 "tdf#143574 OOXML export/import of textboxes in group shapes". Change-Id: Ie2cc24f10706d8999026dc92ebad21f2c5673003 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135815 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143370 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17tdf#147485 sw: fix group shape crash using std::shared_ptrAttila Bakos (NISZ)
for SwFrameFormat::m_pOtherTextBoxeFormats. Before there was broken manual handling of this member, resulting random crashes. Details: Writer textboxes are textframe + shape pairs. Accordingly the shape has a draw format, the frame has a fly format. In case of group shapes the paired structure doesn't work, because there is one shape format and many fly formats. To handle this there is a class (SwTextBoxNode) which has a small frame format table inside. This cache gives the possibility to handle each frame shape pairs inside the group depending on what SdrObject owns that textbox. However there is another place where these formats stored, namely the SpzFrameFormatTable in SwDoc. The only problem is that, when a flyframe removed, it has to be deleted from both tables, but if the DelLayoutFormat() is called, that will call the ~FrameFormat(), and if the format already deleted from the SwTextBoxNode, there will be double deleting for the same address, which caused the crash. To avoid this the following is present: When fly deletion occurs, first the format is deleted from the doc, then via the ~SwFrameFomat() will be deleted from the TextBoxNode. If the deleted format is a drawing, the whole node will be destructed via the shared_ptr. Hopefully that will be fine, without any leak. Change-Id: I007724695bc035998cb35efeefecd308aae36e85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132308 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143369 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17tdf#147126 sw: fix missing as_char anchoring of group textboxesAttila Bakos (NISZ)
which resulted lost (invisible) text content before implementing its support now. Cleanup to SwTextBoxHelper by removing its unneeded functions. testFDO78590 was commented out temporarily because it has a pure VML groupshape inside and it's converted to WPG during the test run resulting crash on reopening, because lack of its support in DocumentContentOperationsManager, trying to convert the content to a text frame inside a text frame. Regression from commit 2951cbdf3a6e2b62461665546b47e1d253fcb834 "tdf#143574 OOXML export/import of textboxes in group shapes". Change-Id: Ic6ce3549d390ae763044f54e991f390677704396 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129627 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143368 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17tdf#143574 OOXML export/import of textboxes in group shapesAttila Bakos (NISZ)
In this part, oox module has been modified in order to prepare for WPG handling during OOXML import. Note: Wpg is the drawingML equivalent of v:group, supporting text boxes in the group. 1) Added new parameter for WpgContext to support nested Wpg shapes, and WPS enabled for the WPG member shapes. 2) A bug has fixed, where group member line shape and connector shapes have wrong positions before in the group. 3) Unit tests had to be modified, and 3 of them disabled temporarily due to missing Writerfilter implementation (what will be the next commit) Now group shapes can have textboxes and the text is imported for that, but complex content is still missing (this will be fixed in writerfilter by the next commit). Known issue: WPG shapes with textboxes in floating table have issues during import at floating table conversion, so until this is not fixed this function is disabled for shapes in tables (will be fixed a follow-up commit later). Follow-up to commit 19394a924fdc486202ca27e318385287eb0df26f "tdf#143574 sw: textboxes in group shapes -- part 4". Change-Id: I71032187697807087bd8f27f7c3a7b052e174bd7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124964 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143367 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17tdf#143574 sw: textboxes in group shapes -- part 4Attila Bakos (NISZ)
A new UNO property has been added and implemented for the filters. This provides the possibility of assigning textboxes in the filter at import time via UNO. Follow-up to commit e5650de86072b9db586a4532b5239acda77598c4 "tdf#143574 sw: textboxes in group shapes - part 3 take 2". Change-Id: I58c445cb7f6d865c1d82dbe68f985e4c11ff832e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126162 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143366 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17tdf#143574 sw: textboxes in group shapes - part 3 take 2Attila Bakos (NISZ)
In this part, missing parameters have been fixed, and queryInterface method can handle textbox groups now. A new function, synchronizeGroupTextBoxProperty has been introduced to do the sync for all group members. Nested group textbox shape handling also has been introduced. Note: Copy still has issues. Change-Id: I3d2090fe6a4066edfd2cb417b30bca9dd9acb011 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126052 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143365 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-01-17oox: also allow tint and shade for fill colorTomaž Vajngerl
This was an obsolete limitation that is not needed anymore. Change-Id: Ie9610516996fc16197f8611843ff621b8a83ebdc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145084 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 79ad3e73907d15c4e234e2a32de8173273f5ac16) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145650 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2023-01-17ooxml: fix theme color type mapping: bg -> light, text -> darkTomaž Vajngerl
Change-Id: I19ad3ef7c911943075d7ddc01626047cdf11d5db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145070 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 1a79594a27f41ad369e7c387c51e00afb1352872) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145649 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-17xmloff: use XThemeColor in ODF, change the format for themesTomaž Vajngerl
Change the xmloff filter to use XThemeColor and the associated proprties (CharColorThemeReference and FillColorThemeReference). Change the ODF format for referencing a theme color - make it an element instead a series of attributes on the *-properties style element. Change-Id: I0fa7d8ebffecc02897b7fe9824d6f1776ef36380 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144923 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 3eb53d327fb5d9689b799ff991a6c53c05eff496) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145572 Tested-by: Tomaž Vajngerl <quikee@gmail.com>