diff options
author | Paul Trojahn <paul.trojahn@gmail.com> | 2018-06-21 15:51:05 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2018-07-04 01:38:57 +0200 |
commit | f066b54fb4af1d3f08242d81dd08100b7266eaaf (patch) | |
tree | 3831a8c5a7ee9c6ece0d99e45e6d33b7060a6365 /sd | |
parent | aadbe0e83c0ae0190e1bc36360893fce8f8a2b68 (diff) |
tdf#115233 Don't reset crop when replacing a graphic
When passing DND_ACTION_MOVE to View::InsertGraphic, the whole object gets
replaced. DND_ACTION_LINK should be used, because it just replaces the
graphic and keeps crop information.
Marking the object is not needed, because InsertObjectAtView and
ReplaceObjectAtView already take care of that.
Change-Id: I0d829ec39a9d484a7c8946252e90eddb12ea9756
Reviewed-on: https://gerrit.libreoffice.org/56401
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
(cherry picked from commit 3f3c16e433f727bf52a6f894956b489187ab6dce)
Reviewed-on: https://gerrit.libreoffice.org/56838
Reviewed-by: Paul Trojahn <paul.trojahn@gmail.com>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/func/fuinsert.cxx | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index e0ad64bd7169..39d3e89458c1 100644 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -156,18 +156,13 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq ) if( mpViewShell && dynamic_cast< DrawViewShell *>( mpViewShell ) != nullptr) { sal_Int8 nAction = DND_ACTION_COPY; - SdrObject* pPickObj = mpView->GetEmptyPresentationObject( PRESOBJ_GRAPHIC ); - bool bSelectionReplaced(false); + SdrObject* pPickObj; - if( pPickObj ) + if( ( ( pPickObj = mpView->GetSelectedSingleObject( mpView->GetPage() ) ) && mbReplaceExistingImage ) || (pPickObj = mpView->GetEmptyPresentationObject( PRESOBJ_GRAPHIC ) ) ) { nAction = DND_ACTION_LINK; - } - else if(mbReplaceExistingImage && mpView->GetMarkedObjectCount() == 1) - { - pPickObj = mpView->GetMarkedObjectByIndex(0); - nAction = DND_ACTION_MOVE; - bSelectionReplaced = true; + } else { + pPickObj = nullptr; } Point aPos; @@ -203,11 +198,6 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq ) } pGrafObj->SetGraphicLink(aFileName, aReferer, aFilterName); } - - if(bSelectionReplaced && pGrafObj) - { - mpView->MarkObj(pGrafObj, mpView->GetSdrPageView()); - } } } else |