From 09db1a4b46739e817ae717c510644b43db3b4163 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Wed, 13 Jan 2010 23:40:23 +0000 Subject: [PATCH] Recreate new home windows on initial load (this handles dual mode also). Rework/Re-implement busycover windows per home window so we can show launching status. SVN revision: 45097 --- src/modules/illume-home/Makefile.am | 6 +- .../illume-home/e-module-illume-home.edj | Bin 42361 -> 37177 bytes src/modules/illume-home/e_busycover.c | 194 +++++------------- src/modules/illume-home/e_busycover.h | 21 +- src/modules/illume-home/e_mod_main.c | 47 ++--- 5 files changed, 87 insertions(+), 181 deletions(-) diff --git a/src/modules/illume-home/Makefile.am b/src/modules/illume-home/Makefile.am index 3a7f922af..35bbe3ea6 100644 --- a/src/modules/illume-home/Makefile.am +++ b/src/modules/illume-home/Makefile.am @@ -20,10 +20,10 @@ pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH pkg_LTLIBRARIES = module.la module_la_SOURCES = e_mod_main.c \ e_mod_main.h \ - e_busycover.c \ - e_busycover.h \ e_mod_config.c \ - e_mod_config.h + e_mod_config.h \ + e_busycover.c \ + e_busycover.h module_la_LIBADD = @e_libs@ @dlopen_libs@ module_la_LDFLAGS = -module -avoid-version diff --git a/src/modules/illume-home/e-module-illume-home.edj b/src/modules/illume-home/e-module-illume-home.edj index 6cbd557a877d87bd680559584a0fa1eb21108fce..f6dc6094669bab0e502dcd12b5586dfd52653c19 100644 GIT binary patch delta 26444 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

