diff options
author | Rüdiger Timm <rt@openoffice.org> | 2008-12-11 15:25:59 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2008-12-11 15:25:59 +0000 |
commit | 9c684781b319e8af24e48710055debc6223d0b93 (patch) | |
tree | 14c9cbd24c1d6a3752cb856fa750618cc6e46cb3 | |
parent | 5cfe5254ba19e3a48abc79868f175f43e1390434 (diff) |
CWS-TOOLING: integrate CWS impressfontsize
2008-12-11 14:15:16 +0100 wg r265298 : i97125
2008-12-11 12:54:53 +0100 wg r265288 : i97125
2008-12-11 12:53:03 +0100 wg r265287 : i97125
2008-12-11 11:25:42 +0100 wg r265270 : i97125
2008-12-11 10:22:13 +0100 wg r265253 : i97125
2008-12-11 09:22:47 +0100 wg r265247 : i97125
2008-12-09 15:28:51 +0100 cl r265097 : added missing toolbar buttons for inc/dec font size
2008-12-08 17:39:46 +0100 cl r265012 : #i80257# added autolayout text only
2008-12-08 17:32:07 +0100 cl r265011 : #i80257# added autolayout text only
2008-12-08 16:42:19 +0100 cl r265008 : #i94459# fixed a bug in insertByName and replaceByName
2008-12-08 16:25:26 +0100 cl r265007 : #i80257# new image for text only auto layout in impress
2008-12-08 16:24:01 +0100 cl r265006 : #i80257# new image for text only auto layout in impress
2008-12-08 16:01:46 +0100 cl r265003 : #i88855# changed wording from Monitor to Display
2008-12-08 15:57:24 +0100 cl r265002 : #i91904# applied patch to fix a wrong index access
2008-12-05 12:51:47 +0100 cl r264900 : #i8824# allow setting of text properties at shape without reformating text
2008-12-05 11:09:21 +0100 cl r264895 : fixed build problem
2008-12-04 12:04:09 +0100 cl r264829 : fixed build issue
2008-12-04 11:03:58 +0100 cl r264823 : #i8824# set new fontsize at shape
2008-12-02 22:39:22 +0100 cl r264732 : fixed build problem
2008-12-02 22:38:42 +0100 cl r264731 : fixed build problem
2008-12-01 17:44:29 +0100 cl r264623 : CWS-TOOLING: rebase CWS impressfontsize to trunk@264325 (milestone: DEV300:m36)
2008-11-07 11:38:13 +0100 cl r263418 : #i95920# fixed an OpenSolaris build breaker
2008-11-06 14:56:04 +0100 cl r263386 : #i40730# added support to supress export of hidden slides to html
2008-11-06 14:55:41 +0100 cl r263385 : #i40730# added support to supress export of hidden slides to html
2008-11-06 14:03:59 +0100 cl r263384 : #158530# allow editing of interaction links with hyperlink editor
2008-10-20 15:34:13 +0200 cl r262322 : #i8824# migrate cws impressfontsize to subversion.
-rw-r--r-- | officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu | 19 | ||||
-rw-r--r-- | svx/inc/svx/editeng.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/editview.hxx | 8 | ||||
-rw-r--r-- | svx/inc/svx/sdr/properties/textproperties.hxx | 4 | ||||
-rw-r--r-- | svx/inc/svx/svdotext.hxx | 5 | ||||
-rw-r--r-- | svx/inc/svx/svxids.hrc | 6 | ||||
-rw-r--r-- | svx/sdi/svx.sdi | 54 | ||||
-rw-r--r-- | svx/source/editeng/editeng.cxx | 3 | ||||
-rw-r--r-- | svx/source/editeng/editview.cxx | 167 | ||||
-rw-r--r-- | svx/source/sdr/properties/textproperties.cxx | 8 | ||||
-rw-r--r-- | svx/source/svdraw/svdotext.cxx | 5 | ||||
-rw-r--r-- | svx/source/table/cell.cxx | 18 | ||||
-rw-r--r-- | svx/source/unodraw/unoctabl.cxx | 4 | ||||
-rw-r--r-- | xmloff/source/draw/sdxmlexp.cxx | 14 | ||||
-rw-r--r-- | xmloff/source/draw/ximpstyl.cxx | 9 |
15 files changed, 297 insertions, 30 deletions
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu index 9709670817ab..6a1dbbd223f9 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu @@ -2038,7 +2038,22 @@ <value>1</value> </prop> </node> - - </node> + <node oor:name=".uno:Grow" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Increase Font</value> + </prop> + <prop oor:name="Properties" oor:type="xs:int"> + <value>1</value> + </prop> + </node> + <node oor:name=".uno:Shrink" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Reduce Font</value> + </prop> + <prop oor:name="Properties" oor:type="xs:int"> + <value>1</value> + </prop> + </node> + </node> </node> </oor:component-data> diff --git a/svx/inc/svx/editeng.hxx b/svx/inc/svx/editeng.hxx index a29f91ac9e32..01204bd053a9 100644 --- a/svx/inc/svx/editeng.hxx +++ b/svx/inc/svx/editeng.hxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: editeng.hxx,v $ - * $Revision: 1.9 $ + * $Revision: 1.8.14.2 $ * * This file is part of OpenOffice.org. * @@ -64,6 +64,7 @@ class SvxLRSpaceItem; class SvKeyValueIterator; class SvxForbiddenCharactersTable; class SvxNumberFormat; +class FontList; #include <vos/ref.hxx> #include <vector> diff --git a/svx/inc/svx/editview.hxx b/svx/inc/svx/editview.hxx index e88ec9dc27ad..c7c9bd975428 100644 --- a/svx/inc/svx/editview.hxx +++ b/svx/inc/svx/editview.hxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: editview.hxx,v $ - * $Revision: 1.4 $ + * $Revision: 1.4.198.1 $ * * This file is part of OpenOffice.org. * @@ -56,6 +56,7 @@ class SvStream; class SvKeyValueIterator; class SfxStyleSheet; class Font; +class FontList; #ifndef _EDITDATA_HXX #include <svx/editdata.hxx> @@ -236,6 +237,11 @@ public: void SetInvalidateMore( USHORT nPixel ); USHORT GetInvalidateMore() const; + + // grows or shrinks the font height for the current selection + void ChangeFontSize( bool bGrow, const FontList* pList ); + + static bool ChangeFontSize( bool bGrow, SfxItemSet& rSet, const FontList* pFontList ); }; #endif // _MyEDITVIEW_HXX diff --git a/svx/inc/svx/sdr/properties/textproperties.hxx b/svx/inc/svx/sdr/properties/textproperties.hxx index 8cb75d6f098d..424b76ba7610 100644 --- a/svx/inc/svx/sdr/properties/textproperties.hxx +++ b/svx/inc/svx/sdr/properties/textproperties.hxx @@ -78,6 +78,10 @@ namespace sdr // This is the notifyer from SfxListener virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint); + + // Set single item at the local ItemSet. *Does not use* AllowItemChange(), + // ItemChange(), PostItemChange() and ItemSetChanged() calls. + void SetObjectItemNoBroadcast(const SfxPoolItem& rItem); }; } // end of namespace properties } // end of namespace sdr diff --git a/svx/inc/svx/svdotext.hxx b/svx/inc/svx/svdotext.hxx index 2b883465a635..4d26873e9b51 100644 --- a/svx/inc/svx/svdotext.hxx +++ b/svx/inc/svx/svdotext.hxx @@ -571,6 +571,11 @@ public: bool IsTextAnimationAllowed() const; void SetTextAnimationAllowed(sal_Bool bNew); + // #i8824# + // Set single item at the local ItemSet. *Does not use* AllowItemChange(), + // ItemChange(), PostItemChange() and ItemSetChanged() calls. + void SetObjectItemNoBroadcast(const SfxPoolItem& rItem); + public: ////////////////////////////////////////////////////////////////////////////// // text primitive decomposition helpers diff --git a/svx/inc/svx/svxids.hrc b/svx/inc/svx/svxids.hrc index 99a343e62f17..800e14119957 100644 --- a/svx/inc/svx/svxids.hrc +++ b/svx/inc/svx/svxids.hrc @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: svxids.hrc,v $ - * $Revision: 1.11 $ + * $Revision: 1.10.132.2 $ * * This file is part of OpenOffice.org. * @@ -1294,8 +1294,8 @@ #define SID_PAPER_START ( SID_SVX_START + 1039 ) #define SID_PAPER_END ( SID_SVX_START + 1040 ) #define SID_COLLECT_LIST ( SID_SVX_START + 1041 ) -// 1042: free -// 1043: free +#define SID_GROW_FONT_SIZE ( SID_SVX_START + 1042 ) +#define SID_SHRINK_FONT_SIZE ( SID_SVX_START + 1043 ) // color subtoolbar on graphictoolbar #define SID_COLOR_SETTINGS ( SID_SVX_START + 1044 ) #define SID_FM_MORE_CONTROLS ( SID_SVX_START + 1045 ) diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi index 501f8c348c96..4b6947697c3c 100644 --- a/svx/sdi/svx.sdi +++ b/svx/sdi/svx.sdi @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: svx.sdi,v $ - * $Revision: 1.79 $ + * $Revision: 1.78.198.2 $ * * This file is part of OpenOffice.org. * @@ -14833,3 +14833,55 @@ SfxVoidItem FontDialogForParagraph SID_CHAR_DLG_FOR_PARAGRAPH ToolBoxConfig = TRUE, GroupId = GID_FORMAT; ] + +//-------------------------------------------------------------------------- + +SfxVoidItem Grow SID_GROW_FONT_SIZE +() +[ + /* flags: */ + AutoUpdate = TRUE, + Cachable = Cachable, + FastCall = FALSE, + HasCoreId = FALSE, + HasDialog = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Synchron; + + /* config: */ + AccelConfig = TRUE, + MenuConfig = FALSE, + StatusBarConfig = FALSE, + ToolBoxConfig = TRUE, + GroupId = GID_FORMAT; +] + +//-------------------------------------------------------------------------- + +SfxVoidItem Shrink SID_SHRINK_FONT_SIZE +() +[ + /* flags: */ + AutoUpdate = TRUE, + Cachable = Cachable, + FastCall = FALSE, + HasCoreId = FALSE, + HasDialog = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Synchron; + + /* config: */ + AccelConfig = TRUE, + MenuConfig = FALSE, + StatusBarConfig = FALSE, + ToolBoxConfig = TRUE, + GroupId = GID_FORMAT; +]
\ No newline at end of file diff --git a/svx/source/editeng/editeng.cxx b/svx/source/editeng/editeng.cxx index 9c5cf8753d90..065f27779d8e 100644 --- a/svx/source/editeng/editeng.cxx +++ b/svx/source/editeng/editeng.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: editeng.cxx,v $ - * $Revision: 1.118 $ + * $Revision: 1.117.12.2 $ * * This file is part of OpenOffice.org. * @@ -38,6 +38,7 @@ #define _SVSTDARR_USHORTS #include <svtools/svstdarr.hxx> #include <svtools/ctloptions.hxx> +#include <svtools/ctrltool.hxx> #include <svx/svxfont.hxx> #include <impedit.hxx> diff --git a/svx/source/editeng/editview.cxx b/svx/source/editeng/editview.cxx index d715b24dcce4..5c2b1c74b002 100644 --- a/svx/source/editeng/editview.cxx +++ b/svx/source/editeng/editview.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: editview.cxx,v $ - * $Revision: 1.52 $ + * $Revision: 1.52.74.1 $ * * This file is part of OpenOffice.org. * @@ -32,14 +32,19 @@ #include "precompiled_svx.hxx" #include <eeng_pch.hxx> +#include <com/sun/star/i18n/WordType.hpp> +#include <vcl/metric.hxx> + #define _SOLAR__PRIVATE 1 #include <i18npool/mslangid.hxx> #include <svtools/languageoptions.hxx> +#include <svtools/ctrltool.hxx> -#ifndef SVX_LIGHT #include <sfx2/srchitem.hxx> -#endif + +#define _SVSTDARR_USHORTS +#include <svtools/svstdarr.hxx> #include <impedit.hxx> #include <svx/editeng.hxx> @@ -47,6 +52,7 @@ #include <svx/flditem.hxx> #include <svx/svxacorr.hxx> #include <svx/langitem.hxx> +#include <svx/fhgtitem.hxx> #include <eerdll.hxx> #include <eerdll2.hxx> #include <editeng.hrc> @@ -56,6 +62,7 @@ #include <vcl/menu.hxx> #include <acorrcfg.hxx> #include <unolingu.hxx> +#include <fontitem.hxx> #include <com/sun/star/frame/XStorable.hpp> #include <com/sun/star/linguistic2/XDictionary1.hpp> @@ -1385,4 +1392,158 @@ sal_uInt16 EditView::GetInvalidateMore() const return (sal_uInt16)pImpEditView->GetInvalidateMore(); } +static void ChangeFontSizeImpl( EditView* pEditView, bool bGrow, const ESelection& rSel, const FontList* pFontList ) +{ + pEditView->SetSelection( rSel ); + + SfxItemSet aSet( pEditView->GetAttribs() ); + if( EditView::ChangeFontSize( bGrow, aSet, pFontList ) ) + { + SfxItemSet aNewSet( pEditView->GetEmptyItemSet() ); + aNewSet.Put( aSet.Get( EE_CHAR_FONTHEIGHT ), EE_CHAR_FONTHEIGHT ); + aNewSet.Put( aSet.Get( EE_CHAR_FONTHEIGHT_CJK ), EE_CHAR_FONTHEIGHT_CJK ); + aNewSet.Put( aSet.Get( EE_CHAR_FONTHEIGHT_CTL ), EE_CHAR_FONTHEIGHT_CTL ); + pEditView->SetAttribs( aNewSet ); + } +} + +void EditView::ChangeFontSize( bool bGrow, const FontList* pFontList ) +{ + DBG_CHKTHIS( EditView, 0 ); + DBG_CHKOBJ( pImpEditView->pEditEngine, EditEngine, 0 ); + + EditEngine& rEditEngine = *pImpEditView->pEditEngine; + + ESelection aSel( GetSelection() ); + ESelection aOldSelection( aSel ); + aSel.Adjust(); + + if( !aSel.HasRange() ) + { + aSel = rEditEngine.GetWord( aSel, com::sun::star::i18n::WordType::DICTIONARY_WORD ); + } + + if( aSel.HasRange() ) + { + for( USHORT nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ ) + { + SvUShorts aPortions; + rEditEngine.GetPortions( nPara, aPortions ); + + if( aPortions.Count() == 0 ) + aPortions.Insert( rEditEngine.GetTextLen(nPara), 0 ); + + const USHORT nBeginPos = (nPara == aSel.nStartPara) ? aSel.nStartPos : 0; + const USHORT nEndPos = (nPara == aSel.nEndPara) ? aSel.nEndPos : 0xffff; + + for ( USHORT nPos = 0; nPos < aPortions.Count(); ++nPos ) + { + USHORT nPortionEnd = aPortions.GetObject( nPos ); + USHORT nPortionStart = nPos > 0 ? aPortions.GetObject( nPos - 1 ) : 0; + + if( (nPortionEnd < nBeginPos) || (nPortionStart > nEndPos) ) + continue; + + if( nPortionStart < nBeginPos ) + nPortionStart = nBeginPos; + if( nPortionEnd > nEndPos ) + nPortionEnd = nEndPos; + + if( nPortionStart == nPortionEnd ) + continue; + + ESelection aPortionSel( nPara, nPortionStart, nPara, nPortionEnd ); + ChangeFontSizeImpl( this, bGrow, aPortionSel, pFontList ); + } + } + } + else + { + ChangeFontSizeImpl( this, bGrow, aSel, pFontList ); + } + + SetSelection( aOldSelection ); +} + +bool EditView::ChangeFontSize( bool bGrow, SfxItemSet& rSet, const FontList* pFontList ) +{ + static const sal_uInt16 gFontSizeWichMap[] = { EE_CHAR_FONTHEIGHT, EE_CHAR_FONTHEIGHT_CJK, EE_CHAR_FONTHEIGHT_CTL, 0 }; + + const SvxFontItem* pFontItem = static_cast<const SvxFontItem*>(&rSet.Get( EE_CHAR_FONTINFO )); + if( !pFontItem || !pFontList ) + return false; + + bool bRet = false; + + const sal_uInt16* pWhich = gFontSizeWichMap; + while( *pWhich ) + { + SvxFontHeightItem aFontHeightItem( static_cast<const SvxFontHeightItem&>(rSet.Get( *pWhich )) ); + long nHeight = aFontHeightItem.GetHeight(); + const SfxMapUnit eUnit = rSet.GetPool()->GetMetric( *pWhich ); + nHeight = OutputDevice::LogicToLogic( nHeight * 10, (MapUnit)eUnit, MAP_POINT ); + + FontInfo aFontInfo = pFontList->Get( pFontItem->GetFamilyName(), pFontItem->GetStyleName() ); + const long* pAry = pFontList->GetSizeAry( aFontInfo ); + + if( bGrow ) + { + while( *pAry ) + { + if( *pAry > nHeight ) + { + nHeight = *pAry; + break; + } + pAry++; + } + + if( *pAry == 0 ) + { + nHeight += (nHeight + 5) / 10; + if( nHeight > 9999 ) + nHeight = 9999; + } + + } + else if( *pAry ) + { + bool bFound = false; + if( *pAry < nHeight ) + { + pAry++; + while( *pAry ) + { + if( *pAry >= nHeight ) + { + nHeight = pAry[-1]; + bFound = true; + break; + } + pAry++; + } + } + + if( !bFound ) + { + nHeight -= (nHeight + 5) / 10; + if( nHeight < 2 ) + nHeight = 2; + } + } + + if( (nHeight >= 2) && (nHeight <= 9999 ) ) + { + nHeight = OutputDevice::LogicToLogic( nHeight, MAP_POINT, (MapUnit)eUnit ) / 10; + if( nHeight != (long)aFontHeightItem.GetHeight() ) + { + aFontHeightItem.SetHeight( nHeight ); + rSet.Put( aFontHeightItem, *pWhich ); + bRet = true; + } + } + pWhich++; + } + return bRet; +} diff --git a/svx/source/sdr/properties/textproperties.cxx b/svx/source/sdr/properties/textproperties.cxx index 0210267bad98..59e1431a1487 100644 --- a/svx/source/sdr/properties/textproperties.cxx +++ b/svx/source/sdr/properties/textproperties.cxx @@ -47,6 +47,7 @@ #include <svx/editeng.hxx> #include <svx/flditem.hxx> #include <svx/xlnwtit.hxx> +#include <svx/svdpool.hxx> ////////////////////////////////////////////////////////////////////////////// @@ -537,6 +538,13 @@ namespace sdr } } + void TextProperties::SetObjectItemNoBroadcast(const SfxPoolItem& rItem) + { + GetObjectItemSet(); + mpItemSet->Put(rItem); + } + + void TextProperties::Notify(SfxBroadcaster& rBC, const SfxHint& rHint) { // call parent diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index e5ceaf654be0..596b37096f58 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -2175,6 +2175,11 @@ sal_Int32 SdrTextObj::CheckTextHit(const Point& /*rPnt*/) const return 0; } +void SdrTextObj::SetObjectItemNoBroadcast(const SfxPoolItem& rItem) +{ + static_cast< sdr::properties::TextProperties& >(GetProperties()).SetObjectItemNoBroadcast(rItem); +} + ///////////////////////////////////////////////////////////////////////////////////////////////// // // Konzept des TextObjekts: diff --git a/svx/source/table/cell.cxx b/svx/source/table/cell.cxx index fc19bf50ea1c..2bfe25bfd523 100644 --- a/svx/source/table/cell.cxx +++ b/svx/source/table/cell.cxx @@ -1580,26 +1580,16 @@ Sequence< Any > SAL_CALL Cell::getPropertyDefaults( const Sequence< OUString >& void SAL_CALL Cell::setFastPropertyValue( sal_Int32 nHandle, const Any& aValue ) throw (UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException) { (void)aValue; - switch( nHandle ) - { - case 0: - default: - throw UnknownPropertyException(); - } - - notifyModified(); + (void)nHandle; + throw UnknownPropertyException(); } // ----------------------------------------------------------------------------- // TODO: Refactor this method! Any SAL_CALL Cell::getFastPropertyValue( sal_Int32 nHandle ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) { - switch( nHandle ) - { - case 0: - default: - throw UnknownPropertyException(); - } + (void)nHandle; + throw UnknownPropertyException(); throw new UnknownPropertyException(); } diff --git a/svx/source/unodraw/unoctabl.cxx b/svx/source/unodraw/unoctabl.cxx index 5d92b91dee36..91ffcd28b45d 100644 --- a/svx/source/unodraw/unoctabl.cxx +++ b/svx/source/unodraw/unoctabl.cxx @@ -135,7 +135,7 @@ void SAL_CALL SvxUnoColorTable::insertByName( const OUString& aName, const uno:: throw container::ElementExistException(); INT32 nColor = 0; - if( aElement >>= nColor ) + if( !(aElement >>= nColor) ) throw lang::IllegalArgumentException(); if( pTable ) @@ -160,7 +160,7 @@ void SAL_CALL SvxUnoColorTable::replaceByName( const OUString& aName, const uno: throw( lang::IllegalArgumentException, container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException ) { INT32 nColor = 0; - if( aElement >>= nColor ) + if( !(aElement >>= nColor) ) throw lang::IllegalArgumentException(); long nIndex = pTable ? ((XPropertyTable*)pTable)->Get( aName ) : -1; diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx index 42d3c5baec53..3eaacf87cc59 100644 --- a/xmloff/source/draw/sdxmlexp.cxx +++ b/xmloff/source/draw/sdxmlexp.cxx @@ -208,7 +208,7 @@ DECLARE_LIST(ImpXMLEXPPageMasterList, ImpXMLEXPPageMasterInfo*) ////////////////////////////////////////////////////////////////////////////// -#define IMP_AUTOLAYOUT_INFO_MAX (32L) +#define IMP_AUTOLAYOUT_INFO_MAX (33L) class ImpXMLAutoLayoutInfo { @@ -386,6 +386,13 @@ ImpXMLAutoLayoutInfo::ImpXMLAutoLayoutInfo(sal_uInt16 nTyp, ImpXMLEXPPageMasterI - (aClassicTSize.Height() + (aClassicLPos.Y() - (aClassicTPos.Y() + aClassicTSize.Height()))); aLayoutSize.Height() = (aClassicLPos.Y() + aClassicLSize.Height()) - aClassicTPos.Y(); } + else if( mnType == 32 ) + { + // AUTOLAYOUT_ONLY_TEXT + aLayoutPos = aTitlePos; + aLayoutSize.Width() = aTitleSize.Width(); + aLayoutSize.Height() = long( aLayoutSize.Height() * 0.825 ); + } else { aLayoutPos.X() += long( aLayoutSize.Width() * 0.0735 ); @@ -1238,6 +1245,11 @@ void SdXMLExport::ImpWriteAutoLayoutInfos() ImpWriteAutoLayoutPlaceholder(XmlPlaceholderVerticalOutline, aRight); break; } + case 32 : // AUTOLAYOUT_TITLE + { + ImpWriteAutoLayoutPlaceholder(XmlPlaceholderSubtitle, pInfo->GetPresRectangle()); + break; + } default: { DBG_ERROR("XMLEXP: unknown autolayout export"); diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx index 4f8b26b53bd0..bacc081840bf 100644 --- a/xmloff/source/draw/ximpstyl.cxx +++ b/xmloff/source/draw/ximpstyl.cxx @@ -576,7 +576,14 @@ void SdXMLPresentationPageLayoutContext::EndElement() { case 1: { - mnTypeId = 19; // AUTOLAYOUT_ONLY_TITLE + if(pObj0->GetName().equals(OUString(RTL_CONSTASCII_USTRINGPARAM("title")))) + { + mnTypeId = 19; // AUTOLAYOUT_ONLY_TITLE + } + else + { + mnTypeId = 32; // AUTOLAYOUT_ONLY_TEXT + } break; } case 2: |