[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source

Dennis Francis (via logerrit) logerrit at kemper.freedesktop.org
Sat Jul 4 17:25:54 UTC 2020


 sc/source/ui/view/gridwin.cxx |   35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

New commits:
commit 14b8f2009f3c5a3d189eba4b82786274ad30d544
Author:     Dennis Francis <dennis.francis at collabora.com>
AuthorDate: Sun May 24 22:40:51 2020 +0530
Commit:     Dennis Francis <dennis.francis at collabora.com>
CommitDate: Sat Jul 4 19:25:22 2020 +0200

    lokit: scPrintTwipsMsgs: LOK_CALLBACK_CELL_VIEW_CURSOR
    
    Allow print twips coordinates in LOK_CALLBACK_CELL_VIEW_CURSOR
    
    Change-Id: I0373cbd2b87b4d1088af41453ab548274de6ca23
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97965
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Dennis Francis <dennis.francis at collabora.com>

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index c1b2c2155865..f1c9518b1772 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5759,8 +5759,13 @@ void ScGridWindow::notifyKitCellViewCursor(const SfxViewShell* pForShell) const
         auto pForTabView = dynamic_cast<const ScTabViewShell *>(pForShell);
         if (!pForTabView)
             return;
-        aCursor = pForTabView->GetViewData().describeCellCursorAt(
-            pViewData->GetCurX(), pViewData->GetCurY()); // our position.
+
+        if (comphelper::LibreOfficeKit::isCompatFlagSet(
+            comphelper::LibreOfficeKit::Compat::scPrintTwipsMsgs))
+            aCursor = pViewData->describeCellCursorInPrintTwips();
+        else
+            aCursor = pForTabView->GetViewData().describeCellCursorAt(
+                pViewData->GetCurX(), pViewData->GetCurY()); // our position.
     }
     SfxLokHelper::notifyOtherView(pViewShell, pForShell, LOK_CALLBACK_CELL_VIEW_CURSOR, "rectangle", aCursor);
 }
@@ -5770,9 +5775,33 @@ void ScGridWindow::notifyKitCellViewCursor(const SfxViewShell* pForShell) const
 // event, and others a cell_view_cursor event.
 //
 // NB. we need to re-construct the cursor details for each other view in their
-// own zoomed co-ordinate system.
+// own zoomed co-ordinate system (but not in scPrintTwipsMsgs mode).
 void ScGridWindow::updateKitCellCursor(const SfxViewShell* pForShell) const
 {
+    if (comphelper::LibreOfficeKit::isCompatFlagSet(
+            comphelper::LibreOfficeKit::Compat::scPrintTwipsMsgs))
+    {
+        ScTabViewShell* pViewShell = pViewData->GetViewShell();
+        // Generate the cursor info string just once and directly send to all.
+        // Calling notifyKitCellViewCursor() would regenerate the
+        // cursor-string unnecessarily.
+        OString aCursor = getCellCursor();
+
+        if (pForShell)
+        {
+            SfxLokHelper::notifyOtherView(pViewShell, pForShell,
+                    LOK_CALLBACK_CELL_VIEW_CURSOR, "rectangle", aCursor);
+        }
+        else
+        {
+            notifyKitCellCursor();
+            SfxLokHelper::notifyOtherViews(pViewShell,
+                    LOK_CALLBACK_CELL_VIEW_CURSOR, "rectangle", aCursor);
+        }
+
+        return;
+    }
+
     if (!pForShell)
     {
         for (SfxViewShell* it = SfxViewShell::GetFirst(); it;


More information about the Libreoffice-commits mailing list