diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2018-09-02 14:00:50 +0300 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2018-09-02 15:34:17 +0200 |
commit | a201c5c8c3e7ea14001b5634f330dbce2b1f4314 (patch) | |
tree | a53e09e18f79b12bfb452b3b05bd3d30dc704267 /editeng | |
parent | 61821277ed4974debd05af89cb7284602512088f (diff) |
tdf#112935 Paste as Unformatted doesn't work in shapes and comments
The shapes and comments code in sw and sc assumes
that OutlinerView::Paste does paste as unformatted
text, and OutlinerView::PasteSpecial does paste as
formatted, similar to the corresponding methods of
EditView, which it's supposed to call internally.
But the reality is that OutlinerView::Paste just
calls PasteSpecial, with a comment "HACK(SD does
not call PasteSpecial)". All this situation goes
back to "initial import" commits.
This commit changes OutlinerView::Paste to paste
as unformatted (by default). Call sites that were
using it, but apparently wanted formatted output,
were changed to an explicit PasteSpecial call.
Change-Id: I1d7472039fb9fe09810260a199e216ec95765b10
Reviewed-on: https://gerrit.libreoffice.org/59904
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/outliner/outlvw.cxx | 12 | ||||
-rw-r--r-- | editeng/source/uno/unoviwou.cxx | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/editeng/source/outliner/outlvw.cxx b/editeng/source/outliner/outlvw.cxx index b51cbbbbfb40..f86f707c4c35 100644 --- a/editeng/source/outliner/outlvw.cxx +++ b/editeng/source/outliner/outlvw.cxx @@ -669,12 +669,12 @@ void OutlinerView::Cut() } } -void OutlinerView::Paste() +void OutlinerView::PasteSpecial() { - PasteSpecial(); // HACK(SD does not call PasteSpecial) + Paste( true ); } -void OutlinerView::PasteSpecial() +void OutlinerView::Paste( bool bUseSpecial ) { if ( !ImpCalcSelectedPages( false ) || pOwner->ImpCanDeleteSelectedPages( this ) ) { @@ -682,7 +682,11 @@ void OutlinerView::PasteSpecial() pOwner->pEditEngine->SetUpdateMode( false ); pOwner->bPasting = true; - pEditView->PasteSpecial(); + + if ( bUseSpecial ) + pEditView->PasteSpecial(); + else + pEditView->Paste(); if ( pOwner->ImplGetOutlinerMode() == OutlinerMode::OutlineObject ) { diff --git a/editeng/source/uno/unoviwou.cxx b/editeng/source/uno/unoviwou.cxx index ca404db7b0b1..4da65606f8fe 100644 --- a/editeng/source/uno/unoviwou.cxx +++ b/editeng/source/uno/unoviwou.cxx @@ -150,7 +150,7 @@ bool SvxDrawOutlinerViewForwarder::Cut() bool SvxDrawOutlinerViewForwarder::Paste() { - mrOutlinerView.Paste(); + mrOutlinerView.PasteSpecial(); return true; } |