[ooo-build-commit] patches/dev300
Kohei Yoshida
kohei at kemper.freedesktop.org
Tue Oct 6 14:00:54 PDT 2009
patches/dev300/apply | 16
patches/dev300/calc-copy-range-animated-border-sc.diff | 449 ----------------
patches/dev300/calc-copy-range-animated-border-svx.diff | 22
patches/dev300/cws-koheicopyborder-svx.diff | 22
patches/dev300/sc-copy-source-border.diff | 250 --------
patches/dev300/sc-paste-on-enter.diff | 189 ------
6 files changed, 26 insertions(+), 922 deletions(-)
New commits:
commit e6a44acb06c293113c6abfabba2c9766ed877fa5
Author: Kohei Yoshida <kyoshida at novell.com>
Date: Tue Oct 6 16:48:40 2009 -0400
Backported koheicopyborder CWS.
This backport patches combines the four removed patches
listed below. They also re-implements the animated border
overlay object using the re-worked OverlayObject implementation
in 3.2.
* patches/dev300/apply:
* patches/dev300/cws-koheicopyborder-sc.diff:
* patches/dev300/cws-koheicopyborder-svx.diff:
Removed obsolete patches.
* patches/dev300/calc-copy-range-animated-border-sc.diff:
* patches/dev300/calc-copy-range-animated-border-svx.diff:
* patches/dev300/sc-copy-source-border.diff:
* patches/dev300/sc-paste-on-enter.diff:
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 4c19ea8..4482a4c 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -209,6 +209,10 @@ cws-koheichart02-chart2.diff, kohei
cws-koheichart02-sc.diff, kohei
cws-koheichart02-xmloff.diff, kohei
+# koheicopyborder cws (paste on enter, and animated border for copied ranges).
+cws-koheicopyborder-sc.diff, kohei
+cws-koheicopyborder-svx.diff, kohei
+
[ LinuxOnly ]
# Don't stat tons of config files we don't need to read on startup
speed-configmgr.diff, i#56783, michael
@@ -725,8 +729,6 @@ enable-sheet-protection-options.diff, kohei
enable-sheet-protection-options-m58.diff, kohei
[ CalcFixes ]
-# Paste clipboard when ENTER is pressed, then clear clipboard.
-sc-paste-on-enter.diff, n#358545, i#28535, jonp
# Ensure that Print Preview is consistent with Print output.
sc-print-selected-sheets.diff, n#335684, i#45497, jonp
@@ -874,16 +876,6 @@ calc-xls-export-encryption-condfmt-fix.diff, n#541058, kohei
# LATER: I'll take care of this later. --kohei
# calc-formula-asian-phonetic.diff, i#80764, i#80765, i#80766, kohei
-# Place a border around the Copy source cell(s).
-# LATER: 2009-09-10: This needs to be re-implemented for the 3.2 code line.
-# sc-copy-source-border.diff, n#367489, jonp
-
-# draw an animated dashed border around copied ranges.
-# LATER: I'll take care of this later. --kohei
-# calc-copy-range-animated-border-sc.diff, kohei
-# calc-copy-range-animated-border-svx.diff, kohei
-
-
[ CalcRowLimit ]
# The work to increase Calc's row size limit, and any work associated with it.
SectionOwner => kohei
diff --git a/patches/dev300/calc-copy-range-animated-border-sc.diff b/patches/dev300/calc-copy-range-animated-border-sc.diff
deleted file mode 100644
index 8b47cb4..0000000
--- a/patches/dev300/calc-copy-range-animated-border-sc.diff
+++ /dev/null
@@ -1,449 +0,0 @@
-diff --git sc/source/ui/inc/gridwin.hxx sc/source/ui/inc/gridwin.hxx
-index 2b62bc5..3ab93fd 100644
---- sc/source/ui/inc/gridwin.hxx
-+++ sc/source/ui/inc/gridwin.hxx
-@@ -356,7 +356,6 @@ private:
- sdr::overlay::OverlayObjectCell::RangeVector* pRanges,
- const MapMode& rDrawMode,
- const RectangleConverter *pConverter = NULL);
-- void UpdateCopySourceOverlay(const MapMode& rDrawMode);
-
- protected:
- using Window::Resize;
-@@ -458,6 +457,8 @@ public:
- void CursorChanged();
- void DrawLayerCreated();
-
-+ void DeleteCopySourceOverlay();
-+ void UpdateCopySourceOverlay();
- void DeleteCursorOverlay();
- void UpdateCursorOverlay();
- void DeleteSelectionOverlay();
-diff --git sc/source/ui/inc/overlayobject.hxx sc/source/ui/inc/overlayobject.hxx
-new file mode 100644
-index 0000000..5c3e774
---- /dev/null
-+++ sc/source/ui/inc/overlayobject.hxx
-@@ -0,0 +1,58 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: gridwin.hxx,v $
-+ * $Revision: 1.30 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __SC_OVERLAYOBJECT_HXX__
-+#define __SC_OVERLAYOBJECT_HXX__
-+
-+#include "svx/sdr/overlay/overlayobject.hxx"
-+
-+class OutputDevice;
-+class Window;
-+
-+class ScOverlayDashedBorder : public ::sdr::overlay::OverlayObject
-+{
-+public:
-+ ScOverlayDashedBorder(const ::basegfx::B2DRange& rRange, const Color& rColor, Window* pWin);
-+ virtual ~ScOverlayDashedBorder();
-+
-+ virtual void Trigger(sal_uInt32 nTime);
-+ virtual void transform(const ::basegfx::B2DHomMatrix& rMatrix);
-+ virtual void zoomHasChanged();
-+
-+private:
-+ virtual void drawGeometry(OutputDevice& rOutputDevice);
-+ virtual void createBaseRange(OutputDevice& rOutputDevice);
-+
-+private:
-+ Window* mpParent;
-+ bool mbToggle;
-+};
-+
-+#endif
-diff --git sc/source/ui/inc/tabview.hxx sc/source/ui/inc/tabview.hxx
-index 1c9d508..0288469 100644
---- sc/source/ui/inc/tabview.hxx
-+++ sc/source/ui/inc/tabview.hxx
-@@ -441,6 +441,7 @@ public:
-
- void CreateAnchorHandles(SdrHdlList& rHdl, const ScAddress& rAddress);
-
-+ void UpdateCopySourceOverlay();
- void UpdateSelectionOverlay();
- void UpdateShrinkOverlay();
- void UpdateAllOverlays();
-diff --git sc/source/ui/view/cellsh1.cxx sc/source/ui/view/cellsh1.cxx
-index 8950395..eee4c62 100644
---- sc/source/ui/view/cellsh1.cxx
-+++ sc/source/ui/view/cellsh1.cxx
-@@ -1167,11 +1167,13 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
-
- case SID_COPY: // fuer Grafiken in DrawShell
- {
-- WaitObject aWait( GetViewData()->GetDialogParent() );
-+ ScViewData* pViewData = GetViewData();
-+ WaitObject aWait( pViewData->GetDialogParent() );
- pTabViewShell->CopyToClip( NULL, FALSE, FALSE, TRUE );
- rReq.Done();
-- GetViewData()->SetPasteMode( (ScPasteFlags) (SC_PASTE_MODE | SC_PASTE_BORDER) );
-+ pViewData->SetPasteMode( (ScPasteFlags) (SC_PASTE_MODE | SC_PASTE_BORDER) );
- pTabViewShell->ShowCursor();
-+ pTabViewShell->UpdateCopySourceOverlay();
- }
- break;
-
-@@ -1181,6 +1183,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
- pTabViewShell->CutToClip( NULL, TRUE );
- rReq.Done();
- GetViewData()->SetPasteMode( SC_PASTE_MODE );
-+ pTabViewShell->UpdateCopySourceOverlay();
- }
- break;
-
-diff --git sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
-index 8713b06..93a674e 100644
---- sc/source/ui/view/gridwin.cxx
-+++ sc/source/ui/view/gridwin.cxx
-@@ -122,6 +122,8 @@
- #include "tabprotection.hxx"
- #include "clipparam.hxx"
- #include "dpcontrol.hxx"
-+#include "overlayobject.hxx"
-+#include "basegfx/range/b2drange.hxx"
-
- // #114409#
- #include <vcl/salbtype.hxx> // FRound
-@@ -3060,7 +3062,7 @@ void __EXPORT ScGridWindow::KeyInput(const KeyEvent& rKEvt)
-
- // hide the border around the copy source
- pViewData->SetPasteMode( SC_PASTE_NONE );
-- UpdateCursorOverlay();
-+ UpdateCopySourceOverlay();
- return;
- }
- // wenn semi-Modeless-SfxChildWindow-Dialog oben, keine KeyInputs:
-@@ -3069,7 +3071,7 @@ void __EXPORT ScGridWindow::KeyInput(const KeyEvent& rKEvt)
- if (rKeyCode.GetCode() == KEY_ESCAPE)
- {
- pViewData->SetPasteMode( SC_PASTE_NONE );
-- UpdateCursorOverlay();
-+ UpdateCopySourceOverlay();
- }
- // query for existing note marker before calling ViewShell's keyboard handling
- // which may remove the marker
-@@ -5149,6 +5151,7 @@ void ScGridWindow::CursorChanged()
- void ScGridWindow::ImpCreateOverlayObjects()
- {
- UpdateCursorOverlay();
-+ UpdateCopySourceOverlay();
- UpdateSelectionOverlay();
- UpdateAutoFillOverlay();
- UpdateDragRectOverlay();
-@@ -5160,6 +5163,7 @@ void ScGridWindow::ImpCreateOverlayObjects()
- void ScGridWindow::ImpDestroyOverlayObjects()
- {
- DeleteCursorOverlay();
-+ DeleteCopySourceOverlay();
- DeleteSelectionOverlay();
- DeleteAutoFillOverlay();
- DeleteDragRectOverlay();
-@@ -5178,7 +5182,6 @@ void ScGridWindow::UpdateAllOverlays()
- void ScGridWindow::DeleteCursorOverlay()
- {
- DELETEZ( mpOOCursors );
-- DELETEZ( mpOOSelectionBorder );
- }
-
- void ScGridWindow::ConvertPixelRectsToRangeVector( const ::std::vector< Rectangle >& rPixelRects,
-@@ -5202,8 +5205,20 @@ void ScGridWindow::ConvertPixelRectsToRangeVector( const ::std::vector< Rectangl
- }
- }
-
--void ScGridWindow::UpdateCopySourceOverlay( const MapMode& rDrawMode )
-+void ScGridWindow::DeleteCopySourceOverlay()
-+{
-+ DELETEZ( mpOOSelectionBorder );
-+}
-+
-+void ScGridWindow::UpdateCopySourceOverlay()
- {
-+ MapMode aDrawMode = GetDrawMapMode();
-+ MapMode aOldMode = GetMapMode();
-+ if ( aOldMode != aDrawMode )
-+ SetMapMode( aDrawMode );
-+
-+ DeleteCopySourceOverlay();
-+
- if (!pViewData->ShowPasteSource())
- return;
- ::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
-@@ -5232,33 +5247,24 @@ void ScGridWindow::UpdateCopySourceOverlay( const MapMode& rDrawMode )
-
- Point aClipStartScrPos = pViewData->GetScrPos( nClipStartX, nClipStartY, eWhich );
- Point aClipEndScrPos = pViewData->GetScrPos( nClipEndX + 1, nClipEndY + 1, eWhich );
--
-+ aClipStartScrPos -= Point(1, 1);
- long nSizeXPix = aClipEndScrPos.X() - aClipStartScrPos.X();
- long nSizeYPix = aClipEndScrPos.Y() - aClipStartScrPos.Y();
-
-- aClipStartScrPos.X() -= 2;
-- aClipStartScrPos.Y() -= 2;
-+ Rectangle aRect( aClipStartScrPos, Size(nSizeXPix, nSizeYPix) );
-
-- Rectangle aRect( aClipStartScrPos, Size( nSizeXPix + 3, nSizeYPix + 3 ) );
--
-- std::vector<Rectangle> aPixelRects;
--
-- aPixelRects.push_back(Rectangle( aRect.Left(), aRect.Top(), aRect.Left()+2, aRect.Bottom() ));
-- aPixelRects.push_back(Rectangle( aRect.Right()-2, aRect.Top(), aRect.Right(), aRect.Bottom() ));
-- aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Top(), aRect.Right()-3, aRect.Top()+2 ));
-- aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Bottom()-2, aRect.Right()-3, aRect.Bottom() ));
--
-- sdr::overlay::OverlayObjectCell::RangeVector aRanges;
-- ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, rDrawMode );
--
-- ScOverlayType eType = SC_OVERLAY_BORDER_TRANSPARENT;
-
- Color aHighlight = GetSettings().GetStyleSettings().GetHighlightColor();
-- sdr::overlay::OverlayObjectCell* pOverlay = new sdr::overlay::OverlayObjectCell( eType, aHighlight, aRanges );
--
-- pOverlayManager->add(*pOverlay);
-- mpOOSelectionBorder->append(*pOverlay);
-+
-+ Rectangle aLogic = PixelToLogic(aRect, aDrawMode);
-+ ::basegfx::B2DRange aRange(aLogic.Left(), aLogic.Top(), aLogic.Right(), aLogic.Bottom());
-+ ScOverlayDashedBorder* pDashedBorder = new ScOverlayDashedBorder(aRange, aHighlight, this);
-+ pOverlayManager->add(*pDashedBorder);
-+ mpOOSelectionBorder->append(*pDashedBorder);
- }
-+
-+ if ( aOldMode != aDrawMode )
-+ SetMapMode( aOldMode );
- }
-
- void ScGridWindow::UpdateCursorOverlay()
-@@ -5273,8 +5280,6 @@ void ScGridWindow::UpdateCursorOverlay()
-
- DeleteCursorOverlay();
-
-- UpdateCopySourceOverlay( aDrawMode );
--
- std::vector<Rectangle> aPixelRects;
-
- //
-diff --git sc/source/ui/view/makefile.mk sc/source/ui/view/makefile.mk
-index 312929c..9003498 100644
---- sc/source/ui/view/makefile.mk
-+++ sc/source/ui/view/makefile.mk
-@@ -98,6 +98,7 @@ SLOFILES = \
- $(SLO)$/output.obj \
- $(SLO)$/output2.obj \
- $(SLO)$/output3.obj \
-+ $(SLO)$/overlayobject.obj \
- $(SLO)$/gridmerg.obj \
- $(SLO)$/invmerge.obj \
- $(SLO)$/cellmergeoption.obj \
-@@ -155,6 +156,7 @@ EXCEPTIONSFILES= \
- $(SLO)$/gridwin.obj \
- $(SLO)$/invmerge.obj \
- $(SLO)$/output2.obj \
-+ $(SLO)$/overlayobject.obj \
- $(SLO)$/pfuncache.obj \
- $(SLO)$/spelldialog.obj \
- $(SLO)$/cellsh1.obj \
-diff --git sc/source/ui/view/overlayobject.cxx sc/source/ui/view/overlayobject.cxx
-new file mode 100644
-index 0000000..5b16259
---- /dev/null
-+++ sc/source/ui/view/overlayobject.cxx
-@@ -0,0 +1,121 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: gridwin.hxx,v $
-+ * $Revision: 1.30 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+// MARKER(update_precomp.py): autogen include statement, do not remove
-+#include "precompiled_sc.hxx"
-+
-+#include "overlayobject.hxx"
-+#include "vcl/outdev.hxx"
-+#include "vcl/lineinfo.hxx"
-+#include "vcl/salbtype.hxx"
-+#include "vcl/window.hxx"
-+#include "tools/fract.hxx"
-+#include "basegfx/range/b2drange.hxx"
-+#include "basegfx/polygon/b2dpolygon.hxx"
-+#include "svx/sdr/overlay/overlaymanager.hxx"
-+
-+using ::sdr::overlay::OverlayObject;
-+using ::sdr::overlay::OverlayManager;
-+
-+#define DASH_UPDATE_INTERVAL 180 // in msec
-+
-+ScOverlayDashedBorder::ScOverlayDashedBorder(const ::basegfx::B2DRange& rRange, const Color& rColor, Window* pWin) :
-+ OverlayObject(rColor),
-+ mpParent(pWin),
-+ mbToggle(true)
-+{
-+ mbAllowsAnimation = true;
-+ maBaseRange = rRange;
-+}
-+
-+ScOverlayDashedBorder::~ScOverlayDashedBorder()
-+{
-+}
-+
-+void ScOverlayDashedBorder::Trigger(sal_uInt32 nTime)
-+{
-+ OverlayManager* pMgr = getOverlayManager();
-+ if (pMgr)
-+ {
-+ SetTime(nTime + DASH_UPDATE_INTERVAL);
-+ mbToggle = !mbToggle;
-+ pMgr->InsertEvent(this);
-+ objectChange();
-+ }
-+}
-+
-+void ScOverlayDashedBorder::transform(const ::basegfx::B2DHomMatrix& /*rMatrix*/)
-+{
-+}
-+
-+void ScOverlayDashedBorder::zoomHasChanged()
-+{
-+}
-+
-+void ScOverlayDashedBorder::drawGeometry(OutputDevice& rOutputDevice)
-+{
-+ using ::basegfx::B2DPoint;
-+ using ::basegfx::B2DPolygon;
-+
-+ OverlayManager* pMgr = getOverlayManager();
-+ if (!pMgr)
-+ return;
-+
-+ // save original AA and switch off for selection
-+ const sal_uInt16 nOriginalAA(rOutputDevice.GetAntialiasing());
-+ rOutputDevice.SetAntialiasing(0);
-+
-+ if (mbToggle)
-+ {
-+ pMgr->setStripeColorA(getBaseColor());
-+ pMgr->setStripeColorB(COL_WHITE);
-+ }
-+ else
-+ {
-+ pMgr->setStripeColorA(COL_WHITE);
-+ pMgr->setStripeColorB(getBaseColor());
-+ }
-+
-+ B2DPolygon aPoly;
-+ aPoly.append(B2DPoint(maBaseRange.getMinX(), maBaseRange.getMinY()));
-+ aPoly.append(B2DPoint(maBaseRange.getMaxX(), maBaseRange.getMinY()));
-+ aPoly.append(B2DPoint(maBaseRange.getMaxX(), maBaseRange.getMaxY()));
-+ aPoly.append(B2DPoint(maBaseRange.getMinX(), maBaseRange.getMaxY()));
-+ aPoly.append(B2DPoint(maBaseRange.getMinX(), maBaseRange.getMinY()));
-+ ImpDrawPolygonStriped(rOutputDevice, aPoly);
-+
-+ // restore original AA
-+ rOutputDevice.SetAntialiasing(nOriginalAA);
-+}
-+
-+void ScOverlayDashedBorder::createBaseRange(OutputDevice& /*rOutputDevice*/)
-+{
-+}
-+
-diff --git sc/source/ui/view/tabview2.cxx sc/source/ui/view/tabview2.cxx
-index ddb584d..0cd6204 100644
---- sc/source/ui/view/tabview2.cxx
-+++ sc/source/ui/view/tabview2.cxx
-@@ -699,6 +699,13 @@ void ScTabView::ExpandBlockArea(SCsCOL nMovX, SCsROW nMovY)
- ExpandBlock(nAreaX, nAreaY, eMode);
- }
-
-+void ScTabView::UpdateCopySourceOverlay()
-+{
-+ for (sal_uInt8 i = 0; i < 4; ++i)
-+ if (pGridWin[i] && pGridWin[i]->IsVisible())
-+ pGridWin[i]->UpdateCopySourceOverlay();
-+}
-+
- void ScTabView::UpdateSelectionOverlay()
- {
- for (USHORT i=0; i<4; i++)
-diff --git sc/source/ui/view/tabview3.cxx sc/source/ui/view/tabview3.cxx
-index 7130fba..ff7c2cf 100644
---- sc/source/ui/view/tabview3.cxx
-+++ sc/source/ui/view/tabview3.cxx
-@@ -1810,6 +1810,7 @@ void ScTabView::MakeEditView( ScEditEngineDefaulter* pEngine, SCCOL nCol, SCROW
- pGridWin[i]->HideCursor();
-
- pGridWin[i]->DeleteCursorOverlay();
-+ pGridWin[i]->DeleteCopySourceOverlay();
- pGridWin[i]->DeleteAutoFillOverlay();
-
- // flush OverlayManager before changing MapMode to text edit
-diff --git sc/source/ui/view/viewfunc.cxx sc/source/ui/view/viewfunc.cxx
-index 7be076a..92ed34b 100644
---- sc/source/ui/view/viewfunc.cxx
-+++ sc/source/ui/view/viewfunc.cxx
-@@ -1940,7 +1940,10 @@ void ScViewFunc::DeleteMulti( BOOL bRows, BOOL bRecord )
-
- void ScViewFunc::DeleteContents( USHORT nFlags, BOOL bRecord )
- {
-- GetViewData()->SetPasteMode( SC_PASTE_NONE );
-+ ScViewData* pViewData = GetViewData();
-+ pViewData->SetPasteMode( SC_PASTE_NONE );
-+ pViewData->GetViewShell()->UpdateCopySourceOverlay();
-+
- // nur wegen Matrix nicht editierbar? Attribute trotzdem ok
- BOOL bOnlyNotBecauseOfMatrix;
- BOOL bEditable = SelectionEditable( &bOnlyNotBecauseOfMatrix );
diff --git a/patches/dev300/calc-copy-range-animated-border-svx.diff b/patches/dev300/calc-copy-range-animated-border-svx.diff
deleted file mode 100644
index 900b812..0000000
--- a/patches/dev300/calc-copy-range-animated-border-svx.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git svx/inc/svx/sdr/animation/scheduler.hxx svx/inc/svx/sdr/animation/scheduler.hxx
-index 6ee3e41..3dd8871 100644
---- svx/inc/svx/sdr/animation/scheduler.hxx
-+++ svx/inc/svx/sdr/animation/scheduler.hxx
-@@ -61,7 +61,7 @@ namespace sdr
-
- // get/set time
- sal_uInt32 GetTime() const;
-- void SetTime(sal_uInt32 nNew);
-+ void SVX_DLLPUBLIC SetTime(sal_uInt32 nNew);
-
- // execute event
- virtual void Trigger(sal_uInt32 nTime) = 0;
-@@ -145,7 +145,7 @@ namespace sdr
- void checkTimeout();
-
- // insert/remove events, wrapper to EventList methods
-- void InsertEvent(Event* pNew);
-+ void SVX_DLLPUBLIC InsertEvent(Event* pNew);
- void RemoveEvent(Event* pOld);
-
- // get/set pause
diff --git a/patches/dev300/cws-koheicopyborder-sc.diff b/patches/dev300/cws-koheicopyborder-sc.diff
new file mode 100644
index 0000000..e69de29
diff --git a/patches/dev300/cws-koheicopyborder-svx.diff b/patches/dev300/cws-koheicopyborder-svx.diff
new file mode 100644
index 0000000..3415d85
--- /dev/null
+++ b/patches/dev300/cws-koheicopyborder-svx.diff
@@ -0,0 +1,22 @@
+diff --git svx/inc/svx/sdr/animation/scheduler.hxx svx/inc/svx/sdr/animation/scheduler.hxx
+index 7c927ec..08e12c1 100644
+--- svx/inc/svx/sdr/animation/scheduler.hxx
++++ svx/inc/svx/sdr/animation/scheduler.hxx
+@@ -61,7 +61,7 @@ namespace sdr
+
+ // get/set time
+ sal_uInt32 GetTime() const;
+- void SetTime(sal_uInt32 nNew);
++ void SVX_DLLPUBLIC SetTime(sal_uInt32 nNew);
+
+ // execute event
+ virtual void Trigger(sal_uInt32 nTime) = 0;
+@@ -145,7 +145,7 @@ namespace sdr
+ void checkTimeout();
+
+ // insert/remove events, wrapper to EventList methods
+- void InsertEvent(Event* pNew);
++ void SVX_DLLPUBLIC InsertEvent(Event* pNew);
+ void RemoveEvent(Event* pOld);
+
+ // get/set pause
diff --git a/patches/dev300/sc-copy-source-border.diff b/patches/dev300/sc-copy-source-border.diff
deleted file mode 100644
index 3ef55ef..0000000
--- a/patches/dev300/sc-copy-source-border.diff
+++ /dev/null
@@ -1,250 +0,0 @@
-diff --git sc/source/ui/inc/gridwin.hxx sc/source/ui/inc/gridwin.hxx
-index 643ae95..2946c39 100644
---- sc/source/ui/inc/gridwin.hxx
-+++ sc/source/ui/inc/gridwin.hxx
-@@ -144,6 +144,7 @@ private:
- // #114409#
- ::sdr::overlay::OverlayObjectList* mpOOCursors;
- ::sdr::overlay::OverlayObjectList* mpOOSelection;
-+ ::sdr::overlay::OverlayObjectList* mpOOSelectionBorder;
- ::sdr::overlay::OverlayObjectList* mpOOAutoFill;
- ::sdr::overlay::OverlayObjectList* mpOODragRect;
- ::sdr::overlay::OverlayObjectList* mpOOHeader;
-@@ -314,6 +315,15 @@ private:
- void SelectForContextMenu( const Point& rPosPixel );
-
- void GetSelectionRects( ::std::vector< Rectangle >& rPixelRects );
-+ struct RectangleConverter {
-+ virtual Rectangle Convert (const Rectangle& r) const = 0;
-+ };
-+ void ConvertPixelRectsToRangeVector(
-+ const ::std::vector< Rectangle >& rPixelRects,
-+ sdr::overlay::OverlayObjectCell::RangeVector* pRanges,
-+ const MapMode& rDrawMode,
-+ const RectangleConverter *pConverter = NULL);
-+ void UpdateCopySourceOverlay(const MapMode& rDrawMode);
-
- protected:
- using Window::Resize;
-diff --git sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
-index 5bcc6c8..3d7f3d4 100644
---- sc/source/ui/view/gridwin.cxx
-+++ sc/source/ui/view/gridwin.cxx
-@@ -120,6 +120,7 @@
- #include "attrib.hxx"
- #include "cellsh.hxx"
- #include "tabprotection.hxx"
-+#include "clipparam.hxx"
- #include "postit.hxx"
-
- // #114409#
-@@ -396,6 +397,7 @@ ScGridWindow::ScGridWindow( Window* pParent, ScViewData* pData, ScSplitPos eWhic
- DragSourceHelper( this ),
- mpOOCursors( NULL ),
- mpOOSelection( NULL ),
-+ mpOOSelectionBorder( NULL ),
- mpOOAutoFill( NULL ),
- mpOODragRect( NULL ),
- mpOOHeader( NULL ),
-@@ -5159,6 +5161,87 @@ void ScGridWindow::UpdateAllOverlays()
- void ScGridWindow::DeleteCursorOverlay()
- {
- DELETEZ( mpOOCursors );
-+ DELETEZ( mpOOSelectionBorder );
-+}
-+
-+void ScGridWindow::ConvertPixelRectsToRangeVector( const ::std::vector< Rectangle >& rPixelRects,
-+ sdr::overlay::OverlayObjectCell::RangeVector* pRanges,
-+ const MapMode& rDrawMode,
-+ const ScGridWindow::RectangleConverter* pConverter )
-+{
-+ std::vector<Rectangle>::const_iterator aPixelEnd( rPixelRects.end() );
-+ for ( std::vector<Rectangle>::const_iterator aPixelIter( rPixelRects.begin() );
-+ aPixelIter != aPixelEnd; ++aPixelIter )
-+ {
-+ Rectangle aLogic( PixelToLogic(
-+ (pConverter == NULL ? *aPixelIter : pConverter->Convert (*aPixelIter)),
-+ rDrawMode ) );
-+
-+ const basegfx::B2DPoint aTopLeft(aLogic.Left(), aLogic.Top());
-+ const basegfx::B2DPoint aBottomRight(aLogic.Right(), aLogic.Bottom());
-+ const basegfx::B2DRange a2DRange(aTopLeft, aBottomRight);
-+
-+ pRanges->push_back( a2DRange );
-+ }
-+}
-+
-+void ScGridWindow::UpdateCopySourceOverlay( const MapMode& rDrawMode )
-+{
-+ if (!pViewData->ShowPasteSource())
-+ return;
-+ ::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
-+ if (!pOverlayManager)
-+ return;
-+ ScTransferObj* pTransObj = ScTransferObj::GetOwnClipboard( pViewData->GetActiveWin() );
-+ if (!pTransObj)
-+ return;
-+ ScDocument* pClipDoc = pTransObj->GetDocument();
-+ if (!pClipDoc)
-+ return;
-+
-+ SCTAB nCurTab = pViewData->GetCurPos().Tab();
-+
-+ ScClipParam& rClipParam = pClipDoc->GetClipParam();
-+ mpOOSelectionBorder = new ::sdr::overlay::OverlayObjectList;
-+ for (ScRange* p = rClipParam.maRanges.First(); p; p = rClipParam.maRanges.Next())
-+ {
-+ if (p->aStart.Tab() != nCurTab)
-+ continue;
-+
-+ SCCOL nClipStartX = p->aStart.Col();
-+ SCROW nClipStartY = p->aStart.Row();
-+ SCCOL nClipEndX = p->aEnd.Col();
-+ SCROW nClipEndY = p->aEnd.Row();
-+
-+ Point aClipStartScrPos = pViewData->GetScrPos( nClipStartX, nClipStartY, eWhich );
-+ Point aClipEndScrPos = pViewData->GetScrPos( nClipEndX + 1, nClipEndY + 1, eWhich );
-+
-+ long nSizeXPix = aClipEndScrPos.X() - aClipStartScrPos.X();
-+ long nSizeYPix = aClipEndScrPos.Y() - aClipStartScrPos.Y();
-+
-+ aClipStartScrPos.X() -= 2;
-+ aClipStartScrPos.Y() -= 2;
-+
-+ Rectangle aRect( aClipStartScrPos, Size( nSizeXPix + 3, nSizeYPix + 3 ) );
-+
-+ std::vector<Rectangle> aPixelRects;
-+
-+ aPixelRects.push_back(Rectangle( aRect.Left(), aRect.Top(), aRect.Left()+2, aRect.Bottom() ));
-+ aPixelRects.push_back(Rectangle( aRect.Right()-2, aRect.Top(), aRect.Right(), aRect.Bottom() ));
-+ aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Top(), aRect.Right()-3, aRect.Top()+2 ));
-+ aPixelRects.push_back(Rectangle( aRect.Left()+3, aRect.Bottom()-2, aRect.Right()-3, aRect.Bottom() ));
-+
-+ sdr::overlay::OverlayObjectCell::RangeVector aRanges;
-+ ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, rDrawMode );
-+
-+ ScOverlayType eType = SC_OVERLAY_BORDER_TRANSPARENT;
-+
-+ Color aHighlight = GetSettings().GetStyleSettings().GetHighlightColor();
-+ sdr::overlay::OverlayObjectCell* pOverlay = new sdr::overlay::OverlayObjectCell( eType, aHighlight, aRanges );
-+
-+ pOverlayManager->add(*pOverlay);
-+ mpOOSelectionBorder->append(*pOverlay);
-+ }
- }
-
- void ScGridWindow::UpdateCursorOverlay()
-@@ -5173,6 +5256,8 @@ void ScGridWindow::UpdateCursorOverlay()
-
- DeleteCursorOverlay();
-
-+ UpdateCopySourceOverlay( aDrawMode );
-+
- std::vector<Rectangle> aPixelRects;
-
- //
-@@ -5257,19 +5342,7 @@ void ScGridWindow::UpdateCursorOverlay()
- if ( aPixelRects.size() )
- {
- sdr::overlay::OverlayObjectCell::RangeVector aRanges;
--
-- std::vector<Rectangle>::const_iterator aPixelEnd( aPixelRects.end() );
-- for ( std::vector<Rectangle>::const_iterator aPixelIter( aPixelRects.begin() );
-- aPixelIter != aPixelEnd; ++aPixelIter )
-- {
-- Rectangle aLogic( PixelToLogic( *aPixelIter, aDrawMode ) );
--
-- const basegfx::B2DPoint aTopLeft(aLogic.Left(), aLogic.Top());
-- const basegfx::B2DPoint aBottomRight(aLogic.Right(), aLogic.Bottom());
-- const basegfx::B2DRange a2DRange(aTopLeft, aBottomRight);
--
-- aRanges.push_back( a2DRange );
-- }
-+ ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, aDrawMode );
-
- // #i70788# get the OverlayManager safely
- ::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
-@@ -5311,41 +5384,43 @@ void ScGridWindow::UpdateSelectionOverlay()
-
- if ( aPixelRects.size() && pViewData->IsActive() )
- {
-- SCTAB nTab = pViewData->GetTabNo();
-- BOOL bLayoutRTL = pViewData->GetDocument()->IsLayoutRTL( nTab );
-- BOOL bOld = pViewData->GetView()->IsOldSelection();
--
-- sdr::overlay::OverlayObjectCell::RangeVector aRanges;
-+ struct SelectionConverter : RectangleConverter {
-+ SCTAB nTab;
-+ BOOL bLayoutRTL;
-+ BOOL bOld;
-+
-+ SelectionConverter (ScViewData* pViewData)
-+ : nTab (pViewData->GetTabNo())
-+ , bLayoutRTL (pViewData->GetDocument()->IsLayoutRTL( nTab ))
-+ , bOld (pViewData->GetView()->IsOldSelection())
-+ {
-+ }
-
-- std::vector<Rectangle>::const_iterator aPixelEnd( aPixelRects.end() );
-- for ( std::vector<Rectangle>::const_iterator aPixelIter( aPixelRects.begin() );
-- aPixelIter != aPixelEnd; ++aPixelIter )
-- {
-- Rectangle aPixel( *aPixelIter );
-- if ( !bOld )
-+ Rectangle Convert (const Rectangle& rRect) const
- {
-+ if ( bOld )
-+ return rRect;
- // for transparent selection, add a pixel so the border is on the grid on all edges
-+ Rectangle aPixel (rRect);
- if ( bLayoutRTL )
- aPixel.Right() += 1;
- else
- aPixel.Left() -= 1;
- aPixel.Top() -= 1;
-+ return aPixel;
- }
-- Rectangle aLogic( PixelToLogic( aPixel, aDrawMode ) );
--
-- const basegfx::B2DPoint aTopLeft(aLogic.Left(), aLogic.Top());
-- const basegfx::B2DPoint aBottomRight(aLogic.Right(), aLogic.Bottom());
-- const basegfx::B2DRange a2DRange(aTopLeft, aBottomRight);
-+ };
-+ SelectionConverter aConverter (pViewData);
-
-- aRanges.push_back( a2DRange );
-- }
-+ sdr::overlay::OverlayObjectCell::RangeVector aRanges;
-+ ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, aDrawMode, &aConverter );
-
- // #i70788# get the OverlayManager safely
- ::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
-
- if(pOverlayManager)
- {
-- ScOverlayType eType = bOld ? SC_OVERLAY_INVERT : SC_OVERLAY_BORDER_TRANSPARENT;
-+ ScOverlayType eType = aConverter.bOld ? SC_OVERLAY_INVERT : SC_OVERLAY_BORDER_TRANSPARENT;
- Color aHighlight( GetSettings().GetStyleSettings().GetHighlightColor() );
- sdr::overlay::OverlayObjectCell* pOverlay =
- new sdr::overlay::OverlayObjectCell( eType, aHighlight, aRanges );
-@@ -5540,19 +5615,7 @@ void ScGridWindow::UpdateDragRectOverlay()
- //
-
- sdr::overlay::OverlayObjectCell::RangeVector aRanges;
--
-- std::vector<Rectangle>::const_iterator aPixelEnd( aPixelRects.end() );
-- for ( std::vector<Rectangle>::const_iterator aPixelIter( aPixelRects.begin() );
-- aPixelIter != aPixelEnd; ++aPixelIter )
-- {
-- Rectangle aLogic( PixelToLogic( *aPixelIter, aDrawMode ) );
--
-- const basegfx::B2DPoint aTopLeft(aLogic.Left(), aLogic.Top());
-- const basegfx::B2DPoint aBottomRight(aLogic.Right(), aLogic.Bottom());
-- const basegfx::B2DRange a2DRange(aTopLeft, aBottomRight);
--
-- aRanges.push_back( a2DRange );
-- }
-+ ConvertPixelRectsToRangeVector( aPixelRects, &aRanges, aDrawMode );
-
- // #i70788# get the OverlayManager safely
- ::sdr::overlay::OverlayManager* pOverlayManager = getOverlayManager();
diff --git a/patches/dev300/sc-paste-on-enter.diff b/patches/dev300/sc-paste-on-enter.diff
deleted file mode 100644
index 295a7fd..0000000
--- a/patches/dev300/sc-paste-on-enter.diff
+++ /dev/null
@@ -1,189 +0,0 @@
-diff --git sc/source/ui/app/inputhdl.cxx sc/source/ui/app/inputhdl.cxx
-index 98aac39..6ac26bc 100644
---- sc/source/ui/app/inputhdl.cxx
-+++ sc/source/ui/app/inputhdl.cxx
-@@ -2055,6 +2055,7 @@ IMPL_LINK( ScInputHandler, ModifyHdl, void *, EMPTYARG )
-
- BOOL ScInputHandler::DataChanging( sal_Unicode cTyped, BOOL bFromCommand ) // return TRUE = new view created
- {
-+ pActiveViewSh->GetViewData()->SetPasteMode( SC_PASTE_NONE );
- bInOwnChange = TRUE; // disable ModifyHdl (reset in DataChanged)
-
- if ( eMode == SC_INPUT_NONE )
-diff --git sc/source/ui/inc/viewdata.hxx sc/source/ui/inc/viewdata.hxx
-index 6f0d986..19583a8 100644
---- sc/source/ui/inc/viewdata.hxx
-+++ sc/source/ui/inc/viewdata.hxx
-@@ -89,6 +89,13 @@ enum ScMarkType
- #endif
- };
-
-+enum ScPasteFlags
-+{
-+ SC_PASTE_NONE = 0, // No flags specified
-+ SC_PASTE_MODE = 1, // Enable paste-mode
-+ SC_PASTE_BORDER = 2, // Show a border around the source cells
-+};
-+
- class ScDocShell;
- class ScDocument;
- class ScDBFunc;
-@@ -210,6 +217,8 @@ private:
- SCCOL nTabStartCol; // fuer Enter nach Tab
- ScRange aDelRange; // fuer AutoFill-Loeschen
-
-+ ScPasteFlags nPasteFlags;
-+
- ScSplitPos eEditActivePart; // the part that was active when edit mode was started
- BOOL bEditActive[4]; // aktiv?
- BOOL bActive; // aktives Fenster ?
-@@ -295,6 +304,8 @@ public:
- SCCOL GetFixPosX() const { return pThisTab->nFixPosX; }
- SCROW GetFixPosY() const { return pThisTab->nFixPosY; }
- BOOL IsPagebreakMode() const { return bPagebreak; }
-+ BOOL IsPasteMode() const { return nPasteFlags & SC_PASTE_MODE; }
-+ BOOL ShowPasteSource() const { return nPasteFlags & SC_PASTE_BORDER; }
-
- void SetPosX( ScHSplitPos eWhich, SCCOL nNewPosX );
- void SetPosY( ScVSplitPos eWhich, SCROW nNewPosY );
-@@ -309,6 +320,7 @@ public:
- void SetFixPosX( SCCOL nPos ) { pThisTab->nFixPosX = nPos; }
- void SetFixPosY( SCROW nPos ) { pThisTab->nFixPosY = nPos; }
- void SetPagebreakMode( BOOL bSet );
-+ void SetPasteMode ( ScPasteFlags nFlags ) { nPasteFlags = nFlags; }
-
- void SetZoomType( SvxZoomType eNew, BOOL bAll );
- void SetZoom( const Fraction& rNewX, const Fraction& rNewY, BOOL bAll );
-diff --git sc/source/ui/view/cellsh1.cxx sc/source/ui/view/cellsh1.cxx
-index ba66243..0cd4007 100644
---- sc/source/ui/view/cellsh1.cxx
-+++ sc/source/ui/view/cellsh1.cxx
-@@ -1170,6 +1170,8 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
- WaitObject aWait( GetViewData()->GetDialogParent() );
- pTabViewShell->CopyToClip( NULL, FALSE, FALSE, TRUE );
- rReq.Done();
-+ GetViewData()->SetPasteMode( (ScPasteFlags) (SC_PASTE_MODE | SC_PASTE_BORDER) );
-+ pTabViewShell->ShowCursor();
- }
- break;
-
-@@ -1178,6 +1180,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
- WaitObject aWait( GetViewData()->GetDialogParent() );
- pTabViewShell->CutToClip( NULL, TRUE );
- rReq.Done();
-+ GetViewData()->SetPasteMode( SC_PASTE_MODE );
- }
- break;
-
-diff --git sc/source/ui/view/gridwin.cxx sc/source/ui/view/gridwin.cxx
-index 6fc33d5..6e0280a 100644
---- sc/source/ui/view/gridwin.cxx
-+++ sc/source/ui/view/gridwin.cxx
-@@ -118,6 +118,7 @@
- #include "userdat.hxx"
- #include "drwlayer.hxx"
- #include "attrib.hxx"
-+#include "cellsh.hxx"
- #include "validat.hxx"
- #include "tabprotection.hxx"
- #include "postit.hxx"
-@@ -2969,12 +2970,30 @@ void ScGridWindow::SelectForContextMenu( const Point& rPosPixel )
- }
- }
-
-+static void ClearSingleSelection( ScViewData* pViewData )
-+{
-+ SCCOL nX;
-+ SCROW nY;
-+ ScTransferObj* pTransObj = ScTransferObj::GetOwnClipboard(
-+ pViewData->GetActiveWin() );
-+ if (!pTransObj)
-+ return;
-+
-+ ScDocument* pClipDoc = pTransObj->GetDocument();
-+ pClipDoc->GetClipArea( nX, nY, TRUE );
-+ if (nX == 0 && nY == 0)
-+ {
-+ ScTabView* pView = pViewData->GetView();
-+ pView->Unmark();
-+ }
-+}
-+
- void __EXPORT ScGridWindow::KeyInput(const KeyEvent& rKEvt)
- {
- // #96965# Cursor control for ref input dialog
-+ const KeyCode& rKeyCode = rKEvt.GetKeyCode();
- if( SC_MOD()->IsRefDialogOpen() )
- {
-- const KeyCode& rKeyCode = rKEvt.GetKeyCode();
- if( !rKeyCode.GetModifier() && (rKeyCode.GetCode() == KEY_F2) )
- {
- SC_MOD()->EndReference();
-@@ -2989,9 +3008,35 @@ void __EXPORT ScGridWindow::KeyInput(const KeyEvent& rKEvt)
- return;
- }
- }
-+ else if( rKeyCode.GetCode() == KEY_RETURN && pViewData->IsPasteMode() )
-+ {
-+ ScTabViewShell* pTabViewShell = pViewData->GetViewShell();
-+
-+ ScCellShell::PasteFromClipboard( pViewData, pTabViewShell, FALSE );
-+ ClearSingleSelection( pViewData );
-+
-+ uno::Reference<datatransfer::clipboard::XClipboard> xSystemClipboard =
-+ TransferableHelper::GetSystemClipboard();
-+ if (xSystemClipboard.is())
-+ {
-+ xSystemClipboard->setContents(
-+ uno::Reference<datatransfer::XTransferable>(),
-+ uno::Reference<datatransfer::clipboard::XClipboardOwner>());
-+ }
-+
-+ // hide the border around the copy source
-+ pViewData->SetPasteMode( SC_PASTE_NONE );
-+ UpdateCursorOverlay();
-+ return;
-+ }
- // wenn semi-Modeless-SfxChildWindow-Dialog oben, keine KeyInputs:
- else if( !pViewData->IsAnyFillMode() )
- {
-+ if (rKeyCode.GetCode() == KEY_ESCAPE)
-+ {
-+ pViewData->SetPasteMode( SC_PASTE_NONE );
-+ UpdateCursorOverlay();
-+ }
- // query for existing note marker before calling ViewShell's keyboard handling
- // which may remove the marker
- BOOL bHadKeyMarker = ( pNoteMarker && pNoteMarker->IsByKeyboard() );
-diff --git sc/source/ui/view/viewdata.cxx sc/source/ui/view/viewdata.cxx
-index df48982..e75b864 100644
---- sc/source/ui/view/viewdata.cxx
-+++ sc/source/ui/view/viewdata.cxx
-@@ -306,6 +306,7 @@ ScViewData::ScViewData( ScDocShell* pDocSh, ScTabViewShell* pViewSh )
- eRefType ( SC_REFTYPE_NONE ),
- nTabNo ( 0 ),
- nRefTabNo ( 0 ),
-+ nPasteFlags ( SC_PASTE_NONE ),
- eEditActivePart( SC_SPLIT_BOTTOMLEFT ),
- bActive ( TRUE ), //! wie initialisieren?
- bIsRefMode ( FALSE ),
-@@ -432,6 +433,7 @@ void ScViewData::InitData( ScDocument* pDocument )
- //UNUSED2008-05 aDefPageZoomX = pRef->aDefPageZoomX;
- //UNUSED2008-05 aDefPageZoomY = pRef->aDefPageZoomY;
- //UNUSED2008-05 bPagebreak = pRef->bPagebreak;
-+//UNUSED2008-05 nPasteFlags = pRef->nPasteFlags;
- //UNUSED2008-05 aLogicMode = pRef->aLogicMode;
- //UNUSED2008-05
- //UNUSED2008-05 SetGridMode ( pRef->IsGridMode() );
-diff --git sc/source/ui/view/viewfunc.cxx sc/source/ui/view/viewfunc.cxx
-index 8155a80..61670e7 100644
---- sc/source/ui/view/viewfunc.cxx
-+++ sc/source/ui/view/viewfunc.cxx
-@@ -1910,6 +1910,7 @@ void ScViewFunc::DeleteMulti( BOOL bRows, BOOL bRecord )
-
- void ScViewFunc::DeleteContents( USHORT nFlags, BOOL bRecord )
- {
-+ GetViewData()->SetPasteMode( SC_PASTE_NONE );
- // nur wegen Matrix nicht editierbar? Attribute trotzdem ok
- BOOL bOnlyNotBecauseOfMatrix;
- BOOL bEditable = SelectionEditable( &bOnlyNotBecauseOfMatrix );
More information about the ooo-build-commit
mailing list