From 509ed543963645d4e73b1d4290ccd612477f8cca Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20Paul=20K=C3=BChne?= Date: Sun, 7 Aug 2005 17:54:45 +0000 Subject: [PATCH] * ALL: ported the WX-bookmarks-window to Cocoa (closes #22) - complete functionality except "Extract" (I'm going to fix that next week) * MainMenu.nib: re-orded the window-menu a bit * wizard.*: added a method to launch it from the bookmarks --- Makefile.am | 15 +- .../English.lproj/Bookmarks.nib/classes.nib | 40 ++ .../English.lproj/Bookmarks.nib/info.nib | 17 + .../Bookmarks.nib/keyedobjects.nib | Bin 0 -> 12144 bytes .../English.lproj/MainMenu.nib/classes.nib | 2 + .../English.lproj/MainMenu.nib/info.nib | 2 +- .../MainMenu.nib/keyedobjects.nib | Bin 77413 -> 77925 bytes extras/MacOSX/vlc.pbproj/project.pbxproj | 46 ++ modules/gui/macosx/Modules.am | 2 + modules/gui/macosx/bookmarks.h | 67 +++ modules/gui/macosx/bookmarks.m | 504 ++++++++++++++++++ modules/gui/macosx/intf.h | 5 + modules/gui/macosx/intf.m | 40 +- modules/gui/macosx/playlist.m | 4 +- modules/gui/macosx/wizard.h | 2 + modules/gui/macosx/wizard.m | 24 +- 16 files changed, 751 insertions(+), 19 deletions(-) create mode 100644 extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib create mode 100644 extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib create mode 100644 extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib create mode 100644 modules/gui/macosx/bookmarks.h create mode 100644 modules/gui/macosx/bookmarks.m diff --git a/Makefile.am b/Makefile.am index d8e4d64157..1998da5d1c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -164,6 +164,9 @@ EXTRA_DIST += \ extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \ extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \ extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \ extras/MacOSX/Resources/English.lproj/InfoPlist.strings \ extras/MacOSX/Resources/a52.icns \ extras/MacOSX/Resources/aac.icns \ @@ -563,6 +566,8 @@ VLC-release.app: vlc wizard.m \ extended.h \ extended.m \ + bookmarks.h \ + bookmarks.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ @@ -576,9 +581,9 @@ VLC-release.app: vlc cd ../../../; \ cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ $(top_builddir)/VLC-release.app;; \ - *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \ + *darwin8*) cd $(top_builddir)/tmp/extras/Default/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \ cd ../../../; \ - cp -r $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \ + cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ $(top_builddir)/VLC-release.app;; \ esac rm -Rf $(top_builddir)/tmp @@ -675,6 +680,8 @@ VLC.app: vlc wizard.m \ extended.h \ extended.m \ + bookmarks.h \ + bookmarks.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ @@ -688,9 +695,9 @@ VLC.app: vlc cd ../../../; \ cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ $(top_builddir)/VLC.app;; \ - *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \ + *darwin8*) cd $(top_builddir)/tmp/extras/Default/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \ cd ../../../; \ - cp -r $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \ + cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ $(top_builddir)/VLC.app;; \ esac rm -Rf $(top_builddir)/tmp diff --git a/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib new file mode 100644 index 0000000000..d0ee11f0bd --- /dev/null +++ b/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib @@ -0,0 +1,40 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = { + add = id; + clear = id; + edit = id; + "edit_cancel" = id; + "edit_ok" = id; + extract = id; + goToBookmark = id; + myAction = id; + remove = id; + }; + CLASS = VLCBookmarks; + LANGUAGE = ObjC; + OUTLETS = { + "o_bookmarks_window" = id; + "o_btn_add" = id; + "o_btn_clear" = id; + "o_btn_edit" = id; + "o_btn_extract" = id; + "o_btn_rm" = id; + "o_edit_btn_cancel" = id; + "o_edit_btn_ok" = id; + "o_edit_fld_bytes" = id; + "o_edit_fld_name" = id; + "o_edit_fld_time" = id; + "o_edit_lbl_bytes" = id; + "o_edit_lbl_name" = id; + "o_edit_lbl_time" = id; + "o_edit_window" = id; + "o_tbl_dataTable" = id; + }; + SUPERCLASS = NSObject; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib b/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib new file mode 100644 index 0000000000..9e1a52373c --- /dev/null +++ b/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib @@ -0,0 +1,17 @@ + + + + + IBDocumentLocation + 69 67 356 240 0 0 1440 878 + IBFramework Version + 437.0 + IBOpenObjects + + 38 + 5 + + IBSystem Version + 8C46 + + diff --git a/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib b/extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..c1884e24e4378c5c576a036f5ccd9e5443d37770 GIT binary patch literal 12144 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 Q8|jCBBmZyu>$~s&0e?rko&W#< literal 0 HcmV?d00001 diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib index a0f25df9bc..4822a2a475 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib @@ -107,6 +107,7 @@ openRecentItem = id; openWebsite = id; reportABug = id; + showBookmarks = id; showExtended = id; showWizard = id; timesliderUpdate = id; @@ -143,6 +144,7 @@ "o_mi_about" = id; "o_mi_add_intf" = id; "o_mi_audiotrack" = id; + "o_mi_bookmarks" = id; "o_mi_bring_atf" = id; "o_mi_bwd" = id; "o_mi_channels" = id; diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib index 14a54fdcef..a1308029cd 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib @@ -21,8 +21,8 @@ IBOpenObjects - 29 2029 + 29 21 IBSystem Version diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib index 51df90665126b0bcdadb55b0a100f7d5ac1d5261..52f20866b406ec29a04e6c7bbda7556478ef3759 100644 GIT binary patch literal 77925 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

1Hc3TBRVt`E|1Lxm}fBODnsEYd>%7P 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

Jc9n^Ds$rIvtDmAma1ts6rLL$D zoLc(}s-R6mu`hMUFV9tfF(s>CV&qqW&jM0U#JRa$^(S?miWX1P6p(s@)E9eUEQnEV zR^5!cB&knF)Fo91&vo)|y+69LX0J?B)bFH4>N?*HkRBBnMm-AJVukt?BXIn2cQq4k zQ-2nXLFx~3ywUo$kCwUvABUalE_JuMN8PLLQ!7Ls8ub7-Q;_k^8wk=MkOqJp12Vo{ zgTM8ZKdPY5~o>R}O7u1XDCH1oUmwHA0TfM4YQ?IKxxQUy&g%d7unJb)vG!&#! zAdLlSJV=v4dJ3fHK*DQo7D)Kyz6KJ)x(K9qLHZD+Pe4L?Lhf!gNMC`p5u`03eFqZ0 zRKJ3>3#5G@9lXiUU9C_nIMx&rQaKOC^&5YN1)x+eJ?_8w5Dh7rhTnF!zye-e|6Vc@ zy^Xmo_#Gaq9U*R0`*Uj;2P`~MwUw|e4Vp&f&JVJHhyqcBWp$gLnt7m!(kcvcl; zV z7-|5PXi7I3|MLxqSyTDffDj2wQTZv=NQ8PTV4DkI%}Y7HTz)i85c(o%q5*80k-)|% zSR*P8r=;J;CmwhC0rgZJg^}3VNl3A%7i^T89Mz-bR+D4RL1S{f()^Q8F(#ktm(pSytU z;;KEjU9}NTf+$A;**`Z{2tt%smIyM~Cc*S&3zpztFg{*AE9S0>LNLzK3wSl)+!&GC zwf~@7Vf@KT+I*&J?&$_?Vq}I0p%QG;|3IA2tLJV_oHOy7V!i6aV0C8CKxn> zhZFS&|83$W>V=yo#>LF>^>{EP>y|UGtlWn$s%FN#QFuqp_wR!!H}pU3!&>#?t@i=% z+SmTWJ{anEytweS@Dt_&1E__5pfdlro9id_(yf7d6W^`>0MwpJOjT3?^_BtD+kT*g zCg*>^)FJiqt$}(6U(){o)QL*MIb8+Rdj{dW@26N%ckjOu&PDaFn+OMq@m(aG%;Z}V z&NctcA*QOC7aKEw5?#oXdON^P9 z8Z%?KcJ-QtE${aCR!FG&_f0c@ihK*6(v-VzaY{p6ehLVQs+xGYK>?o`6o9~1QGket z{I3scNUVDG))cS;`KSMz0z$l%`+)qB9~++=*jQy?BTbaS^HYGhME(sMS?aZ$uz{Dt zN^y0h-Vz;HUQnHlK%l6Xc{npdY}rZ zbp}xD{Xk{l75+Z})drd2TQWTxkhT2}Ks{W!N8PJ{+GOm}*M5o>70@eB>Hk5oeYxqT zJ=%<{HBxNaEw^Y;B{uLz_Y=oA1~$I+V@uh|GS#Y4KZYUbSr z1?=(PS?M_Q|3Cqsp+I;`3fPN+-G88fuPVtBkB@&NDh#0Z`+>^B8~lF&YBS2Hw*=|{ zikklcsBHqMkY7SjIQ0W{C;;SWkPiEmppEhBNWp+!WQbET@ZextkTDgi)wCDAE)JLu zk;4)V*=afwvdeTBl?|VT>^AMk6q^+xdrSvI_J-^WsW7bw*&lKsdPvV9BF_y5i1rss7NZlElpHv`O1})!5yMhAu^3BBE10koB-E$;uFAdyj-@x` zs1Rn6OlV#>2-0uJzXzyy|HA@+*tJP+;TSKi5YnU}0q!S<^=X4IFiy-}l7y;=jNH;*XfGmT|Kn?^s2xJbj4P*z% zPLN%`SN*AsjFJGgS8jFHtlNsE@DRnAN=_KHD%X3eRWB^JdAr_NxT^|lR*%v9Or73m zAL`x@ks``I-)@MMT0@}Fj{q3aY1IH+Xw|*nux_{OjiIE~0N|UBy+x^=8t^Z-?jc+e zZr8oMR(Di~V|OE1t$Omm+g0uB?MAq_)(EKQ#}Tg80pNOjF@m2eZa0SE*5;=@YZozw zY^ptmY;G?sfP?xB9ME&f?Z)U{3y!|V7^Kb^(nI}33gSMPi~e>)V1B1+T;k)4U?_El zpso7#ef+kl9A2yU7^8PUo!<2@es}QDk++*1?K;(yPcgb1;cHbpA=k&kA%kw$`RQ7n zQHn>%gX_$#wi(>BckiyZh23zAuH1lEjQ$~Y`deFJhQUW~H~YL=v!h&wvm0S#)u4wy zIONf;x9j{)tn7{h<{)#hzt+0p&~Tr)>iqc$ggFom zAL33Icc1vt-*t=in?=@d%+^|V)>_@F%s75^nGj11O>vF3dYu(ZgsFJzVTsH{RGmvN z;ycm}!ysFwj>HakiVm;U9&8tWyJUQGi*Ik#{#JqCE*syx;@hIy-wxxq z>&CZa@ojbOZ%6SPzEU`!$m%A2Rr?$IO>?vHO+N=YR$2@L)%M;&*w)NYfYHS7AhG83gOmN-;(PmUT zEXslTqG}aPRFB(&{5FE2AQu@n0(9^~U*0bM;cB2cVYB%gjsm&FXo#MIqG75Sv8LTQ z8`cUFMhC2JT4uCEqq^T^zKht+l!zmZHBGPEvi(h0gN&hGH#Ne;)?pc?$K=WS21+#aZ{k1Gg1gwJAqejpj&zCy@-X8MniMj{ zniOLZ4*_|w_#@rgch9!em~sYADOSDGKjj@& zQ$A))`4}je<+f@{bbP4gm1lHcV_S<}d6i&3Zs5dcGMoP0J z`^NUIZKiO~1BHP6tnp`{fL#d!C4gH}K~WIP=znLth#rwm$?t3@L^;FR4s+?+e#9J9 zwx4Xqy*HsIAeQ^(uPHtiqYW^zAYkK1^XA)Kdp zq3yKo48nP?8ctt>lB?)RCXYin(S&;&IRCl{PCz)@6r+p9kfHxCfM%EMvR$!L(+qn+ zHE5F>l-y+<)}SU=JMn;W2sO`f*h?h%ft=unH!w5C+M*PdkZ z+Eb{*o@!4+cQ7L>@DN-LC>#_E5|h zTVv!)1Q`YXXM8;#5>olFA>FzT7B9B(cZ|EP9Y|*{v={kTIUVF#w_RluTxBy{) zoPn#17OR|T=yTFD@woXFYbl1S5h_mpC2+-F=nqFgx5}Cz6?r;_BM3OLq;U5>|A5o> zlN}QaiTfLm@5=_97@ab-dzS%tva0vYw$0wj-wIFo9HW&8!028X;!xA>XM1;ly9pq_ zYP3VI6>Qg|lD?{2+WXl1`dhvR@`ty@&p^b_VUmyEe3<5HgO2R>3UI4O)^%065 zq+>i?2=VLqrM5wIw?CWrKXp3x;lf$Vw8B0~NH_K&B6imPv@zsDL%NaY8`>QC%}Q;K z{aJF!J`LnWhI`gqt%c~4QmwG5)Y8~z;H_&PVV`Ax2|)w-ZIIuq6Szl?R;gC}0NAmJ zN%i#jnBt1wsWbh%#zd*LV)$+v;>}t^yk`vYew`scFosA&-bR!i6iTOBiLva9?H~Df z`y-H--gdW_iQP8su&=1v?T-V{bw&Qf*y)sPp<_0jE*j(C{-ZMpZDU_!UtHH21f46Z zTvx>YE&=%?;S7SH`=ii>yiiT3$_P6awZsEr9uM*|19TMl4DM?PR@u5m70gxkt>l2c z58i7ae}){G{8~rk411tsosdpzI74}r9aBNr(NiBAt`rTYckrK4vFkPM)L!WB{3i4`@*MR&L$m>Af0P;qV zzXln(_ixdw5ag{Oe|L)vLVoW;`w6kxMxeKt^GmVOf=*ir*TCC&B-$_3=~G?7rH!bc zJhW#m(yFP5=b!B#VWmHiP=)vf7Mx%Q&a;wsQXn+Ok8`A3j3%bg#7kbkJW?n0Z9OQHDo{bXEs+YGV}ZBdnS ztNYLqSjo0lWUzf-=>7g{1d01s<0Mp{Q+q`y3W(w%L#p3le8VRSWh7CszE&nZ`+-o* zVlUd^x!7g2^GiYg8kx0AWU4(vQ6$8s;=t^wJDt2Lv^O4JEOLW~cb_=Cs~-~a`*n{l zw(5_q4j8RO@;Z54HNg07Fn+5rzKNW5@|q5QSnG~qKO8#34=|qJ!?giMGOGJb+mD2f z^*6xKMvW2=fV$Pgey)E;_uL^MwmM9b=x!)j4LA~s-p_3 zgy}Imj9P(47Gf-uh&hN20r$<&W45(4BlJY*$tp2-7${Wu@aJE*7J zph*#h^IOFQRE~Jww$`))$GjMdst><}k7L#|;sQqA+Z`0FJ>w62@T3`Hu2D}g1+$O) zv2sPMWd^Dt{t*{oEJcXJhGc=-Vt-&vMi#Q|8R!+-9yJF-U`7v7L;LJ7J1h$w7JrvoOz6Ky`il$oCQ?!sI$Zwd z2!yL{^IK3JLK1@~v_e3lBb{5EwSi2;G)8}mPto{^)Ne167#TVLYQVz*yx8ihXcZ$` z1sh4_jNE>8E-Xhno~IGw!cyYIfg0aQuxx^f5lF5xU=Fq%A_hzl4F_}(b&&lPbZeT~ z4>>Ajx{aVTtX!wvcx15n$*{pg&??oXr@x;vj-T(ZmP#dJUoDiJSf0U!l5nEodnp1_=`nxYK?f<(at#Q zSieX~siYFz$!=AZY-$gQ`TE#lF=Uz;GQk+Ky5x;<8XVoj9$C!IifLrvqv{PS54uyG zSFdfo0qWoO{Xy%cS%FvRB-ThhrwpwBA|1^dsM~@&I!3W0))4yv+Xi~ZK8vlZH^ea^ z@b91z>`pmNiD7%yQzjpM!hX*XW z;-qY=E#zR}wR#2UZC??z3rj>_mYQ%AN*RYk4g~oEr%Tt>%Z?>1KJdB}XSJ*69V=`< zAyKaioNYhC6696tX*$lz(5f&E%c2)ZG1gET5Ij9N*EBxp`M?}yA=_jBEjZ9LCNP7I zb8MHEJ9b(FOp~dP%Phv~u>WD2C~tHek`}VVfj#Rb+6&cda((+z$8l>t+cw9kz%~KB ztzptC^#V%_ZlM09oT%T0?F(#X4OGw2@$7l^V&L+6L#34gJHq79qM#40;eo%hLzpai zY5h(?511xd@1PS|g=tj4Ja!=Xc;KhDpRuf-l`AGt*3$3oeS+Gt{dAam-5Ml^GflBG ztWB(5sy`rbgY=_%g&pLUpwr}7P=b2a)HLvf)H?8nHCXKxtS~)bp{NVUep6IwzuKez zDD@=!Bw$nE<)Fc)DW z)qsH;%KbuZA}+}mU^ynFD>GI%ME`@yfO*n{g9PfP`}y9)_!{4*!VLm5GD=PnXEziu zj?jX+V6cLLRmfx*VR;u|LSD>usFWdtqTGev6+T=n;&K<5kz+v*imkqh$R2@mHy%$> ziVTOqw`{ry6hQ^B{2eIw2!{+*!z!)7f~kG8(d)u@L3d~=Mf_4~zBC`L^^&JLG_^&hX<+U*K5L> zQzGyM^AK4s`p{1JAzosDfi9S%Vi90!B6Nhu_)Oy4fH^#ca|wzP7)FY>!1sg@A~3!NmD&qLxmwJtgO%q|)q?Ri=EI=0tCX4Q%07-ILfIp& z3L8)*`-BZannC<4S=FMCl3g7P7B(#GadIha1Sln-U|EOZpp^d0z=1hoPgD;Kf*6s0 zl$@H8t4gTf3Mys|GgMGQrVo3{pyVB(}`R}WuTPTOx)x_H1+uBd=Hf&^2UJPVRFy|j-Bdkyq>eA7^#V4l~N!M4W0!g zYO=vNS?$Cb`rP*^o^?FBcsg&L^4g#8sjhy)w+w~YYW2h|h3EgTb?b4*RpZ^C_`ai0TJw`c@SIz1238V`1m2`(74( z@v?1Q)3;3rTtN+qp#wSuu!c~dj*Za z2M|vsvtqEIy?z(*H&b$OAfDD^AqUi6rer$FKAbfQSm;<1cp}KhtXLAWts5rp{`GV~Ju9JYnjr*d0sMUec=IT(!csfmx+E^i4bvc*2-*ThIu_uAGqK z#5c7Ur@?`NIXF^WwnqrsY0;j9J1Uzbmv`YNm_9i(d#fkBh%b0

7feI(2npxEuh#X9jO$M;cqqy8ZtJgFVVx?%-8@e6!IeiAPV z!K+!kRfEM_M1~tbVJl2VVo;!X{F~v=$h6=yfP4#f_uqZU6JS3xvJ!V8rDB+Aee8?F zN`K(2;>p;7|HWYi!+;|b{0aYyKjC=TP!it+kFx`>GcgN7NUDJAkHCr6<|*Q%(N2tf zP=ICGEV>UCFd;jIcW{}}-IxeXsR+$7WL5+uIJ8By#OC-jjxr1jZ7%aqhj0rJ?m(z; zD!hu#kBL>_B(eA_!IYd42(TEf{Yyg(A)ds@_%jZJ9~X(1h!I?ef1YN>0+CTcqq%sS z{FC8jkJAfqk=H=Tt9lw>A$Z7_;CEvv{0U!msQERPg?3W9`8is*_%<2Zt6#5VUByvY;dmx2R2XM8vI&%i?~ zgG>Z+kz>SX3h|5c8RUSyE#rL~@E^3x+$H)U2_a1(;J9x%8^LAO$A1fIp8(?4t zC&%^zX+~*#L1qF{M4z9p!8IY?2V*z+H5}K!^+-WDv;euCalJVeyx!E&n3ZmfHAunw zS3&E8U$lm**Xwr)*rc8}O+n`TFHQpHsi%UETZ2syauCIxg5ZwQa;rmKSFf#Ubp1{y zU&sObaEy_^Xdi)M(^))WIE*@-c)a3nDgm+L+vkFLrfFY6Lvh?wrQp(0(K}TOyjNf)N}O)DE6S! zrjb^wdJXT%%j(JCT>D}<+%&1)5KgUuGyu)J2W;Cgo!3}yF^#g??0qo2Ob+r{@4x`+ z<0uTCQHF7o)h;cxMxfp8~tkdH;_0Z9Wlp#tzjkhRZgGC&{MNbE z`JMB7=MT;woj*CZIe&Kk;{4UQ-MPcL6MOD}Jy4?B-Ie{=rs z{KI+F`KR-k^SJYb^Q7~X^R)Af^Q`ln^Stwd^P=;T^D_3n;{4lr)p^Z%-FX9)j-Ye` zr86j9KzSIHuAp=S1+{`bK6jywc_KTATK`xl#!sIG&&lTCqNkk3W{apK=FZs-1~S?CV(;#lu4jW24xB;Q$cwW z6y(j(B?tEfWw7T!nFh-9pu7Oei=ZIqjo{4yWhN*nd%gt9%b*}%JqMImKzS9ExuCoT z$~;i!gYr5kZ-BA@l!c(Y2@3L4Z-MeQDDQysE-3GT@;)dZfbt46cpsNmxJ;dC@VlgGW;BrRiJzU%4$%)1O*xAwV-?j$~sWigR%jXji77-ZBUs*|A9UQKE$0_Pvvztq~W;>4{g zm;a!V=99rnmV6d8QTii|*Z ztCx6NdDZI{(NTOIVm@k{W18a&@}VxLzb~ZvtD(-e=;{TMK_IXv8D{x~EK{$MY~oZe zl8L6VG{CY)T}RJQpY)^D+Om^OLfPbT@`@a8IqNu7e*lRf^U03^JA!ki2T2DOZP^%j z!s;MDlTS@kNEVq8*oF)zp9PH|IV3V@z2i8UrVKQVv>&ksljnmHEWZ&K89^Q+?b$wM zEtwpAJm`6{jdYUsljY=BcElb<8e4vM%#iDomFi`ZhXtaVnMTzcz)h$YZeaPt8WwU; zolQE{ABAe*(~jBXmtcjwK)SF)N{szCVj?@p3i6`mD9Kf~5i?mu3Wydsoz%0cLMo&q z+3S`+)pNw6{!KcwJBc2+v|d{>k_6K6WIO3<0#x~qAwlGGRP$C?j*)!(A7nK7DI;-~z3NH(KFd~iP#HlI zgFd9AE$2+*0yog_$xPCt{)^TSGRtzA^bY)6tq3i$1_W#(Yb}3U&f8~MPRkofsinfQ zg{&uiNE4DkKV&+qDafhOO`9afuyhcm*tdY zpJf|)Sy~v}QF)xKBjuI@WC7V|xfamdUPzjehL&A~(kFtaOT&pf@T%oUtJSgH{*vRA zoM!n+y~+~U@7zqL5N6*`=347=hZLAUM7v3VXr6ysr6cTvN za*&L*A0TtcCZ>_*jtOYou#qj~UDCodiFnAHM70Kz4@o~Z4imX2lPAeI%MWB18AzTA zIxVdX8f;%|IYNTf8^I0OI?G`aV%fnd*^JtNyA{&8~%d6;q@~t$5d_e9YNr8`A zcBAg%I{Apa?^s0!kW~9Y=tS}fNheRBW@A>sLZyJTCZYC2SP?i8v!)MJ&ypC^6Uwl_3^JI! zgZhmtWDFfgwvtx%KEy$OARm*qa3j}it9}(h- zoQ1{~Ax)r!gfO8g<#RAU2n6Mu7$EzA%n`-_RMkuUgxG{;38ev$`KVKucY=}#7BtE{ z1EeLGTN{QIv@@U>gvxmw19j~}-awfJEha+o|2vr5ia<}4yHL4KQ1d^|(C{ONTL?WWd)!~L%9>k+b9B}Iv))UUxIwV5D%STei%q= zw55RjyD*}N$_E{QL>ST$nut0GnNS#WTKg6X>xYcLcoEFq3_-HL5CG92fYKsCRR9(a zLh}gn#9pwVo&#rmA4rU02tj>5Dk6@6T!@w*a}Obnk%v&2w7iGUk}Uhsbpz)p7GkWZ zfz`zj3eh6dREV9HJYg&og61kPPsYa#)iLXUyo-XOuw|f`ilFu99k65pL6Pu;VTd{k zmLg&PK+6&7gz~A}Nr?{M) z8%RU2d?2KCOA{bTLcf%Q60dKM51Zo{II#@~iliuvqIJ#i$7u?d5}_j^pBY9fH0I^` zkXV|dl#0ed)a%G+fb;}&3CLYQz66$LLZgqiFY+i5517-z@-d(}5HtFI4yxGi&y9iWJKW-kkMlKpdowz3Iv6kR4^BT+z@26GT}MyD=c*8 zCLsUqJAhV0f+~esKvGbMM=9NcxSI=PyHMPqd1+IFdx8benB+r+9qz??kh==$ zTe=%9QI@-fsE)csVTnRE3vwfnTKf)xf>l6}#5_Wia9F4~gzDfPu&fmd z2{Z(vVbzQn+yrJfNC!d2?5wB|eM}hBP*1QGjhsRWg4Qv`Cahqyfs6vuSeSUtLNoX` z$csTn3A68tm@6#0YqD#KYpUx>*Hf;iUC+3lbv@^r z=6c@sg6l=sbk_{mOxG;eORkq)vt4ssuee@y&2_!zn&+DDdfoMgYk_N_>rK}p*ITZ) zUGKQwb-m|$-}Qm(L)T*0N3M@upSYH|mbyN5Epsh*edb!>TIu@SwaWE{Yqjf3*BaMa z*H^A}uJx`Bu8pouuCHC2U0Yn=xW095b$#dh-t~j)N7qlTZLXhPzqo#NZFlW(?R4#O z?RM>P?RD*QRk-%M4!91w4!I7yj<|kv{qFk1b=38z>zM1f>xAp1>y+!X>x}EH>zwPn z>w@c|>yqoT>o3<8*Wa$Iu4}IAt{a+3Giw%&Xp$ytibgf21!(oOKTyts>TBPREG)>o{v}mn?7Nf;#aaz2Vpe1SzwL7&&np^W|UM)#W z)>5=oElo?;GPF!BOUu?8YdKo3mZ#-w1zMq2q!nu=TB%m1m1|A3rdl(txptR!x7I>y zsokU9tKFyFuRWkWsI}5sYi+c)T089_t-aPk>!@|oI%{3DhqbO+H?6zYL+h#a(t2xs zw7%LS+M`-Ot-m%v8>kJ^9@7SEL$smVFzs<|xHdu?sg2S`Yfornw6WSa&8LAjUYnpz z)Fx?@wJF+E?Mdw^?P={9?OE+PZJPGH_Ja1JHeH*c&D3UTFKI7pv$Z+eE845tTV)qXzyz8Y42+vXdh~ewU4xqwNJDq+EVRPZJD-Q`%GJ* zt<*l(R%u^otF&Zs;c6tXp)VOS-HpI@QrBMX#p^>UZe% z^&mZ1S9Pw3=vLjP+x1Z0p@-?=x>JwPBXyUq>AD`JN9zsr7(G^x)8q97JyCC{->Em! z-MUBj>PdRCo}#DfX?nVzp=at@dba$$o}=gLd3wHHpcm>zda+)jm+EDDx!y!?syEY{ z>v!pQ>n-$_`aSx+`hEKS`UCoddMmxP-bQb$x6>ce+v^?lj(R7(v))C2SnsNL)4S_E z^qzVzy|>;+@2fweKdSfB`|AVrf%+i*F@3N;L?5aT(;wG|>m&4$`Y3(0{)9e8AFGek zeLCpl^$Ge!eUd&|pQ2CIpVXhypVptzpVgn!r|Hk@FX%7o)AbqpOnsLAlK!$jTc4x9 zqQ9!o)nC)+>GSp1^*8hdI_mY1RYMkS7bv?y*#pX6Q1*dR0m^<*@S-~i3cdq}K|wa~ zH&A{DPe4qtD3xO5^Ee2Wwv=nF=&~l(n zfHno%3}|zpcLBW{XbYe%f!+i3UZD2@y&vcUKpzC!3TSJfZGg4~+79SLK-&ZD0JI~} zPCz>Y?E>^+pk0A>1KJ&E51>7P_5#`)Xdj?`fj$ECQK0>R_6Iru=s=)@fIbFvFwh}D zhXNf2^l_lWfsOz=66h$Pqk%pFbPUk3K*s^~0R^DrfldHA5$GhKlYveFIu+=XK%WBo zG|*>&J`40Ypwoap5A+3~F9MwobOz9wKxYAc3Fyl}X9JxB^cA450-X!=HK6l=&IkHB z&^LfC0J;$9n?M%953!tlkehG99(6vCn0=f?9dY~JCZUnjs=+{6u1Kk4j8=&6;-3s(O zpx*=i0qBoFe*(G<=+8iZ0s1S@?Lc<`-3fFT(A_}y0No38AJ7V*`+*(+dJyO#pof7T z0s0%z-+}%C^eE6jfgS^T9Owz4CxM;2 zRiM{^UI%&umo#z@mUf18V>*23RbxIAHO>5`ZNFYY6O4V2yyefq8&= zfh7S;29^RW6<8XubYL04GJ$0Q%LdjMSPrmUV0pmuffWEN1XcvB7+49gQeb7k%7HZj z))ZJXV9kNu1?+BMEr7KIb`P+7f!zn}eqav(dk|PFV6B0*0oE2+J75n1YY(ggu#Uhw z0qYE`3$TZQbp_T9Sa)DOfb|5{3s`SpeSq}^_6V>?f%OB{AJ_n31Az?!_873iz=i-D z3Tzm#$AJw8HUij4V55MI2KEH7F~G(G8wbn>41kRXHUZc~V3UAN1~vuQRA5g6L!kn3 z_%yI*fISQBIbhR(JrC>!U@roj4r~UnnZRZNdkNUfz-9xR1MC%GuL7G3>@{HXfXxT? zI0ecJB+rZud_AapZfV~gw17IHlTMX^hf1lST_OM!g~Y#FfS zz&-=E0@zAmp95P3>>FU;0^17g zJ7C`f`vKUGz`!3FfE@>R0@z7lr+}RXb_Up4VCR6H2Zm2TJ5H~18B-km$fXoc z7jbhaXDc|veAdUgRLbc!PET|4D3_k$7RKo*E@@oJ#H`p`xkcvm45x2#7RxQkoW9DH z2f0+nnTInpRR6+h2XzBip5^kND*E&et8=QT{>2WR}GX|pdly}{)(TpGlsJ2~me$*z9xYC--XsCZe?Z|0+PPcM4k4s+8 z64W@(k~vG~>|JhYz}YMwKscGsrB^t6ohvVMc{i8Fa7pC>?YO0YQv?RP`nZCdlgK5+ z#5&F*)fc!Wp401GKF{e-oE+lHWX`hH!<=p83>(Q@dYj9aI6cqVcCMV`tUf0(TpG+- z5l6DJG~&us)ury|$}8NA=qus@7B0=;%YUfPbNM1yaO`I2 zJiyr&F8{?P;FbVRFK{wT{euUz;YuNwW^t-==~ZsY<;oPUlyNDVGo(o*3fz(c&U8-F zxw4S6tDNEZz|Zt@LoJ!2)+@f&uhkA?812^Bp75x1L%t+7KHgz&r zkc$825~Aic^?puHaAhl}^VDNp*~BeL>YrR%z}Y=q3gYHC%nMESa@vlwyE#3_>4)k! zob2WdDFzpcleXdLf;&*fa2&Kcg+Gr4?_Gdu%PTqCC&oW*_^fFN;kC`XKOgS#@SLefh$jQrIX>06#a#1>io(mujn;l zkIb)9Y(%fC`T<=uqc=uxdLw$1DHkn+%}eg>_6TNX6veMh%oJ{lF}Y1CrW{iX)BUD4 zrXHqVA)P~dge(qOi|HOug

Jm})TDns2?&+Sc0BI>ZXrSFCSYKec{|nZGt$zqNjE z{mJ@^b%%Agb)R*=^^o<5^$+VY>q+Zr>sjjs>m{4Xc84v2+FRMX+8@R6`tkPX>~GdhDxFJLqkGsp`Os}(7Qq(4(${ANNB&% z0ilCJ2Zs&~of9B=i8^X4R{Svl63>|C3ZiL?v9u%&I zhlE?h?cvUFJ=`6h8=fCt7+xISJpBIf_TgQ_hlWoLe<6HM_@eM7;j6;ehW`+LBK%bN znecPr=ff|B{}ukXGsJnfvy*d>b1eGK%tAk(mFT6j3q5PjqF2pD^r*Rl-Za-EXhc9n zV1ybG65)sli)a{;9FY}K6j2`0G@^M#i-?CJx<&Mk7!WZ!Vob!i2#A;&@kYeLh(!@^ zN34uk7qKDYyNI0;zeSvnG)LBpv`1=@iIM4%_eVY$**daqWV^@?k)0yDL=KDmF!H0w zPa>B_E{psua%JR~k!vG2Mt&XnOXT**osqjE&qm&GnO(#syPU2VSDdTFRpx5qYUXP0 zy4%&#)dRI?^H77f0JUdtq2}y8)S9hEZP*6Xgl$HB*ACQm?LiIKNz`MVMIF|4)I7OR z>m+nev8Zp#L#@tm)aZ;xZO%B<Q}a+Hsv_# zL{1y}kPF%+)NnLGeZyU-Yq$sX3=g1=p$%#hdZHGgFKP?MqfTHl>H}UxX@9Q1QeUO7 z*4OB3^>z9NeNU7<$`KVF6%pl%(xalIVxr=rQlrwNGNZDi?uqIU)hVh=RM)6sQDdWg zQFEi_MZF%iAZlUMqNul{)=@HXEW?+mjW_--VnCD_%ikTntLCltzZ)3iT`61@Vm~An? z#GHtYk4=odGu9pJiOq~Hj4h5WiM>0vWo(<+uCZfdeX-+XC&o^Sof7+G?EKiBvAbjU z##Y20h&>d0B=+~%qp=rbFUMYqy&7kWi;jzli;GK$%a3ak*DS7QT<^HPagWCJiyII( zC~i{R>bNy=U&XDD+ZgwC+?Kd+eG;%)J+cs)KZz97CR zz9hahzC6BZ{KN4OKOufn{FL}7G539bY^!JXhuNKQyiC`f3U&^)16LZ5_368a_dPZ*f+Si;nVwF&DIHY99H z*qrc9!q$ZE6MjtCm#{zKV8Y>qQwf(7t|U4V!xJMCU5Q#^RAPg~#)*RyhbBIrI3jUW z;uDEu6Mc!}6Q?D?;HKtXj`LS8f|a1v(fHGdmB|WI?(7) zqa%&}XmqU6$wp@yoo{rh(UnHm+$J}1EA9aI9qwRvh}-TCb4R!}ceFd!o#4LH?Qti& z)7+Wv#_l|Kp}WLg?r!G3+kKDwes?Q(TX%bRC-=kd?(SahzV3eRf$qWXVeS#`(eANs za8GnkaX;mL*8RMDx_g#;w)<80Jog*!H{EZ$-*bQH{@A_Lz1+Rh{e^ptd!2iud$apn z_xJ9f+`qVYxOcnvxevGxyMK58=|15;?LOze=>E%n)qTTb@yH(L3G@VcxX0#kc$^-W zC(0A!iT5=0xIIapR8NK{+mq`l@DzK>JWV}!d0Kkz^E~Kj<9W!_(bL7#&C}D<$MdLX zfafvKP|tABD9;#=&ojX@+4H358P7D&i=LUDmp!j|Uh}-}S?GDo^RDLu&qtmmo@JgD zo>iVNJzse?c)s?0qvvPOcF!))UeA8dA z-g@5pUe#;$hI+%jkzU=~z#HdH^fvN(y(!*wZO&x?%E)2TfAGnKX|u!fA#M4?(tT54|!jmGBTuB8<Z;T)Q@={xl)5?fr_>#(yHbBoJ(_wf^+Z}wnwl1pW=jiA3rlmR zMWr=JYm}CnmY!CeR+?6x)-u z(^jXgN&6~oecHyfuhX`q{gAdZZGYOqv{Pwk($1w_NDoa9OLwM6rfca@=?&67=}GC? z>80uA>21>6rMFM-nBFrGJ*bGJRG0hV)<4cckx1 z-;=&C{YHj4gJj4VG$SA*Fe5A@B16lF&WO)Q%t*;d%gD$m&S;v^E~9-$$BfPy4`)Ee zgp5fUQ!<{+csk?Rj2RiTGG5DAobhqSl8jF?mS^n9*p;y-V_(MpjDs16Gmd4P$heTH zWU|b9nRjFcWhP~&WTs_iWM*YH&dkj$%WRt2GP85$!%bBlazMlC>=F-gNnJY3^W$w+a$UK;NIP>?+qnXDtuVvoIlCwgy!m}c?w5+JC z=2@+?x@Gmx8lLrJ)-zetvR=%Zne}qkoUFN7^RpIY{gAaU>yNCnSy!{=Y?d9E9hA+p zt=Xa3Vc8McT6T1HY<5z1S$2!;w%L8Nhh&e)9-Tcl8?t9*FUBb6vR&b2D>` za$Dx!m-|3&>)cMcy>cJT9g#aO7jmDI?R$k-0+`J}vZS&gab;|3K*ER2vyncBD^G4@Q&U-0uPTt(Sd3mqrt{k`QH5G{L=hZ`EBwa%I}chDZgL- znEY}1dx4`Mydb6^y&$uoaY1fDe!<-Z9Sb@abS>y!(6eA*fv;df!Q_Ie1y2>cSMXuM z#|29YmKA(fu(DuN!Ipxp1wRz*EvP6sS#YD!QYaVF!hpg%3q6I&g{g%Zg;|A-3-2y$ zS=gblU*Ukl#|noO4lDE(zEC*5a8}{Vg>wquE?iN#s_@IgwT0^n4;TJcc(m|X;mN|& zg=Y)@F1%Jmi^7VWMXn;fD7q-EsH~_-QS+j^i&_?SDC$=Q?$A0yP_Y8b{3s3I#+bD=&z!yMK_8q#d0w#4lE8T=Ec_H z^x~}IoZ`IV!s6oM(&GDyA1EGD{CM%m;?c!pi+#o8i(e|9UHnz?_r-gQ_ZJ^5K3sgH z`1j(Y#m9<|m((v&OROdKlCTnINn}ZUNn*+UB^^q7l=Lonq@;hzz>>#GhLj8|8By|V z$*U#rl)PWExa5h5lFKDmO0Je%E4fi>E+wT>si!o#G_5qVG`lpX zG_SOvw79foY5USnr4N^OFYQ-4uykFcEnN!Ub?GvPwBqW ziqZq6hf0r>{#HiI>Xp?m3oZ*Ovz3LGH7sjXmQmKEta(|BvU|$zD}%C$WmC$YDtor< z`LgL{v&vp6n_D)&?DMkqWn0UBE!$CcwCs4<$+9zL=gY2@Tgv5fR$i|>tGu+lMR~jO zUgdqu`;`wYA6!1Hd_?)^@-gMU@(JaW%cqskDxY2cYWckK*UR56|DgP%@=wY)m;YM6 zvwTnaq4MM97n+!w#5GB7(zr=plfoutO`0~jt4Yfy_ciI$WLT5`UrlHI*M#DLYrE^% zf!G~Kj~)~|fw9pIqhTWlV=!7eM|a2QF~;a{1-gx~QR-T8-HM{vdhYjg@8`ZhyzgJ} zKF<@QETa-5q7mI_(rC(P*65`X$B1t@nGAa>>NdjxB+vwA5^54=5^Iub(qV!%!I|JqdQApQhE1NDkW45h<0e#-2@|Htw8@;wD-*5> z-{gnMFO&ZO%K@tZYXIv2I{>=?cL4VQ4*-t)1#)xO;4GgF+FE`#q?iO zds9bK7gJYL4^uBwAJb6NFw<(&TGM*dMpLwDvuUeoyJ?5%3)5GoTvLJRYtwmCk*UN~ zZu-vjhv{$NGT=(!Cg5h^R^WBu4d89yJ>Uc2BcKt`1PBCL0o{O}Kp!9!7z%^~5x^Q? z9k3DD3~U9q12I4>up2l8d=8`oCxKHy4v-7v1C_vUz#qWh!2dwYK^s6@L4SevgHC`> zfzE)=fi8gl23-c-1c5*nAZw5<$R6Ykf`I%%L7*^DET{rh4XOh*f|@~XAPlGrga`G3 z20XI5+0VAf>TV%BbkF~gdTni0(8W-2p{na=E;*@D?evrlH9&3Bpa zH9uf}(EPCZQS;;Gf16)6w>GykcQki42b;T@dzc5C=b0CpmzbBCSDIIw*P6GQx0}zI zzcS~T^UV3?Li0D~Z_Py(>n%1}Y_-^KvD0F=#a@g376&cPSQuCsTHLa@YhhvmumDEbta17NZsf3%P~LLTmBf;)BJa#b=8z7T+z` zSnjagZMn}<&+>%jNz2ogR+hGw4wlZAU`sbk4@)mgUrV^<6U!vaRLcy@0?R_nVoQQ0 z*>c>HYDu?bSTZfAEN3kxmJ61PmP?l3td?7?uv%rc)#|X-QL7VHr>xFcU9vK?vbS=y zazO zI^Vj`y4bqHy2|>QHPxDK&9I)dW?4^L&sxt}FIs=L{%ZZ*`j_<|n`JiZZ8qARx4CF@ z+2)Fkfz5TB8#a$@jBKDb{x(52FdMiH!Y0Bd!6wNDV}rH9+2Cz@Z2D{lY=&%xZTL1q zn|T|NjnqbNqqI@mZn52FyWMuD?QYw>w)<@l*q*gDur;;?*n(`$ZLMs5ZIQOowsE#k zY!hwEY};%xwq3T}wmr7bZP~UwTcPb6+qZVh>{i&Vwp(kr!ETe?7Q2IXhwRSU-L$)H zchByD-D5jPJAb<%yAV6L9l|cduEMU`uFkH(4sF+CH*WXbj&8@WW7^HxN$g~HN;|ck z*6x?xAN%F@EA3a?Z?ivQf6V@*{b~EN_W#-&*#qoB_U87M_QCd{_6U2VeWZP~eVl!+ zeSv+EeW`tgeUJSMd$v8#UT8mWFSeK3s~ij+%pI&8Y#rG2gMsvDC4`vD&fLanw=i_{(Xx(=8`Qrx2%9r!1!& zr+lX(r#2^y6V|EQsn?0@H0Jc&iS9J(^ukH#H18yKk~*()UhBNUd6V;2=k3nBocB2I zb3W;O&iSJAWoH9tL+4x0cb!4bHqQ3WPR?LwZ)b?JzjKgth;y8Cx^ua6m2<6gy>p{8 z$$8BAxij5)!g~(Q>33hqnlH`)=lJ1h}(&EzY(&>V8 z>2~RH>33m)mxEV<*Mc{IH-oo9_j+FPyzlwQ)7TT>3G{UL{GVvUGr}{{GsY9;nde#P zS?pQr+2%Ry`P7r-N%4H<`O1^)De!#lIq#|S{Oz^OYo*s}ueDygyiR(Z@jCBy(d&}e zLoZt|2QOzYu$P-xs8^C#s#k_rmKVya+^gNI(+lT?_v-Z`d(C>i^x}B&yaZlKuWw#I zz5aMF^IqY-*<0WHi1%^tlisJj0p1{Q3vVlLTW@=BNALfMB)kK?Vct>RvECWp72eg} zb>0o$Xzyp8Z=dg=?}+bHU!pJBcg**>?@M2iuhduJtM*;={p7m@Sqa$**#p@R(Sztijzca$ z?m+HC9zl#DrVulTCBz0|4{?MfK~f>^3k+!htMDskV(iC zP2GHx!n^0q@Ez|+(40VMpm-<|N`XFu(x6P}E2tc*f@-1fp&y~2p+W&^Xw?D++&p*IF&_CEe#2@Y-=3nez=3nVw z?O*F(@89U(@6Yz<`3wEu_`mfR`%C?`{!0OC0@ep?3fK~`E#P3l#emBJR|5cFhCjbE#ODM z?|}aTR|IYiJREp5@I>ILz_WqZ0!;#ef#!jhf!2Y(fylt9$O+^Jz7CuZ6a}gSe+2#xS{Ae-XjRbWApM{tLC1qm2AvMN6J!x&6=WM^ALJC| z6@&tg7t$h1>X;T7;F@55)2G>3JwSk3JwW|2Zslz1!n|j2j>Lm2R8(xgIj{zf-%8Q zgNebE;PGH;FejKF{5p6(SQNYnTM1hOTMyd^+YCDly9~Puy9P6a-Gl*P&M;S)2h0oR z14F_xU|FynSRSkphK9Ak+F=+N7B&K#giXO_VJ~2>U~gd`V4q-LVBcUrLe_@t4LJ~^ zA96V4Xvo!&#~~&mz!0+#ixAfkSO`2MJOmjM6_OfK8d4Eb9a0-oAJQ2@2qA}zhdd9V zg}e%php0ldA@4#KLYIeb58WBMCv;z^Ug+h}2ceHcO+rmWL7|?ZVgI8LM}@|O#)W2v zR)*Gu)`vERHidSFQbNZ=siE}H$9%dP46J{6Y7#1BC7nTr~ z6qXW}7M2lK5mpse8&)5N4to|x3uA;a!=}P!!sfyxVe&9lm?lgY_7$-Xu@SKau??{u zaS(A4aT#$HVSu=fFh)2cTo7&u4}=#Y81V#=gh)lCBQg=ih-O49q65*1z#+(paRe1X zM=%gC5i*1Vp+;yC?+`!2H->Kx-xj_-d}sKv@T=hl;fCQi!*7QJ!kxpx;qL$An|p^x zhG&Lnhv$aphZlyohmV9m4JU~)VH4pK0g3RB2#g4hh>FOHKt<$56hst7)JEVU@DY6x0}(?J z6A_aUQxP)}a}kmVS%fk|9iff*74ZkT9Jvy?8o3*}52=ULM;=C=Kwd=NM&3g{L>eIh zND$HjX^pf+#v>Dv$;eb>8ZrZ!g+w89kORnJ5I`VAfy-2G_+en8S+`yYAot`6g`R&H68Ub>P^)9sE<*f zqrOCakKP@Ri>-{Uimi$5h#ie3#!_O(W2v!{Sb3}}RvW8} zeINTVZe84&xbty;$NdxcZ`}2`8*vZfEaE)kyyGBoesO_unQ^GNytu-+qPUW{^0@Z6 z&bY2Pd|Y1~D}H(Ws`$0>8{#*|Z;Rg^zcc8q^(JNla3_)ope3v zcGA71he?lw*-52I=%k(`LJ~b`GHEL5MG`kjkR(i+Pm(4nl2<0LNnW44DS1os zU&*_ZPbHsEzLfTpN?S@#3Mu7T3N>Xq!Wre+JIxQ|OAuTyAEiEIhE^RoCoc20xK24k^OH-t&(w5R! zrms%llD;SXVEW1Q%js9suchBezny+B{Xse~-8|hY-6lOSJuy8cJv}`$Jv+TAeIlKi zKAk?7{wkfD{yP0_`nQaO8HY2DWt_}7lW{)da>msRP=;NGV}?tHYX%}CC!;9?mobt- z&){VUGv+fy8Pd#EnQJpQWNymblDRE&d*-Q3gG|HBo0+#V?`A&8G|TkMjLwY9Ovp^i zOwBCMY|re>#AV_$`!b(qvNC5fUu3?@1M1fK6C{L6R3W^Fvb)s;n9#lVS2sMf#q9~|mC>n}^VxeYGFHme04<$s+ zqr@l~N{P~--l0CAKB2y#zN3Dj{>xdOqn~pm=XlPkoYOgHb1vjO&UuoPn3Ix|o|Bc6 zlarrQm{XinmD84k$-(B}a+o>OIdeI$a@aZC96`>f-1E5?b1&y!&Apa;BlmXh-Q4@R zCb_=3ez}3Uu-uSbcy4%ZPA)ZZm}&U>3D$&=?P z^K|*^^Ec&h&EKBCBY#)^-u%DwE%R;i?em@T!TIj_p80i+pxIFJGAdCSO*tykJ$q+JX%Q8w)lUY%4fZ;8oyL04)e82rLLLfE7d*L>H75 zR2I|})E6`qpbJ_Ghz0Wn;sRNLvOrVtu3({Hv2bhQ_QG9-dkgm!9w^i=G$?c^bS`u) z^eFT$gcSM}1{G!%<`m`^78Mp3mKIhN_7rLgb%hIsi-n&GmkPfW{#UfTNWbVv(ea{F zMW>6-7F{SZDoQ9yDoQQND9S9#EsP#H0jR;$4zjl2MXfl3P+xQe0A6 zQc*HcGFE6-kJmESFYQ2w~wxZJcHS{_gyTpn5uFGrLk%k#@8$|uXG%4f^x%3qehDt}Y{w)|K5 ze-$e#R#&X4SXZ&J;#kF_3gZgX3bP8!3Y!YM3df3wil~a%iYFBb6-gDT6*U#a3QEPZ z3R(rDf>kkH@uFg(VzFYW;#k?HdJk{I$7mj&|6<3v2RaVth)mAlBHB}L-H&yFbU#h-SZBy-A?N<%2Mpj2x$5lV6POMI; zPOnB)=Tzrc7gd*5msM9(cT{&)cU2Eo4_Aw;)z!M{h3b#hpQ^u9f2;mc{kvvE&E}eI zH9KmK))>^>tud_u)!5a<)g;s;*QC{C)}U(gY6@#gYRYS>YHDj5YMN?VYdUJMHQhD6 zHT^aGn%6aNYs59u8byt&MpN^yX0dip?f%+>wTEht)E=)rS$n$nTSS_NqqPDuWuC}2TUE5OIR@+gFt?jMl)(UFh)V{41*UD-YwW?Ze?dQ6E zb$WG&>W zuj{QFs3X_O>XdbwI$hoSx{r0A>Xz!h)%~tNT7RPcbp6@-^Ywq%U#`DWZ%}`$-m~7P z9$N2TA6O5o53LWYkEoBXud8pYZ?12xZ?EsH@2c;v@2wxHpRX6!%jy;Ns(NkxyZVLt z#rm%edJTsfjy4=`IN5Nf;atOohD!}s8=M-z4ekw|4c-lq2ET@YhTw*0(&H(qai+-TDn&=}kJ zq%o;6r7^v+x)Iyh-PqgM-#FAb(a3C^Zk%m=*(hsNHfkDmjSJ{y=#}U-=ym9gXg%~H z^ilM2^eOap^iA{~^gZ-Lv@O~J?TiMa-O-_F1R9BsLdT+W(D~>hbP2i~-Hz@=swdH%u&(;mC2U_)8kF*|ZJ=uD#^+xOM z*1N6uTP<5XTYXxgt^Tcntud{r*1Xoj*5cN(R&}ecb)ofJ>-W}Qt$*5| z^V^HsOWVuaDeceNY3GqlS7wzo!#rCE4Z|y(Z|8y+xSktkiV^_yN9alT9b=>H< z-Ep_WuOqMn)`93ic0_i>bi{X5b<}n=bToCec64;$JEl5jI$m_JJ9r%e%u37}%zDfg z%nriiyKiVrnq;7&N8@(}uxfh!_gy z8HS3Pz{oKwj281Avw&H|e8zn3+}U}!^H}G}&eNUeIxlu!?lkH2?+oe;>4bNNcSd$b zccyd}bvAXjc6M}jcH%mjoztCjov%9CoxDy#=bO$i*aO&u*u&Uk*b~^(*fZF3*c(_N z)*NevwZYnBJ+N?WI5rX+jg7-*Vk@yV*m`Uuwi(-teTJoB8CWKE8mq;=$9}|q#x7yM zVSi%(bnWi)?DFY?b_H|=b%k_=cSUqXb;Wi)=}PFz?8@#M>Kg4Lc9FZrx}JB@x+c1q zUA!(~*L;__OWF0IYq9GmZUt^NZXIqTZZpmRXNbFnyMw!jdx(3CGsc*jo=74KJGQ{Elz@y;^a70_p)xo?wj3ry6<;C>Nf5+ z?FMz5ce`{4b%%6^b%%FHcIR~0b~ki4b+>f4cMo*ax*6T9?&U_ zJ;ptN9@Cz{9#{{&2hkJJ6WJ5plh)JP)6s+N!S&#KdVBhNCVJF8x}Jrek3FAymU_PS zZtgYcHSE3Fd%O2e@4em!y^ney_riMNy@=k3USw}nZ%l7oZ+vfSZ$~e-x4XBex371g zcc^!?m)<+sJJmbe%kLHRzV21_e(U|&`=@VN-^#w7eS7-$_v!T=>O0qWtM6{#gT6<7 z#(nmE(7u4a;J%Q)u)dVO^uDYl!F-@4zYKcYXXKej)I% z+X06GrvdN)Vjy)OeIRQ9HIO$@Gtf2AJhMx^nhbM;l!@}YDVbQR3`2FyI zBg;otjjS12KeB7&c{xy1N^wQ{+QG?Ozqc=tYqt2t?QTI{L zQJ>MU(O3eCkV_~a6cfq_m4q5XJpoN~7$Fb{WWqRsN|+!p3Dbl* z!YcxoARxRUhzL@Gf}keo2n&Qo!V=*d;V0n_aT#$XaSd@jaU*dH@h{>I;%?$Tq8{-O z@d)ua@f7ha@jUTw;y=WHiPwoYh_{LNh!2TIL;w*)v>;j&?T8LUXQC_7gXm3!5dDdP zL>LiH3@1hsqlt0E1Y$BVjhIP95%Y+J#1djTv5HtrY#=rfTZ!$&PGT1kPwXQO5=V$n zi6r6}@i~!BoFq;WXNWI|Y$A^+Aig1rh!Ucls3K~K?};CYpNL3$`3#3b=D)9^dEUSc@=prc|Ca(c`JE4c^7#v`2bm;e3*Qce1d$6e3pEHe2IL8Y(O?7-y+{3 z-zPsJ81UL&*p-k{nG&lUvAbWDFTg#*y*l zUh)8$MrM#%+vEH%%vB9z7v5_&!m~2cjrW#X^X~*7;EsT8_-#30>{NVVZ@x$Xs$B&Pn z96vRFb=-B_W88ZjGVV7XFdj4x8;6fqjn|IXkE6$%$6LqS$1&qwDTEu>38V&=nv_S=_Yg_-JEVkx24=)v?5I-HK6Bk57}So#xs5b=(DUd8^dfo*y_{Y}ucbH8 zo9M0db~=WRrFYYN=>zm(`Y4@1C(*~~&*(HdgU+N+(`V@~=^Q$r{+j-lE}?5DWE08> z^@MI>VPbJ&Y2w?&&xt>b<&0H~wT$(QO^mIK?TlTFy^I44ea2zNF~&*88OC|WMaE^u zRmL@jA>$U~4&y%K5yO~a$}nSCGHe)j3&pMJnK90I&Y&|U87#&O z;{}7w;4y@ZHw+O&%1|)W3>{;EvB+3rd}aJ#{GMDkxpH#NHlOdF;>(}@XYx--3) zzDz%6AQQ%fGsBsY%ot`oGm)9XOlM{>bC~(eB4#PGf?3V1V>U9InQcrAvx|vm_Av*U zBTNF5%p7M@nG;MVbDBBFe8uE41{$&1PEoZG_tz~Us zZDws_?O^R@?PKY&4zZ51POwh1&ap1CF0-z(uCZ>gZnN&O9dU?4H@x`4eTa%E4zb@Wp}fC*!}Dw_9&akrm)A^&)IbLB%8&aVZUIr**vz8 zJ=E*w{m2gjQO;rMfcI3b)cP6Q{4 z6U%wRN#dk((m7e298Nx`h*Qd`;8b(!IE|cUP8$cq>EhryeVjqg2#3HSbH+JT&IE_a zndZ!KUU9e_0p|@z#F26o95qMBdC&RC`ONvs`N8?kUB+F>UBg|^-NfC>-Ok;`-OD|| z)#o1J9^;RkC1Z2UufGU^}Fa^_s zIl(IdS0E6)5r_m*fkL1bXa(;D9|fNUUj;t|zlF<$D}`%>>xG+yTZDfJcMA6i_X`gS z4-1b8PYTZn&kO$+{v-TXcwKl?ct?0&_(*6hG!>c&Erm8hd!dsMEOZxo34Mir!ayNR z2p1xRNMW=vPM9D}7N!X^g(zXJus~QWEEQG=tA%yKMq#tCP1qsC3cH29!l!S4iG8b8i zY()+tXOXMOL*y-ji2OxCq7YG-C_)q^iWNN(C5ci+8KP`auBbp%EGiRKifTmlBDAPQ z)Gq22;Y2;6e$kLZ z{Sy5rULjsBUMJot-Xi`>yi>eKykC4!d{}%;d{TTyd|v#w_#g4V;_Kp@;ydE|;zwd* zv8mWhY$>)8+l!sVV6nT{OYAH569*`BNmCJVue^O)`=Iy zi{d5mH}OyLAIWmbD#=>O2FYg0HpvdjZpl80p5&0^sN{s?wB(%RqU5sVs^psFhUB*7 zp5&p#NCJ?6Bo-2DiJinz;v#XAcuIUEP)UF!SQ08hNRX0fNt`4>k}OG+WJ*wyJV~LX zL{cuPlGI8XBu$c5Nrwb0>6Y|L1|-9hrxKE6O!8bpmrP2gB(sv25{`r~c`bP>kx1kc zl|(CfFZn3>Ecq(=A^9y`CS56ABV8}uB;6|AF5M;FD?K39mmZNGm!6WIm0plul3tM- zNDZa8q<5tcq>rU0QlQjaY9+OmI!K+Ru2K)Fw-h4vmj+2gq+!wsX_Pcp`b3%}O_gRy zv!%Jx0%@_dOj;?ek=9Gm(iUmEv{Qm`bqjl`d#`<`k!otY_;rv$~)N>*vV*e2vSYH7vNN*t zvcF~j$o`dGm)(@zk=>U)k{QcPWo9x7mW|7(vI!YeHZ7Zz zy^?Wd0@)jxNG6pjWNMjCwjf)SEy=#ge#-vHm&;el*UC4@H_NxlcgT0k_sR9-hvY}) zC*-H)=j0dVm*rRG*W@?kx8?Wb59LO3fE*;ZkXy^`gM3F2!EO z0foNeh~l{7l;W)7g5r|mio!r)sJNxLt9YPztT0gk73K;ng{{It;jC~~cqqIT5QV=Y zND-n4Q$#4D6tRjYiX=sq%35WEvPs#h>`-Er z-O66&fO1&*R7q4)l+TnjB}2(l&M03f*-D;LsGL`dl`^GLsaEQg3(7_1lJcAKr}B?# zxoVYat!jg6vuc}ahibQKpGr@quR5YSt~#YUtGb~2TlJ6XU)6QhP1POMebpnCvC33s zrm|GosO(ivDzM63<)!jf`Kba`Fcn-Cu0pD!RdK2WRkA8gm8n9ha#aPYVpW-{QdOg> zSD{rcs&-YU3a9E(^{a+dqbh=mq#9E_SJ73Iswvg1>ZOXK;;V$Jd6iftQz=wxl}@#w zT2w8mzNvny{-~F$SE<*i*Q+V?WXor`>3Jn0CliBREXT8#u`(NnZ{CMt+CTMYMeE$8V`-P2BPuP1ZrR!xF%c^sfpIa zX%aNanlw$O2Bpc>6ljVyWtvJ&jiz3M*0gBaHJuuqrbpAS8Pbeuh#HFKnTDoeXjqyV z%?k}%!_x>g^BS>6rcr7%ns=H7&7x*W^G)+p^GCZ}yGpxOyFt5IyG^@8yIZ?YtEWAr zJ*qvSJ*_>by{NsUy`nYH8ftH8?`rRBA8C!X04+#sp|#f9X&tpLT34-y)>{kF`fG!< zAzHXLTpOv4(Z*{NwJF+kZI(7io3Aa>mTD`s)!I63qqbSwrp0KxwB6cXZNGL%JE|pW zDcWaRnwFtuX=k)Aw6C;Wtw8%mE7D4}3awhJ(=KQiwM*J>+Mn7#y5+i6y0y9uy3M+6 zx*fXRx_vr5-67pk-3i@k-8tPw-DTZXoq^6!cT0Cy_dxepXQBh@%ym{eTb+Z>Ne9-s z>pXQnI;bu{7o-c(h3R5-ak?kE3|*!Ur7O{u>MC@Ny4Gd?H!D{BzdbVX|Mvg4Zs7j_ DU?Q}{ literal 77413 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

r`Ig^}2 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 diff --git a/extras/MacOSX/vlc.pbproj/project.pbxproj b/extras/MacOSX/vlc.pbproj/project.pbxproj index 043671c66f..30777a619b 100644 --- a/extras/MacOSX/vlc.pbproj/project.pbxproj +++ b/extras/MacOSX/vlc.pbproj/project.pbxproj @@ -826,6 +826,7 @@ DCA693C30789DF8700139EC6, DCFCCDB9085CE18F001E36AF, DC7F46ED08A183FC0027DB24, + DCE7BD0508A56C8B007B10AE, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -910,6 +911,8 @@ DC769AB7085DF0DB001A838D, DC7F46F008A187F60027DB24, DC7F46F108A187F60027DB24, + DCE7BD0708A5724D007B10AE, + DCE7BD0608A5724D007B10AE, ); isa = PBXGroup; name = Classes; @@ -2291,6 +2294,48 @@ settings = { }; }; + DCE7BD0308A56C8B007B10AE = { + children = ( + DCE7BD0408A56C8B007B10AE, + ); + isa = PBXVariantGroup; + name = Bookmarks.nib; + path = ""; + refType = 4; + sourceTree = ""; + }; + DCE7BD0408A56C8B007B10AE = { + isa = PBXFileReference; + lastKnownFileType = wrapper.nib; + name = English; + path = Resources/English.lproj/Bookmarks.nib; + refType = 4; + sourceTree = ""; + }; + DCE7BD0508A56C8B007B10AE = { + fileRef = DCE7BD0308A56C8B007B10AE; + isa = PBXBuildFile; + settings = { + }; + }; + DCE7BD0608A5724D007B10AE = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + name = bookmarks.m; + path = ../../modules/gui/macosx/bookmarks.m; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + DCE7BD0708A5724D007B10AE = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = bookmarks.h; + path = ../../modules/gui/macosx/bookmarks.h; + refType = 2; + sourceTree = SOURCE_ROOT; + }; DCF358B9077F10BA007DB450 = { children = ( DCF358BA077F10BA007DB450, @@ -2323,6 +2368,7 @@ DCA693C10789DF8700139EC6, DCFCCDB7085CE18F001E36AF, DC7F46EB08A183FC0027DB24, + DCE7BD0308A56C8B007B10AE, ); isa = PBXGroup; name = nibs; diff --git a/modules/gui/macosx/Modules.am b/modules/gui/macosx/Modules.am index f6d98fb710..79c60f666a 100644 --- a/modules/gui/macosx/Modules.am +++ b/modules/gui/macosx/Modules.am @@ -32,5 +32,7 @@ SOURCES_macosx = \ wizard.m \ extended.h \ extended.m \ + bookmarks.h \ + bookmarks.m \ $(NULL) diff --git a/modules/gui/macosx/bookmarks.h b/modules/gui/macosx/bookmarks.h new file mode 100644 index 0000000000..74e66bdf98 --- /dev/null +++ b/modules/gui/macosx/bookmarks.h @@ -0,0 +1,67 @@ +/***************************************************************************** + * bookmarks.h: MacOS X Bookmarks window + ***************************************************************************** + * Copyright (C) 2005 the VideoLAN team + * $Id$ + * + * Authors: Felix KŸhne + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + *****************************************************************************/ + +#import +#import + +@interface VLCBookmarks : NSObject +{ + /* main window */ + IBOutlet id o_bookmarks_window; + IBOutlet id o_btn_add; + IBOutlet id o_btn_clear; + IBOutlet id o_btn_edit; + IBOutlet id o_btn_extract; + IBOutlet id o_btn_rm; + IBOutlet id o_tbl_dataTable; + + /* edit window */ + IBOutlet id o_edit_window; + IBOutlet id o_edit_btn_ok; + IBOutlet id o_edit_btn_cancel; + IBOutlet id o_edit_lbl_name; + IBOutlet id o_edit_lbl_time; + IBOutlet id o_edit_lbl_bytes; + IBOutlet id o_edit_fld_name; + IBOutlet id o_edit_fld_time; + IBOutlet id o_edit_fld_bytes; + + input_thread_t *p_old_input; +} + +- (IBAction)add:(id)sender; +- (IBAction)clear:(id)sender; +- (IBAction)edit:(id)sender; +- (IBAction)extract:(id)sender; +- (IBAction)remove:(id)sender; +- (IBAction)goToBookmark:(id)sender; + +- (IBAction)edit_cancel:(id)sender; +- (IBAction)edit_ok:(id)sender; + ++ (VLCBookmarks *)sharedInstance; + +- (void)initStrings; +- (void)showBookmarks; +- (id)getDataTable; +@end diff --git a/modules/gui/macosx/bookmarks.m b/modules/gui/macosx/bookmarks.m new file mode 100644 index 0000000000..4651c95397 --- /dev/null +++ b/modules/gui/macosx/bookmarks.m @@ -0,0 +1,504 @@ +/***************************************************************************** + * bookmarks.m: MacOS X Bookmarks window + ***************************************************************************** + * Copyright (C) 2005 the VideoLAN team + * $Id$ + * + * Authors: Felix KŸhne + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + *****************************************************************************/ + + +/***************************************************************************** + * Note: + * the code used to bind with VLC's modules is heavily based upon + * ../wxwidgets/bookmarks.cpp, written by Gildas Bazin. + * (he is a member of the VideoLAN team) + *****************************************************************************/ + + +/***************************************************************************** + * Preamble + *****************************************************************************/ + +#import "bookmarks.h" +#import "intf.h" +#import "wizard.h" +#import + +/***************************************************************************** + * VLCExtended implementation + * + * implements the GUI functions for the window, the data source and the + * delegate for o_tbl_dataTable + *****************************************************************************/ + +@implementation VLCBookmarks + +static VLCBookmarks *_o_sharedInstance = nil; + ++ (VLCBookmarks *)sharedInstance +{ + return _o_sharedInstance ? _o_sharedInstance : [[self alloc] init]; +} + +- (id)init +{ + if (_o_sharedInstance) { + [self dealloc]; + } else { + _o_sharedInstance = [super init]; + } + + return _o_sharedInstance; +} + +/***************************************************************************** + * GUI methods + *****************************************************************************/ + +- (void)awakeFromNib +{ + [self initStrings]; +} + +- (void)dealloc +{ + if(p_old_input) + { + free(p_old_input); + } + [super dealloc]; +} + +- (void)initStrings +{ + /* localise the items */ + + /* main window */ + [o_bookmarks_window setTitle: _NS("Bookmarks")]; + [o_btn_add setTitle: _NS("Add")]; + [o_btn_clear setTitle: _NS("Clear")]; + [o_btn_edit setTitle: _NS("Edit")]; + [o_btn_extract setTitle: _NS("Extract")]; + [o_btn_rm setTitle: _NS("Remove")]; + [[[o_tbl_dataTable tableColumnWithIdentifier:@"description"] headerCell] \ + setStringValue: _NS("Description")]; + [[[o_tbl_dataTable tableColumnWithIdentifier:@"size_offset"] headerCell] \ + setStringValue: _NS("Size offset")]; + [[[o_tbl_dataTable tableColumnWithIdentifier:@"time_offset"] headerCell] \ + setStringValue: _NS("Time offset")]; + + /* edit window */ + [o_edit_btn_ok setTitle: _NS("OK")]; + [o_edit_btn_cancel setTitle: _NS("Cancel")]; + [o_edit_lbl_name setStringValue: _NS("Name")]; + [o_edit_lbl_time setStringValue: _NS("Time")]; + [o_edit_lbl_bytes setStringValue: _NS("Bytes")]; +} + +- (void)showBookmarks +{ + /* show the window, called from intf.m */ + [o_bookmarks_window displayIfNeeded]; + [o_bookmarks_window makeKeyAndOrderFront:nil]; +} + +- (IBAction)add:(id)sender +{ + /* add item to list */ + intf_thread_t * p_intf = VLCIntf; + input_thread_t * p_input = (input_thread_t *)vlc_object_find (p_intf, \ + VLC_OBJECT_INPUT, FIND_ANYWHERE); + if (!p_input) return; + + seekpoint_t bookmark; + vlc_value_t pos; + bookmark.psz_name = NULL; + bookmark.i_byte_offset = 0; + bookmark.i_time_offset = 0; + + var_Get(p_intf, "position", &pos); + bookmark.psz_name = _("Untitled"); + input_Control( p_input, INPUT_GET_BYTE_POSITION, &bookmark.i_byte_offset ); + var_Get( p_input, "time", &pos ); + bookmark.i_time_offset = pos.i_time; + input_Control( p_input, INPUT_ADD_BOOKMARK, &bookmark ); + + vlc_object_release( p_input ); + + [o_tbl_dataTable reloadData]; +} + +- (IBAction)clear:(id)sender +{ + /* clear table */ + intf_thread_t * p_intf = VLCIntf; + input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf, \ + VLC_OBJECT_INPUT, FIND_ANYWHERE ); + + if( !p_input ) return; + + input_Control( p_input, INPUT_CLEAR_BOOKMARKS ); + + vlc_object_release( p_input ); + + [o_tbl_dataTable reloadData]; +} + +- (IBAction)edit:(id)sender +{ + /* put values to the sheet's fields and show sheet */ + /* we take the values from the core and not the table, because we cannot + * really trust it */ + intf_thread_t * p_intf = VLCIntf; + input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \ + VLC_OBJECT_INPUT, FIND_ANYWHERE ); + seekpoint_t **pp_bookmarks; + int i_bookmarks; + char * toBeReturned; + toBeReturned = ""; + int i_toBeReturned; + i_toBeReturned = 0; + int row; + row = [o_tbl_dataTable selectedRow]; + + if(!p_input) + { + return; + } + else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \ + &i_bookmarks ) != VLC_SUCCESS ) + { + vlc_object_release( p_input ); + return; + } + else if(row < 0) + { + vlc_object_release( p_input ); + return; + } else { + [o_edit_fld_name setStringValue: [NSString stringWithUTF8String: \ + pp_bookmarks[row]->psz_name]]; + [o_edit_fld_time setStringValue: [[NSNumber numberWithInt: \ + (pp_bookmarks[row]->i_time_offset / 1000000)] stringValue]]; + [o_edit_fld_bytes setStringValue: [[NSNumber numberWithInt: \ + pp_bookmarks[row]->i_byte_offset] stringValue]]; + } + + p_old_input = p_input; + vlc_object_release( p_input ); + + [NSApp beginSheet: o_edit_window + modalForWindow: o_bookmarks_window + modalDelegate: o_edit_window + didEndSelector: nil + contextInfo: nil]; +} + +- (IBAction)edit_cancel:(id)sender +{ + /* close sheet */ + [NSApp endSheet:o_edit_window]; + [o_edit_window close]; +} + +- (IBAction)edit_ok:(id)sender +{ + /* save field contents and close sheet */ + + intf_thread_t * p_intf = VLCIntf; + seekpoint_t **pp_bookmarks; + int i_bookmarks; + input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf, \ + VLC_OBJECT_INPUT, FIND_ANYWHERE ); + + if( !p_input ) + { + NSBeginCriticalAlertSheet(_NS("No input"), _NS("OK"), \ + @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("No " \ + "input found. The stream must be playing or paused for " \ + "bookmarks to work.")); + return; + } + if( p_old_input != p_input ) + { + NSBeginCriticalAlertSheet(_NS("Input has changed"), _NS("OK"), \ + @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("Input " \ + "has changed, unable to save bookmark. Use \"pause\" while " \ + "editing bookmarks to keep the same input.")); + vlc_object_release( p_input ); + return; + } + + if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \ + &i_bookmarks ) != VLC_SUCCESS ) + { + vlc_object_release( p_input ); + return; + } + + int i; + i = [o_tbl_dataTable selectedRow]; + + if( pp_bookmarks[i]->psz_name ) + { + free( pp_bookmarks[i]->psz_name ); + } + /* FIXME: putting the name to core does not work!! -- FK*/ + pp_bookmarks[i]->psz_name = strdup([[o_edit_fld_name stringValue] UTF8String]); + pp_bookmarks[i]->i_byte_offset = [[o_edit_fld_bytes stringValue] intValue]; + pp_bookmarks[i]->i_time_offset = ([[o_edit_fld_time stringValue] intValue] * 1000000); + + if( input_Control( p_input, INPUT_CHANGE_BOOKMARK, pp_bookmarks[i], i ) \ + != VLC_SUCCESS ) + { + msg_Warn( p_intf, "VLCBookmarks: changing bookmark failed"); + vlc_object_release( p_input ); + return; + } + + [o_tbl_dataTable reloadData]; + vlc_object_release( p_input ); + + + [NSApp endSheet: o_edit_window]; + [o_edit_window close]; +} + +- (IBAction)extract:(id)sender +{ + /* extract */ + + intf_thread_t * p_intf = VLCIntf; + /* + if( [o_tbl_dataTable numberOfSelectedRows] < 2 ) + { + NSBeginAlertSheet(_NS("Invalid selection"), _NS("OK"), \ + @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("" \ + "You must select two bookmarks")); + return; + } + input_thread_t *p_input = + (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, + FIND_ANYWHERE ); + if( !p_input ) + { + NSBeginCriticalAlertSheet(_NS("No input found"), _NS("OK"), \ + @"", @"", o_bookmarks_window, nil, nil, nil, nil, _NS("" \ + "The stream must be playing or paused for bookmarks to work")); + return; + } + + seekpoint_t **pp_bookmarks; + int i_bookmarks ; + int i_first = -1; + int i_second = -1; + int x = 0; + int c = 0; + while (c != 2) + { + if([o_tbl_dataTable isRowSelected:x]) + { + if (i_first == -1) + { + i_first = x; + c = 1; + return; + } + else if (i_second == -1) + { + i_second = x; + c = 2; + return; + } + } + x = (x + 1); + } + + if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \ + &i_bookmarks ) != VLC_SUCCESS ) + { + vlc_object_release( p_input ); + msg_Err(p_intf, "bookmarks couldn't be retrieved from core"); + return; + } + msg_Dbg(p_intf, "calling for wizard"); + + [[[VLCMain sharedInstance] getWizard] initWithExtractValuesFrom: \ + [[NSNumber numberWithInt: \ + (pp_bookmarks[i_first]->i_time_offset/1000000)] stringValue] \ + to: [[NSNumber numberWithInt: \ + (pp_bookmarks[i_second]->i_time_offset/1000000)] stringValue] \ + ofItem: [NSString stringWithUTF8String: \ + p_input->input.p_item->psz_uri]]; + vlc_object_release( p_input ); + msg_Dbg(p_intf, "released input");*/ + msg_Err(p_intf, "not implemented yet, sorry"); +} + +- (IBAction)goToBookmark:(id)sender +{ + intf_thread_t * p_intf = VLCIntf; + input_thread_t *p_input = + (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE ); + + if( !p_input ) + { + return; + } + + input_Control( p_input, INPUT_SET_BOOKMARK, [o_tbl_dataTable selectedRow] ); + + vlc_object_release( p_input ); +} + +- (IBAction)remove:(id)sender +{ + /* remove selected item */ + intf_thread_t * p_intf = VLCIntf; + input_thread_t *p_input = + (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE ); + + if( !p_input ) return; + + int i_focused = [o_tbl_dataTable selectedRow]; + if( i_focused >= 0 ) + { + input_Control( p_input, INPUT_DEL_BOOKMARK, i_focused ); + } + + vlc_object_release( p_input ); + + [o_tbl_dataTable reloadData]; +} + +/***************************************************************************** + * callback stuff + *****************************************************************************/ + +-(id)getDataTable +{ + return o_tbl_dataTable; +} + +/***************************************************************************** + * data source methods + *****************************************************************************/ + +- (int)numberOfRowsInTableView:(NSTableView *)theDataTable +{ + /* return the number of bookmarks */ + intf_thread_t * p_intf = VLCIntf; + input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \ + VLC_OBJECT_INPUT, FIND_ANYWHERE ); + seekpoint_t **pp_bookmarks; + int i_bookmarks; + + if(!p_input) + { + return 0; + } else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \ + &i_bookmarks ) != VLC_SUCCESS ) + { + vlc_object_release( p_input ); + return 0; + } else { + return i_bookmarks; + } +} + +- (id)tableView:(NSTableView *)theDataTable objectValueForTableColumn: \ + (NSTableColumn *)theTableColumn row: (int)row +{ + /* return the corresponding data as NSString */ + intf_thread_t * p_intf = VLCIntf; + input_thread_t * p_input = (input_thread_t *)vlc_object_find( p_intf, \ + VLC_OBJECT_INPUT, FIND_ANYWHERE ); + seekpoint_t **pp_bookmarks; + int i_bookmarks; + char * toBeReturned; + toBeReturned = ""; + int i_toBeReturned; + i_toBeReturned = 0; + + if(!p_input) + { + return @""; + } + else if( input_Control( p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, \ + &i_bookmarks ) != VLC_SUCCESS ) + { + vlc_object_release( p_input ); + return @""; + } else { + if ([[theTableColumn identifier] isEqualToString: @"description"]) + { + toBeReturned = pp_bookmarks[row]->psz_name; + vlc_object_release( p_input ); + return [NSString stringWithUTF8String: toBeReturned]; + } + else if ([[theTableColumn identifier] isEqualToString: @"size_offset"]) + { + i_toBeReturned = pp_bookmarks[row]->i_byte_offset; + vlc_object_release( p_input ); + return [[NSNumber numberWithInt: i_toBeReturned] stringValue]; + } + else if ([[theTableColumn identifier] isEqualToString: @"time_offset"]) + { + i_toBeReturned = pp_bookmarks[row]->i_time_offset; + vlc_object_release( p_input ); + return [[NSNumber numberWithInt: (i_toBeReturned / 1000000)] \ + stringValue]; + } + else + { + /* may not happen, but just in case */ + vlc_object_release( p_input ); + msg_Err(p_intf, "VLCBookmarks: unknown table column identifier " \ + "(%s) while updating table", [[theTableColumn identifier] \ + UTF8String] ); + return @"unknown identifier"; + } + } + +} + +/***************************************************************************** + * delegate methods + *****************************************************************************/ + +- (void)tableViewSelectionDidChange:(NSNotification *)aNotification +{ + /* check whether a row is selected and en-/disable the edit/remove buttons */ + if ([o_tbl_dataTable selectedRow] == -1) + { + /* no row is selected */ + [o_btn_edit setEnabled: NO]; + [o_btn_rm setEnabled: NO]; + [o_btn_extract setEnabled: NO]; + } else { + /* a row is selected */ + [o_btn_edit setEnabled: YES]; + [o_btn_rm setEnabled: YES]; + if ([o_tbl_dataTable numberOfSelectedRows] == 2) + { + [o_btn_extract setEnabled: YES]; + } + } +} + +@end diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 75237ca069..c51bc3579b 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -92,10 +92,12 @@ struct intf_sys_t id o_open; /* VLCOpen */ id o_wizard; /* VLCWizard */ id o_extended; /* VLCExtended */ + id o_bookmarks; /* VLCBookmarks */ BOOL nib_open_loaded; /* reference to the open-nib */ BOOL nib_about_loaded; /* reference to the about-nib */ BOOL nib_wizard_loaded; /* reference to the wizard-nib */ BOOL nib_extended_loaded; /* reference to the extended-nib */ + BOOL nib_bookmarks_loaded; /* reference to the bookmarks-nib */ IBOutlet id o_window; /* main window */ IBOutlet id o_playlist_view;/* playlist view */ @@ -229,6 +231,7 @@ struct intf_sys_t IBOutlet id o_mi_controller; IBOutlet id o_mi_equalizer; IBOutlet id o_mi_extended; + IBOutlet id o_mi_bookmarks; IBOutlet id o_mi_playlist; IBOutlet id o_mi_info; IBOutlet id o_mi_messages; @@ -266,6 +269,7 @@ struct intf_sys_t - (id)getPlaylist; - (id)getInfo; - (id)getWizard; +- (id)getBookmarks; - (void)terminate; - (NSString *)localizedString:(char *)psz; - (char *)delocalizeString:(NSString *)psz; @@ -296,6 +300,7 @@ struct intf_sys_t - (IBAction)showWizard:(id)sender; - (IBAction)showExtended:(id)sender; +- (IBAction)showBookmarks:(id)sender; - (IBAction)viewAbout:(id)sender; - (IBAction)viewPreferences:(id)sender; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 3195004387..f24de7e281 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -40,7 +40,7 @@ #include "open.h" #include "wizard.h" #include "extended.h" -//#include "bookmarks.h" +#include "bookmarks.h" /***************************************************************************** * Local prototypes. @@ -301,7 +301,7 @@ static VLCMain *_o_sharedMainInstance = nil; o_open = [[VLCOpen alloc] init]; o_wizard = [[VLCWizard alloc] init]; o_extended = [[VLCExtended alloc] init]; - //o_bookmarks = [[VLCBookmarks alloc] init]; + o_bookmarks = [[VLCBookmarks alloc] init]; i_lastShownVolume = -1; return _o_sharedMainInstance; @@ -432,7 +432,7 @@ static VLCMain *_o_sharedMainInstance = nil; [o_prefs release]; [o_open release]; [o_extended release]; - //[o_bookmarks release]; + [o_bookmarks release]; [super dealloc]; } @@ -543,7 +543,7 @@ static VLCMain *_o_sharedMainInstance = nil; [o_mi_controller setTitle: _NS("Controller")]; [o_mi_equalizer setTitle: _NS("Equalizer")]; [o_mi_extended setTitle: _NS("Extended controls")]; - //[o_mi_bookmarks setTitle: _NS("Bookmarks")]; + [o_mi_bookmarks setTitle: _NS("Bookmarks")]; [o_mi_playlist setTitle: _NS("Playlist")]; [o_mi_info setTitle: _NS("Info")]; [o_mi_messages setTitle: _NS("Messages")]; @@ -566,8 +566,10 @@ static VLCMain *_o_sharedMainInstance = nil; /* error panel */ [o_error setTitle: _NS("Error")]; - [o_err_lbl setStringValue: _NS("An error has occurred which probably prevented the execution of your request:")]; - [o_err_bug_lbl setStringValue: _NS("If you believe that it is a bug, please follow the instructions at:")]; + [o_err_lbl setStringValue: _NS("An error has occurred which probably " \ + "prevented the execution of your request:")]; + [o_err_bug_lbl setStringValue: _NS("If you believe that it is a bug, " \ + "please follow the instructions at:")]; [o_err_btn_msgs setTitle: _NS("Open Messages Window")]; [o_err_btn_dismiss setTitle: _NS("Dismiss")]; [o_err_ckbk_surpress setTitle: _NS("Suppress further errors")]; @@ -792,6 +794,15 @@ static VLCMain *_o_sharedMainInstance = nil; return nil; } +- (id)getBookmarks +{ + if ( o_bookmarks ) + { + return o_bookmarks; + } + return nil; +} + - (void)manage { NSDate * o_sleep_date; @@ -1463,14 +1474,22 @@ static VLCMain *_o_sharedMainInstance = nil; { nib_wizard_loaded = [NSBundle loadNibNamed:@"Wizard" owner:self]; [o_wizard initStrings]; + [o_wizard resetWizard]; [o_wizard showWizard]; } else { + [o_wizard resetWizard]; [o_wizard showWizard]; } } - (IBAction)showExtended:(id)sender { + /* we need the wizard-nib for the bookmarks's extract functionality */ + if (!nib_wizard_loaded) + { + nib_wizard_loaded = [NSBundle loadNibNamed:@"Wizard" owner:self]; + } + if (!nib_extended_loaded) { nib_extended_loaded = [NSBundle loadNibNamed:@"Extended" owner:self]; @@ -1481,17 +1500,16 @@ static VLCMain *_o_sharedMainInstance = nil; } } -/*- (IBAction)showBookmarks:(id)sender +- (IBAction)showBookmarks:(id)sender { if (!nib_bookmarks_loaded) { nib_bookmarks_loaded = [NSBundle loadNibNamed:@"Bookmarks" owner:self]; - [o_bookmarks initStrings]; - [o_bookmarks showPanel]; + [o_bookmarks showBookmarks]; } else { - [o_bookmarks showPanel]; + [o_bookmarks showBookmarks]; } -}*/ +} - (IBAction)viewAbout:(id)sender { diff --git a/modules/gui/macosx/playlist.m b/modules/gui/macosx/playlist.m index de39811e79..1b74cceb49 100644 --- a/modules/gui/macosx/playlist.m +++ b/modules/gui/macosx/playlist.m @@ -45,7 +45,8 @@ #include #include "intf.h" -#include "wizard.h" +#import "wizard.h" +#import "bookmarks.h" #include "playlist.h" #include "controls.h" #include "osd.h" @@ -524,6 +525,7 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/ //[o_outline_dict removeAllObjects]; [o_outline_view reloadData]; [[[[VLCMain sharedInstance] getWizard] getPlaylistWizard] reloadOutlineView]; + [[[[VLCMain sharedInstance] getBookmarks] getDataTable] reloadData]; } - (void)playModeUpdated diff --git a/modules/gui/macosx/wizard.h b/modules/gui/macosx/wizard.h index e3a4855884..690f63524f 100644 --- a/modules/gui/macosx/wizard.h +++ b/modules/gui/macosx/wizard.h @@ -173,5 +173,7 @@ - (void)createOpts; - (void)rebuildCodecMenus; - (id)getPlaylistWizard; +- (void)initWithExtractValuesFrom: (NSString *)from to: (NSString *)to \ + ofItem: (NSString *)item; @end diff --git a/modules/gui/macosx/wizard.m b/modules/gui/macosx/wizard.m index 025781cbfa..bbc674a258 100644 --- a/modules/gui/macosx/wizard.m +++ b/modules/gui/macosx/wizard.m @@ -287,8 +287,6 @@ static VLCWizard *_o_sharedInstance = nil; /* just present the window to the user */ [o_tab_pageHolder selectFirstTabViewItem:self]; - [self resetWizard]; - [o_wizard_window center]; [o_wizard_window displayIfNeeded]; [o_wizard_window makeKeyAndOrderFront:nil]; @@ -459,6 +457,28 @@ static VLCWizard *_o_sharedInstance = nil; [o_wh_btn_okay setTitle: _NS("OK")]; } +- (void)initWithExtractValuesFrom: (NSString *)from to: (NSString *)to \ + ofItem: (NSString *)item +{ + [self resetWizard]; + msg_Dbg(VLCIntf, "wizard was resetted"); + [o_userSelections setObject:@"trnscd" forKey:@"trnscdOrStrmg"]; + [o_btn_backward setEnabled:YES]; + [o_tab_pageHolder selectTabViewItemAtIndex:1]; + [o_t2_fld_prtExtrctFrom setStringValue: from]; + [o_t2_fld_prtExtrctTo setStringValue: to]; + [o_t2_fld_pathToNewStrm setStringValue: item]; + [o_t1_matrix_strmgOrTrnscd selectCellAtRow:1 column:0]; + [[o_t1_matrix_strmgOrTrnscd cellAtRow:0 column:0] setState: NSOffState]; + [o_t2_ckb_enblPartExtrct setState: NSOnState]; + msg_Dbg(VLCIntf, "wizard interface is set"); + + [o_wizard_window center]; + [o_wizard_window display]; + [o_wizard_window makeKeyAndOrderFront:nil]; + msg_Dbg(VLCIntf, "wizard window displayed"); +} + - (IBAction)cancelRun:(id)sender { [o_wizard_window close]; -- 2.39.2