include/svx/svdograf.hxx | 1 + sd/source/ui/view/drviews7.cxx | 11 +++++++++++ sd/source/ui/view/sdview.cxx | 14 ++------------ svx/source/svdraw/svdograf.cxx | 17 +++++++++++++++++ 4 files changed, 31 insertions(+), 12 deletions(-)
New commits: commit b12354a2de297f05dcdf4602290b56d64675006a Author: Gulsah Kose <gulsah.1...@gmail.com> Date: Wed Apr 20 18:29:07 2016 +0300 tdf#87668 Add control to show or hide "Original Size" option. Change-Id: I022ff86af2e480b061023aac50ff9f79fc6dbf9e Signed-off-by: Gulsah Kose <gulsah.1...@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/24263 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Katarina Behrens <katarina.behr...@cib.de> diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx index 9e7bf06..90027f4 100644 --- a/include/svx/svdograf.hxx +++ b/include/svx/svdograf.hxx @@ -143,6 +143,7 @@ public: void SetGrafStreamURL( const OUString& rGraphicStreamURL ); OUString GetGrafStreamURL() const; + Size getOriginalSize() const; private: void ForceSwapIn() const; diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index 85e7ddb..cd3162e 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -1328,6 +1328,17 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) { bSingleGraphicSelected = nMarkCount == 1; const SdrGrafObj* pSdrGrafObj = static_cast< const SdrGrafObj* >(pObj); + + // Current size of the OBJ_GRAF + const Rectangle aRect = static_cast<SdrObject*>(pObj)->GetLogicRect(); + const Size aCurrentSizeofObj = aRect.GetSize(); + + // Original size of the OBJ_GRAF + const Size aOriginalSizeofObj = pSdrGrafObj->getOriginalSize(); + + if(aCurrentSizeofObj == aOriginalSizeofObj ) + rSet.DisableItem(SID_ORIGINAL_SIZE); + switch(pSdrGrafObj->GetGraphicType()) { case GRAPHIC_BITMAP : diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx index c6e44d3..c7d8031 100644 --- a/sd/source/ui/view/sdview.cxx +++ b/sd/source/ui/view/sdview.cxx @@ -886,18 +886,8 @@ void View::SetMarkedOriginalSize() } else if( pObj->GetObjIdentifier() == OBJ_GRAF ) { - const MapMode aMap100( MAP_100TH_MM ); - Size aSize; - - if ( static_cast< SdrGrafObj* >( pObj )->GetGrafPrefMapMode().GetMapUnit() == MAP_PIXEL ) - aSize = Application::GetDefaultDevice()->PixelToLogic( static_cast< SdrGrafObj* >( pObj )->GetGrafPrefSize(), aMap100 ); - else - { - aSize = OutputDevice::LogicToLogic( static_cast< SdrGrafObj* >( pObj )->GetGrafPrefSize(), - static_cast< SdrGrafObj* >( pObj )->GetGrafPrefMapMode(), - aMap100 ); - } - + const SdrGrafObj* pSdrGrafObj = static_cast< const SdrGrafObj* >(pObj); + const Size aSize = pSdrGrafObj->getOriginalSize( ); pUndoGroup->AddAction( GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*pObj ) ); Rectangle aRect( pObj->GetLogicRect() ); aRect.SetSize( aSize ); diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index 0f2b642..c67599d 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -559,6 +559,23 @@ OUString SdrGrafObj::GetGrafStreamURL() const return pGraphic->GetUserData(); } +Size SdrGrafObj::getOriginalSize() const +{ + Size aSize; + + if ( GetGrafPrefMapMode().GetMapUnit() == MAP_PIXEL ) + aSize = Application::GetDefaultDevice()->PixelToLogic( GetGrafPrefSize(), + GetModel()->GetScaleUnit() ); + else + { + aSize = OutputDevice::LogicToLogic( GetGrafPrefSize(), + GetGrafPrefMapMode(), + GetModel()->GetScaleUnit() ); + } + + return aSize; +} + void SdrGrafObj::ForceSwapIn() const { if( mbIsPreview && pGraphic->HasUserData() ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits