summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2016-11-09 19:53:49 +0300
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-11-15 10:27:34 +0000
commit098f7a4ac2b6f309a45d29f1b68bea18418b9ee7 (patch)
treebc7c7215a65f3ff9b2b4a90c8919ee163b63bdf5
parent645583dfd374c8b02f3c0eeba6233a0bb5884d68 (diff)
tdf#34467 - FitToFrame: stretch text to fill drawing obj
Help for Fit To Frame says "Resizes the text to fit the entire area of the drawing or text object". reverts commit b7628798ec1a966c97a64d7cf0aa9f3859b78bef and partially addresses the problem of "Shrink font automatically when text overflows" by treating text as "Autofit" while it is being edited. It's not WYSIWYG, but good enough, and maybe better. Since that part of the change prevents any way of setting ::Autofit, I also changed the default setting to Autofit instead of NONE, since there is no good reason why text should be allowed to spill outside of a textbox. For those who REALLY want that odd behaviour, they can use .uno:TextFitToSize (Ctrl-Shift-F8) to toggle between "stretch" and "none". Change-Id: I8313a82cbea82f11fad0f50d966fc77874977da9 Reviewed-on: https://gerrit.libreoffice.org/30727 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r--cui/source/tabpages/textattr.cxx10
-rw-r--r--svx/source/svdraw/svdotext.cxx2
2 files changed, 8 insertions, 4 deletions
diff --git a/cui/source/tabpages/textattr.cxx b/cui/source/tabpages/textattr.cxx
index 3058bb9bbf5a..912722a07772 100644
--- a/cui/source/tabpages/textattr.cxx
+++ b/cui/source/tabpages/textattr.cxx
@@ -312,7 +312,11 @@ void SvxTextAttrPage::Reset( const SfxItemSet* rAttrs )
{
SdrFitToSizeType eFTS = (SdrFitToSizeType)
static_cast<const SdrTextFitToSizeTypeItem&>( rAttrs->Get( SDRATTR_TEXT_FITTOSIZE ) ).GetValue();
- m_pTsbFitToSize->SetState( eFTS == SdrFitToSizeType::NONE ? TRISTATE_FALSE : TRISTATE_TRUE );
+ if( eFTS == SdrFitToSizeType::Autofit || eFTS == SdrFitToSizeType::NONE )
+ m_pTsbFitToSize->SetState( TRISTATE_FALSE );
+ else
+ m_pTsbFitToSize->SetState( TRISTATE_TRUE );
+
m_pTsbFitToSize->EnableTriState( false );
}
else
@@ -410,8 +414,8 @@ bool SvxTextAttrPage::FillItemSet( SfxItemSet* rAttrs)
default: ; //prevent warning
OSL_FAIL( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
SAL_FALLTHROUGH;
- case TRISTATE_FALSE: eFTS = SdrFitToSizeType::NONE; break;
- case TRISTATE_TRUE: eFTS = SdrFitToSizeType::Autofit; break;
+ case TRISTATE_FALSE: eFTS = SdrFitToSizeType::Autofit; break;
+ case TRISTATE_TRUE: eFTS = SdrFitToSizeType::Proportional; break;
}
rAttrs->Put( SdrTextFitToSizeTypeItem( eFTS ) );
}
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index 7dd1b8d1d47e..f052d6964c1a 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -1936,7 +1936,7 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
{
AdjustTextFrameWidthAndHeight();
}
- else if (IsAutoFit() && !mbInDownScale)
+ else if ( (IsAutoFit() || IsFitToSize()) && !mbInDownScale)
{
assert(pEdtOutl);
mbInDownScale = true;