You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by af...@apache.org on 2012/06/13 09:57:37 UTC
svn commit: r1349670 - in /incubator/ooo/trunk/main/filter:
inc/filter/msfilter/svdfppt.hxx source/msfilter/svdfppt.cxx
Author: af
Date: Wed Jun 13 07:57:37 2012
New Revision: 1349670
URL: http://svn.apache.org/viewvc?rev=1349670&view=rev
Log:
#i119532# Fixed export of bullet color.
Patch by: SunYing
Review and minor changes by: Andre Fischer
Modified:
incubator/ooo/trunk/main/filter/inc/filter/msfilter/svdfppt.hxx
incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx
Modified: incubator/ooo/trunk/main/filter/inc/filter/msfilter/svdfppt.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/filter/inc/filter/msfilter/svdfppt.hxx?rev=1349670&r1=1349669&r2=1349670&view=diff
==============================================================================
--- incubator/ooo/trunk/main/filter/inc/filter/msfilter/svdfppt.hxx (original)
+++ incubator/ooo/trunk/main/filter/inc/filter/msfilter/svdfppt.hxx Wed Jun 13 07:57:37 2012
@@ -870,6 +870,14 @@ struct ImplPPTCharPropSet
struct PPTCharPropSet
{
+ //when the bullet text has more than two color,next the text following with bullet has been set hyperlink.
+ //now,the bullet color should be set original hyperlink text's color
+ //so "mbHardHylinkOrigColor" hold the original hyperlink text's color.
+ sal_uInt32 mnHylinkOrigColor;
+ //the bullet text weather has a hyperlink.
+ sal_Bool mbIsHyperlink;
+ //the hyperlink text weather has a custom color.
+ sal_Bool mbHardHylinkOrigColor;
sal_uInt32 mnOriginalTextPos;
sal_uInt32 mnParagraph;
Modified: incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx?rev=1349670&r1=1349669&r2=1349670&view=diff
==============================================================================
--- incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx (original)
+++ incubator/ooo/trunk/main/filter/source/msfilter/svdfppt.cxx Wed Jun 13 07:57:37 2012
@@ -4638,11 +4638,17 @@ PPTCharPropSet::PPTCharPropSet( sal_uInt
mpFieldItem ( NULL ),
pCharSet ( new ImplPPTCharPropSet )
{
+ mnHylinkOrigColor = 0;
+ mbIsHyperlink = sal_False;
+ mbHardHylinkOrigColor = sal_False;
mnLanguage[ 0 ] = mnLanguage[ 1 ] = mnLanguage[ 2 ] = 0;
}
PPTCharPropSet::PPTCharPropSet( PPTCharPropSet& rCharPropSet )
{
+ mnHylinkOrigColor = rCharPropSet.mnHylinkOrigColor;
+ mbIsHyperlink = rCharPropSet.mbIsHyperlink;
+ mbHardHylinkOrigColor = rCharPropSet.mbHardHylinkOrigColor;
pCharSet = rCharPropSet.pCharSet;
pCharSet->mnRefCount++;
@@ -4660,6 +4666,10 @@ PPTCharPropSet::PPTCharPropSet( PPTCharP
pCharSet = rCharPropSet.pCharSet;
pCharSet->mnRefCount++;
+ mnHylinkOrigColor = rCharPropSet.mnHylinkOrigColor;
+ mbIsHyperlink = rCharPropSet.mbIsHyperlink;
+ mbHardHylinkOrigColor = rCharPropSet.mbHardHylinkOrigColor;
+
mnParagraph = nParagraph;
mnOriginalTextPos = rCharPropSet.mnOriginalTextPos;
maString = rCharPropSet.maString;
@@ -6182,7 +6192,20 @@ sal_Bool PPTParagraphObj::GetAttrib( sal
{
PPTPortionObj* pPortion = mpPortionList[ 0 ];
if ( pPortion )
- bIsHardAttribute = pPortion->GetAttrib( PPT_CharAttr_FontColor, nRetValue, nDestinationInstance );
+ {
+ if (pPortion->mbIsHyperlink )
+ {
+ if( pPortion->mbHardHylinkOrigColor )
+ nRetValue = pPortion->mnHylinkOrigColor;
+ else
+ nRetValue = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ pParaSet->mnDepth ].mnFontColor;
+ bIsHardAttribute = sal_True;
+ }
+ else
+ {
+ bIsHardAttribute = pPortion->GetAttrib( PPT_CharAttr_FontColor, nRetValue, nDestinationInstance );
+ }
+ }
}
else
{
@@ -7128,6 +7151,10 @@ PPTTextObj::PPTTextObj( SvStream& rIn, S
const SvxURLField* pField = (const SvxURLField*)pFE->pField1->GetField();
+ pCurrent->mbIsHyperlink=sal_True;
+ pCurrent->mnHylinkOrigColor=pCurrent->pCharSet->mnColor;
+ pCurrent->mbHardHylinkOrigColor= ( ( pCurrent->pCharSet->mnAttrSet >>PPT_CharAttr_FontColor ) & 1)>0;
+
if ( pCurrent->mpFieldItem )
{
pCurrent->SetColor( PPT_COLSCHEME_A_UND_HYPERLINK );