tdf#97919 Resize media objects proportionally by default

as we do with images

Change-Id: I5b27b8310736b9dfd5c274614ad4d1e4becb1fa9
Reviewed-on: https://gerrit.libreoffice.org/23277
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
This commit is contained in:
Samuel Mehrbrodt
2016-03-15 16:06:05 +01:00
parent 29ee431c1c
commit f669eec43e
4 changed files with 18 additions and 16 deletions

View File

@@ -290,16 +290,15 @@ bool FuPoor::doConstructOrthogonal() const
} }
} }
// Detect image and resize proportionally, but don't constrain movement by default // Detect image/media and resize proportionally, but don't constrain movement by default
if (pView->AreObjectsMarked()) if (pView->AreObjectsMarked())
{ {
const SdrMarkList& rMarkList = pView->GetMarkedObjectList(); const SdrMarkList& rMarkList = pView->GetMarkedObjectList();
if (rMarkList.GetMarkCount() == 1) if (rMarkList.GetMarkCount() == 1)
{ {
if (rMarkList.GetMark(0)->GetMarkedSdrObj()->GetObjIdentifier() == OBJ_GRAF) sal_uInt16 aObjIdentifier = rMarkList.GetMark(0)->GetMarkedSdrObj()->GetObjIdentifier();
{ return aObjIdentifier == OBJ_GRAF ||
return true; aObjIdentifier == OBJ_MEDIA;
}
} }
} }
else if (aSfxRequest.GetSlot() == SID_DRAW_XPOLYGON || aSfxRequest.GetSlot() == SID_DRAW_XPOLYGON_NOFILL) else if (aSfxRequest.GetSlot() == SID_DRAW_XPOLYGON || aSfxRequest.GetSlot() == SID_DRAW_XPOLYGON_NOFILL)

View File

@@ -78,7 +78,7 @@ FuDraw::FuDraw(ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView,
, bDragHelpLine(false) , bDragHelpLine(false)
, nHelpLine(0) , nHelpLine(0)
, bPermanent(false) , bPermanent(false)
, bIsImageSelected(false) , bIsMediaSelected(false)
{ {
} }
@@ -155,8 +155,8 @@ bool FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
bDragHelpLine = false; bDragHelpLine = false;
aMDPos = mpWindow->PixelToLogic( rMEvt.GetPosPixel() ); aMDPos = mpWindow->PixelToLogic( rMEvt.GetPosPixel() );
// Check whether an image is selected // Check whether a media object is selected
bIsImageSelected = false; bIsMediaSelected = false;
if (mpView->AreObjectsMarked()) if (mpView->AreObjectsMarked())
{ {
const SdrMarkList& rMarkList = mpView->GetMarkedObjectList(); const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
@@ -167,7 +167,9 @@ bool FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
// proportionally scaled by default. // proportionally scaled by default.
if (mpView->GetDragMode() != SDRDRAG_CROP) if (mpView->GetDragMode() != SDRDRAG_CROP)
{ {
bIsImageSelected = pMark->GetMarkedSdrObj()->GetObjIdentifier() == OBJ_GRAF; sal_uInt16 aObjIdentifier = pMark->GetMarkedSdrObj()->GetObjIdentifier();
bIsMediaSelected = aObjIdentifier == OBJ_GRAF ||
aObjIdentifier == OBJ_MEDIA;
} }
} }
} }
@@ -259,7 +261,7 @@ bool FuDraw::MouseMove(const MouseEvent& rMEvt)
if (mpView->IsAction()) if (mpView->IsAction())
{ {
// #i33136# and fdo#88339 // #i33136# and fdo#88339
if(bRestricted && (bIsImageSelected || doConstructOrthogonal())) if(bRestricted && (bIsMediaSelected || doConstructOrthogonal()))
{ {
// Scale proportionally by default: // Scale proportionally by default:
// rectangle->quadrat, ellipse->circle, Images etc. // rectangle->quadrat, ellipse->circle, Images etc.

View File

@@ -77,7 +77,7 @@ protected:
bool bDragHelpLine; bool bDragHelpLine;
sal_uInt16 nHelpLine; sal_uInt16 nHelpLine;
bool bPermanent; bool bPermanent;
bool bIsImageSelected; bool bIsMediaSelected;
private: private:
void DoModifiers(const MouseEvent& rMEvt, bool bSnapModPressed); void DoModifiers(const MouseEvent& rMEvt, bool bSnapModPressed);

View File

@@ -4079,7 +4079,8 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt)
if( bIsDocReadOnly ) if( bIsDocReadOnly )
break; break;
bool bIsSelectionGfx = rSh.GetSelectionType() & nsSelectionType::SEL_GRF; bool bIsMediaSelected = rSh.GetSelectionType() & nsSelectionType::SEL_GRF ||
rSh.GetSelectionType() & nsSelectionType::SEL_MEDIA;
bool bisResize = g_eSdrMoveHdl != HDL_MOVE; bool bisResize = g_eSdrMoveHdl != HDL_MOVE;
if (pSdrView) if (pSdrView)
@@ -4089,17 +4090,17 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt)
if (rMEvt.IsShift()) if (rMEvt.IsShift())
{ {
pSdrView->SetAngleSnapEnabled(!bIsSelectionGfx); pSdrView->SetAngleSnapEnabled(!bIsMediaSelected);
if (bisResize) if (bisResize)
pSdrView->SetOrtho(!bIsSelectionGfx); pSdrView->SetOrtho(!bIsMediaSelected);
else else
pSdrView->SetOrtho(true); pSdrView->SetOrtho(true);
} }
else else
{ {
pSdrView->SetAngleSnapEnabled(bIsSelectionGfx); pSdrView->SetAngleSnapEnabled(bIsMediaSelected);
if (bisResize) if (bisResize)
pSdrView->SetOrtho(bIsSelectionGfx); pSdrView->SetOrtho(bIsMediaSelected);
else else
pSdrView->SetOrtho(false); pSdrView->SetOrtho(false);
} }