[Libreoffice-commits] .: Branch 'libreoffice-3-3' - 2 commits - sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Wed Dec 22 13:22:18 PST 2010


 sc/source/ui/view/gridwin.cxx |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

New commits:
commit 25aea9775c2e6777c998d2db7d2d5d5314129fd0
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Wed Dec 22 12:45:47 2010 -0500

    Actually the object doesn't have to be a cell note.
    
    The same problem happens even when the object is not a cell note,
    but, say, a regular text box.  Let's not check whether or not the
    object is a cell note.
    
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index bc08010..e765ebf 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -4306,13 +4306,10 @@ void ScGridWindow::PasteSelection( const Point& rPosPixel )
         for (ULONG i = 0; i < nCount; ++i)
         {
             SdrObject* pObj = pDrawView->GetMarkedObjectByIndex(i);
-            if (pObj && ScDrawLayer::IsNoteCaption(pObj))
+            if (pObj && pObj->GetLogicRect().IsInside(aLogicPos))
             {
-                if (pObj->GetLogicRect().IsInside(aLogicPos))
-                {
-                    // Inside an active note object.  Bail out.
-                    return;
-                }
+                // Inside an active drawing object.  Bail out.
+                return;
             }
         }
     }
commit 9d59ebed31d016c44f91f8b4587f9852ba65e5b4
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Wed Dec 22 12:31:22 2010 -0500

    Avoid double-paste when pasting text into cell comment. (fdo#32572)
    
    Original patch is from Caolan.  I re-worked it to handle more use
    cases.
    
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 7e5f55d..bc08010 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -4297,6 +4297,26 @@ void ScGridWindow::PasteSelection( const Point& rPosPixel )
     SCsROW	nPosY;
     pViewData->GetPosFromPixel( rPosPixel.X(), rPosPixel.Y(), eWhich, nPosX, nPosY );
 
+    // If the mouse down was inside a visible note window, ignore it and
+    // leave it up to the ScPostIt to handle it
+    SdrView* pDrawView = pViewData->GetViewShell()->GetSdrView();
+    if (pDrawView)
+    {
+        ULONG nCount = pDrawView->GetMarkedObjectCount();
+        for (ULONG i = 0; i < nCount; ++i)
+        {
+            SdrObject* pObj = pDrawView->GetMarkedObjectByIndex(i);
+            if (pObj && ScDrawLayer::IsNoteCaption(pObj))
+            {
+                if (pObj->GetLogicRect().IsInside(aLogicPos))
+                {
+                    // Inside an active note object.  Bail out.
+                    return;
+                }
+            }
+        }
+    }
+
     ScSelectionTransferObj* pOwnSelection = SC_MOD()->GetSelectionTransfer();
     if ( pOwnSelection )
     {


More information about the Libreoffice-commits mailing list