sw/source/core/crsr/bookmark.cxx | 21 +++++++++++++++++++++ sw/source/core/inc/bookmark.hxx | 3 +++ 2 files changed, 24 insertions(+)
New commits: commit ea112b6d85a6914e1df40e064cd5df6d46248d68 Author: Pranam Lashkari <lpra...@collabora.com> AuthorDate: Thu Jan 19 15:57:26 2023 +0530 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Jan 23 07:12:35 2023 +0000 sw: send LOK call back on bookmark deletion 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 <lpra...@collabora.com> Change-Id: Id5ea4ee0ee1d16c399460cd177ec8e33256ce3dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145777 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/sw/source/core/crsr/bookmark.cxx b/sw/source/core/crsr/bookmark.cxx index 69c89cdf6f40..71764d28052a 100644 --- a/sw/source/core/crsr/bookmark.cxx +++ b/sw/source/core/crsr/bookmark.cxx @@ -415,6 +415,27 @@ namespace sw::mark m_aName = rName; } + Bookmark::~Bookmark() + { + if (GetMarkPos().GetDoc().IsClipBoard()) + return; + + SfxViewShell* pViewShell = SfxViewShell::Current(); + if (!pViewShell) + return; + + OUString fieldCommand = GetName(); + tools::JsonWriter aJson; + aJson.put("commandName", ".uno:DeleteBookmark"); + aJson.put("success", true); + { + auto result = aJson.startNode("result"); + aJson.put("DeleteBookmark", fieldCommand); + } + + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_UNO_COMMAND_RESULT, aJson.extractData()); + } + void Bookmark::InitDoc(SwDoc& io_rDoc, sw::mark::InsertMode const, SwPosition const*const) { diff --git a/sw/source/core/inc/bookmark.hxx b/sw/source/core/inc/bookmark.hxx index 5d44c3454882..7c5ce9361ca9 100644 --- a/sw/source/core/inc/bookmark.hxx +++ b/sw/source/core/inc/bookmark.hxx @@ -161,6 +161,9 @@ namespace sw::mark { Bookmark(const SwPaM& rPaM, const vcl::KeyCode& rCode, const OUString& rName); + + ~Bookmark(); + void InitDoc(SwDoc& io_Doc, sw::mark::InsertMode eMode, SwPosition const* pSepPos) override; void DeregisterFromDoc(SwDoc& io_rDoc) override;