53u1C z;T5aiRlpI0~VP$#5Q7y9)hk60IAWtw9`9`nW)q=rCz+-LL5lRC{ad zU85@J=6i@-xs9;2ktgSOBFFW})LE=u8QNJKrqIHdPOMX;9yZ^_rYJR75*Nwr8^voyP zSV{U1#p;?)DiU45wxg6P?vkm0RI)lzx=iXqe6`1s$2OhNEn>vf<0Y?gt@QNvoVIOq zr-NVpVJft5TP(sHg~_GrwNacid$LEB>?O<8s~S^`Zy-J<>Afm6 z?N%`+E^<$1{!XXBx@uL5m{rA3abvS3 z3+zYC*r`f&ELv-LLyRhmud1hC<6mCpc?_JsP=MgSvLDJ%^`|H|!-tv#c zcMGeWZ|&E{q%}A?{AhG-9GK5>vn8vwP*T9m*8g@FEw$!qX7G}R|B`Z90ez2v5EZn% zKK*17F$t#O%v@gVt+(3i<0M7p5@KRwztvKjd292*#9R8DbU(?9$aQuVTw5_PrnxtH zt5=nwl?qIwV<5MgBiqOl9T_?EK&I7<-|OpQo8@k@p>|s5`f%>h^OS?{+jZ07a%@P` z7aMTvf%F>(QFp3%(5?M(x|1KEay<#dOsVL>T7?kAm8GA{B?eQhde){d7S1UM2naY= zkg6IE7AxeuFC43A3@T53-r4tRnoNPW(QtMAVg*L zP|_KvD-XR2Jd*TKGx1XjjAvxeHfjGQ_)oRW8Ga<@MUUpoNSn9XZ#lcEnsh<*klg-s z6UR~@3$_MajgjSGi1B{+;J@lPqHCiH@qGZ10Rm}f*)H?nTCx#n_Zss=`yIWhfa3?epg8a(2Fwv zg9oKt#PA{-lz@MFg+ER~tA+k;voif2jHSdHI&{ z@dSDnmj486K*W-glfMrN!XF$PQzu~5@TXwcXnkAtG7Mq*RrSr1+%X0jWo+1%XwuHAqYS-aGoXdAjW zU-3{o<`wf}!C?di@$vC>4z%IT(t*OH4IbHxYuKKSBzq10M&$XE zQ?)42BDk|kdh%SmDglI_evnR6Kx2|$6T015Bw+l=BJI0B3&bEokU3f*PN^}_(>sv? zapGK{-vFG59H_VdB)6d}8u2Q;i{MlGpMnBe`sxxPO{TNAvVxXf7Q1Myl2_w^1}!Kl z$!#5MMhg6pVJk~ZS{nz4O}EWS5w4~|;BC-gi0|-cU1~y7Qgv6qCE<;(o2fn61a)5N zwAF0~c?bes3V(X{09V3%@~$fM-;qxny#NdjhjVPpP&d@N@i!?l8Ga0HAufCm7gM>$uLeL?i7{CfH5ALBa{vZ!zLLSri& zR5_7at?=ZpAHu``yoQ3HOFz!+m?@amC=%Oybad2xwylM|6x>{FV9R`H^UvnFrcv%C zY21^t7u1{S(%7g;h&d420}!sOA4ohf1(qjf`@J# zUr8s{W#>~!=1`fCm85Q_7mUL$Y{;d>$e9c!%S8mlAAg_DqI(Z0WI1O>d|OHxdt0<# zgu|_{SSl>%Z+pAava%j$H#crM6F~5Nc?ZaMk;H_ARtQK>OX#B)!xPC1XLHlQm=VMo zq0fDT*x0(CXJ%!U+BCin&ScqMrLokb62@_@NqyE23k|+e`fPL`WYmUsHoV3cJ8BgB zKL9tAS5{`V8S`)}NIgMJQ(K!oeI^?{P3Fw%{1beu2lLn;WIgPgvVE2rrH?>7mb#B^ znjd;207F`whlGZ5It~IE zFx6VqzYd9zfWM!Q?i^mOJ-B|#N<%Y($JZyP29yk&pDih?bfY|WB(QIMgBL!9>}8*y zNOpFg4>RtcU&juT>?wbx+dW4jkz)TUNquQ9)B8lX&HK;7=a`pJc~wfZ+mO_Lu;4aq z$jf#27GFDleV)#o1!NwnxjdkJ$qf3_wKXwRuUSrKBq}@86Y4k3`Q3I)e9g2?9`)Pq~1cF=Ajjt4?kXY~V z=@njWFiCidCrQVbnh0W!PXUW;m|axl6xtwqFNH!T?`D{+b(M+l6XQdX-Cqq72G>bQ zxH3>?+kG)iN8d9*x2^xLryftF<3e|3If)j-xeipkL&(fih68r4;BR$Y+1iQh^HDcG zq#YGIBe?{eLRCbBg?n6R&u6dlcwk!QIq2pAuFMI{Q6?;#27>QhbaFDs#xfjOT=9l{*d)xv=*|cj>?)rqr3w;CGuhY zmkhqn@8ja)I1Z5%#qDKywvi`D1E67awjKSihA~&KNGE_Nt`HgMgm>uXx`x-Y*MVpE z0bUoaDES}Wv@({B_g`@MqLltp!>ByPQn1}H6Z!w;{kbmvf4H(kTjnZ-^E1!r}Cxh@l9Q7x+_FM1X)+FJeK`_RsPy7f){!;7AWelfKNuAAB|{D`V(Dy zV>RsJW$HUSK_fLQjdE?k)C!rmU)bh0O(q6D5P)eAF5$az6D1Afuo_^z`)=0z7$zpPSnb!XCTOY)J!b7gG&TN{6OW61>au9?9#k>jBcCC`(Jr zuCuc4nbYnnM(7DQ#Kys6?m1_$) z-l^VOQq^rxCRtTO!spLg3dmM%d86^bGjr2CTFX}#X1l0rw`|H2QZSt-FqyxTX08%5 zTO(3C5F&olSX=8iJv=P@R-&VHIkx&7i*%|9L$0|q|kJWyl;pis2B$XdH_&N(O{H^wAZYsV2)-~Qa+U8SU>)0IUo0rw}P@9*E;2ObFIeo#J; zN?0}&Kvf>v#Y|Q5Q%`r}A9C{P4BKBnx#W;J_qJNb5lbI^o(CS?U}Lb&3od!Xmj-E^ z4Fg?4^?`SXBHOo%0+}_odVOCUR$@I7L;Yq?C{P0Zl`t}{G`?v`vo)RU>-{Ge%DX!| z)$hE!=>66{V#Aw>#*==Z-|W9O8L00>8St_iroLEIQ1GqcYg09=DI$}2SX^nm--d9$ zspbdtLC}Mo?R22q_9iCTZmh6P0Rhby5W&wt%v`ZQgqB7q5UXvDxER#EyK7}(K^C;9 zg3fw|^Vtwd<`@D+Jyvcihr<=@K!_WAm{=e#Dq2B1HdE|j*ow?M{3v#xm-i=K9TUFo zM_m6R>7ubVsO{llRm4g#cdhpc2x?l|U&f3TPAHs^I~pMyEeD3UC>O}nQ=Q`a_0Jt0 z9b)q-_@`0gDhW1`XklVnLPOijrhlH4M)clPbMlSjfIGKt$uLL<`rSh|`hsOY1)o1tUi<1xpssM~Qi!hUKAHJTyreln zK6xj;`wXp3X~$9yty!3x&&MSv^DOWAV}Mw5vLUyjUBEDUr(C%=)5*v*z*Sw7dueH@ z8I5H|ON6L+fcOe=fu60>1o>8UshWtd;T3Zg@}8H9yy@!tA)}v`uQ@+?58wV_gGK&B zgX>gKJ5g_iKGTTH5Q)R8a)OASJ$q)+LcA3*D?vIn)C=|Wycra#W6(YAFvdeAYZ#bk z_G>r|$n&56;6Gm!QWh0YH!fY3^v@+4vqVz`E-RJ{gQo?#053=ZhhxPpb-|609(KD_ z!IbH-X0U4_zJJH(@a3pPdDOYeN3O);n10DekGh;i*Pzq=T#%VuxGJCe?&VpRTf$fb z*b`I=Rha-ElIzs;-jNyRmHLyXfRiOOR%^4X{9q>D(f$e!GA8JR(aycK>qG(GsB5aKt_aXx zah>4CayWtY3}zLwrIbr->pB@8;{%ZsNK!vW{9)#cd@O?)Qj2G@_^Q=%yJY#wEO5 za}&+;?*cw5a>i(`7FpWdWU-~Su#J*my)l0kH z&=L^3E_TJtzYU`eM{-?oEMb(T#18sz<)sF59>(*V6qW{t{3RsotI4PSzu{l@a`=Zf zr>>Qa=r9mDU(=SmK}}7R_?ReG?rxBP*@Gd0$O8LR`)|x&VQNDU$;yYjlpP*+|BBV% z7Abw)`|;^5&HG`01+?!9(ZIG*xEU`BV-$g607luaWXx>l4EI~Y3gZN!7z!QB28r!8 zOoIuSsK?V~OKH62SbDcAC(Z$R=YqOisE}4V^1{HV>NmNhp`d9~U^S>wCgT82;Q;z! z!~KiGDc5e^qFMjFUjE)jJtn8Roe75dGRx@F`qQb`F>01hwVM?>-nw9$RzWB^i~eTa zUY|}`PNu>Ls9||vbkqTrF&{*8b&YC0e}cVR0{QjrLkpggcMp#oE1? zwMN_e=UIffwT$C=3A!__f920wuYHs7HOz>lIIs)<@^UxjnO3cPBGDNBz&X`ZY)&M1g*J&*Oru<+LW zjAs1PPe-g*>E0}z3}Ztc|FdHD7}kuSfFw7HEnuwP=&ZBNN)wMJeAuv5@zJcGuHR<4 zt_YBYZ9zs%gm(o<;t5|7Pd?E9JNpe#idysb4-651M-z8CZZK}g84g%U>YXr%7?`CU zOj>qMu_lfYhpZz}BuExR7A$AgN@hf%^k&%*EsI-^;24Wb>rJpsV1Lky)dyPm)O{YI ze#8vEdzEMz+%X4eqLTf#s+WyD)SUGMxQ{K0p^qZ->WN$x>P9Pd4GVJb>Z@M!O~H*( zn-R?jg6WGJhLmXeXp&$PB8b$nz`XelQRM<^uDY3@z`uyh+8K$i=ZEFe)pBK@b_O3b z6aF+$tDD&wY4##uhS<T&8C=jRC48l=Py^TyuFgn=rP!ub!Aw6n1dUZk! zQ`g{)2l?Yhz3VjA$841#s2o1oeLx` zIqki6a3{3`wI`g8`Vw?lcQ$W|3he)ty>{Y1ijOT7oe=jc?=3~ni0+LJAYiEL&J9xO z%|1a1**K%v8c#mH22kQnitjy5h`*~==tc%%0*``NWk~&h7_%mp4;2@DIo)QtU{GNS z@kmM1JnDhkB#PEjMbt0iVYaa~{rPJwEPdCuJ6OVYE30t#HDF7?EI0offP^o5>uyrp z!3U!d65k^+#ECLTOJaLu7YyBxDC)>qc}kWW3wA05`7KgqHn@XI<|D&iGF5s*GU>e( z1QJbbuCje$a|b7Gg?6)&lH1b=LSz#PHJjbt0TCigM~j!ND_|=QIL+YU%z||;BwSoX zz~r46eUW#y=M!g3Q%AIe8)IX>%O^Xzd&VK$o7M-LOJR5?G+|umx6^_|`PySdUEADdFZ9tq4s$67J3X26l7t?`dTtrx z`6AeMFNuD}0PDbuF+!K$W5+upFHno2r|2OMkAF(|jorZmU)e{D=5Mq18=HzK*Gh40 znOybeJ_~36g<#Ag|4K6DreQ_XvEygwPG~Kp-Jl6%=QaF@Qs^){D>daUJ zHL9iJEeDBo;T?j0-x-}f)Xw~Wu+06b7P}&$u-P5GB#*O?ew3~z(w>~XWr2WW)6pMg z4R;oF1XlWq+gE0})-||37_nr>B!~WSx6lfRv)i%>Hl8>d4dfy-jHlvzU%$R&S)nqLbJH=r)O1IuhyQ6%2epGfX9u0UE1oVe>RSut!VCnSR2b21+0!w22Q`gY~J3C z&pmKe>4a2#s8vMdbE>ybrL4gz-cGipk_)Yl?R;g0&f| zX&#k1)bHiVZvO79YQ@t<8BtM`gjNzS{i%fQyQ*!?-C4R-AzsUgIWe*?--~MU6JBIF zKlV34*C22YS=VplAp7n|FYBD@vp17xqGHY@x+P^%bB3lLoUYAMhrc_$hwxsE3|gPN zZz(+QhPF!H$;>#z8cq7T$tqM2jK{A}3X}IQ+4~@H_T2}jxqg#nqjLdgMJ;Uo1SPa# zW3ak+XLf7e4(LZv>@KZZd&{U``e{uXjuzEhRuJz$YjSVai{(%fU|i`U~@2#FLhL&NP;! zjPD&7silW`l~cHna#EZam`H_Getiz#liXt+RrpRG&aS?$MRMKC@0yD)VlU}{Z>?c^ z43_H61S^{3@aj&sq%h~VLODjyt9BTV8KW4oOHG_{FkYxP4a4&%vC>WZ%*;>0&&=-i z8IeAe$Zc~^cVCU7;Uim}sUu|;Pk-1H-CR0tVFal4i_u4${F^0ZdR2QlA`#^V65Y+c zdW}N7%f5k0d%ZHS#ey^bW|Q@*@~EVB=ZSNUAU79`w~6E=_o=v$E1$B7AE$Xnqf{0V zS+dG8Z{7w;>)xvHM=sk?k-J+cx$+DmB6=d4I68BJ>*`~(KdGokHw2qH?*4@9?#iMw?~us9$o2v;}^Wx+z17q ztsNr>yF`wpmwhlk;NFKEvpBIWTxDpA2DE}z`(gK5HtKcjAZ}c$qM}~zopj2I1#d3- z-peQ(zKo*jZ$9tb{@JUxbB2cSlZ$6~L))_3rrR1U+@pc6{cfojPUwJ5>!OtmHuxZa zuTL=ft}5?M_Jb!q!`IJ5{0Pg_A@6h#?2Z?r*FE(P%4Y^6V0+Vnse13O6YZ=QtX?!X7hc6Hz&9I9(l?q?vRCAz3@;*qSpU(ur3ziQ!XRshSe*vr`}TiG zo-bOyYdqfO!O%9&2dWIFmy=i5KbR?abiO~NYoV-{$UgAp(|O79<|p@(J8JNku5xD_ zxYH5HoIL!~%P*+UJxQa4kQ8r)-CpBqwrI}zl7FL(4?>!kG3R9MCw$n{1Hn4Y`X~4a z3uFC&K8f$Pm)+e8ifm-T(^77;8Jhc*6dVVvPb-g;Li{;5GOHz-`hC~`GJ zYU>YF2;8bpR2_sGI}b*2{0As~IWhq!U&MLYtgcdWe;$#0dI|0rYG!Wold@JdYl+`2 zJ;zQ7ND_H5-dwD5ijZP|sXQtKN&N~&)<0qrV8X>;o7bTYE#KlOO zvupzx4MhT>v=ggYbZseuM6Nl$+!%Fjle1e+sk>x8bT(-mk$3!c` zyAG>s5-2x!RjNv;&9?H#MAGkoYyCE9Tc_H~BvvIAoE0*qmY*7zkkvex?&-=O<6^$e z0Y0+aPZJ|H8Z5%LnS|o_j~-Xg2+)^1urmu2CA? zD^FnSFo{>JgAFKun*xOI6w`#?B&6pz!S*h!J}BVB&ZDU=m*WzNIVrh1Z0a(W->NY? zl|DygG@&olTK_Omc*)Aj|1fQ|VsruP5V_PS7L#vV=N-W?+aC41#?@&!a|LbWFrab% zk*-Vw0qrYNNX!|2-GSbL3d2PH8|*YJg74}n1I=6_R&z^ zV{fRtkBICX|1kJ6jTbY@NX>GbVSQW7I-mbhcTwiGX!@9QE(ffr0$b`$_D2jdFU{q< zO@fK5ml^u!mW`OpzpFV68TqFu&UGg(6}0FDh(Rw{MLn$-_U#)h%l02T4iN0?V&$mJ zGa_6D+v!)$>twm+O{k{reDeIfFy6XM|4mOp`SdHg7wvd#BXk2+@CBxVOiqYajWLi7!xwU_Vztc=%V^TA9 zZvE*?sZp$ojS#q$3D#DSP5eU=!K4BdXSD7lYlzUI_ zEpuDsOw%(no3zYtO-xCMx+^s*WJ=Ohgme^52f9rU!$|D5i!vmR}V%e#0lip_jedpVGXNT((-(;u| z`3#ook#C3z##!5Fa-K0VbMv;p=4XGFEX?1Xc#D@+l*{%7O^k-YLtB+W-up-{^^r-M z?3>v`IMQC_XK`h!X#3v0NQ!>Jd)Y=uIpRvC%Bd=CyWxA!k`+q3bY;!1i{ziHzvuto zjH*cAmEA9&8eHeD&nefK=n!z~K#?$Gg_zv$C6Jbt$3ju|G4ZaLmOs^f2TsSqg4PN% zCWrO}o@04yCFk4jrf<~W^1XHZuqub(muHi26t3j(4}1a-7kDf1LEw$Rdx21M=4_0s zd}$v18J+cez71iPA=1czxG0Axc)HJflk{W7_a>PXt!iWFqci*7}pDt-Gb^Xj`5Ar7Cscx&eWq@O^*e&EG8v(S{b+7i=43QtvDU;bCf2zY@k zyneUiyeRd-=#zLO_h;UN1cU|^vEuXMD=jgM&jfs^sR)NsWL3)U%F+^PdVVIxCE+yK z*arLWJ=3GL(B|)mfiXUMPqS;dyF2UF$^9UEIjwgTQ9dbCuD`jDEhSnxM-A4WNY`I* z*IaDDPR~Kg8}bY7t&W(CTJN)ZD)*y#>f*fQ#aT=R)40c{n~%oX(|5+fUy|Ubo(0a} zZ_@`1&h?~+gts&jr!#ouNfIAYqe{P`_m|ejVnil`g+k4Gd%t-SV_>o)ryI()0rYRL z6kJflj4FfOM`)igyAxcaBv$Jp?Z5VSkih3QLtr7P*&WF2N>qOj{@vbP7oXd=Nhek~ zzqV8}iOT7IifSUc3on-_5BY1Mi?4n}D6ELTOZuoOJ88#OhZ96G_u<5iM*!a0cP>7>dpy~ zMvl7=-_!qvZhjc5c9Wt)iCl~&f2+Mh?*2RE?PE`mlJ8b)yjcca&582bw%#8{5`+@1 zp9pJd&~w5PWcYYcw(iQGkc`rF&JEftwp!cn$~VY1vlKM0nutCST?}0#FMIte zW-dUh1(tS)uQ1dqYpmB`?XKE0skXRbdGC#H71zm!AM8W4@!!2d8yQ0FoKolVv}Sdf zS^aWJCc|{-`5b>>NFhQ}rR&wfg%KF)ul8ZF1rmmh=Z}DEd2*`tyfDEAzVzLmFWE0N z@(sC85*)?H9J^tzd3ZR!;-3@zMEciCjnHooe>Ng&Lj>ubh5I989s7`gfFY^q-TT@j z>#FAzDL)}W3;3G5cZVuV&Cl2OD-MCeuB9FQcAmy1lb>_@*AFg}n^H-mIG$V!v-V6^Y^O5E0JCEebMx8bPc*nZ( z80@lBbz1Y*b2NH!)Yr2^oKA5{gj{_fy%azD!=$Ff!1|~7NvwX`)}+Z1cZE&;?5S4t z0{$lnbkEa|ud52Y8h#u&R3VK&Q8RzhC^xCYVO1 z;5$Ol6kcT-Bbq1c>9Ptk@F!khD>GN#C(Oa4k`ryDbXPuawAEP-(TPeBt)0U=6{+UE zCbZ#uyE}JN{%v}Tv#wTVl?=<=CgrgVA5Jadc^=J2ea}F8v?kbhDj!4vH$JzQ9yv(W z*7=I@c7+{?6G^_7&`+TSofrIat=E2) ziKxd3Y5Tm}BUrQJqO7f}VkK+TSitAia!$6idP0yK8va?t{CziGwmu#zsF`M;pHR^B(`jrk%LtREW$ta+HqFYx5^A!F~!FT*P2Z)71- zyn)>dQryM+%=Qo!OdtuRq4!lv{tbMo_d2$>T06_`##G3fObpcB%TJPbYlv z&1uWz$*^dO$>xCMOI?0CQ^gaiJ&P2XEqe1BsExkdpCWo{7u$X|Dwj>3gb}P!UeQ+- zyICVTw0X@aZ1pgtu-hFbKW1K|kg={UH1lbIEMe>AN~o&W9e4I0k~B4fLn+sc+T54r z#a`8rWT;$Nd9=e|UD`cI!kE8by;`bPdkpLj6LR@SHtuVqUX+HZ21xd%3LaQMhkuw} IXTMebAGspoIsgCw diff --git a/src/modules/illume-home/e_busycover.c b/src/modules/illume-home/e_busycover.c index fcce84843..310a6f29e 100644 --- a/src/modules/illume-home/e_busycover.c +++ b/src/modules/illume-home/e_busycover.c @@ -1,172 +1,82 @@ #include "e.h" #include "e_busycover.h" +#include "e_mod_config.h" /* local function prototypes */ -static void _e_busycover_cb_free(E_Busycover *esw); -static void _e_busycover_win_cb_resize(E_Win *win); -static int _e_busycover_zone_cb_move_resize(void *data, int type, void *event); -static Evas_Object *_theme_obj_new(Evas *evas, const char *custom_dir, const char *group); - -/* local variables */ -static Eina_List *busycovers = NULL; - -/* public functions */ -EAPI int -e_busycover_init(void) -{ - return 1; -} - -EAPI int -e_busycover_shutdown(void) -{ - return 1; -} +static void _e_busycover_cb_free(E_Busycover *cover); EAPI E_Busycover * -e_busycover_new(E_Zone *zone, const char *themedir) +e_busycover_new(E_Win *win) { - E_Busycover *esw; - Ecore_X_Window_State states[2]; + E_Busycover *cover; + char buff[PATH_MAX]; - esw = E_OBJECT_ALLOC(E_Busycover, E_BUSYCOVER_TYPE, _e_busycover_cb_free); - if (!esw) return NULL; + cover = E_OBJECT_ALLOC(E_Busycover, E_BUSYCOVER_TYPE, _e_busycover_cb_free); + if (!cover) return NULL; + snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj", + il_home_cfg->mod_dir); - esw->zone = zone; - if (themedir) esw->themedir = eina_stringshare_add(themedir); - - esw->win = e_win_new(zone->container); - esw->win->data = esw; - states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; - states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER; - e_win_title_set(esw->win, _("Illume Busycover")); - e_win_name_class_set(esw->win, "Illume-Busycover", "Illume-Busycover"); - e_win_resize_callback_set(esw->win, _e_busycover_win_cb_resize); - ecore_x_icccm_hints_set(esw->win->evas_win, 0, 0, 0, 0, 0, 0, 0); - ecore_x_netwm_window_state_set(esw->win->evas_win, states, 2); - ecore_x_netwm_window_type_set(esw->win->evas_win, ECORE_X_WINDOW_TYPE_SPLASH); - - esw->o_base = _theme_obj_new(e_win_evas_get(esw->win), esw->themedir, - "modules/illume-home/busycover/default"); - evas_object_move(esw->o_base, 0, 0); - evas_object_show(esw->o_base); - edje_object_part_text_set(esw->o_base, "e.text.title", "LOADING"); - - ecore_evas_alpha_set(esw->win->ecore_evas, 1); - - busycovers = eina_list_append(busycovers, esw); - - esw->handlers = - eina_list_append(esw->handlers, - ecore_event_handler_add(E_EVENT_ZONE_MOVE_RESIZE, - _e_busycover_zone_cb_move_resize, - esw)); - return esw; + cover->o_base = edje_object_add(e_win_evas_get(win)); + if (!e_theme_edje_object_set(cover->o_base, + "base/theme/modules/illume-home", + "modules/illume-home/busycover")) + edje_object_file_set(cover->o_base, buff, "modules/illume-home/busycover"); + edje_object_part_text_set(cover->o_base, "e.text.title", _("LOADING")); + evas_object_move(cover->o_base, win->x, win->y); + evas_object_resize(cover->o_base, win->w, win->h); + evas_object_layer_set(cover->o_base, 999); + return cover; } EAPI E_Busycover_Handle * -e_busycover_push(E_Busycover *esw, const char *msg, const char *icon) +e_busycover_push(E_Busycover *cover, const char *msg, const char *icon) { - E_Busycover_Handle *h; + E_Busycover_Handle *handle; - E_OBJECT_CHECK(esw); - E_OBJECT_TYPE_CHECK_RETURN(esw, E_BUSYCOVER_TYPE, NULL); - h = E_NEW(E_Busycover_Handle, 1); - h->busycover = esw; - if (msg) h->msg = eina_stringshare_add(msg); - if (icon) h->icon = eina_stringshare_add(icon); - esw->handles = eina_list_prepend(esw->handles, h); - edje_object_part_text_set(esw->o_base, "e.text.label", h->msg); - /* FIXME: handle icon */ + E_OBJECT_CHECK(cover); + E_OBJECT_TYPE_CHECK_RETURN(cover, E_BUSYCOVER_TYPE, NULL); - e_win_layer_set(esw->win, 9999); - e_win_show(esw->win); - e_border_zone_set(esw->win->border, esw->zone); - -// evas_object_show(esw->o_base); -// evas_object_raise(esw->o_base); - return h; + handle = E_NEW(E_Busycover_Handle, 1); + handle->cover = cover; + if (msg) handle->msg = eina_stringshare_add(msg); + if (icon) handle->icon = eina_stringshare_add(icon); + cover->handles = eina_list_append(cover->handles, handle); + edje_object_part_text_set(cover->o_base, "e.text.title", msg); + evas_object_show(cover->o_base); + return handle; } EAPI void -e_busycover_pop(E_Busycover *esw, E_Busycover_Handle *handle) +e_busycover_pop(E_Busycover *cover, E_Busycover_Handle *handle) { - E_OBJECT_CHECK(esw); - E_OBJECT_TYPE_CHECK(esw, E_BUSYCOVER_TYPE); - if (!eina_list_data_find(esw->handles, handle)) return; - esw->handles = eina_list_remove(esw->handles, handle); + E_OBJECT_CHECK(cover); + E_OBJECT_TYPE_CHECK(cover, E_BUSYCOVER_TYPE); + if (!eina_list_data_find(cover->handles, handle)) return; + cover->handles = eina_list_remove(cover->handles, handle); if (handle->msg) eina_stringshare_del(handle->msg); if (handle->icon) eina_stringshare_del(handle->icon); E_FREE(handle); - if (esw->handles) + if (cover->handles) { - handle = esw->handles->data; - edje_object_part_text_set(esw->o_base, "e.text.label", handle->msg); + handle = cover->handles->data; + edje_object_part_text_set(cover->o_base, "e.text.title", handle->msg); } else - e_object_del(E_OBJECT(esw)); + evas_object_hide(cover->o_base); } -/* local functions */ +EAPI void +e_busycover_resize(E_Busycover *cover, int w, int h) +{ + E_OBJECT_CHECK(cover); + E_OBJECT_TYPE_CHECK(cover, E_BUSYCOVER_TYPE); + evas_object_resize(cover->o_base, w, h); +} + +/* local function prototypes */ static void -_e_busycover_cb_free(E_Busycover *esw) +_e_busycover_cb_free(E_Busycover *cover) { - Ecore_Event_Handler *handle; - - if (esw->o_base) evas_object_del(esw->o_base); - e_object_del(E_OBJECT(esw->win)); - esw->win = NULL; - busycovers = eina_list_remove(busycovers, esw); - EINA_LIST_FREE(esw->handlers, handle) - ecore_event_handler_del(handle); - if (esw->themedir) eina_stringshare_del(esw->themedir); - E_FREE(esw); + if (cover->o_base) evas_object_del(cover->o_base); + E_FREE(cover); } - -static void -_e_busycover_win_cb_resize(E_Win *win) -{ - E_Busycover *esw; - - if (!(esw = win->data)) return; - evas_object_resize(esw->o_base, win->w, win->h); -} - -static int -_e_busycover_zone_cb_move_resize(void *data, int type, void *event) -{ - E_Event_Zone_Move_Resize *ev; - E_Busycover *esw; - - ev = event; - esw = data; - if (esw->zone == ev->zone) - { - int x, y, w, h; - - e_zone_useful_geometry_get(esw->zone, &x, &y, &w, &h); - e_win_move_resize(esw->win, x, y, w, h); - } - return 1; -} - -static Evas_Object * -_theme_obj_new(Evas *evas, const char *custom_dir, const char *group) -{ - Evas_Object *o; - - o = edje_object_add(evas); - if (!e_theme_edje_object_set(o, "base/theme/modules/illume-home", group)) - { - if (custom_dir) - { - char buff[PATH_MAX]; - - snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj", - custom_dir); - edje_object_file_set(o, buff, group); - } - } - return o; -} - diff --git a/src/modules/illume-home/e_busycover.h b/src/modules/illume-home/e_busycover.h index e307e0fec..35e084984 100644 --- a/src/modules/illume-home/e_busycover.h +++ b/src/modules/illume-home/e_busycover.h @@ -1,7 +1,7 @@ #ifndef E_BUSYCOVER_H -#define E_BUSYCOVER_H +# define E_BUSYCOVER_H -#define E_BUSYCOVER_TYPE 0xE1b0782 +# define E_BUSYCOVER_TYPE 0xE1b0782 typedef struct _E_Busycover E_Busycover; typedef struct _E_Busycover_Handle E_Busycover_Handle; @@ -9,23 +9,18 @@ typedef struct _E_Busycover_Handle E_Busycover_Handle; struct _E_Busycover { E_Object e_obj_inherit; - E_Zone *zone; - E_Win *win; Evas_Object *o_base; - Eina_List *handlers, *handles; - const char *themedir; + Eina_List *handles; }; - struct _E_Busycover_Handle { - E_Busycover *busycover; + E_Busycover *cover; const char *msg, *icon; }; -EAPI int e_busycover_init(void); -EAPI int e_busycover_shutdown(void); -EAPI E_Busycover *e_busycover_new(E_Zone *zone, const char *themedir); -EAPI E_Busycover_Handle *e_busycover_push(E_Busycover *esw, const char *msg, const char *icon); -EAPI void e_busycover_pop(E_Busycover *esw, E_Busycover_Handle *handle); +EAPI E_Busycover *e_busycover_new(E_Win *win); +EAPI E_Busycover_Handle *e_busycover_push(E_Busycover *cover, const char *msg, const char *icon); +EAPI void e_busycover_pop(E_Busycover *cover, E_Busycover_Handle *handle); +EAPI void e_busycover_resize(E_Busycover *cover, int w, int h); #endif diff --git a/src/modules/illume-home/e_mod_main.c b/src/modules/illume-home/e_mod_main.c index b3cdf93da..d3c5a23a9 100644 --- a/src/modules/illume-home/e_mod_main.c +++ b/src/modules/illume-home/e_mod_main.c @@ -22,16 +22,16 @@ struct _Il_Home_Win E_Object e_obj_inherit; E_Win *win; - Evas_Object *o_bg, *o_sf, *o_fm; + Evas_Object *o_bg, *o_sf, *o_fm, *o_cover; E_Busycover *cover; }; struct _Il_Home_Exec { + E_Busycover *cover; Efreet_Desktop *desktop; Ecore_Exe *exec; E_Border *border; Ecore_Timer *timeout; - E_Busycover *cover; int startup_id; pid_t pid; void *handle; @@ -95,8 +95,6 @@ e_modapi_init(E_Module *m) _il_home_apps_unpopulate(); _il_home_apps_populate(); - e_busycover_init(); - handlers = eina_list_append(handlers, ecore_event_handler_add(EFREET_EVENT_DESKTOP_LIST_CHANGE, @@ -145,14 +143,11 @@ e_modapi_shutdown(E_Module *m) exe->handle = NULL; } if (exe->timeout) ecore_timer_del(exe->timeout); - exe->cover = NULL; E_FREE(exe); } _il_home_apps_unpopulate(); - e_busycover_shutdown(); - EINA_LIST_FREE(handlers, handle) ecore_event_handler_del(handle); @@ -192,18 +187,18 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) inst->o_btn = e_widget_button_add(gc->evas, NULL, NULL, _il_home_btn_cb_click, inst, NULL); icon = e_icon_add(evas_object_evas_get(inst->o_btn)); - e_icon_file_edje_set(icon, buff, "btn_icon"); + e_icon_file_edje_set(icon, buff, "icon"); e_widget_button_icon_set(inst->o_btn, icon); inst->gcc = e_gadcon_client_new(gc, name, id, style, inst->o_btn); inst->gcc->data = inst; -// _il_home_win_new(inst); + _il_home_win_new(inst); xwin = inst->gcc->gadcon->zone->black_win; mode = ecore_x_e_illume_mode_get(xwin); -// if (mode > ECORE_X_ILLUME_MODE_SINGLE) -// _il_home_win_new(inst); + if (mode > ECORE_X_ILLUME_MODE_SINGLE) + _il_home_win_new(inst); inst->hdl = ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, _il_home_cb_client_message, inst); @@ -305,12 +300,6 @@ _il_home_win_new(Instance *inst) e_win_name_class_set(hwin->win, "Illume-Home", "Illume-Home"); e_win_resize_callback_set(hwin->win, _il_home_win_cb_resize); - if (!hwin->cover) - { - hwin->cover = - e_busycover_new(inst->gcc->gadcon->zone, il_home_cfg->mod_dir); - } - snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj", il_home_cfg->mod_dir); @@ -347,6 +336,8 @@ _il_home_win_new(Instance *inst) evas_object_smart_callback_add(hwin->o_fm, "selected", _il_home_cb_selected, hwin); + hwin->cover = e_busycover_new(hwin->win); + e_win_move_resize(hwin->win, zone->x, zone->y, zone->w, 100); e_win_show(hwin->win); e_border_zone_set(hwin->win->border, zone); @@ -362,6 +353,10 @@ _il_home_win_cb_free(Il_Home_Win *hwin) { if (hwin->win->evas_win) e_drop_xdnd_register_set(hwin->win->evas_win, 0); + + if (hwin->cover) e_object_del(E_OBJECT(hwin->cover)); + hwin->cover = NULL; + if (hwin->o_bg) evas_object_del(hwin->o_bg); hwin->o_bg = NULL; if (hwin->o_sf) evas_object_del(hwin->o_sf); @@ -401,6 +396,11 @@ _il_home_win_cb_resize(E_Win *win) if (hwin->win) evas_object_resize(hwin->o_sf, hwin->win->w, hwin->win->h); } + if (hwin->cover) + { + if (hwin->win) + e_busycover_resize(hwin->cover, hwin->win->w, hwin->win->h); + } } static void @@ -492,6 +492,7 @@ _il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop) exe = E_NEW(Il_Home_Exec, 1); if (!exe) return; + exe->cover = hwin->cover; eins = e_exec(hwin->win->border->zone, desktop, NULL, NULL, "illume-home"); exe->desktop = desktop; @@ -504,10 +505,8 @@ _il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop) } exe->timeout = ecore_timer_add(20.0, _il_home_win_cb_timeout, exe); - exe->cover = hwin->cover; snprintf(buff, sizeof(buff), "Starting %s", desktop->name); - exe->handle = e_busycover_push(exe->cover, buff, NULL); - + exe->handle = e_busycover_push(hwin->cover, buff, NULL); exes = eina_list_append(exes, exe); } @@ -679,7 +678,6 @@ _il_home_win_cb_exe_del(void *data, int type, void *event) } exes = eina_list_remove_list(exes, l); if (exe->timeout) ecore_timer_del(exe->timeout); - exe->cover = NULL; E_FREE(exe); return 1; } @@ -751,8 +749,11 @@ _il_home_win_cb_timeout(void *data) Il_Home_Exec *exe; if (!(exe = data)) return 1; - if (exe->handle) e_busycover_pop(exe->cover, exe->handle); - exe->handle = NULL; + if (exe->handle) + { + e_busycover_pop(exe->cover, exe->handle); + exe->handle = NULL; + } if (!exe->border) { exes = eina_list_remove(exes, exe);