summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrent MacAlpine <tmacalp@gmail.com>2015-01-16 22:06:39 -0500
committerCaolán McNamara <caolanm@redhat.com>2015-01-19 20:19:03 +0000
commitfdff4b60b6d4beabadab15a4fceb60cb84e542d8 (patch)
treea2dda50c375fe22156683e33ef1b62a3de83f5cc
parent201e1813cef4059944c2d3e31b3e7dd5e88dbf6a (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.cxx19
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;