[Libreoffice-commits] core.git: sd/source

Muthu Subramanian sumuthu at suse.com
Thu Mar 7 04:34:33 PST 2013


 sd/source/ui/view/drtxtob.cxx |   22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

New commits:
commit 0ed4da1a01e6cdfe44403a0686abe4aacea83dfb
Author: Muthu Subramanian <sumuthu at suse.com>
Date:   Thu Mar 7 18:17:01 2013 +0530

    n#657905: Display the scaled fontsize in the toolbar.
    
    Initial set of changes to improve UX for autofit.

diff --git a/sd/source/ui/view/drtxtob.cxx b/sd/source/ui/view/drtxtob.cxx
index 5ee3978..d29fc55 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;
 


More information about the Libreoffice-commits mailing list