diff options
author | Muthu Subramanian <sumuthu@suse.com> | 2013-03-07 18:17:01 +0530 |
---|---|---|
committer | Muthu Subramanian <sumuthu@suse.com> | 2013-03-07 18:17:01 +0530 |
commit | 0ed4da1a01e6cdfe44403a0686abe4aacea83dfb (patch) | |
tree | 89165ecf537d06ea0539dadb0551272da0db441f /sd | |
parent | be5587ce0c13901acffe664d71bf22f0cb60918a (diff) |
n#657905: Display the scaled fontsize in the toolbar.
Initial set of changes to improve UX for autofit.
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/view/drtxtob.cxx | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/sd/source/ui/view/drtxtob.cxx b/sd/source/ui/view/drtxtob.cxx index 5ee3978e139e..d29fc55bb8e2 100644 --- a/sd/source/ui/view/drtxtob.cxx +++ b/sd/source/ui/view/drtxtob.cxx @@ -45,6 +45,7 @@ #include <editeng/outlobj.hxx> #include <editeng/writingmodeitem.hxx> #include <editeng/frmdiritem.hxx> +#include <editeng/fhgtitem.hxx> #include <sfx2/objface.hxx> @@ -155,6 +156,8 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) case SID_ATTR_CHAR_WEIGHT: case SID_ATTR_CHAR_POSTURE: { + sal_uInt16 stretchX = 100; + sal_uInt16 stretchY = 100; SvxScriptSetItem aSetItem( nSlotId, GetPool() ); aSetItem.GetItemSet().Put( aAttrSet, sal_False ); @@ -165,6 +168,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) // input language should be preferred over // current cursor position to detect script type OutlinerView* pOLV = mpView->GetTextEditOutlinerView(); + SdrOutliner *pOutliner = mpView->GetTextEditOutliner(); if (mpView->ISA(OutlineView)) { @@ -172,6 +176,9 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) mpViewShell->GetActiveWindow()); } + if( pOutliner ) + pOutliner->GetGlobalCharStretching( stretchX, stretchY ); + if(pOLV && !pOLV->GetSelection().HasRange()) { if( mpViewShell && mpViewShell->GetViewShell() && mpViewShell->GetViewShell()->GetWindow() ) @@ -185,9 +192,22 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) const SfxPoolItem* pI = aSetItem.GetItemOfScript( nScriptType ); if( pI ) - aAttrSet.Put( *pI, nWhich ); + { + if( nSlotId == SID_ATTR_CHAR_FONTHEIGHT ) + { + SvxFontHeightItem aFontItem = *(dynamic_cast<const SvxFontHeightItem *>(pI)); + aFontItem.SetHeight(aFontItem.GetHeight(), stretchX, aFontItem.GetPropUnit()); + aAttrSet.Put( aFontItem, nWhich ); + } + else + { + aAttrSet.Put( *pI, nWhich ); + } + } else + { aAttrSet.InvalidateItem( nWhich ); + } } break; |