summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2008-12-11 15:25:59 +0000
committerRüdiger Timm <rt@openoffice.org>2008-12-11 15:25:59 +0000
commit9c684781b319e8af24e48710055debc6223d0b93 (patch)
tree14c9cbd24c1d6a3752cb856fa750618cc6e46cb3
parent5cfe5254ba19e3a48abc79868f175f43e1390434 (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.xcu19
-rw-r--r--svx/inc/svx/editeng.hxx3
-rw-r--r--svx/inc/svx/editview.hxx8
-rw-r--r--svx/inc/svx/sdr/properties/textproperties.hxx4
-rw-r--r--svx/inc/svx/svdotext.hxx5
-rw-r--r--svx/inc/svx/svxids.hrc6
-rw-r--r--svx/sdi/svx.sdi54
-rw-r--r--svx/source/editeng/editeng.cxx3
-rw-r--r--svx/source/editeng/editview.cxx167
-rw-r--r--svx/source/sdr/properties/textproperties.cxx8
-rw-r--r--svx/source/svdraw/svdotext.cxx5
-rw-r--r--svx/source/table/cell.cxx18
-rw-r--r--svx/source/unodraw/unoctabl.cxx4
-rw-r--r--xmloff/source/draw/sdxmlexp.cxx14
-rw-r--r--xmloff/source/draw/ximpstyl.cxx9
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: