parent
f1e7adc3e2
commit
ac6e1758bb
@ -0,0 +1,39 @@
|
|||||||
|
From 342f3cfe6f2b27ea62bd9883e16014c188276356 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kohei Yoshida <kyoshida@novell.com>
|
||||||
|
Date: Wed, 22 Dec 2010 12:31:22 -0500
|
||||||
|
Subject: [PATCH 1/2] 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.
|
||||||
|
---
|
||||||
|
sc/source/ui/view/gridwin.cxx | 20 ++++++++++++++++++++
|
||||||
|
1 files changed, 20 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
|
||||||
|
index 0d32bae..6826829 100644
|
||||||
|
--- a/sc/source/ui/view/gridwin.cxx
|
||||||
|
+++ b/sc/source/ui/view/gridwin.cxx
|
||||||
|
@@ -4298,6 +4298,23 @@ 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 && pObj->GetLogicRect().IsInside(aLogicPos))
|
||||||
|
+ {
|
||||||
|
+ // Inside an active drawing object. Bail out.
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
ScSelectionTransferObj* pOwnSelection = SC_MOD()->GetSelectionTransfer();
|
||||||
|
if ( pOwnSelection )
|
||||||
|
{
|
@ -1,27 +0,0 @@
|
|||||||
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
|
|
||||||
index 0d32bae..7ecdbfa 100644
|
|
||||||
--- a/sc/source/ui/view/gridwin.cxx
|
|
||||||
+++ b/sc/source/ui/view/gridwin.cxx
|
|
||||||
@@ -1689,6 +1689,22 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt )
|
|
||||||
SCTAB nTab = pViewData->GetTabNo();
|
|
||||||
ScDocument* pDoc = pViewData->GetDocument();
|
|
||||||
|
|
||||||
+ {
|
|
||||||
+ //If the mouse down was inside a visible note window, ignore it and leave
|
|
||||||
+ //it up to the ScPostIt to handle it
|
|
||||||
+ ScAddress aCellPos(pViewData->GetCurX(), pViewData->GetCurY(), pViewData->GetTabNo());
|
|
||||||
+ ScPostIt* pNote = pDoc->GetNote(aCellPos);
|
|
||||||
+ SdrObject* pObj = pNote ? pNote->GetCaption() : 0;
|
|
||||||
+ if (pObj && ScDrawLayer::IsNoteCaption(pObj))
|
|
||||||
+ {
|
|
||||||
+ Point aLogicPos = PixelToLogic(aPos);
|
|
||||||
+ if (pObj->GetLogicRect().IsInside(aLogicPos))
|
|
||||||
+ {
|
|
||||||
+ bEEMouse = TRUE;
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
//
|
|
||||||
// AutoFilter buttons
|
|
Loading…
Reference in new issue