From f44aa84331cfa22db6e85e238b6cee698a8d9978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20K=C5=82os?= Date: Mon, 18 Sep 2017 15:30:59 +0200 Subject: [PATCH] tdf#112333 PPTX export fill.type & fill.on MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I2407d0227e10204354ee69fd9a2af9ca93077221 Reviewed-on: https://gerrit.libreoffice.org/42432 Tested-by: Jenkins Reviewed-by: Szymon Kłos --- oox/source/ppt/animvariantcontext.cxx | 31 ++++++++++++++++++++-- oox/source/ppt/pptfilterhelpers.cxx | 1 + oox/source/ppt/timenodelistcontext.cxx | 13 ++++++--- sd/qa/unit/data/pptx/tdf112333.pptx | Bin 0 -> 30459 bytes sd/qa/unit/export-tests-ooxml2.cxx | 24 +++++++++++++++++ sd/source/filter/eppt/pptexanimations.cxx | 11 ++++++++ sd/source/filter/eppt/pptx-epptooxml.cxx | 12 +++++++++ 7 files changed, 87 insertions(+), 5 deletions(-) create mode 100755 sd/qa/unit/data/pptx/tdf112333.pptx diff --git a/oox/source/ppt/animvariantcontext.cxx b/oox/source/ppt/animvariantcontext.cxx index bf96b277159f..84703367761f 100644 --- a/oox/source/ppt/animvariantcontext.cxx +++ b/oox/source/ppt/animvariantcontext.cxx @@ -23,6 +23,7 @@ #include "cppuhelper/exc_hlp.hxx" #include +#include #include #include "oox/helper/attributelist.hxx" @@ -139,6 +140,22 @@ namespace oox { namespace ppt { return bRet; } + bool convertFillStyle( const OUString& rString, css::drawing::FillStyle& rValue ) + { + if( rString == "solid" ) + { + rValue = css::drawing::FillStyle::FillStyle_SOLID; + return true; + } + else if( rString == "none" ) + { + rValue = css::drawing::FillStyle::FillStyle_NONE; + return true; + } + else + return false; + } + AnimVariantContext::AnimVariantContext( FragmentHandler2 const & rParent, sal_Int32 aElement, Any & aValue ) : FragmentHandler2( rParent ) , mnElement( aElement ) @@ -186,8 +203,18 @@ namespace oox { namespace ppt { case PPT_TOKEN( strVal ): { OUString val = rAttribs.getString( XML_val, OUString() ); - convertMeasure( val ); // ignore success or failure if it fails, use as is - maValue <<= val; + if( convertMeasure( val ) ) + { + maValue <<= val; + } + else + { + css::drawing::FillStyle eFillStyle; + if( convertFillStyle( val, eFillStyle ) ) + maValue <<= eFillStyle; + else + maValue <<= val; + } return this; } default: diff --git a/oox/source/ppt/pptfilterhelpers.cxx b/oox/source/ppt/pptfilterhelpers.cxx index 6496e9153e60..f117e2a1210d 100644 --- a/oox/source/ppt/pptfilterhelpers.cxx +++ b/oox/source/ppt/pptfilterhelpers.cxx @@ -38,6 +38,7 @@ namespace oox { namespace ppt { { MS_FILLCOLOR, "fillColor", "FillColor" }, { MS_FILLCOLOR, "fillcolor", "FillColor" }, { MS_FILLTYPE, "fill.type", "FillStyle" }, + { MS_FILLTYPE, "fill.on", "FillOn" }, { MS_STROKECOLOR, "stroke.color", "LineColor" }, { MS_STROKEON, "stroke.on", "LineStyle" }, { MS_STYLECOLOR, "style.color", "CharColor" }, diff --git a/oox/source/ppt/timenodelistcontext.cxx b/oox/source/ppt/timenodelistcontext.cxx index 47e56fe38ebf..8df88793822a 100644 --- a/oox/source/ppt/timenodelistcontext.cxx +++ b/oox/source/ppt/timenodelistcontext.cxx @@ -180,9 +180,16 @@ namespace oox { namespace ppt { OUString aString; if( maTo >>= aString ) { - maTo <<= aString == "visible"; - if( !maTo.has() ) - SAL_WARN("oox.ppt", "conversion failed" ); + if( aString == "visible" || aString == "true" ) + maTo <<= true; + else if( aString == "false" ) + maTo <<= false; + + if (!maTo.has()) + { + SAL_WARN("oox.ppt", "conversion failed"); + maTo <<= false; + } } mpNode->setTo( maTo ); } diff --git a/sd/qa/unit/data/pptx/tdf112333.pptx b/sd/qa/unit/data/pptx/tdf112333.pptx new file mode 100755 index 0000000000000000000000000000000000000000..c381ed8b353e0f8286553a797e953c2092c9e294 GIT binary patch literal 30459 zcmeFZQ*>qDwmlrDl2mNlc2aT0uGqG1RczZ%#kOtRwr%`VbuP}m=hxb~Uu)mfxpzP8 zJ@;CBKg`i)@3W6S##}$dfkBV}zyQ7g007_vY>cAal>q_(2z>VX@ zuO;tdZD6NC<7{D$mjePsmIVOx`TPHS{V$HdXrh{QHyzTzhU6=ZxE3^J76AqrtY$`Q zR1j{KC3vBu#SDs{)x{F1k6$WK6|MOA_|wNkg;|4R**Fn$7h2e!m{1;yq9_1^B1EEZ zQ0pBIg(QOVfPS}M3|ut1^0Y~2My;zHGz)KCEj;?SUshywS8%e1{P}#k1r-v*SOJE- z%%MC>0LE>q7L&@N;L{4~`+Un~9EUa0)?IHPR;Wa{7+^$=)Q~lr@LMK^QKW}r;ea}c zOcG{Ydi!+J0}LtzC2{ij6gLLy*zQ94&L;Jt);Z|onFh8N zg`!NFg-qPSo`%93;KSJ6vHi6zTf;lIIKK8de25NO)H~{50BNqtcXkQ4X}8TByXng@ z+wNgd`RtVTcE40eIKU>4bLlr4(m&F}aBL-+q;NdMi`OJi2Vfa&1^Ed`JxuOls71yEpbsA@ECGg z*}$YBVd8XV)HO>pjRk1hw)%yp(l5}26nP}aYVRS1 zzs%^uzki#n6P77td(D^%`x%CR#EhOgVQuH<9oA3W;C+5tTiesxnVaYv*wOwCK7YQ@ z|K1`004Z#u&9sLO4*Zg9(h06XshYzNj>>=>l>b*0cPDI%o0B zsd6a)YiYmjC64EQ>hk>RBw-4SJood91XUG6-ejq>b>_dGJthq^_}9;wPXYq~-~xOB z{5|`>P21Ym!0uBZ=-8WBS^mf5KUoCuQzLx-;eYq5G?q{5a}fwWh^%&{aM{RaeJ_+^ z{Za%)1hNG{l1zjWVc{Zy-!NdBO{9SA5WV+t|LT%brF3#3RYUD6JO5=c1_>=?T5*^O zXgy@0ghLxCuPCn`4D?o{a-5b{k+#qvNN|=yn5qB`VKQLzoc&jIpOmaFc8asC+QtxE zzExxFUZ8mt?X>;S8y)bq49SW-&}%_6nBpzW#8ACMnV5U!o>3r4nsHaUuDPEOhWnTJfYHUwqa;#3t<;h_kPASh9?&rX#zg|#XE*?zepW9E^r_e9kfs%t4vrpb<#}0CM}e({ z-QEvQ7Gi-y55$Lt(DNuLqGdl!Bp`xHhoNjlj!rC@#mHn*g43?Vc*QER4sWhc5(T*` zh{@nmOzer#gbLZkk7Q0<&s``uz7NgHDfsfPw8s$7G{%9`CZ56u&^Dol4MZzdfB$hn z%d?|(_8uyScX>dBTe^ zpYMHmL5$}#ia^?AGteeUA_s11sA-8WRJv`i`z7+_%??o?mOMX*4fLiFq^_n&D{;i){&QVa2 zwEzog^ihDDnt!*5r|x#EFB4&CxLQlGb94pd_*pj=+v{db8oJ?3BG`xTup#lYs@@Aa z%tM20SR;!V3;4Y@z&skmo%W!7;7;G>r78}LNtbv_>i7W7W_q!f#__J?0&;ZM65op zx#bAu%GWuSozaMm@is8>B?XithY8sohXmCI4K6}Z%7q=a!&1>#6wTPzIU;FO9|tE0 zhDY=5eFdC-h6C9^iWV2$_*#jt8!E9q|Ki?Z%s!Xgm%E4)GH|mxLeRQu=4i zkJTl&&C!0%a5ve<<@MNXr%Uzsu!+xPoEVeDvt$Mp0&^q>LaIZZaWB7Rhof2up4Ov; z?NbgXsTE$^49QpWo8y!#(!XNdMkvoV!{)Nn=^~?h;eqz{HXoKY$rA`u`O)i3Z%0zZ zA$D+`sv0w|4g;zl0h!}eVg9^X#3_h&;-iGb^OBGFPQk0;bGf2RkDWg=+TxFivwf4&e48c=ogM}@-yNPEr$}f_6S^^y&6JF{=#_>FBO@(#*twwK23DR z4zyLOY`ec%7AGm_-fR@zPfMdHpX)7<6t1|Y!J&P;>{-b-JijtBfI_knR_bDs2|yGq zt9YNV>o%Czj{ch;h}XN!7_mp_v80GBbY|D?{r!{^v^|{#9DZ7rtHEY9NSs!AU8$Ud z*?YLI3GPwPF&~D+ZY{`KBRs$`)U#aF`#0fG$y!wC(-;gb2?{NB>)aTq>9q$^q~=L7 zul6StkBMypY4i2H`0?`ymT=Dm>gaWS&)XLUGEc9j!C@(sk`}@zu7~RYaw%%_oYDCZ zwYRHnxC8w9Va>ka`3^ZMnkr0GNk0^y8&@>2O7a{=f*9M1b>n#Ig#5uT1w4RWcv}rw zJdF%d?=`(5lG`}$P<1mB+)|%wF=%*lm|U#Hd_ExYbL%aV9iNo*r4p9+0$Qe!=UT9O ziU?X3`~@5*H$gfAb1&r;-WCDnkKV1YSgA>j-BLZ|SIE7zcVQyle?{XIhi>1fZBKF{ zInHz9D57R$dVNyGKa$DZRLoWD=bhiOkLvHqL_){K%EA7>h`+yGV)+jh^eF)$yMIeS zjZ5tAGmu5n4PBS#y2#);4uT1zOa6^frsMCH; zaYah-W7ux8C&kN!w-&q{jD1644dKLy_ZA5mcazbJez5B7iYC{X{85J6A(FCK>f88NW^i$~#q zxETIRiu}KpAO9~3zqe0@e{o3s&xnEX|Dy1@7MT78qhOMwg^&EH90$Pvn|hSgv9mX@ z{V(eAZO~r*|#XMd@625=c zF~-jd?~J+I-?6CWafk7^_MUeTf*O>CfjA!iG@O9e$0tImiN?jt^sSg6lP0^e-Q5>E zbZI>rcb6^gMMb8hcu(FQdy`63vGT;ng1)8A_QOmEO0QJPC|*?aCD>`wxupZ{Q8BWU z1K#I#zuquyYgJ2XI3eRmI-vh}!6ZyN;qa%mWkAK%&9|6@5}7%9TasR33IlLds}Cbr zldYDNSPF%#SWB)0>{xH{&!l zORFx^omPx9N0qC8iLY9^QS+BtS@mfm5&V@D`IGPeO_tODiEORXNW=;Y z(i-X^58Sb8?n93dr+22Hx2WL{jx|OEE|TxTRH7V?AplQh_jcFBZFxi-J2tYIJC+i` z&77PMSeh}OcdlymwfM3!ny_h`{Z4R2P@2=vHk++#qpPcYVmr;fVGH`3r$M%w8}F|( zlv7Hjtvwv=^Izyp=LUd{^6L)WGAI=Dx{m{(WP2Kj6OrdHDRA3lw3UFvz z{5IG>0__fwrWTczRD&?r=o7(%7l)FBj~U5JUyG+^(G#aE@_kgU?MWe|$vMjLc4f?0 zpq9y)I%KB~cbV=*)#}vOiRrbV!j=bSfz9YVRaSUsja$SZo@E#rw zIopErY=r6evmWmqQSWQ2FgMRw*EkZsB+fYsiJnzYRtzE+xLp~~QUPGEyHMFM_qJfe#;VC8-lg^YWjuTCVcI8+dsd!HGtkzOTsZR;PJGA@@-{0a z>8tTizdD=UfnJ6p#~Zvs3969 znbCf1;!qG5QJ4uCJ={@^d8uP3ny@4O(pm{VU>}7e0SL3uKzwALY-0&|rKWc(>smxF zPK{~wuC52cXutnD5aATezMw#KhLp^xig4?w(Z(~~XIV!(2TBtU;313A@}cgsb|0gI zLNZg8DwLay`Ag<-zlX`r%@ZfE%NeQHrctY5SYH#k#V+w=f!6Ee`fh|rNx7u{h$h;a zY?XYCJG(9~YS4IAyvK&y)|-Kd;mF|JI)UVzDtOzOb2xCv_<2cP$hT2TMAxddBYsVT zJt%W6fl^hZ{84rTsnxV%En^cm7%6Qz)oHWAX%CtuP#UA(6Aaw4p$(v+yv{uQ$}X0t zR-(OY+fxr!)F86C>I~s>AxncW5H8m3L22h+>l5w&n5Ies_)?^N^1;-n^Y>5r;7?Lg zs<`x<4?Jk2yzt_T!W~`sIK3BgI*Awy)7wA!fZ%U@;PW4RAiz-rQpw>7PaML@d9W&e z-R{y-g1(GUL}n$VX^-q0!~{xfV#jmMU5etl!7sK`&>P08zk3#Zy{_5ud=`#Ip}4-u zwP6f`7LKtUtz<$Sz?T&gGOMg%!-w(MuwUJe!M*44L+lm3(hQ|nCkdRnAbepg@z?0V z2{ZLz7;0(?Q!{9^pAPh^f}p>x@ir0@elQRk#|u7j8)_Cx*i=b+;3->^f5u=7*im0h zd|?-}eQBW~h&SIMEt&+>=w!%gEp|b#7=rG4%Grf1RbP5-&4$$lQBFSJ$&c2omnrC) z%(3})kjR3K7A4NrG6M@$YtS z>ZV_|x}?9DiN6)vy2m$e^^y8xz_^CJDz57Ylq}We9DmP(mS-)0Gtr9B|5kHr**(&x zvP)Q7j|iJQE#79->-puTl8NZjU{RmV}?!%wncmzhMgAS)3858CX52x%PGO;#iT-jC> z66Pf(np%gnb0sJZu%oz;6Pt@2(W8r1R*AId*FpEpUCm+QIz-V51Y_xtFSIta%MlnE z{?;67BL$sW%dFKzduSSqStChUNW~T&RL_$6x%3Uu&5ZN<&5H}$<-rk~mcES@OJx7X zYMGpmyrfxm)&r)fCF?!|J2iz2QZI00f6gl!(x&xOr9KT6)cBatD?1%aye39cU4n)F z`?@v+W#i^+rtcAIS5qlrlb!yMvFPNB<59;^|AIo{)lKb(& zkp9*$7lfBLoAn!T9iH&qBOnOUWnVtXG^o+@rHhAB zP+}q#!fb8%HkHgs%S z>O^H%N-RxVK;p(VBCrC{&dQNG-aqR_|A_1>fjCUdPfwo%{&$zs-&J4#-G=+So&JxU z9#vkk++l(9pq=!Bn>7-ANUa+0Ua03~ftX){)h7Cel7OHPbH7ZDvbbT&W7Lty7^ly^ zWIk^ZhDS>vIQDfS8QoT-&83ApxhnfRN-IXnd9ofx?Xa_^yc7RT&)BM%1V4rBp5Ijn z%ouk3{>n|Jm#Z8s(FpBeL`6Ix3k5qKzg@mOSEWUAnX%|DdW8w-MuK{rKvzj)jU6Ai z_gTzR#*ToaXvnbnT_63kdlMDIx4ot2ym-^FFT+7VueJ)a)isK^dSxi`KImm0xG~Ff zor=?^tYWq^lRmn@{N*k%t2Lk_;URH!m09S;m}DaU?-VDPeB}4VV--1?vkTuTH7v{h zWp<786j;vg`6&yuO2W?GEu;|M|tvF(N0gGmyTcr8Rexbf^gFqyI;MqzCDudQBeiwj;TX7qN19DINmK={el1lS>t-1HXGsksU{1Qjz zTG4zW`@DLbK`A$&Be+;yaviSMp|*clDm}0Jmh;x^cf(fwI3kL#J99LeBH(EZx=vNE zy&zJiLKm`cy_!0{I(2aFo(Zg=5NEHsS_aytN{RiZ*S*zTpV;l+74A9!95931+)YDe zH%`AB=nWwSpOlXvssFBw2*_yP_0)xa+5vJSU8M34E4n>0J z7{gdFWKqWX3Iw-M*1cYsQ>_u!Be)MwnEC$$ZZZ3Zu%+aQ`q0ng_~ zX670tQ@Wd|gP&Zr9{p^Z8=E(qdMp4tC+M)SFGB0H+LDQL@bOu}{ztM3k@rG&`;;Lm zpEBg1k<}jur1am5ky#(S#+k@#dr-$n_2#rFBB@zYJU^ogMW~5wMVIT;kPfZRJf%AF z_{C~dnV{H$G0`11X4!OJ;Zv3bv{61fr&fevJfj7NhTDbC(e6!_v7J*HKYzZZy zB5pYDEpjlnSHh!tQa*uDbE9RtXB(Rl7v;z|Qt<>U%;{nn0k{z4N7|AU@zDMWz8xQtpY$cT&3Q0b zi`6ZWFbqPv;60s9AnQ*7D208{607qe2q4EEY$5O%F0f^?BQrbAZm*T#1=R**;WDk<~nW?Yu2#qeRWt}_`phvcbm zAAU&ud455JrLAejAg4Yl!xo;sa- zsb$4H%A9seZ~CI!>CQMY`{*a5P|#CtU&c)Z zrc#0;1%3V#pDd@9{qty=A-HDVJCI3fF}?Fl?;FRMQDL3x;Z-Kp(lxg5?@pZ3!sorX z13FREK5Q_NE|knSD6Jf<8owpR1n$NMCZ3X{-Uz8PQhDC7n=z#+UbV8sG#w_bx;1(b z6)B-pyA+~Rx`0g@b^i^Os>h6hGMuy>pM=SSlTK(i-g_Cp8dsP_Vl&kuyy4p=<`}Lj#k#I%8>8rS(k~iDIV{snZeb~s zl$Nq0TCcxEE_g4R2i>R4P=opB$o-q2koc#KAm9RZ(Fv}0Aw=NVI9FT78NOe9xu!vW*{Z_p<4kfco~i|3tz8y{PHc&o%dJR$&Osyj z(=6CUt}uqU*jGmq=+dgPX5`}rY|*B#V|haX9PG`cS<#9?tXkJ z4oH5pLiq>MTx~O|VgK2)rm{-`#F)g2g(g$a=!UHY#(C~hXuW82Y7^NlB9M-SE6ZWs zTu1qNE~Y`ggHiK^WTMkVm}KIPkx;Vzuk+3M^lxy+2MT5trIyamGOEPj zUbQcEZY}V26VEEtsfEA9&{P>~J*_a@+%llSAZ<2X>QcYxoC?3&Xn!Ls1UC+>%IuAP z=sio(aF{dftSQUj@+EB)AGROD7d2vz6=haX6Owcr`;i}5DQI%q;9w$_7^%3N~~f$CVz?E@jK zo9DI9I~imT8$&{7&WDpAZBQe93mGjV8A*Xl+LxL+Y9wi3wm}Gslbtj=$<|+BI$?Ef z6@s|=sr$^vUXkT`SEfv2FjFZDS-xBtPxR9qCv&H7j^;n1IXJaR*``R+2Ie~hu+Nsz zNDXr{{)}-ecRD}N$s?CA7As@9)O@|fMhNS{SWd?QIUptDIU~!wJ94&%>H*%Kb5Lsq ztpt$j&e27WVrssI(FKk+_0h`J2d~6bx~Ku10C+Y4r6_1o$?Zo%++ejU*P?znr%&Dp zC&b!%`rf z2?Ao$(26e(Gi<3F^=8v`5&I?cr(hbqYr+Fk)^5LUI=hCmC5DUCa-`oW6*;s}7)EX* zXztb;qGx47OL`P&vRHBG@bqsv9}2u{Z-Ycfrsv`INezetg#`e!ja|}M<=?l0oJdJ7 zSZRH{?W`<(&_tE&Ppt!Pw(JNM7Z{WYz(jlnOaB5J>kUleOPDKldP^#EDDj==OMq`4 z&+UNLtp*V2n*0wt)+b6cD`qlh+Y0h)dF!ErV~RaNJ3d>=PoWTUupi;qy02J6@)Z)@ zhY{%;e=JyeRhb8dS>2`F84qW&vvBceQWMiXyPADeyos=|JLnm7-`0kt`SF)ojTW2E zF#D%9?7{Hg=;q(;;Xhf;-x{2MH1*1rav+CaR*odJ#mddbbyMnQ{$n|XwLPk-ocs0XE7&r{bE)B_VX$KfJ$y*sPyRrGhNli5md$&3zbO(mwE;s zaXzNfn=84=@nO?KiSi`cwXvKAB;T|*ktg)H^&8@2z{3b5AWK)Cg^et)dpuxk_S_|* z)^?WL&Q&sc%=?@?(lO*#RVP31mFn9C1$tYI;_{c7I;Qjw*Fei}Jnj4~W}1^0ZSrHq zHs|;DoQ&zA>I|mo^fA*eLkydc0bd-#FB}|H3li)4#FJ7X1sUh!g&4gY%Jvgl%R5Wu z4eK=R5W&p`&cnpENq^EwEku4_fMVU*`Ie0-B*rJXde=r5_8NW^>q%_-#7GS#4h>eH zRU|+XwP!+&sgUc#&72|c;lfN+W0ueEO(_5&3zLzVxSeZJg{TR8nt=&&X&H>`LwCRF zYrK(cz8Y;V&)^q)iFEq)R37ryAGiw^wK{Eo`IDB9QA+ljS`Cp7G>W{)P&VNRDR#&& zUOi#ZwFcpH{VJUCVTGuqX{l9InMU&S5pivPJ_C@$kOJOsx{DO2MQ;~zQNcIQql?oDfj0%Oj zNU5u@3bdPLJA%y0R{Q}IwTmHrbKWW7ezZPEQb*Fk_SSq=|EaczI*nf%&!T%}$&VUMGl?fR#77#mHOTN0Pn42>wCo{h%-!3}xso$Cv zp1ebfN2`vuzBSwVzyZ$f42sGtAYS$j|HVcW={Z1YID9Rg0rZ z8fL_}i0zZ3hl!-f((v)ahV?SW#79^WwMT;pA)tvG6JW<`8a9`BeeYTFya1Ov#Bf^nuuFe5%ZJjm<^W|9F_Y*4Avs zf;tTWWs00?0r+KLI}#?=m70jv@<&d~&%1C;lQN49l|9y6t*vG!s1TnZxu1(>_hIaT zwlI8WXk9maV)F&X({SNjpf>NC)A(zzwkr4-9b#~x8=U({=6q_Ut^kjD> zELeD>#)Aus)XS7&`@Rs7;Vf!#f2@h9*l*934H^TAwh+nB;WNkz5LW|vc@ zG4JY_kvnyx>8$d}F%O#+|L;Tw~+^zOaL`+tzsH3Hx;7tG-o=FFhai z;{D5~J@A$Jd%5*|)Prgisc7v+dzvDPpI>O`VLkPi5ppf?OSLiSHdZ@5*?Vu*8#k|-lzC&=1#s<~ zyPhX_CG2Fv3_xQG?exQ0dM@2M>d{!bp_^TBMuY+HotL@M_HjKdQ}V$<3E=!15%2w7_}pMtF`rJ7c#?qswesyd<6^?m{2s3>joS)1JU1@NQzl=@|EE$C$v z%?9G)Edj^-b-0p7RuaMqt6?ThbE&H(^Iy9GQEX`%(2`LLaQnZOpZ5I_W+pg)X$mgM$awt&&a=A z5fDlkq)F+-4ggh^Ri_~APMo56mtO*~*(*$Ec^TT+ycdZxkSU1i@sp177sViv2Bv|i z#+yU5$Lo_p5Rh?1lcK&IDyEk_!MNCU$qreTCCqWo(Jh(XN(jhetWV4Ji9yh=6?z15 z&fQ193^f>&7LFVj$ecn>9Esi9vD-R1CVS4mA$@OnrB73*@(S}b+LOk(?Z$<;CG>uu zfQVZJN#PC7(2uNo%nx)WPd7UF;kMT}h_6+InSB3QF3kK>F1%q9TV+eTU!}Tx`79Ua z*ASgb7IYovwr$1_E2yv&s)LU3KG$SGt3=9Jf!JR7#c3z$0t`M5?9=TbOvN!3#n>>9M zJm`1b`YA0YOc_l!82*+lVs4fj6Wery1AJJ4Ese;_b~&XS%<4Q|&o7A+neR=!rJrsb z+wqS^`05jHE3i=8LWdH^Ely|$Yw>zZN9E(@^(*3 zizSra3CM;58aCwG7$s1PX2?msTX-8GGdU12Po?^@Y;N~%vhzSsl%aqHMRq9vu zmkQO<4PM6<7QX4ETpCt>356n!u+v}08y0hJZ=iqW(p4}mvz&eA`Yh=GoCKJE_okdC zpZq3)pC7P`9AB2L1ar+>Qx|$}UP*;$ zQAfx7(=R8%U!yUYt%gw9qF~eCvm5qY)`6zL27$$iCZVpcwE|E>A*Ai3NKvy$}RD;MXBb zn>VL$SG5H4*h7Qe$>)}XvnKw7qq+F@jO=BzRCCnW&1hg}f$yXp=wR1QXN;jck$jJ^@3~x2C>DiXf7fPNLF48J$K$kfxUDjPs z(#$@#nG-%V_h&Z^o(%S(13|{#;ID76LezH|yeU&v*=P(u1cLQ{2BdGS6$nrmg)?)&|@%CAt0`#-J&+Y*PzKW zcaNBf!X=Pz(m!E7s=@o>J8Y7DCh$eya)%Lm#(7-d(4{ac{3WYnG%BrNFKL4pAde|} zh}QwIvN0YV){t1gVD-m4aYJ*7;{<>1et<0S8TI5HkXpEfU|ohBa&f^oHB&$Js4Qq? z|A`_<1-Uh9WOhKGN@IWj=ojU_;;MBRmRkO(E%{R2Ic2ZVy0b}e-}DfLQVh&fZQuoy zvnsvcKiWbmNjlST1SwHwW?Alf*0fF-K`J@E=mpVdstdxZ6xA>?WJB(c+8l2C>Li9@ zmrBK=EiY2`fPk(aK7*KCJ%eRb^DSI~e7~2;&@I6T6g+T36T|Lx@^1I=W;_G;sHlgy zE2To&_PeeSA~m6SOkJn%o0fOxxZHY%W+q+PkzW0#?mEUrJ4)tw#5Ao2s57l1Al{Wh zF#xiN7Y$vaT5&{vaj&Z+)e~7IK5Bl}y`bJs^B$z_KEVkf-2retO2 zFrIWq+OTFJl%wpDn#QFf>g!`Op0TcR5a<#V-UosMA3<@k_ODiyyfOQ z$bJ$W3>HvNYQIF#X)Y2fZAOylk%L+yAZWIdk~asAnQzlM(iYebs!@V5LM5u1@R!dB zyx1zC^2Y7XWDSD_aGA%P-f1{ZHiR^3E8C_zFVo)_tvv=elyfWK9;S_@^)A+y_Z(34tUysJ&GE)qU0rF&%br^TC-laNq~I`dKLu0k=Tjp7nPB>J{-IP++;W8u?z7Jd`-?-_p`PeFo|N{8qYNI; z><}PYaD@L4BJt^nH3Hu9IUG{bqbP(}CQ)yyTKJ+Z>&NxfY@xt`mXsXo=;CejQ$g_T zz%P`}DpjdfP7Y0%;5f1vH3)L!gNrMOd)T-h@AhOuAqk|;6Ra3~UkiksPs{31a`Arj zrOYa0Tl1lnmNk}E1t_^7#vyF*ou+`@E#0~!JvV!YBe@Bg3hte*glpJEub%Rw=Y68{U#Rh!Q6&3Hbh7J(l@h?qPk=d3- z&^0uFQ3%OzjB@N*y8oV2%mla`t~p6lYk41UaYp1^_tr0YW!w-`ht3C8i|H0s-R1(; zFXV`U9A4#Ik8*P3O1*cTZ8LMHY~ib=D}gO1A6zlZ6oQB6~( zQQNHaw#x>t{?=qBX{>p4|JxF0%4!RyB9MZ{oW9JOIT8DY@kMS?NDdxOcYJvDK^{QB z`Ake>EfpK<-X#Nl8x2CuboJ0^By@tck9fq&3ZHGW0+B-qm5Bm^eSJ}d)=`XoHWU-u zm$!1J`|tMZ4L$bLkuxsmMr}vk($$)$up}xQxB8BO= z&(QVfTurIMf1nHG6J2I147%V6=BS|4y@j#BbO^{$(IUT#4uU_`OSq(@rtyitnZy98 zI1|d|CU3Pq2=&a=Xsjr!jS5N*E#6CWu5|y-L@WpH@8-Hi&Ba9o#Abi^4BX>Dy_jEL z^^ju*7jO!@HAkcD;_3SJ->ZtT*lNg>+JyE(7$kKzgj}PDI`1`D4o$%huCZ8dx>T*? zq%3-HdP#GZ6*qS>s+y}x=qLK^fQc4rm70-Au-s>uhv@;D*xz;#4{-t4vO*I$)#tB0 zqI_-V0^IE@Ca3mMrPE*LM+a@$Mk~Qy^4vG?OHhB&G*4VD7DrwgShW1ecABZsFJV0o zy;Q3a%+=^qs{;a^w>0;ab-S~VhrY;DuT;B@C`tu@MVy1OzIC$oGXz=e% zo=Sx_^QphSx#8^55LK+Q} zLU1c$j4Zg)h5Kq`=jCekoDEV~ZF!Z`zGm&-6kR{u=M8TR{HQ}`Q?B&GiSh=F&^Ak5 z%6$V`)|ie*Q9^u-bvCPxa1X)e_DnEA3bDWj<3~CC?nkwsPy%Q^La#H8g!NY)iXjez zb}P6*#4t9J`!CyAiP3{})uzV?YN)CA`=GR2^v>QkUy3&Jgl;@{+aL#^IW!PEqf zq7vW1lV$)H1H-GaKa@bd>QwpKO*UMkpAvZE#;o&ZEN@+EbeA|S;lks}e6Z5IDL*Ne zfmC}&`!#V2H;Ga8grn!-nY=@AY!T;CGlpo3?o7dFdbBuHp}7LdT^aKoxoV{B9G(q| zX}m7DD}BCUFgDc3@_caUui^5j<4 ziZn>Xm;MAGltbu1B%5y>xu*N`chm2_xT|RJ`gU)1dSJV<()HGs#-JUs=VK!kl!doS zx}0sBPeG!9Xzlk?I({s0<&(XY*6zJkR>;>r7y=66z7P>J#ZQq*dktt+1IIdNzs1*uM}nB{>d^2vOk|kP~6{?xWz`1 zHjsv@T(clU?samUK%!+D{v$}(Z^N%ah>1SbEWYmOz^Ay6*-K1sXS7Q~z!FO+`s>sU zf8mj()as%G7OS~#9q@=L{0cnls6r$yIFm;3l(e!2(h<-^hB#mhL)Vg`jr$S=npG`jtbFp)m~&jd>B>pHvQ~W zhHmVeyzMLMt%S?h5;!8hPh2^TU@vA9n&OR|31(w51<~xaXZ26pYwD&OW0nADH-lHM zvnT>~-oj{?S(F0(Ji_gv07&Yh{~V&@{2osI8RGV^{N#5lL7@i^gd101eI$hWdwVoy-a)u~}^6vDRitb+XOgRSG6sUiYb4ahGE%oyR}I-Ab{ z2Vwlcik9YKZJu;j>DEm3FB`L{ijdjYt-Z0YF5{PPX(NzMQVRp%LKPPVHuXdY>wg7tEKlC?nU9uZ}$SFc!g}aiWTY5%p!7z z^ax*2MRtcNgYYy|a43)`1L_I2&*{QRrPzYJB!-}4cFI5Bj43jNZ3vh4PWl0gaI!8W zmXpLJdPdwsn)2;!uA-xrQdj{)E7qfG3xn?3RDkA=`CxC5sl-^4QC0(qcx01TTozF+!N`zk$YCxseY!)rEGB3?#5i^;Z2?Y5uDk2QG(Ap%pHezIK1}gv zblVHfl?TLBf~bAR46{jp{UyMW5}Zq|gdR01I%lIeLA#E;o7kgjYK&}Do}|J$qnIG& z#{2lNfy;pYLh2dzOpJ0C(s$N5++m6JeYGVzufz96rXk}7-Q>paLbYr8F#ao{T5_DZ z9OZ&{J%t_^Wmb`kLMKn~W;N)Yr(Y>@iqqY2U@W_vq@Bf>?SqQ18Yn745AE{zKzj+h zD|$GTXFrLsN%80aDF5`B#~{~X-*Kl2?~8^_w={a(YDmWAq!E zy;!ia3ll3hwa%V_dx~rfZb)B6feC`gymR&x+txC;tj#b}GMVx(UL<>(fhdub0VhBB zEvZCxH~C@hR6K)K9@^?Pq^9J1C-UIKW)VGWAXph&Wt(qb>&(ieX^H1-F&7&k&b7s@Hf&+bN zqARb)zHo&+F*1L5=+}%R zWIvYvLu%!lPy)Y6tvP`?bu7Hds3pMnpdFBrm1%!`QLS+?b8PBS{DupWzmRk2kif-n zZRIRr1Ts?=#!mvP8yw+!xz`uAr-P)mfGRWxj`#va=zM-%H3`|s!Qg!r4vdhg&&8nQ zNh^fWTHg~g}p z05cnz4Na2tvcD_PMJ;&H?(%&0==tn~r^Dmr`2xUBK{G|#B`WhIq$HtU2Lgm4*$*cJ z3=vp8fY&hFDhxHlj7ojQrXW_Ev+h8vHyXfJ2tN0^bStuvJ)d{H#x8^^SXl;{(i0vz z`P(Jk$aZjbwa9KVc=arKU&7DoZaT$7zstVdVUTuarK2*kSJ__Jg*Xqqy)#9r7>ST$ zd2Wi>SDCTsd4b+_tZQ|Tza+K)?+;t}W6b{h^S1s)4ij%KVqT(y0RSXo{O6;Q?2Qd9 z3~2wn|LHqBRgn(GWJT&gea7xx#g05f|4`Y6zF(ADJ|)3#5gn4rh&GCw3kxH}jS)VOV4h4oh642e+B@&CCbo4CPYAsSLX+N< zEh2~tNGC||f*^<>y-G)V5wij4sY*wbBGL>9NL4_jNw0GT-R@w{KI*;C zz5ksR77rv@@2qdum#mppe&0rR+5_2ka>9q_A zX}&b|dhBucRe(<52HQi1Pol0(_js#W{hb)*!*DYR6?Y>S>hfa=PYh@4dhs;hGEUQu zd*wsjdXC3Dp}8-tp4vv3yRT|iDCdu+B)DLra*6N}Y9H5i>IPeIZF*4is=ARYKpMIJ+`Qd5@TY^5yksUG9df&QGcna#XlE%BF3-Ial?k z`H*SpRo!Mwp4ro0HR#WLbG!f|xx&P*pGhcT4GDxiOtGn#YuVaW4;bYyJoMPwz@EY& zSiYmqZjF&~15*7Udxk@!<_MQMgvZNj`yg%RqHp&Tg8SF>9;6Kn)s+vuud`$D#8W1G z9VPT8f5aa5gMGp+B5rirZS4&QDvJUd+#2l(gU^(yYIZVixSYInIy-qB?y z`?A#>U0^H@hq8pv%FgF5eyeEKREe#DG*2?iqWq0d+x&ZbYubzGk_97)&DN+X(Y^Il z$?Z8b|D5zgxUv84O7xV5vH$XBs+4$9oeyc0`v$u@fR073 ztynsmLX>F0&=@!UQi6wy@m25{60%TNc1~taRJ{NyWzfx`xKd`lDpz2wa3R*qmLsW7 zL1>aCLq~ypTI*Jwo9&0llCv%TP0{8ND5o35yhOJ7x1RA&03~^2H8*Y}=9kfH%=(6N zL@^^tCkA7rdkv#q1+OVG6y(RRAg!j}u0L&^uPykz*81M8zpC`@?55C=Hw^{Pjm2u? zCIY8B!zh>GX9Z&mb{k+(h~vdhI^#;cW&`HwHnVEMSO2x~`e@2{g>^8zkp)t1g=Iis?47mcjO0yX zn><~~Ol3SCU6;x(=q0{z)I0k;mXcW_@bTvt=H4o>1aL`#)-&Xb(zbP0(` zS5cw$)W`B-%>+4}$t}157~Hr{EH601CZomj2vr+7e_g>l`DBL;ny+Ve(vbgfH$D;H zuqu_op~C{G*>RF6cPpB6!AA2DYKQXH0uZy$!gBlYW0EACIM9ZT36?04IZxkLma@;9q(bx=%m}%U|SCPXZ-CF)RcfwWoYrb_1+sTVQiCU?Jywy z>U}vpTytUJ$6g8A%xzAV3!{t?Kh@Fmi&B$Z2-MeDbXjbJ%VO)8e&HbF4;<6ualnW@=EFC_~ z7d?=Gx~rQlN}v~C>`kqm;}}2Ty{+Ueer5W4~e~UMy2Ekoy zi-Y&NWC@sf3(e7vFG>=iDAN zI{*DHffyRY-%sp7Ey~c&2kL6~GadAdxucn;i=&e()RVYhF?BGpu|IC>WMKvNgQEbY zvb>T!0E5AR%g_S=2LV|Cj)SxR10`JO2agaB4;L4Yn1BGEkd&B|l!Tasgp8bul8hWd zPC`OSONpRH($LV5Qqa-UBI&7+G{}7j3=WmS#UsMQBSMmqkRkua39JJUgupEr0Eck^ zI0zUV0Rx*L6-oex2i11J!ha)_FZa?UC02hHr z#ePBtpIXa=fWsLncLQYgsJzvosyP$7iW^Q3=Wo={Y>gImc!_&(<_|NMhp<&?>F|l#+cM=kl?xv+@ zWM(~joc*M@r1WW7c|~PaLt|6(ih{B; zdLqt~=N4&9UAl;AxlWC7FYTN5)w16+Ea-n_+24j??0N@~LW09M2si?e0(Q02B6xuR zt6V_c3j$Xtf(;}yJxshN*vW=-J8`=}!1BEiTK8xp2NM&ew_cgvxKz`^<{w7KK%nsX z$X=B9;z{3zEMr3DyXp(sTT`LFtU=>D>Ksu*84t3XPq#VbzZ*WeO0vgzV>DrxybT0` zsz>%tD(nc;)$?yLCx8H+N9~SfE%$Um5(wy@kb1@1veP*P0^>xJ#w&=63!xyu=3g4n z=LOMN+GEwu^) zjv$auo1cmpw>V8lI6J#%C3K`dGU_H#Uld2)c=CH@x($jUWuCNJlvETdg69Fw@8(*> z-jRS;%1c(e*XKcC#T7l*?9aKQ4gxXp$KbEJ+msf; zyVkQ)Ma+{H_}h6$VdEYMaPu~&uF+LP$LTaKr&*SSj)=RpVNx)ww{@?hGYqd|t|>t< zY{87AvcIVAO9jK>8Xu9m^DPaC%qy(gYZ_#pCCA6a)eo0l&a}O)L4Q&vRGJ;yLZW;tO`g{wvsv{RzYxiK=Q#S1mNi)FrgEWQ}KFf8}bx_ zA4^{}A_9TiZ89KGupO{V|8z_09}ceH6EJ!|fTT1}`Ry8GDkVc+rc$i?XLE;hgq`zM z=DKkk0SpY;!py7z8wAIBoA(&=P?;i65^M^tyBm*7ra&ir#dRZtCoKZ_Z~p%~2jIYu z!tC@U2*wDgKNEm@b7-gYSCQ#`Rot(g_Wl~A-0qGDXkHx{^?A5(*-dZ7Y#>}MMJ@`- zv!dC$2K$rmNLraWmxYJQOtqeSu}WEHVcdOrRQoieO__&APoji1Yh(!-8!xHg6)`lU zk9}RjHhd`X*jWpo)1o-5}#iGtClwLqq9B|kBeaR4~A*^ zD$w$`siRa{$Ew~ry>u~=w3qcM@`$SfOlZM|jB-_%8_$|P^mHxA z)@&1DF0?RlGx~RLM(08eRt9D2zZ%ZX#MItG+s(_~!gastNZXajg9PZM$DW6KSnv7q z$!c*S8`yX~KEaO0vCl|br&CP~TWo%b;qQ=APD{A(+58k79EDL;ogU60z>oF`Hj{qq zJnU>!dbyC8#H(y1Q`}j@%QXk7H~S{bI@t+7-PIKpc17V~g+!wM^xUeY*3gwo(u|86 zK0Wc!(sAbS@mT!c@cZ?`PlDLeO6wlAeF(Ergd2LFdf}||wy!dK_vkTy>0&9U>ff&- zF~(_x`D%qgUdemFE3evEc>L{^kumj<%r$Aqg5opTI5E4>vZ(X3l!W!y;obP_JWEv% zgu=(|-F&=hj70z`f6w&Lh1vgTV?{)aqN(<4y{6AHC8VR9lehI4{!37D*L< zT5}Q3R%>iz%x74GUR?diz(C(FS6|LvA+Dt9@Q_xdn4Gjv=q;K)QI#`o*nAS7@jui{zkq8ChbFFaHkH>f4=s;7%9=+3eag(ogw9OM{rGLyUly6HxE|4d{n#qy zMN*uEp=E69@q~*7DpxLOFCLrtEPZ!ohwGCkMgjd+1BJEK)tZnZm=l>Ay}eNX zW{StqH8K-|>{_KBLT?!c3SVen1!I27trf1MjF0;Aj)5n=MEtHE9~LwAhnnTz8%^%q z<@^g!qdkNc79b$S_P;Ov%^Y1U_Wkj{8tss?Ln$&w!>&PqK6D}2FEqv{Ig30g^JXEL z1~sv({b$;4J+d+-#k4-h+S0P~NukWKBe9|D8pWGM`9W}c-ne!|xG6Gl@(I!G0EbcRy4qlp)Y8E@YiQq+UB~f-8@ogKGDz5;c;joc`;L-#l^ucZSX-$3ZrvUur2B=;^3f z_Vg|X>U?Izmp8e$$4fhV4F|31k6qR;F_t1NnmDDE>EJKA-Z*7MzK(JT&{4&qHW30WUq}X#wEnEKG`;k5{?NNPxLxqy?`;aF(L`Sg)_ zB7G@9XRBa`xMkC;`mB8bfln*Gn zMkR}8Y)|VIhhHP_R(nm;9?X$D+A8y4p4pA)+4H&62}0)cJ8lG(!n9{Lj|{Do$@34% zwb0k8dmyM929KYkC8+$EC8T~7MK1a zt_U^^JBkDbX9Ep_?ZdERN?;SPg9Ts+O^~SI0pl>C1F#X;vsM@c0=kC(8}VJK=s>iX zZ%<(a!+)Pl2Tl9`nv47NGqd@;7nGuk(;UL;qN5VW^}0b)_+apubO+p#L2*Mtt}8$+FO9 znP1l#BWU~kWF=^}^VejINGvuPTWS^K92$%V$lrI?ANUj=*kAvTEr_i$iXrDS9Uy=I zd>>FE`{owdHN{pb#PDj^e!=^yS%}TU)<(nd61jfP``S*}IBfMI3{LKkpX0td6gCc9 zQU!wpp^wAAwfMoaw|`xTjl-5qz~CHC9Kd~VW^4fkY#jDZPz>&)$N}6xwCz_<#KvLo zDZ}7q#ea_bx{v`IhrR6rgQG+J9QUQc$JQSRn=yVDhaRKa3n=7snp4!W0)V`^$DoClose(); + + xmlDocPtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml"); + + OUString sTo = getXPath(pXmlDocContent, "/p:sld/p:timing/p:tnLst/p:par/p:cTn/p:childTnLst/p:seq/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:set[1]/p:to/p:strVal", "val"); + CPPUNIT_ASSERT_EQUAL(OUString("solid"), sTo); + + OUString sAttributeName = getXPathContent(pXmlDocContent, "/p:sld/p:timing/p:tnLst/p:par/p:cTn/p:childTnLst/p:seq/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:set[1]/p:cBhvr/p:attrNameLst/p:attrName"); + CPPUNIT_ASSERT_EQUAL(OUString("fill.type"), sAttributeName); + + sTo = getXPath(pXmlDocContent, "/p:sld/p:timing/p:tnLst/p:par/p:cTn/p:childTnLst/p:seq/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:set[2]/p:to/p:strVal", "val"); + CPPUNIT_ASSERT_EQUAL(OUString("true"), sTo); + + sAttributeName = getXPathContent(pXmlDocContent, "/p:sld/p:timing/p:tnLst/p:par/p:cTn/p:childTnLst/p:seq/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:set[2]/p:cBhvr/p:attrNameLst/p:attrName"); + CPPUNIT_ASSERT_EQUAL(OUString("fill.on"), sAttributeName); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest2); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sd/source/filter/eppt/pptexanimations.cxx b/sd/source/filter/eppt/pptexanimations.cxx index 65c8ba385d31..1096019a2ccc 100644 --- a/sd/source/filter/eppt/pptexanimations.cxx +++ b/sd/source/filter/eppt/pptexanimations.cxx @@ -1451,6 +1451,17 @@ Any AnimationExporter::convertAnimateValue( const Any& rSourceValue, const OUStr aDest += "solid"; } } + else if (rAttributeName == "FillOn") + { + bool bFillOn; + if ( rSourceValue >>= bFillOn ) + { + if ( bFillOn ) + aDest += "true"; + else + aDest += "false"; + } + } else if ( rAttributeName == "LineStyle" ) { css::drawing::LineStyle eLineStyle; diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx index f5d39c36ba0c..37ac57f83e40 100644 --- a/sd/source/filter/eppt/pptx-epptooxml.cxx +++ b/sd/source/filter/eppt/pptx-epptooxml.cxx @@ -936,6 +936,18 @@ void PowerPointExport::WriteAnimationAttributeName(const FSHelperPtr& pFS, const pFS->writeEscaped("r"); pFS->endElementNS(XML_p, XML_attrName); } + else if (rAttributeName == "FillStyle") + { + pFS->startElementNS(XML_p, XML_attrName, FSEND); + pFS->writeEscaped("fill.type"); + pFS->endElementNS(XML_p, XML_attrName); + } + else if (rAttributeName == "FillOn") + { + pFS->startElementNS(XML_p, XML_attrName, FSEND); + pFS->writeEscaped("fill.on"); + pFS->endElementNS(XML_p, XML_attrName); + } else { SAL_WARN("sd.eppt", "unhandled animation attribute name: " << rAttributeName);