From 49bc9cb8cc92df8c4bfefe3982de8ac6ef7f4898 Mon Sep 17 00:00:00 2001 From: bancika Date: Fri, 24 Apr 2020 11:12:51 +0200 Subject: [PATCH] Include themes and fonts in OSX app package. Standardize loading resource files --- diylc/diylc-core/.classpath | 1 + diylc/diylc-core/lib/AppleJavaExtensions.jar | Bin 0 -> 25467 bytes .../src/org/diylc/presenter/update.xml | 6 ++- .../src/org/diylc/utils/ResourceLoader.java | 51 ++++++++++++++++++ diylc/diylc-swing/build.xml | 4 +- diylc/diylc-swing/lib/diylc-core.jar | Bin 327508 -> 328474 bytes diylc/diylc-swing/library/main.jar | Bin 697054 -> 697184 bytes .../src/org/diylc/DIYLCStarter.java | 31 +++++------ .../swing/plugins/config/ConfigPlugin.java | 7 +-- 9 files changed, 80 insertions(+), 20 deletions(-) create mode 100644 diylc/diylc-core/lib/AppleJavaExtensions.jar create mode 100644 diylc/diylc-core/src/org/diylc/utils/ResourceLoader.java diff --git a/diylc/diylc-core/.classpath b/diylc/diylc-core/.classpath index 764f3461..d10fce33 100644 --- a/diylc/diylc-core/.classpath +++ b/diylc/diylc-core/.classpath @@ -8,6 +8,7 @@ + diff --git a/diylc/diylc-core/lib/AppleJavaExtensions.jar b/diylc/diylc-core/lib/AppleJavaExtensions.jar new file mode 100644 index 0000000000000000000000000000000000000000..6659a81c69fc189cf966dd79f5824b486c9c0281 GIT binary patch literal 25467 zcmce;by${L6E}) zob!EL*L~?9_x*d;`mI?rvu0+Ek}McFEC>iR2na=lo*>9Ce=s26AoAjB!t~M#5{x&) zARtQrc@-Lj9Pn!INMyMI;B_0ogARE9c~xFmL0UpwRgFPj;#7WgL{65TVG2Q(o@RV> z;*|>1H0y_t&ZDBJPIOXo<5KD%5s%2}&!RkFM1N5PYNM5u(u9@ZeybRWSHY6VBN@n?0KU8PLDS4h|TQiGv;E-$VZQ8-O|g^@fq7 zqpjHk?_u0~&&0vr#Ld~+%-;2ZPmu0?VrJz2(98Gn|9aW%>BIPl_wlV9{uvAOUyHbE zAFjd)3Id`7V1e%5yT1%y%*w^l$koJ>Ov%~G!P&~ylflH+$i*dD)lTu968f`)g{mi- zbEasUW1Pr~@@1u#Bya(pN#uz*71--9UTV-$*a{*^S*&BrJG6Xi&J7Wd*0CFZB!*OQNt=a{sB$Ol*_%-&jy%OSdwXV6J3mU- zbutqDd1UH_9mqDGp%3AdzI_c$^A$OoT`X3UdrwiDS5$LXZ9k#2PVnwDjS~8)4fygY z9mN?P_(Z$O87mL45jeT1OA?UsL@XsSbu;;BFp4f9ED#^3!oNCX7<>P6yT8ckvZEe8 z@_GZ!yOHhFlkqy0)hS^U&es~4mZ@Q%CF3;vn_c~VYPV&VuqeJ-a)D|`t-)gVQ@2Rx z_~~Hn!Kn45xZjte4Is zvUO_kf$oveyWx`l&rqDR+(W@feBJzn1my(Q5S3ShhCPx5 z?tIhywq8xNN**?DrVYGUR2NnC0azcVz~P`u%Y|(pxlq)`KwVEz{^7MPT?w#KPDu_~BM) zYeVJ&w3#vWjC|AthZfAYAs5VfmFdfFf^+(YTV)J2D_W9SjM-9}u=bh<+Ux!#<3JX> z7M8@i@z$#2j4r#cR)<;iM;+fRk~{7T2X#_*ek(vIr~v{(d`~$3Qhvh54sNbeM)sz* zX3jrFBP6C3wp$2U{P1f;zq^?cW#B@SmTou|Y+#6CM|cp@dwHpXo6Hcx50c@#91%nc z%q~XbOT1qO&LIu`%fV)a3@&W;^Ni0%i;cm^syN zX71=H{zLPV{YAlF|NTjTn*x9UC3yZ>$%=-VsUcw}C8)?&XmNCKC*>svcG2RM6oIqW zEO02n&RA3zxWLGOO)|JIo3|LPCl{K4XA1hh%sP zY5x>bKmw8@bM(z9Dz5~jIl>r|1SID6_arq5$Y;5uZ`3;8E)`7|#Pt^8qfjWY#4MZiXcjRkd`_6zlc8+kac^Y3;)ueY*#_qpSv^l_g1E!A-`4{}(*8$!?A zFJrO-0tTxfStheVK`mkIm93UdbH=5v$r>dCO4bdB*jdl`;^EKp-=6Tq_OrBMY{V&~ zym+fuu4E1$t>Nv#XdbvN5#m$I^3JF2IKrJzP?l~$#C70+c*@}0XKx%@P!&XQI)7fPiN3Bb~|+Bfj>#a3-*QPX@uwNvZB zPNICio#E_-gI>zlC9l^=G{VN}(6!tK@i1z6-HN`iRgt=?w-K+8kUt?%-|xd!IETBh z&4NY>$QS|izXLq<56Gs3o2{*?iL=?g9qXnfFWV!8>}w-vY+^m5L0b?=H0Q+x9T*lt zR1A^tQB$yO$CH#iMo}cayLwXOG1)38lT~$L>|`WxF_!t7_3GRC1>y(vMTQfqRxRXK+Lp%V*rsN>tP^9_QaP*ZC3@ zJUDv5Hvqc+1XomAcjP#&AN1U>2;3Q=bz&foJd=xQ;Pg8h5u2?lVSzk?o+hIg`f>q3strGB_kap%@yyNxK0 z6&!WJ)J_lgp8H_wy%)4gT0kmmmmG`4Ue0b@+CG`w@iW~oec07+LbV>9tQW6KE zxg-X83$|{AAJuqrrb%C5Ny@~IgIDS^h3mDblx?xV^Qyi*mhP^P7hUNsiRNjPvxUQJ z4mccSIvXVZhR)k@*0UJrYRs&l8}OFI(7;Asc`|KV!5Xz@Kh5O# zgK!N2gKu)h`JF4dPYx+~Gz8pop1`6BI6N_6A-ozqiKV0ji{G1=+O$u7^&yM*S%}A) zh+&9{00bu&rr}sAFKhX6=;$`+tNzA{vgR=w!|Vz=nk+cJ#=s2auaE98LA`oTBng22 z8o)#IfbjoV0(BMXdm893$q!xqEC~?(T?^qVqO-{h!y`SEA~h=XkV~i45>ahwj(quY zzmdds;lmp$CzS=+KK{|YH>Z28yjRz!$1or8*r6bj@NM&r3$0C34WC#RCd!Jm&wG)f zw@jtMBnNQ#B!-gatW+oyMX;}J8qHCvWma`1X3$PJu7|%R=5kl&Isc|(Vfc+E#@mHs zNL!+rs=Kas+n5k4IFv9XCt|~&Ut=QtwK48%W?W`nba3~oJ=~sm_Ic*4IVje*X~>AT zPeJ!9#3UsMQXb>W(4r>|1SifA1+btwq-BVOEqNbvkAFo}h)-P|)<8^(CZ0+uXGkZ* zT6DWa*v9rRf+H=*>-$ z2aK?TNWjo0zY%pp_Xi*&j*m&)K##`^NXr0bQ~)ygkOBsTI_zD6^}ro5#Q*Un37$ee`~S(8948ta%*z3G z4@v;sq-%n{)rH>zqwhpsyU&YKw;6gJ0fT7_7a~4<1iYLOVGsx@GUzfa*}OlWHdAgu zz&-Ct2J~<5Nq~qR+?1Kwk@X1l+o+I^e+aOzVBq#Gy&u3641g!f2llG6o0aRY8&#n- zqFV`>e}j~H-cp7ZPS|L++mNxF1U3-5V9sEf`T*5Igy8atM&OS_7`*~090%fP7OO>0 zY{w#gCvL(t=JUoiU}SrF7SoMkLKa3rxX zJe!zMQ&j^~YGMrYr=c__i|H0ot5o(zltgPlq2z@%r;Vebwqfq8E#h#xlA-@$GySyJ zsc#r+%*0(QPvZk(&2$hT zAozb)DL=Q3ZxSH5Y=|8)0hU% zD{x^|b=z-O4qQ$1_*K%1-=BeghScACdUvfEDr2bPg+IjtAQt>$G{o*3i4*RP$qZR?&Z*Mb?3351%I?a`Rp!Hjgf0Crx-kYv8y zd335u3~bgZs-^&2ee{%*$``~mmZ|b7-OdM;x&89_85WPn4ZE;eyXd}RPLwo!xCoVp z+m?^9OGkOpPbj2Wz}jtG)t+fEX((gUYNdexZvXKu$wDb%athP%ZR%$JSDk+Rx?yz; z(lVCz3$PttiT2`{);Bvol+D&@AFM-mQ7WCGz|*=RE^tM0HcZnMv$Ke3H_5og6%tuD z#hp{$i0M;o57KV(c_zP+V2GO?!rhd2j(;P*LXj%-5hzM%-k_yp3y>#&z(f9LxstO2 zXd?T+BZYSw=;>2Pji-nmf9lF#Tqlq^+{I zPD}#w+vaz@>)yb?EVb+D-V;<`SF4-%l!he@9&Hx#xO@U% z`rzqaU$oxv>2%eeT)w#FD#g&j4zWchN`{FIcUx@qmpvFSCYa^c6iMUvwgN2lCG-o7 ztq!5p!7(+l42&lSa!uc@&;l)9%ZL()Go!Wmy-6Ijpv%{UOT-oFz|%5^sS12wTkFE_ ztLsSh>dQscrHu*~sou@4U~nYAW3*7I6#ig0t-1(?n^3)SscYcACph_IX!qx;)01Bz z@7tQ9NQ8@d0ApSN#wdQfz(0dqz-$TI0Aj%*t6G_MsJIPK{0pMg$s(ya{NeRl&}T|} zzR{w%;WkWV*A4{VA6+Z2lf{Wpi6Fg-o&UD7XX1z0%I`0!M_rH3fB_n4^Van-Bc?3| zPq3k0gQ9LDcmBCCy#qz~5X(697k8t2eJf`2%6Xq{9e8ptRri?CLvVwp^lLf?n3cs# z8?!4Rw^?YbBH<)!Fx* z=`?$di7>a-9mFMzDi}7tI~X~mrG2~Jd}IPvRmA6tRm*tBt?#t+SqZbPZD4(I^x_`o~mT-cH6?Qtsl-1Q(s(EGDQ1M zeOB#CpW`KTI;B^64m0FOkES506f5LNhPWBIiK>Suz1?}}0z%FncTF6#)^!UMJO_Jh z9!LzxCk-QjfDrvwUTm#Qj9dYh_ouCi){s@jQ%4s-AdQ7tW9|$VCPN8;FO8yj%-%}{ zjvOc1J(3Wj&i^j#Weor8foC8LOHEE2{n5Cb_DfC9sYx221q5k6&LWw6rSY!Sea$=k z)_$1feZar`#^c+U4zV)<{?8?21eYwbkL}FLA{$>#%kwVRFUrTVw-7*A=)7tk?zRvu z99my`uX?Sm6`ZMN^%l*|en_qcu%+I>@Y57(g$3q@YCq$~!OBuJSB%k8#Gj zQGH6(+E(4EoE$$=&-i+jv3R{^$IB3A#IID@!s$S&a1VA?PlBzoFs?|Tjt}laR)p(W z(J9;T3mRKXL#|3(NR`SQV^-ai?N^4Hg`W$GqA13V(*zEkXShFVT>FPbCuesW%!U|+ z(Z1HfS3MrILoXO$$gLSE=+=M2vq)lRCJxDsz4u#Gf0C)d(qgI2i=uGcD5*K5wZu;Av(M&{G#D{tVBw~#?oOdwU+Pv$HsU`)Mjj3C zLxpy&`!AQ1C(v@5Yw2fB#*M5(?0vI|87bKX2Ti3@F>P=g!a7!wNaXI=H3u1f&-K3EKgQWb`)_1G>I=9MJM+i!#+dfB}8OuQqmo& z^i$;4s3v&$-oBl~wqAY;8v8n{iM@4wUC4Rt3j$h9Mf|cm=mew{cIg559Rxgp{sgQolz$}Vr9b__?)vwyLzI$L&H1};MtPjnFSuBEF8cMf%jq-BkffujF)Ht zH&RwnChRE02l}kfGo!qn)Lyayo=9BL?`)VFI7Y8JamcqsKhP~}47S75(J;^YyU5IQ z2ArNX25uuB;d^Ozxga$OkwZ+7e(?UPcw{|c@&Ui4;=?zDBd|-Q0By*X!dUb)%Ffu& ziKf;Deduqk+Nz7rix$MQzRoPTlwAZQTtJmws4k6;(@uPpEW2PO-&a)G-P6Vp$kFw0k0UxkS@E$j^1v!Q#hfXZ!Af&!~6kMIm%MS;?osVUPI*gN-#yz8bBUXzlF$3rvC zKEMz@kbB}1C}SWckS0M&fHY4v{T$<{_dJ=*lFReDdrJ@@Vx4~xoxcO zI92hedCvB2yP7BWX{nkAEoxv!qs#b!?PCg;%FlFPGx8U-r?@y( zQTKROgX4z$y`#5c^pjGhA>~;vR; zL4Ey4c=@Kpq3Up+mE^TKVgbZXbjj0{@D(5X@jJE~N7QHAtyf_rHEHQX=gL-5;7<|C zdd)sGh~I|3exh&`er>F-A6NleI>ylfin2v%5zxxhKD^A4X+N=Cjs z_j>6n_xiF;>5_?z&NLzZ6x_A?9+8Y6Bj5U#j6booL+kTNn4$}$oX#8+&qAb7?iSq= zCdsWNVHHxTGe$DmEj((>x2Ev%@|VVEQPIt461o!oqsjO*+^V?)-O#w{T`v{Quxig@ z+l#4flS&@B>84lu0xjZNszf3VU=eiyA%NdIs(&xyeMi+T?mw~rGWIF8tF_mf$9Y&m z+c~g1)Jj#8R}}bevMn$}B{!T%Hz0mVTz1gZ({!VCrvj%9r>9rv2pcX@wcGg0=GXv#wG-+@qc zdnsCGDrY=<%)LgJR#ALnVzzS4VeZyiMj^ ze~Pkx*&B2n0VjQ)#QmKW8x>QORBkL>s>x=vp7~{Ky>9hW)N(12j++IpESLJ7Hz}|c zCVp*|G;_qrI>x+pey`;%O*DO=DmEgxyDvb9ucCWx$g(AzC#4W^rN8)*y!x_fpWiWd z0~FZ)WWH6H1E6;hK=1uRs=rDBL>){Vj6@ym93AWdbtC`rdzIxC7lqKXQn{pYQKe+_ zLr@o1^1^iZUx*>lK z-_`obcTWG;9`j=U7V?#b4FTH-l_)!h^;7ndO3QP6MBu)-tVTw82!|L$&tExMv!Rq= zm{sB(A|SC5rtaWdF}&51>OSfJpoCwhgx`9kTJn~VXV`nCI)%m#FW;rr*Kn+<{;OQt z$b4^W*0#0Y<(^zL#c)*5^%Sw>%d>RCSBvVDJk$yKH`+9u4lzE}XdKOrC7i0maU6~Z_jZd2>% z-3Z`bC%ML+#4q7{+9%C;C&?y!Va7B|JTeWHB`|Z>wuVrw23lVDN9W}~&cFBo75JMo z@Lj$b$mh`gkueULxWL5KJ#5rpC@0bqhZmp~iN_2sFzowc$C8w6iuShm^0kkO&!jtG z|0okTlAL{%d%DG&K5z6>37Ra5A<|N4C^IXu*O(hV$#X2Pj~EB98@tvGSZY3u>-5pI zYKdwS2;r-rm+6cK zit8t>InSaZU{HZ)^U-O@BndA-!lff~+!cRU%5(Zz4Ykx)H2q~kUl-oNlXu92r@TWh zo9Z>=M`h#6Wb;9k&n0h=sp>G>6DTUen+fatnR}SOM2#+jbC2){VrUybNsFL+#h@TQ z?qn8j0y(mGnd6O#yHxQND1~4{E#>qLa1xyXtl)24#=F(Kull0n$7H~m0VZsww$`NK z9BNksSq(YJMw5gd8UhRAi<1{MH8bm|DUU!V+>h*mL)h?K#0L^?=>zu!m!W~}MP7eg zJnB7aR}8P<#NkV69R!~bOP8N(T_%zPAXzt zFikfZD}lXa7_mOH9rN=3CidypBbpLnN=@HRD_oe%o~9zjBP+$TTXa|JyS$lcWGCv0 zm-$wxV+-aHr_?8UrTwVfoq=r}%D0vs0yIHxE#tQcw0NlFxAXOSr%>}G$Q-7&!>M8@ z#NCZ_(EG*xvdh|~aoJugA*j)PuS0z6CvSi(2L@+i{D$0JNDFFt!%Aat;}5h zqu=7?Wx<${LszF4-ZwOySJ0CX^os6w^(6udCi-$PAq2a0TX?00?Nu7*cLY`WJ}ncH zE2z=wh@qw7uuNQ;OX=$q=7Q`Md?t>~2otBnsMYI@5Hd2bGD8A4*V&g1@R=1OQ$k28 z*`WKZ>cw!yoI5RPTAdU#YNxrQk2zprBvS;Tq1z=CQ_Sd4b^FNmWwxrQ#8fcc^k9NH zCut356|_j=S7)xMAxd{X`aQ0R^CVQ(lF#;x?BV|I=5=gEInH35l+z*VwRI5^yay{R z=E_vY4N*LgK{Gq_ugTF$+mP^NeK&H?pwM*!8VFlN8Put&SiVyw%T)yH!dS`1cS=;? z%h4&Y+Nq03x)USdudY?6ujM+8i02@Iioa~+f*UX1_kIqwnbV9(<#ZOe!8PH7(qt8>1f86eiYfW`Suf@!FwRNS%sNu}~q7y&0xMbq^aQ=|z1RQbY;U`&|9WE`e zuRg-&#YXtkDiLwDo3YMYAwtLmpRCWsDB6;UIGMvkkydrbiHf}D|MERZ?Y(tM<#;@v z&Q;Oa#F(&!xMS)K^AT4%s!19NpHxad%Y(PN*;JM0T;Z0 zL?=o_=Ex|6l7M`iBy^F_ZMuHYD+UWu6yFL|$kCY-pV$YOyZrCf*)LTEK=YrF0a&9j zKQxos-s$&=7WrXkN>~#)MfGY_RM0E4u9vZHulD-Smc2fKo#pr1DHN+XBC_@zjg7v( zoj(BKDeVst}Q(u>~0t8Rg-d$COiU%jS@`W8Fwcg{J+1Bp>NkPNz=Wvlp+O zAtpm;KR|E7#GJpTz_VkA0u>MB_1o`3%ZyV>!|u5esv!E{KWVSf)}v2j!!E0_t#nc4 zTX2qKQ{51Cf)!SH=;TALw$iJW-eBJGN|jQ))K~18Q?Rp~Ox38wxCZZqNC0a7@it@d z4iXDM5RkEop{1W&$`D;mEaEhvsCm?a;z@$4`JnIVBL+5_E&qCVo> z#frjLt0J0YDTmvU%(>mLNW+}^g@aAZn@;w%0|VXQaYDIlq0&6)a+GppPfg*%(MLO; z2rdPo6b#6FKs%!fR96xWKt>7RA^trfDrPPKC)~yCKQ`*Gnm+Wb*&_MOlE(9m0upEf z9VCPt3}G=v@!E(lV;9uA3Gz~C=eg7bX9uyU21Q@poKv$oc^$TD_ZF{C;r#h4zd24F z*9N}~%Lx<6cQUM`MuZtR^pJOqeMgPfVq)^GQjTQ2S`9t&?KoG5^yy{+8${RauyqVp z>PY=4dv3)D&H8OLPR;cB4k=&+k2El^Y!TQP2CT0#j zr;ol)Nz%EMYH8VOr{T3+mfZGb4kqMwY)$>jd6(WZ`!;PCpJrx*u)p zRA0aT3Sct{;Q0Q5QB_xGBUdwv|6EH7QCW3(tAu{TKwqB(YNG1evCWap^5kO|EatS#n%r_ojk>#gt z@x_arLf(rPLW1ziov@)#Kb#4q;yA0nGQ!yhduK~HyHovm05hoG*VV9{{gci9HN40A z=!J+yZ;kS#`Ao!27gQLrO-s8f(iOhNTs<$rvXpXSzhtON7hmm!?eeSZ90jG>!{i2S zRGOEEklyg$bUWGipA%a(^RFUy6Fb2`JR{X?SphFr41gEh(>y3zBo*m<9NhErbm8NI z%e&7{R%H6{Zgsga#P^u!R;Lui2`1F|de?i4;+5mYLy29UV2HliMerecqd8fE&dEcm zz)7Uc_#&*@>%vm4eV@A8o&GS@(n)QB!^kf_5p46-(ggi6GZiUGxF?-|8ubF%L@W#B zRp=afFe5ti5@qIdXV97LV?&jW5G~hC9e=IwF<;4hGySm%bLgNdRq5hVBY0`CqAA@ ze`bheceE!h0|(L76Y-^qFM>lpWvu*mOw>=vFX^mVol2!klx6cHu6e@Y{uZ1NA$~|n zcdDmwV|ubJP~G#gL~?S~BqxzS(zCnR)z*DyKs) zK3zu=GY3Ui-Zb==Fl{b`LZ5PkD!@ggHMH9s)ri%Uz{GZWlQT=_aFq(;9kH53FwTKk z@+b!BTYrG1yW$-nmXx{_0J&9P)qGkAl;%%ky&j!l_IxhZQ4|zp1TsyGW4->euZ`fM zJGQ!zJ`_fYCI=%+bM3Xy&wn{t8NCE(txm8OSo#pw5RUv^L7%QukM)$kLGl!C%}>ZY z(lgbM6=}y|MRv(YJdQ1Yq@k}@nA}|KPL}G-RWW(S{mNcnEp#oXO@4QwS>{D6=%vS^ z7F4X_d-)W+rz~mRMUa(Nv}ykIYZ$c=r=FesMTr3=s{;And4R2Md^beC`yNQ}2-tL- z5cFo&pmosW{7_Y)np)v+;pMF`JCM7jpKR(fkitQGMHiS>}F zW5Bz$BKMHopBEmT2X+9KGWcD$lYqtc`m{h@xR2iBi9=X^k;9K)IH>2nM7HO3#tBh3 z@OZn&EFTx=E|_X}XN;xJZqO|jXkM*c?P_*AQrhX6p>%udY@z_-xoG3=S?}gNQ#uzz zs1eqj8TXJ>bR4v@v9Izi9N=P#&c)@2hKnXCqi(KHyR{J($dDhiK%GoP`y=N;Ja6Qr zNp)gkMCIRCoj@f;P<+MPGy8hmPdnqAR57}M zq6FXh1^i-w+0E%!S5t7Eje_a|lb4S-c9_g|h^XuQ^{H?thBwz0MbaM+6J!ml&i8|6 zFf=aCbv+5FIt9)A3Z7E+4p#=>(*cqa{YbFYCGkStUP||Byj(cM8OUT|g ze&|QmB-D@7N<>t%kyIrQS{4N9jts}P(WAwD53=t{ubVLVu_wwq*sUMWhl$;Z_4lx8d? z-$i0f#=k0;N3yI@DfN9|%^5AjRmgr}Mlcm$H$2XaQ8H@9MQZo-g)_x&Y4>TZ&cNgM z5G~3X!7L-ju+l5(ag|KprD5vnvHDe3LtkuAi)Ss|Ahoj5XhZVUkvG~HV*6Q&kl4LQO<2MG+6Wu^pN;?8P5qS`-Wp%CDkJN z3udXW(K3X_bu@VCoK6(Di?06QYfR^f;p{NM%g}4a@oDatdB;F*=ktQ(%MieJD+D~h zsjR=p_k9iZB$63$V-j6#TXL*CIphOG<+TTN0}35qSBsBn4cI(z^dY~u(r}|w z?%3nhOE3qdF%2gPvfof9Eq8aCXa0&P_@gk7d=;MW3)JFewZ_-M4HXWynH12GZM3qC z%HJl)>FUP1`e}0+lDWt$+o{Ts-i*A+)kB5un?!Mj-Y|lb6Syxt*meRE=YWY=0)*!` zH#P1}M#<91#q3uJiW~V+)e?GZW%91S{v4DcgdwRv1Zoz8Q)L+)rF!?B>m=!rwA6T6 zdkSq|2+{}9a5N`MSHpuZyC}wIqVOW{Fxe(1(Y(a<14H=4T=bZ7 z*yB+j;c_RMTc%FsD5l)jDv~DT-tA?%?ECbk#L{y22PC;`A43}Lw^Q^Uu$uI9WMLyPTK^VDbjb<#WmFx$#oV-uZ zdcjDYI*$G{5M|*cv0qB>AQew0S<0TGEr@fHSLaK0hm_{J5E-&Ek)x)eh~gz?0gz2M zpL+sb1)vWTKp!LE--lH2U-aD(dc*gzp<$Pa$Q3oJ-aTHU1rQ^uD;cS+E}mpSoA zYvf%U+;=Cz&XnR&RbKGG3w|FRV2a(|M>Ir~%wsf!gNIh=ZKh_?cP?Tx;yDf)(Jp6` z*Q#rIJVb6oI(t~Pul#XuW~_VJujYj)BFx2sis_^3^U`?v1N2Hn(lJQ?Q%G!txZ-3oL<20V zp3y5gUtX&|##t>)!NXCJn+BC^sQF&V?-fVq__T64UxRMN^1R-LSMrdB<%W@7wf4DNJp(Ao^5s zSgU~S4%_iy@QBsNSj*l!IE|{AHg=01OCUE$u~c0qFd9+hTEUcN$9A|=$PFt*_Nk<3 zV!2-_;@0@PP>e8nGf#H$z}VV&h4&ziGq-X02~+B{h5!&a!J+6zU7>>}~^MfaUN3Aq>&d#6Sf#8X-7581*vs z^J#Abn;Y=*C$WCCWBJwcQj5eRY{Al7jH;1$ExOZ*!%(E~1w!t&RqlXhd9G9mx2bnY zsKn}LE$wU^k$n88&|PLJu_gjjF%8E-Z?o%ay}wwOms1(d56ECtXp!#qYCkTUqFQ@C z6BIp%Qn;!kva7g7t!OK-#VzUc{B-{|ZB~PF!8!-ox_PRsMuqy+zh)lMd)zpQiZzPC z*~D#lc_2-4y#J97)nG+)El~wH61agvzM*i3esp(eA zV`M@;f+kVUpGw6wVm=RIi>DbePN{sU;oR3hd<``jP{+fbxmBN&4ZXrlf9n65$GrP1 z+=-jfykmQmS~2wLt%Gh5lQkX=E!uDo_j)HPh2S+lR^wtE%8_oPc+5tJF(x2O9hok0YlB$||*7Lq-e z%^PShVuGVxJwp-er>)>EpE_7_*Z}pUH&h!*dEw!;@>e{phhuU)gt-ofAT4un%3}0l z_|YJlj~bzG!Z{XlP$RPSU1=Rtk>BWd|e@=BKD;*&nTItDo#n5|}Q&=V2wtm4{?G1M4s{<$=K<{NU-`Wvz*N8MX4 z`YuH+^3(GPO^h-?R+7(hhS`PPCRr=Ywvvy&DLY)_odea5y%)0QbE z&X=s-3@lnA$khb-0I}K!Jb%>0f3tjFs(fQ>e@K;>1^X5o2ggl70SCeR_tt30=z9}2 zQX+5QQf0q$!u@Dpa2VlgTsuO?>R`B6 z$1}P><9FPDJc5sd2F)+%dy6U_3>}n*e6<|(6(|5Kmt$yk2AHJ|K%Rb+0{JOVs_s^f zfA&(2>oi-CA7c^d(b^ZaP%~7fo?Gz@N;#u0B)*?@E^az{-ac1&WI?XG2rR;i4Q6}f)}^%CE` z`G))18m|m780U1$!HSHj0O~;a{}fmku|@5yUPf^ejDHh4&`!#6;!{+$KvFO4`m=>3sZSQD5uRVs4Mhv9MBZKkd+a1V6=Mlxdk}iE6EV zK>6kgIrxihuVdvwG8pZe(c}-Tk}`B~14Vg-HyMU)s2f}W`}8rJWR9`+=nGU;rJ0Wm zf6gT_8qWmk>;$@G79yx;O7Ow03n69x6Ay8!!nQOA&vYCa@lVk>STzL&XUe2 zLWP->rh=7x3%~X21T1LIwu0{hc`Fp)%chuspr$c22nZp7ieLORK%1r?R}bZl?2Rn` zDIZK;RedLfJn&^fBtPi{7vd2HhOSci*F_So2)BY{o+2hv2TAXg$uow;A}WU)>C50k z*2@Dz@`JuPiiYgaFpAdKxy#oF%OM6G9oHcKt#OgU=s6O^tRTD0&|R;v&w3=#ISP-m zIz6feUxgaM_Dq+KHL_Po_?Lo*x&-QSe7q2t!KL$gb`zfWsw78;qrxGQXQs(D6uQ?2 zLb=3i1dAfBbf4)eh{=ZDA-Ge?Zo=4nWJWU2@5x3+n=nz9+&9 zSp+Xh$g!N^VAmfjLO;_T9k=00%-7Z*N{?FTCUeXeeN!-qXfj5kfnKLIkQmVEN~vHB z!&#|qRJ!vKb*Ay-oOiV5iAXh*>eK3?n+eWp#w>m_`z*3-qb%jRJ8CafZDM)BA;k_6$uPqof`!0<$;OvF#mZ{h0N&|oQZ6EhsOlSH#>u1=qRWM4O=fIWke zGticN^;k9g(GUn|;mL8RvyRzTx#(h9U;funj#DmsGgZ#8bU%EA}gWj5Mzt* z9@K_SDR}Im)JyVTU@vSCc!ScD%xoO8d2Jm_n`VDxB{DdIh~>Pw;2p>$<(`Nrfa~Y{Y{-K5LCY!{#(XkRM%M!UWCgvt=yMe?OEMiGt za0?ThfH^brt4}5`^COfLF=Pd{yok)_2bMbV+R|qzT;3TaJUXjvU@ilB_3V>LiV?)B z_j$_kr{<4Yv5N-_Gy+h>2=1U%OK0i|8@KOQU|sA+bwENGeMkA54!J8PLp-D7ksLYN z)X{zC2_cNtkb(@Xwi5)t{bJmI^qHf}`_`Za*h)W+!f1f!pFVTa3S#0~406({YNs-E zC!?~`Rg?GH%&j}qQ4LC;%h1WXR#8chfk~t9nvr8Vk#BDY);uGTBItUnI6fiEKu;qx zMk|aeCr>B2z4Ia^zieo9dmR)ID|`fs4hH+j&Uk>40RE6c_Jx1^`_G_$_R0JE)8BW> z`|-h#zoLL2X7ry=f9ad|(2oOxaR2%H@#Aj*|No(69{K_>iC?~0`Og=BH@^FOtN^_Y z)Bx~DYr3C*KYj@kpw;ix*)N^s9{TAYt?=$3eza=1gZL|(_|V7qf8YGyAOAGO4?!UQ z{qujVRQi30zZ&QLJ^kOe&iniGqJX}8-~KZFKQz+28`bZ7qTL}&09N#lmER!$Oez8c z0{79n12lpB74R>b|J_v!7!J5O)g9ausDH!#(}UNx;a!?S}4<(*e8bfpPzRFY5tL#(_Ha++o+j{TUm$ zZ2|Czft%3Wp|T@9fcm?ZG{DfnT~_X(s{#A#Ph|X4DD(goz|BMMkXeu)M!w%l1bD>2 ztupR#vrztw`%8(-17ikmHgSjDi24xrZ(2_P4;#2Y!yWVr!1DcxXrOKlz@WgL4(>od z1KPI!3G|m->H}N=Hw?JLz5yujKVsiyARoX6zH@(vjfM4R>|e5W4`2h|TED|)#{MJr z@6|ByMddrF@W+3Ix_|xwUNPXy#CMQfxW9w^)74^NT;MCWcevJgzr+3A1zccE;G3#< zm|=i+0RNVNzxCt83;HmkB&^;7dezpdZN| z0=<8w2pARkQp_Ey4WJV3-*o;x@dsob_=?6IBoiQ3_Gie4R|xoK!X0WXAVmy>`n!7y zz%vJ~g}(!|2YAUqfOplw53Uh#h4vjL9Uv0@N6d$34qUi=2Wrjm04Pvy0(knsRkwGj zV1O_#&`|#|t@rBifFXg4S??fke-8<;sSg4ISBTyLUNQe`jK3Ju2SI_0E$=`fSbqch zw-tR56S#u$4ilX1Uzq=@X9VUExcu)94TJr+X!nZ&f#HB_-|pZnIDQLvzY-1@4!9=j z4lal5UvR%z^@oKVxQ6HswU_(fsCV}KVN~FXn>*A!o`0eKV#yyy1ujpyL&f0x7pmDG zi&cP$1ul2EgT)hg81?~W44l)y1C0Xo-Ur&|_s04#2f*p|J6vs{hjD?E?Z7kuXP)nn z(}e#A$oIssDod@Nj`MC3nD((tiL3&YJ)W9B>xl4w7HyA;^aZ3LKcf xLlu&}hx)rP{jWp(T}bi{EK%W?fZknzQtAJhH!E;VhJnEz2z`OQE(w1S4*-qLB@qAs literal 0 HcmV?d00001 diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index c6eb8369..3409fad4 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3041,7 +3041,11 @@ 2020-04-20 00:00:00.000 CET - + + + IMPROVEMENT + Include themes and fonts in OSX app package + BUG_FIX Some boards (e.g. Breadboard) stop working at certain orientations diff --git a/diylc/diylc-core/src/org/diylc/utils/ResourceLoader.java b/diylc/diylc-core/src/org/diylc/utils/ResourceLoader.java new file mode 100644 index 00000000..16e72e48 --- /dev/null +++ b/diylc/diylc-core/src/org/diylc/utils/ResourceLoader.java @@ -0,0 +1,51 @@ +/* + * + * DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors. + * + * This file is part of DIYLC. + * + * DIYLC 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 3 of the + * License, or (at your option) any later version. + * + * DIYLC 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 DIYLC. If not, see + * . + * + */ +package org.diylc.utils; + +import java.io.File; + +import org.apache.log4j.Logger; + +public class ResourceLoader { + + private static final Logger LOG = Logger.getLogger(ResourceLoader.class); + + public static File[] getFiles(String relativePath) { + String bundlePath; + try { + bundlePath = com.apple.eio.FileManager.getPathToApplicationBundle(); + LOG.debug("Detected OSX bundle path: " + bundlePath); + } catch (Exception e) { + bundlePath = null; // on non-OSX platforms + } + try { + String absolutePath; + if (bundlePath == null) + absolutePath = relativePath; + else + absolutePath = bundlePath + File.separator + "Contents" + File.separator + "Resources" + File.separator + relativePath; + LOG.debug("Looking for files in: " + absolutePath); + File absoluteFile = new File(absolutePath); + return absoluteFile.listFiles(); + } catch (Exception e) { + LOG.error("Error while looking for files in: " + relativePath, e); + return null; + } + } +} diff --git a/diylc/diylc-swing/build.xml b/diylc/diylc-swing/build.xml index 05441282..002b4b9f 100644 --- a/diylc/diylc-swing/build.xml +++ b/diylc/diylc-swing/build.xml @@ -125,6 +125,8 @@ + + @@ -165,7 +167,7 @@ - + diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 00df9cc145414e6a311f7fb05784d236c2bab391..3e0d204337d67c496836cf2d8b8834fbcbc725d3 100644 GIT binary patch delta 13751 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 delta 12877 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 )r<{;#8I*zjRJ|dVo;sx3$gM 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 diff --git a/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java b/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java index 5e4f23f2..887b3e82 100644 --- a/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java +++ b/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java @@ -38,6 +38,7 @@ import org.diylc.presenter.Presenter; import org.diylc.swing.gui.MainFrame; import org.diylc.swing.gui.TemplateDialog; import org.diylc.swingframework.FontChooserComboBox; +import org.diylc.utils.ResourceLoader; /** * Main class that runs DIYLC. @@ -97,23 +98,23 @@ public class DIYLCStarter { @Override public void run() { LOG.debug("Starting font pre-loading"); - - File dir = new File("fonts"); - File[] fonts = dir.listFiles(); + + File[] fonts = ResourceLoader.getFiles("fonts"); - for (int i = 0; i < fonts.length; i++) { - try { - LOG.info("Dynamically loading font: " + fonts[i].getName()); - Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File(fonts[i].getAbsolutePath())).deriveFont(12f); - GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); - // register the font - ge.registerFont(customFont); - } catch (IOException e) { - LOG.error("Could not load font", e); - } catch (FontFormatException e) { - LOG.error("Font format error", e); + if (fonts != null) + for (int i = 0; i < fonts.length; i++) { + try { + LOG.info("Dynamically loading font: " + fonts[i].getName()); + Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File(fonts[i].getAbsolutePath())).deriveFont(12f); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + // register the font + ge.registerFont(customFont); + } catch (IOException e) { + LOG.error("Could not load font", e); + } catch (FontFormatException e) { + LOG.error("Font format error", e); + } } - } FontChooserComboBox box = new FontChooserComboBox(); box.getPreferredSize(); diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java index 4ee311c5..6ff71325 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java @@ -31,6 +31,7 @@ import org.diylc.core.Theme; import org.diylc.images.IconLoader; import org.diylc.swing.ActionFactory; import org.diylc.swing.ISwingUI; +import org.diylc.utils.ResourceLoader; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; @@ -133,11 +134,11 @@ public class ConfigPlugin implements IPlugIn { ActionFactory.getInstance() .createConfigAction(plugInPort, "Sticky Points", IPlugInPort.STICKY_POINTS_KEY, true), CONFIG_MENU); - File themeDir = new File("themes"); - if (themeDir.exists()) { + File[] themeFiles = ResourceLoader.getFiles("themes"); + if (themeFiles != null && themeFiles.length > 0) { XStream xStream = new XStream(new DomDriver()); swingUI.injectSubmenu(THEME_MENU, IconLoader.Pens.getIcon(), CONFIG_MENU); - for (File file : themeDir.listFiles()) { + for (File file : themeFiles) { if (file.getName().toLowerCase().endsWith(".xml")) { try { InputStream in = new FileInputStream(file);