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;

Reply via email to