editeng/source/outliner/outlvw.cxx | 12 ++++++++---- editeng/source/uno/unoviwou.cxx | 2 +- include/editeng/outliner.hxx | 2 +- sw/source/uibase/shells/annotsh.cxx | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-)
New commits: commit a201c5c8c3e7ea14001b5634f330dbce2b1f4314 Author: Maxim Monastirsky <momonas...@gmail.com> AuthorDate: Sun Sep 2 14:00:50 2018 +0300 Commit: Maxim Monastirsky <momonas...@gmail.com> CommitDate: Sun Sep 2 15:34:17 2018 +0200 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 <momonas...@gmail.com> 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; } diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx index e4258582af2a..b6308599cfe3 100644 --- a/include/editeng/outliner.hxx +++ b/include/editeng/outliner.hxx @@ -274,7 +274,7 @@ public: void Cut(); void Copy(); - void Paste(); + void Paste( bool bUseSpecial = false ); void PasteSpecial(); const SfxStyleSheet* GetStyleSheet() const; diff --git a/sw/source/uibase/shells/annotsh.cxx b/sw/source/uibase/shells/annotsh.cxx index 021d23f62971..19a513387e3f 100644 --- a/sw/source/uibase/shells/annotsh.cxx +++ b/sw/source/uibase/shells/annotsh.cxx @@ -904,7 +904,7 @@ void SwAnnotationShell::ExecClpbrd(SfxRequest const &rReq) break; case SID_PASTE: if (pPostItMgr->GetActiveSidebarWin()->GetLayoutStatus()!=SwPostItHelper::DELETED) - pOLV->Paste(); + pOLV->PasteSpecial(); break; case SID_PASTE_SPECIAL: { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits