summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Trojahn <paul.trojahn@gmail.com>2018-06-21 15:51:05 +0200
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2018-07-03 17:45:02 +0200
commitd3566e105819cda1e42f51fd5967a971c8f941ea (patch)
tree34217a17f71e35b690d01b2d6cb613ac58d6a464
parentfcf9d03950716aca830bd4b059cea13f103cb80f (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/56837 Reviewed-by: Paul Trojahn <paul.trojahn@gmail.com> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r--sd/source/ui/func/fuinsert.cxx18
1 files changed, 4 insertions, 14 deletions
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index d334d8908455..58140974a862 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -168,18 +168,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 = mpWindow->GetVisibleCenter();
@@ -202,11 +197,6 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq )
}
pGrafObj->SetGraphicLink(aFileName, aReferer, aFilterName);
}
-
- if(bSelectionReplaced && pGrafObj)
- {
- mpView->MarkObj(pGrafObj, mpView->GetSdrPageView());
- }
}
}
else