diff options
author | Lennard Wasserthal <Wasserthal@nefkom.net> | 2013-09-07 14:00:01 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2014-05-15 23:39:14 +0200 |
commit | b7cb2ae5026cfd3bb30f148ed40f244b5c128876 (patch) | |
tree | 1e67731ec82516ee1eb6f8721cb68757ec914d6b | |
parent | 0b3d0fb2d9256dc6bae6af69ed494487004def75 (diff) |
fdo#55582 Writer: Dont overwrite from even when selected, from writer.
This patch fixes the writer part, calc part is fixed long ago.
Problem: it overwrites when you paste from impress or calc.
This allows to keep the graphic's frame,
so the text doesn't have to be rearranged.
(i.e. it is desired, so I didn't change that)
I was trying to give the user a choice,
but I didn't succeed in keeping the frame when pasting from writer to writer.
coming soon!
Change-Id: I07271df9bb501779d06f332bb13edd05f0aefacb
Signed-off-by: Lennard Wasserthal <Wasserthal@nefkom.net>
-rw-r--r-- | sw/source/core/uibase/dochdl/swdtflvr.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sw/source/core/uibase/dochdl/swdtflvr.cxx b/sw/source/core/uibase/dochdl/swdtflvr.cxx index 447dbfdb86fc..62938d50dc52 100644 --- a/sw/source/core/uibase/dochdl/swdtflvr.cxx +++ b/sw/source/core/uibase/dochdl/swdtflvr.cxx @@ -3203,8 +3203,8 @@ bool SwTransferable::PrivatePaste( SwWrtShell& rShell ) bool bKillPaMs = false; - //Delete selected content, not at table-selection and table in Clipboard - if( rShell.HasSelection() && !( nSelection & nsSelectionType::SEL_TBL_CELLS)) + //Delete selected content, not at table-selection and table in Clipboard, and dont delete hovering graphics. + if( rShell.HasSelection() && !( nSelection & nsSelectionType::SEL_TBL_CELLS) && !( nSelection & nsSelectionType::SEL_DRW)) { bKillPaMs = true; rShell.SetRetainSelection( true ); @@ -3221,6 +3221,10 @@ bool SwTransferable::PrivatePaste( SwWrtShell& rShell ) } rShell.SetRetainSelection( false ); } + if ( nSelection & nsSelectionType::SEL_DRW) //unselect hovering graphics + { + rShell.ResetSelect(NULL,false); + } bool bInWrd = false, bEndWrd = false, bSttWrd = false, bSmart = 0 != (TRNSFR_DOCUMENT_WORD & eBufferType); |