summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorMuthu Subramanian <sumuthu@suse.com>2013-03-07 18:17:01 +0530
committerMuthu Subramanian <sumuthu@suse.com>2013-03-07 18:17:01 +0530
commit0ed4da1a01e6cdfe44403a0686abe4aacea83dfb (patch)
tree89165ecf537d06ea0539dadb0551272da0db441f /sd
parentbe5587ce0c13901acffe664d71bf22f0cb60918a (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.cxx22
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;