diff options
author | Trent MacAlpine <tmacalp@gmail.com> | 2015-01-16 22:06:39 -0500 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-01-19 20:19:03 +0000 |
commit | fdff4b60b6d4beabadab15a4fceb60cb84e542d8 (patch) | |
tree | a2dda50c375fe22156683e33ef1b62a3de83f5cc | |
parent | 201e1813cef4059944c2d3e31b3e7dd5e88dbf6a (diff) |
fdo#88339 Fixed Calc constrained image movement
fixed on master by commit# 7a4a68e2515fa54e041004cf63042c1ead00d576
Change-Id: Id4143e0a8410e6a9589f941c2bda83074eaf4844
Reviewed-on: https://gerrit.libreoffice.org/14022
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/ui/drawfunc/fupoor.cxx | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/sc/source/ui/drawfunc/fupoor.cxx b/sc/source/ui/drawfunc/fupoor.cxx index 979e7b6e2cec..d66a293bcacf 100644 --- a/sc/source/ui/drawfunc/fupoor.cxx +++ b/sc/source/ui/drawfunc/fupoor.cxx @@ -324,17 +324,30 @@ void FuPoor::ImpForceQuadratic(Rectangle& rRect) } } -// #i33136# +// #i33136# fdo#88339 bool FuPoor::doConstructOrthogonal() const { - // Check whether an image is selected -> they should scale proportionally + // Detect whether we're moving an object or resizing. + bool bIsMoveMode = false; + if (pView->IsDragObj()) + { + const SdrHdl* pHdl = pView->GetDragStat().GetHdl(); + if (!pHdl || (!pHdl->IsCornerHdl() && !pHdl->IsVertexHdl())) + { + bIsMoveMode = true; + } + } + + // Detect image and resize proportionally, but don't constrain movement by default if (pView->AreObjectsMarked()) { const SdrMarkList& rMarkList = pView->GetMarkedObjectList(); if (rMarkList.GetMarkCount() == 1) { - if (rMarkList.GetMark(0)->GetMarkedSdrObj()->GetObjIdentifier() == OBJ_GRAF) + if (rMarkList.GetMark(0)->GetMarkedSdrObj()->GetObjIdentifier() == OBJ_GRAF && !bIsMoveMode) + { return true; + } } } return false; |