From 019da5b9ebf67b758a31dd05c4b17de66fa682f2 Mon Sep 17 00:00:00 2001 From: FloppyDiskDrive Date: Sun, 5 Nov 2017 14:13:06 -0600 Subject: [PATCH] Began to add textpad, extra functionality to the infobox template --- .vs/ShiftOS/v15/sqlite3/storage.ide | Bin 733184 -> 790528 bytes .../WindowManager/InfoboxTemplate.Designer.cs | 13 +- .../WindowManager/InfoboxTemplate.cs | 15 +- ShiftOS.Main/ShiftOS.Main.csproj | 9 + ShiftOS.Main/ShiftOS/Apps/TextPad.Designer.cs | 215 ++++++++++++++++++ ShiftOS.Main/ShiftOS/Apps/TextPad.cs | 54 +++++ ShiftOS.Main/ShiftOS/Apps/TextPad.resx | 129 +++++++++++ ShiftOS.Main/ShiftOS/Desktop.Designer.cs | 28 ++- ShiftOS.Main/ShiftOS/Desktop.cs | 7 + 9 files changed, 448 insertions(+), 22 deletions(-) create mode 100644 ShiftOS.Main/ShiftOS/Apps/TextPad.Designer.cs create mode 100644 ShiftOS.Main/ShiftOS/Apps/TextPad.cs create mode 100644 ShiftOS.Main/ShiftOS/Apps/TextPad.resx diff --git a/.vs/ShiftOS/v15/sqlite3/storage.ide b/.vs/ShiftOS/v15/sqlite3/storage.ide index 854f735755937b4efd461e8403d09b0b096fffd6..5166458488bd3d8d68a2295d6fe771adc1d67e31 100644 GIT binary patch delta 70723 zcmeHwcVHC7`}bbS4^JSO;9alP0y0}uPxgmi7u2z8Iq`PRI| z49m>yocw}}>G|z@r4G%Qo|luKGov6TAt%impKZxpke`ts(=RQfASW*-DJwVAnq|!{ zuoPtEWXFuOW?QnXDS4LZvk|=;>k3y4WuY}MDx5;+y$0XkYAGnpv*t&IkFn@#M!9l!-5?FK^2io z0XqSYt%Rm+)B?1>^SR>zW;+*VUP+~R*cQ~MnPI(ot9g@orFj`Thjpsrqi4gYG}l|_*xE$#S0WAl1QTXp{Xh67z%aeT7=aa)Il-S zIEpdQ{3`x(FPM)Y&P(RA=2PZt=2rpXEp_q5yw8I8XIC%AlLwh?%NZ52@n$&22hDmG3SFE|DxRS#7W zDPQifm$NT=0k!g)_nz3Zb5TG#lCQF!m}$6g1?T-9c{+8P^tuc8f$wpMf9S1Qd=-sD z{6n8vz*lVC{g9BVE$XdUqZQR$Ny|lb;B!Z3Ps=IHPD@I|#3N%y2IdB?s^DiM=DUb} zmN4%*xsZBbL9l3x5-I_rPlSBcLsUS>hLiUS{G9;l10(O4fl5t-b0k#>11aYmvB-Un zB%d+xO7mfbhKfO8^(r~fI>VaRKMynHc{zErQx@b}E2Or3rOk;YwY^`+)E15RTWxs; zD8`li{Ftgj>j{>x;0l1V7kZ$4c-`UhG+Vxdc-`UhWuqD$AEz*O7GCCU~9V`Q5uXA+brGGDLoXbLpze zFqVeM+TI66kbI?;WW@@S$MRoQHohCGYa&%WQgYIA5^}O=Z85*s-C>%xsveG_PHCHG zwI*e!S?Bl4tF4Js^+>elXUxpTl2ic}J*O2GSbOCMX&S1!c8>1aDLStG99zE?-F02M zM0e>r+tzehgl*;0di5lM&Yh#%#abEDF}ic7G@JR}dMzcJ4sp>PI%I}unowZv+I52I zJlCM9t?C>b-MO8`meirCEj2FPWYpAEVeSIySle51_XY)OYN*;pw{P1)lclnq%!!SR zGOAwSLb>DWpqje*s*lz0=raT72COxVGxjw_X}4+ibH~lv5Pfh6X4va^`Qjw4O$uq+ zqNMT{dQx^~Mz%H4Iz7{p=UAR~l$wXVTMg##w0b*cfR6{PwNxLZmA<^9-xky7J#c#AoVFBNPq4hlW|M^0Rb2ToRCC1@EeSDJYWvMcot~aiP~m~KG}Pp8 zf3rza;F1b8ReWx#fwj-J%2jJCuhR0jxxrSfpUN2>4YcB#W?74uZuqOPq?HSrFVD83 zvkt$ErL7>grC1@{tk`*RJFY4}3eWtzT%Bau2(RzYa zSl@BBUvF13Rwbye{pdS3ld8Ns_w*+_X^ zspZZV6Sga(Z{LgecIKzbOWtuV1ZRkXW{()1q@E3StvY^s(MZNt$8l})UIIJqNZQ)q#rxRCIp$lUBC(ICV0-$Jw zB0`^&A#~Cy>3KQxF!IJJEjpm(8jZU-cx~;x?s_?tzLGavg&Dk8sEV^8b~xz{K&|A> zRw3;kKpm=Bs)|r01uKn|uaZ(#gsQl$jKP5SGkuPByxQFwF0%A`p)h$-`Rc56oY9p9 z@r4CB$$2@syfv?20Ui5e7Q`!bTBVP)N#Qs`y{*=p_i~I;n0!|yA@mK9_j3NT@({WK zWD_c3;z9uI&ik*wUdzxoLf-)SN+?5jgpO8s$O7PNSQb3lV8GRcIy(bLDPWmAHzQMi zaMw=-_2XPE@Atu4VaR-c0J#P?e&OLACy^@;P?>m~3OHyU@bGoZDxq=$Dkq+S<(<8H zF1|Th$>NV*X{%F(+Eo3T+ZNvlvY*-+pexS4vEIBvtLiY6&XJqAp*X>3J{j~$(DtBC zK^o&*#s~FX^*YT=IC9H+F6+KRJVmGFRxW%-uTypHP_uEf7pFdSxcC0!-D=xsj{5o0 zpP%^R-c7oat4|s0X-X`w86Ve1N3A4JXriZ(pLX4QJgECje?~kl*ffIUZpG^NU#j8Y zYetm(yVGb^&~{d4lN?E5zwy7Pr}-cox0#bW_&g4qd^R)^#0&43J;OqdWDvR?>emgxIr z^g}ZGiQ1fa26R8{cEHqvA-@M;5Ufa_;W(aaEHOXhmm(t}9TElqBHa))9U~?C?x0&r zv;}kxi7o)m0$mB3MfL>f`jX56&~!$X!nx>_!CB>B!LW!8YMfVq+zo z(Dc>>1ylgq88PT4lKpd_S;TLHW)WWl&BD=X5Dv@6NHBP+?d_s!t}Pj+RlQ`gh5x0q z8$(s$bdK=*0zC_0!W_ZWur~--{jAd4t2I&8 z;Mc=pCIVr{u{VLA13nbL6gKe!h#>qTeca z#vcYxnTm%O%l|Yi2suSS9=-=p`b5vuFn`JdAU*)cb}4}<9ML@tJgEdd&%i{1r<|vU z_(bp&A;}Xz20WD>#n0`+&umzb9??Vmec&nUC_%(O3Z4*B0Q647F7T8iNEi1!Oo=29 zl6wi}9q<$(1J&vJQ6z$({HsFgL*)sr>2r7UoY_ zFfAtD2>2`uuYs>G@gTYHVWPk@B_+Nacvi;5Cx9nF6yZ&nF_Jq-?njtZ@-M|NT4ce3 zA|xdtfqTF+EvGZ_tHCoR{1yCW@WJ?{=Qo&VB>xm4@vlkpAi3XR-T_YuCU@e`g6Am< z>G=cZJ6NzRC;mq%0P;Y*3XV)i{sbQkp5&-r-LW0rHA+|@GL^&=Yyy4=+S~-BDphu4R{tFxj&{y z{>v?%g8!rI`2=;3)wh#R$%TM<$6+04zTPPenpXNc^{wf0Cz{7k&i~H52_C z!2iv|f~D993j;KWAtb&Ac+v-Yh_4NvDHZXp!Bfjg5t_g!g0D-$ctXHW29N(@gv8GP z!xC%;&u77cMMxI&Bms~d@%Mm78pR?C1;0$<$-O%MtOid-Ku- zaPd4x0=ck|2Y5Gl>TKvC_jQs7kRrbcJd3a~ET06=ih%eXZtgFDXMo6kA9zQCQ2u0b z$Z6r=-vQ6sesVtto>jYW@YlgR1`rt5f!Cl8vvz~{8sM2c@h!nK`KI8zgBOb&@pEL6 z2n&`%;s=ALdQ3_~d>VMB)y=`@gD0f|$q_GrXWerP@EgEWj*@#z{CNUAOJD@}m%vj3 zd8&G3aa1M{1^x_p>Kj0E#9s!_s#!GnTi}^e5^q9mOsQhPw*b$Il=${w8Xzosh^IG+ zp>w>5kSsDB7Gi|4;Fo}>06}u?@aHkfodReN{uRlc@u$HPBFZsx{{}o|Ikk)(!2b!J zijZM!JnSsnTM|6hk<9^G4WF*d5Ck}z~_T!wTSrD;Av1w z2_pU}$sHuu1Ah*IuS?}m7CrIj6If6dk%wO3Z-Hl7+6TND3Q$LKCq4o^i?A>FzTjEg zPy9siEX#?XC;3MZ9Pw+w^AsRx(P9TInv*M@1X!K`&k{iV*Wg)>5dVuCABgN>T2Af_ zz{};M!BYa^B!=HV6#0*uBw8fGc7)`C%B&ywX|ezYg3kv}WlZkGF9Q!f6raK1*Mlde zrM7_hZ4wWX8;(Ewz_VJC4E~)^)@!v=RkOlF-foEk(yczJA&Wr-z z96W27Qou)nrv%eOd~fiSz=WoD*W$9?xY7jfik#XS7;3+|*l*BiYcnV+w{=|W2P4z_Z z1Hdz#A>QKVUMTs8cMk46w;UGGBQXN&e(+4oQ^B8++#${p z{~dUiL&Ot0xqMyltX8B_|KAZ7r98mTVA$cm_)s8Iz@Ytb^0VFC?{VYTfoF*(|Jx=1 zl%A>hQ_SS4{##&i3>K{1i2ndQD>vdVx$!@-03`o9l!4rTHSm@C*R)(clpT zwSNwQK9U9FM}cRGMIO?@vp$^oJn&RgK#CFEEAixi8Z6g?M@fk8#BYw_mXMyhw9$v(U_#xmK0OC{K_&o4TC&*m@&$GHp7Mozf5D@>gTLAmP zGsNWnk(>M_@C-4z{|ug0W#R+S(lPhh;A>O<%Pk@yz*0y8UBI*EnD~LK!%lq2;uSDRw3B}iJX1Py{|vl5z#rUrHL`~l3CY(6 z&xUoxHv%sQ(5jD{KwCF~u5Nq+c&0=Y;B4D-U;SX9&X)2q&GyvS5!GmtLAll%ztkpl zw4MLDx9SgD!*ANE-mwk+rmf)&Y)O8IZRs}=b-w{cpsvAC*f(J)mlAD9ziC|eJ5bc6 z(ZGPD2Efql;z!%x-*g`T0VqqJRzY!vul#uV1wxgFjt7_T)z8qmV0iI&`%@%#7 zapYT|C=X7-kk4TFpx?(~sC#>#>|lPj6R?f-UU3wuU31DBnifhJM#rRo#~L-E!4L+bz&_Y++X;R5NWouQpa4w@tnpQ8x}D zQ7%veK_NB4FXe#Mw)tx9u5W;%kTjBOQ~Xli&4;0MFM*--(lCZpGE#DHYy19cZNpcv zp)liZ!PgomQRO8p1My2~eG`VTsKHYl)Gt%Mkw((*Nf=W5dtpfaa~O*An62kc$K7OezKZYT> zb1X=+Ca8j4>^C`|(>9E@GfqQz8LP(+hd%l~OhMh&BZ(ZU44=wJe2 z^dT(FZ^` zm*|U58R+G&U?@XL=#KB}k)Be-w6C{si$N70Y@CeRXy!slW6UMH&lrarQE4riTRWvOs!RYr@FhiRq}9^Nj(uQUXM&%wxqUyf6Oq<7W-(x`dNXt z&->w>!1r>sf?d(mKBHRmW!aHg{sHthAW@jFx!v>m@4K+R0iPl^zUbDaj&ucD@8j(zJ@LsR>qZw+xWya98yLY7*L$e#S8vAJ3kUK0A9;pcuWtEn1s zArZkpo1%?>7;726G%Poy1YQo@6F4rgMZlnd+S=E&D^!he`10*G%R?L&{Ajt=;q1u4 znf2RV%)L5cbCluY#ro}j|ETxGhu7;=?MwEyH_p~XM=iS{-_sAu8ehOmM+dq_xE~#` z)tfsFJ}$_8Jo{Kq%W={vfGHk6is#O~h_eREN}W&GvBMQfdk-(R5%VdML-I&$9b#t3 zN|AK)@KOBS{CtX})aisvja-qWdU&zbTS$>?kw-Fi*Vljk9^g1O(Z|!r+=bu4$6C3M zsc+N|WQQ|)c=#xuaMwwk%~%E>u0s>Y+TU_^9PuRwMmvvybcYvr-r=QGJ}>%asib2V1$Fk!HA8~&x1jo(h3Lroae)T{?$^J< z^)oaMD%39vzNEiq7>UXe$uEmuPHLEk^El$!8aj`&c=NP@{h$73bnB(Z4R3!vq`>mX zjlWSj#4$sEq$F(55%q7K-_DPIXyM*z>(3=_82jder#FoGB!wVe>Uv-@}-cA|E?Vrp;xJbX*BZ|LX1p0zHhR+ z)+g`GTW;K%vqOKQ?Q3B<4;K9~wBDk2-R3sFs7v|dt>qi;Ps*$H!osiGFWay})oSM5 zxlgUzGU2Nl2R>+=Q~Xa%liri3ow)nef#VZTK5QMbKS4@ zJL~({kPW}I=rUlR`Ox*yeP{0*720Rm%=%%eA10lglo)!~^!BTEzPIIu^}cCC-fB4D z;gWYpf04I$=*ju5>(tq4>9=d&+mTay{neJYpSt<`a&)H*i>V*x=C&OvQ%Re z^{m?Vr&Epf)sNM-A4@gHgnf?L6Pxnt>J&H*^VmO4HP++Xp?9PXk{;t0b*Q84R@7t- z+ehD+8b!t?q=#zHw%C1WOzO?M--@NOqhS{ft*-3Qiy7}YwfU&t$l*3`NhHCCGTFcFS+Iig=yoG5~j_$yyeEZ_6INi!cPhtXc?j1H-GEJ z>0{P~EwY~udh)4$o8L*jQs>#Wp;MpuW$)7ye@Yr^S}F(!k{)b$pY_F}ZJ!5(Ki8wd zLzDEoZtm;7ebkd9MkGJ|@EgCkwtmqrV$2JP_Rn6cp7rGRJ^$`cO;K&iPaB>xx9Iq_ zm;+(4+Z%UFl;S@u;EjRsW!WoHZf{)xs{47x@ve+Eu6HVGJj;a#JWGkuKR)JcMS z6Jb4NcUH`vs4?z*Sxp4bS_X0QLv2ObO$3CZmS2!J5B+xikk7i4jvnnA}yu;58xu4h%U(UL_xufOQw#DGtjdysV%I|E2zIl7;K=MMUtT9+A zcjHTjjW>=|X@dh)XG*qBz#%)D44g*@Xg(g8#Z+)ef+eKUFX#KdvteBEl(pwS`K9&` zi&*o~n?ep*dG5g;%}+;N-gse~xqI=gO&Lw*e=+vKkYTMpul|FjT|(fDi0t=aaM3lcZ=D180&i=$Xgpt1Zn&#u3BuoT#H;Gg|2x7hUM{P~up$;Dmby1v+~ zTK7FoKH3v`B&cuEptt&--gN&H&)p2Q*Xg@Ezv!zujSdY_b!-*C>X!aqeo<)cOHD6- z)SzL0M#`Dr_H=uCUCz*>%NHhFdY-$mcSrDx8^*r>cb|)Ar%ygK@V$Wa4O?4wYH&vN z+L5ncxMJ#%w_$9%P1|a}wQ={ycdO=qFlkrfSFx7|ezj!Yf+^1rd~WNW^{bO#o>+6& zhs~aT{flpVU736^?5EhR)1Kces~7hBCK`jKIuS4xNXFO?Pc(K{<=g+BXzZvC3b1#W zWb7DrH$XRrD?M(NW{Oy8eor-;VvQR0YEFGv{j+*C`iK4{DQi)arbaogLuBVKLzaIW z@qjcS>f}v>#d{N-s->y>le3HO;^C#_`g&uH;AV!$&`yoz%qN382Wx|N1{E5%8)oYp z1b(Y)5^!C6P`i>Fi$uk?S+Sz+ifG4ej9PB3v)}r=f1S85AL;t^*oOz)mHhUadW&}* zFR|~sW^B(#r*})(-uc-4t<_Ej)PH66vL);88xUKgLJQRZG9sT_2SA(=|$3D<6!zjeBv{csmq;c$zwo?=g4XVj9;an@#*OdE|TJ z!>WNnIJ}&hGjpUhANLS*dbM7c29c{64%6I~9-U^qHJ{TppgWkS<;+j9;%!#EC`Ye$ zJ3Z>U+NVBgY-oS~x-m3W?qEd#bo(YX`}FA4!*V!%b$tzTXbJ~v?!5-i!%t(i_o zx4Wes!s zspsh@_a);g_*q%1aoo_qyVFk-Pd{Du7)N7RxAKBKo*U{!)m>79`f)UtQ`~q5AWpw{ z>7bQM2Z(;DU98R;q{9BGSv$U&RrKRigO7Fp^W)VEyFT8CwTsk{pZu8r_{(1&(bStA zcqwb%qbdBECBH1rm{#1pNukcr;kVkyo)IQ?e|h4IUw_#1{uc)RtlKqb?$f>6WY=8$ zYxAJ5j@SPsd0dZ%xr4iY*IR1TUO<>vcf>wb_q|hBU;Xp3o-LcLJoEa72NTErt^Vxi zR=G!-+s~U*|Ccg0;@_xu?+xzt)TNIj2X$&&WB2vnx!xhI$Gy-0w0`(UP5v75_+yRl z$#{Em_3uyYKb}-Kc>kP(tFIk=CF6^1`QrPatf}XI&4*yE?#z$vr$IPrg;oQPwnyulg4v!uk zVC>)Ul4kg=8sDCf*PN0M_Zc;+#(FGL213 z^|CQMfVOLl_QSo6b-I27lId{N%2M5&-8`u!I||;&qwwuhwi+=FT6sub_B9tDn8oH= zjXk`Syt>u+sM-=GULWgh^4fOEa-J}6=HbVIh-yucb~&27pgloCP&L!%rh84p4gVV6 zHRKw4YL{zMG)FY+)O}Psbuf1tjo(vz)FY*8%(2%8e^Vf7z|&ox9{8Uk~TWWuaXu;A%LV8vKn3uAM*nD@!s{} z5#e{8p1H*`;_NFJyN>zop@UPmy}3nqG`m(@uVz24`(&GK>fAcP)U@aVrDN#!-SNhz z&6*&2!M)Ecd!nB}Ap6H2s_=3Dh-gz{} z3B1rNaP@$a)CV8J3DotA$*r^XzbfB8aKiV;&Zh#8=7W2%d@$Mmy%AG zjQjDX!m3j3%#R7>ES}W2zQ)%2W|S@VhMp#0!DkvQt)~;l z3p+F2R`tSaD}|t2+0JI{A6XJ+H#Afm){I=%C_u1m9!Y-l+r9Jh)_;D^`}E?XHy%lS zd8)R-ipS0s>JI9pS3~+`&%~WwV>7bTa^?-SWLsuh^X#9sHhpV96=~{azxI~lCHw2G zO^wWMqYC@(NK@U0@(~0EAH#ASV}s$dsav;Sc-zp@ezc9Lz#blH8qSXvv()j2-X+PqY8{a|RWL~G}XFmJ(Lk6*GM4@1o!*)M{j6TR3#w$l8isZ$h~6)g znL~RqOz1J0&}1||f#7Mdn#r-UZKRKviD!s!h2 zIqWH}WSFj?Nxm_yUW@_5B8x{rL{mWYOA#c%yerAj0`^{s9t@gxnn*SJ!@LFi0J4Lr zgNVtVBEA3_IEi7llqIMdEX|0Y8v(;Ma3~-f9B4~q5X?{TOe^RlGZ*%hAVQxGd&*Ku z=y4cym16dug*_{#=V8Z+$qsv>Nj?IG6&XJef#ScIjnPOQd8Sm;+cRWOD3WC|Z9$U^ z+0zO=(M@4ygQo1I#Ek^4m1x=^VmV5CFyxOCK{Hgy^CI&DJW#n}(S)PdV@T;J5x>Kp za-t*5GI*e@CC}f(P_B?dy$5@eA^X>0C<3ydFN=(FmA28y{v5(Y6rvuSrs*#+RId9a z2P)S`r36tCTt`3w_@xNwAvE;R5e>>xDjM1@BlJYm&MwIiO*_{VF(sfQA|j9kY!Skz zoTGyd=+PaBlR$5m(Qn8iejYS=phR?qVdeTQlcQQm9r36tT`ay;O zQ>|$Yx;c5EETbpbbez*`8)7J9?rAm#zoKnu+Nf(}nqE?EYQVo5o-4ZN;i9{W7KoiV zMk34SvXRJ;{{JKnes^ZV$+o|}|8BRzR~y$Gv5`&GDK_niZqis}I=HLbW|=njTt98Y z<8Lju*86fz=gkKqPiKA@_VDDwzqfyT^W2#!y8~wSZ+YpRWhtL*d*J7k=QcbLR)5`+ z5!&Qu>mTpDAZ6LSHgD!!@0s^w$}a8FhP6*>U;Q<2YjMjXFAiM&^xs_!VY9zH&&x-l zDjbMk9FBjUhi}fXc3%4d7n{3o?(Z#@&(Ev(zoL?_>%6(>-NCEYZ0m4-{ib1e|2SS4 zcC@(3sQasJIey{K3*APZ?zM4ci=oYv&!1nHzBX5#vmt)eC!gPpIIw^1Z;w8h-@*{EW5b|>edjjq z_R+Q06L-Jav_Yh;Zr0ci1vv7j?>%;FXJ3cz@<_^=~U*{aI`)ix} z(II`O+%@dEZ7)4=YUH0k{IF$wX!JClJ@Tc^bw}+Z2fcChNY76m+FYmq z=&LmjhTjZV4bAB=VL~ecQAHqX~bQog<^TP6X!tWJfMZ6Z2-yX!e-zt zZgH)++5@nsrkx&LP3VAVUHwy7v+1`kjC9Ch->RidJS^Wb*AYz3d2;*OWFMa|`sjWP zF4RWQqpM!vu8FP`)`@U*8lqsBb$&*HBg!<`J5v}&6~#Ifx5Ycc;~#+o6`hDCumBajZ_a#YX?z7&Y7s^rc7&cA6~XX^0E_4!tOkIK|nNv zp%yxYRsFjMHhblKr4hzW@SpB?Of zw0J=Cp~t?Rb?Ly|sDBqlN zs2mhpW-78F*6f)D>0Vl9I{V~knG+T&w#@oKvDrlMAH!WwNx%c*Mze<(C;s1B|N0YEm`S@kc%bb6$m|t%co88@v#)*s* zGsZ5I6z(*5Jl^JC?q27deP;}ty5(T%rr%s+S$Keu^|F1=hsMsfKGR#+Q-3rz3{#p4 z^)6ZWqp_>XVBxa4>713zw3{C^jHqG3JMB5#OfC;r`CK8mf|7|J8ON&ZQ7ue^R5>NP zZy605`<~y7QR|Yms$~1c-;A^AWj?WAq!Aenno%g?nAL(`QahBt_=@^W{L(0n9yDKw z#Uao5dqFULB=`Fyp4`y_acf~{gh$~K{|F4ir!k)6NaYs%(!7Hnv@zVXFqAm*K>QvU zihvS`c0(M`Qi5oZ76Wq(hWU>J{UHp=(?k3xFa(Gm;=h0ir1&WUviJsujrKZ#{uzb> zrwEDv9fsVY=v)^VIuJ)RnQkz2UX4ZA13VoYqrp0bPduB(P$GK5(D+yUupkAH07K`^ zSi{>7d|&V+OaTy2(*i0YdiulA@i5lC5T6B}a*Q70=_&-$b$W=u*NtBT-uW^u32cQ0 zB?dpDhbKX>00+Qsm*fsoJX8Cetc5Ih}aq9P)9;@<{Axkaee+@h-5k18J0-my%9^wO#dV|P0_z>{bWPD@rEQd+HBh7K- z9(qB5=>Q1~apNa|uOSOC3p}BrhvakJ_kLDFX*x|A-W7)Y_Jx7YI@V$+ z;Wc3>@BuK$3o%g?0I3ZHOr=2q(U^-=D;$RWHHV>qqhKf@(J)*glsCc%)$UNDp+gJ1|DHI|gkO<<^GBVef7N5W9Rtzjsk z?O@1XJPakU1q`{97SL}i7|J1PTzgVV2EtGT)cR6@-6g&cekluwz)-?^!%)P7VJLw^ zOaA`Xs0l|NI*M;6etSZI%9rS&psCo1o(h_Dh3L7UDc6X$$z-;Jrd%ca*FlpG5`7*t z=_JuVfF>OyT8G3U*Ljg?4u+JM9D0Ig9)^RaA|(3^&;*F+LeP|(L@xnNB|!9g&;*v~ z$3at$61@{N{x5h79q$a9|Of1x>Y!JbVk9MfRJ_vl`{Z0u2Jq65R+iOLP~| zEOGs1^2wmZcq#vZfhHK19bTS1djQ-bz^CWR&XBhajvE`w$X{RK1wqegi% znJ~~S%;t!Qrz|RliGTzAh=E3dCY_=PI?L$3pjnnqfEy_!$&k(wy&L8bkWkJYgZV&4 z4~AcsTcbfsiQ~BkAw-_{!&u-zZ3zWh2$~hmCP`*A?C(LUNj?K+w`BhuX!1w)FTpgF zWC)m9qK|kfnq^51QrHE1+5S zo&e2?;D0iiafq1gAB4HY!+~YXHPEd5=oS;EfI)!8=!T$~LbUk` z3TPHi4rt0TM9MNIUAkY@?nB=b8MZmgL4f`${f4d!VONRXrb-wlSci&7VW z2q;jBti&NC+HVIkN;O4t5cX(^Mf*2FGc?igONpj>9|uE-DKc`0n3&L75&#P46wNhQ z&-N80!eL2?&>{tmCAt}C*5ma7&19y6X2rA+G?h8|rH2BiXO&bOltXmC2g`|Vphdkw z{M>FZlv48i3TTGr2x$Bl?N7<*v!I#MeGR&%B=fsW=4C`oVNyag2$1Dg63~-9C8#@S zs`{c(AcWvwjI5fBt`C|u8d0E`lJ*A8I;0zjjA{)PS&B?%rc7oLXet5%xfC?T3!3Lv zf?*o|6lj)3dq6VH?`7vmQ{!7rTy8Z;3B~FL>#_Vf>W(`y;&@9YOplcz1F-1eb zu(F&1nnghObI_obQoRN=E8}NmG+nvD{C**`|3hY969KZsMSx~G*MkScvX^dCWRcM| z8cgUOnamo{4B6u{nLVIc;@$&|5)l(k*Jm($6`-@6t_Pap65IbyU>JgA(9jFfb2@0| zxd=4#{3vLa(3fTM@5|^bpqoqK1ffh>_$@&*z@5#=f5r@i14BGnCX@}DMZ6p|idjtD zdYR0VGI|eamep^8Mk$E$r$IA4pc^n8G|K;1Fig2j$Xn*2HfWaB5g?f7uAo`=CWB^) zo-0+Y3`A&!Jxj!V&@4yS%KYvCU7hMbDc379p$|Z_M(HwW7QtVj8TvqE8_T&mGCC48 zi?|1924)~=24I4W<}<-C^ov2Wa(YB&Pq$Mr&xb%G!^A|t2O9rH`T_`+&|9Eck%hn` zvu_5P0qY7HGLH6tBp9Yp*)pLepcxuFXehH7**2MdiHv>+G>hyDnfx`G%)g*nE*fhf z{~3b%h>6irpjpJdK`;-4Kr{5?L9+zS0FD1*;ugs0m7rOIwt{9Y>@LtKO>QTZ|7(l^ zeF8KRCixK<+ngO75d@M)nf@V1p148o4bN#_ErI-X7{>6ZDLF2zj zF9pF8^pK3+1)3GdtDu?kegv8&=#osHUClr>j<(`LSo>ce3`=!1XqM_;GW%p1JqM?apji?82pa!I^mR!3Apjm<}GW&GNeh_6vo=j*FXoen6V#L+3P;71((k*ye&%I>7HK3X{QWLK(RPEqC!Il9&doW0-j`y?5ar<#{PHrKca2_=;qhNY^OlcN-Xwp|z z%Dl;0ye=KzV9NL7cIq-Ob7mjz0i0^(frD?{mImO)mKRTX;qWQ=xJtIdUCz?iJA{Ek zDDZ^&e>rve;P81~KjL~@*V!vyg`Osu0Y?6*0>?M7%KQ)uj-n=7XIO9se+Uj;TDHI_&31huHy5VVV#O zq)GlOsPshv2T;BW%2XMtGEhFM%%;V0t-3Hv2m;RW<;LmKNTqK{^Of_daLXfns~m(V{A~yXGf}}ZJsCS9pG{N zh?iAQkH)#G!Q+c0eBPb?w75_x1Oj{xQ*-~nfmhij@Aw>x*Kfd9X30w}_!t3uSVip^ zbWs=a*&!dFDFtTd$7Tz2GsRCx(>H=VEL~dU->}y?Oyuz`t)A^;lsl)g`zB{=Jw^!d zz~&D$;Kzq_s|K4t(0CsoePTo46hRAY(WT1GA8h_WbAE%loaN>ZHXqO&Uj|AQH1w6S z1pkpqV<(rou`dKw3yD4B5 zr=K3UKvxv7${ZBZAUGnKH4DH zaM{)2_RUEXzg1S+#+6}ZDzg-5e=BdPw4oF$aqb}CemBB}(eWiDWr(Hp4=pQ=73gzp z7JO{9)Mp0W94dlU3F_^B1ACJ&MO)O!baWzlR$ly?V&#>m5=LL2`S#WRIzF0v zz)fR)m8KFx-vHV8!+(t}FG3%!Fgh4MyC7pa_d0elHzrl66iY8ZlzUm?j(!7pmFI_^ z{rd(mwDmS|di(k(U#ZJ4tUcydJCF(m+9LL;cIU!msfI}T8^j*pamKf-bMgvUXY0+m z0*w-Htz3N;)%oeNakI}@@}<7O>kXKs*4~^efSbYQ!*Bn)cg~LIneuK41z|MPa{WzPm`-Dtw(fFz=c}KxJ z#-CMQ&Arxg-Wu02#<4!bJt1UkizZhsUU4)kgUi!5=oebO?}9mJN>$KLKPhDMcN}qP zz;|Z+=~U@$LY}q=SJk3j&J#-k^M4G$OAX1`(BzJcOk|&3u8NX&OrdttVSsAfNY2~{ zd-7v~CYh!h(+rFB>jQU&>Ru1{Q2ULR)6`MNs`}#o`D)>tfPcbehlvc;!3cvU=ca zQy?ij6BoxMTBm1P^5jb-9`=eQTN)>oxDw3D9Fz-bLb!LN%4+5qlzSkO#%&(maWr;M!;GAol=GQ zh4RcpoRr)ltV-u^c#KI{mnEbN4XYNd=RAx5uSO)o450zQ@*~RK@%UY~o@hP6@@csJ z!AskuTw|5>SgCBC!%bkV53EX1%h;4gm*ch??V3@#IaExEsr{+kQ*kqddS0+9O=$TH zwj@BCoo`X|cfTEJB<_ulE2~Q@^J6^L^b#!je1TNRN{$6C-&M6}kMXDXH6driJYT3?CFl!c zct`j9AEC#g5bx;O3b!y(^ih`HQ7TR+MUa(sDBUsFqr(Ah1NU&|P3ErnoX5yr+X`5-eDc>~8)WZ~Qs?ovttMM!23FB_#7UL@8BI8WsIAafEq_LV&ZFt?V(9p@y z&=9QuMgN8Vn0}xBslYw@w)%&PtA!5>Y*a@RrO&1wHL7bORpN!Gj*CtqkZKEV-=KMjrio-f6m~;uYN8$N zsM#6Wxb({c%kj4Mj~ue)K2%%VSd*Z#{TW){R&7)JV2XX9H8V2@A|r|uHVxO(XWzLR z`nx#uW^<2_iy;d_>IJV3RtL=uYG^u%o0=nx$BZ+KH4HBr#^}G&--T=%s@JA#g;BP4 zkB_z0pA{TXe~wnLN}S1d;1N?mrxizD- zsahf4)}&hx+o@S5+uW?00nt;D$&yWYK#K`lp|jI{*K1}~V_TC|VkowUdzrMuwL%lo zd3o1RTf=UB@PV6PTjMN~t~O4h-do#dNlUfGJ{+MN%GhP9$+pZ@E45R!LT|YCvW4z% z5HMw?Rv001^=u8Rn*x%=cpdIFZJ`!zz+f?54x1Xbp{s*{rZ0SlAX`J*OwS)f>rwRD{=XO$h5 zfot-y<(9G_S3Fh6nqd!nS3Q?T8$RAxsDc$d=V&8WXzu{cv!zQvm*iXk@?$*ENu7^} zy~~rw7>l2QE;^@*XGm-;oh`HjYKy$6{W~$>0#G@qU7$*|S!U&u^eA2zQ029`aK7?3%mu5^))!R8LmNEJm0SSw zV`R808LA@E3NFq~7h(W)u(wiGgsO;?uaZ(#gsQlzQP$u%PlyK4jB*1N7t%8`t<&k; zT~c;N0lr_7ft@i)d!5dx|E1hrs!)Di_8+xtM!?UA>(a54B`vN~2b%Uf8|XYCs!DM) z*w~y9^W{$CX0Uk&Zs$ZWS7-y=5k zg-Y9FR$K0qUH`?7u}sM$>BM;XYxnKrX4`{&xO1L(=f)wqLMx`^ykq0o&(T-q;byS! z$oPw`??nK$+xnhAljEf9xp=KO(VA(+F=~8eq97gLaly^aXt^z!()l(&WE3knU&Uij zr>@TzT6&_Np3j&0nwB5PV*HR%M4yvZ#U}>X$a}8P0_YXi_xM!b_0JDvw}IXoe+M?l zGX>l)=Pjf%wARoZEyH%hQugnv>OxI}%BUF{inT?o##{~7q`H*`IkLvda zeyF>m;{vK{n`^qLM?wHkaaedC6)&V|iz;?tJ=s!#H|Vp6T5x#-rYKVG#OLF_b=v7k zNViU(U1ql2nM%OD;|*q6l>mxRDLB3DL-LinJ;$9W?_pkPhl2L3hEJP?F}vb`-NUKO za`lGS9WEbJp)ESGTjO4>__;=gh*y}NFgK@DrJ?l%%V(DTZYCR{bFbY#UMD80y7Ec| zUxj$x;qnSsmaxW*+wb|BiF^UY>r@+<{M~Doy|(S8oAy_eJ8F8>P$ zZd=V2+-c_T^Z`BYky22dug#Wyac0ZB6H=A>_K;J7%YLbkcE}aR!N6Mjl}zbn zap|4}dd<&&j8ausgjn%wTO5jeyD#MC|=w0W1-r8;nI1iyb?wX6@G1Rm;bM3mfHUjQM*7ZjeiqzT<*^C zV&!x<9@mphF6Y^3?pdR{11?~k#TjmKvsB62P;>2&*kDW0dec$eDa`=&;(+S`AqHG! zh)ahfu+7}7(r36yG{eQ=wu1jtGu*?%G;L8o*$XkO7F2kKTTYzb#>tg4!>v*f1i_g+3 z4YD%Mf$(1L#p4zS+PRwUFJ99vAiY&(_1dnwMkSfUwpMA95MNl3L-(HGgNWkIF7dp~ z!ru~o^)w#|4~)Bs^J`qt2D7b>*C?IA{2%996oM>%O!pEeP>+FH-qm0>hHE*r5xPv_;)- zr$OL7S_I$qMX?3Ejq2k29k7MvEKRnS;k7V5MlJs*&R}zIU_9#YRaWv>DS^}9rA#k% z?2gT_+0641VX(HSu2W@M{`=^}T`6bhzNBJK$jQpZ_jF|&^?vqXvYWswKErg3Ip+yO zwM7k`aHM14{-Y6(xjA~B%79bu`7+NAII(Sn`L_v(4zra5k7EBTE1z-$Vt80LwLq|H zi-vkFAn(U4QMcTNhR#8wyMs$Z{Zv5LqE2PJ1MSendxV+Vq7hz!df5)a#pHJesFxQi zQ!CQ@(Z_Lc(ZSyw-gL+f-Vt=rbjEnq@UNkozFA;`&Jw_DH)-~&-&0-Y{>B{tG>>;M z6S32;^bV$%Lk^A}Ee5ByGOhT`dV%8=_>tCZOO`bS@AKdVf|+=yP0o5(0?*55Z==KX z_R5mfzT!Rj1VAnIT4EVTsVfz0j{Cu4gwA6QQs%g=JcA%{Vv8H$`vR#S@4>qtCGmfB zP?5KKJm0CU*e*6}z<@K}Kb&swGCN`N?x!$3MnRQ>)7u`Wf0u9JMYKM^S^n4UoH)I~ zUu=Ek>DMGJO z5X+w9-abZ!>82B6C0;(uMoGdX0pFu7>giW8x?et9(Q@>K(bu(6<(*?Xn%7xE4S|uRB~e$1C^X*w6Cy^%_65x;zf@&k(u-Z8=7OQr^2t zD?f%_A{1Y>a!mwKm2ratuC|AhOVkah_c=yoj*6V)g&9JZ(op@~#dZOxI98=;hGUPV zGO;?9I8EpbtffY~o@c<6j*?duR`J}G8`Rsp{N2$U_Y*n+soAd%M_eMJVZCEJ3gdsj z_oGU$@3{e~;3f9b8oyIP`w1N@3Z+6wc)EP7a-g`q6qO)!01{Ifg(AOa$WI$Q z2|lhlag0i7J{_#z&Y5e4!~`b>O)$+ht~ESk7-5Jvw9~(bm;blpefA~#*kECVhHKKH zb9DPyGF@s3$r>(B;Ua)kVYrsVOX|`^09`yT0tgm{v5-0-q>jPDQ1C1yyelpYK>+Po z0K6lB>G_xq4MvvxG3)a-8*-l|_;n=xPA!u<>&P@=kQ^rKLVYYOy2j8|u#Zty2az!8 zO9IX^Cw+ZW|P z?tGb_uXAed4D4{;7FH#wxDDZsVO4_4mwFjkHvH%htYr*86b|r~G5YX?Dt^DxZCF_u z<*J0WG*rjvgP(!ZFy$)M%3W3TcpK6Yd}Vg(Oo5F7ExGFIWt@7MCRaPo+&*MR@XDat zFPT0y9W$kyOvatYWW!H}^@a}mkM$3rTg=5uiR^&F?M-qx{*a-E9sXq=>>SmoD4$7p?_+aam4*HtI++WSvS-j8YT?2d zZBcYN8Z*bviensIzAsezxFf6zvU-UyPFvJY4y>%NnpYf|_YYObf$@3yxa#3HzAMTG z(%e!HY_fammEMjKq4Cn}r+lU6A2xrW`L(gYEyGm4C`?{%Wne4ayZY!{@l_$uTdieR zw#m!NA3S9(q+8~5Yvn@)*XwCM)+PK#Q+_bFG4Nr7ymhqn6{gPN)H&vN%@3K=%&{SV zg}fc|V93;vsNmm%j|8s`o)p|F=;xqAK`VpC1vNL_fCuR*t{)z!Zn}QK(i@8xFV5F; zPtAQsuT#Zs%zpl}<;~9wB&n?t99PE{oj#53SS=I}t(NVcdIATDaz?w^%tTRYoa z!()w1Z?Lt^`JhoW1uw*DxT(+RRS5FqNtT2se*H)cenP~$_*#-gtfIsqnMAar#CVxR zYek7MGKmO9iGebS=86*IWD-pjB}U358YxO7%OvV6N(_}r)KQceEt3dSl$a=!sIDlH zAd@gFN=%YT1Sv`kmq{2DC6Z(kIz@>@nS@4BVu(zFQ0FvN? z1D0?txLhtEIiP`dk9M(kh_;UAE6t1gBbr6pE1H3tn(7PcXVvr7iRw_*XR4j50#zSX z5OL=-21^yg(C~#%qxWMMR8@m0v6`uMoRXp)0dgWTw3#Z1KOH~X>WknI6 zDl1C(R9R8Nr^<>FK2=tf@Tsz*ginymmD@vruBzh=H zjBrSZXv?giLRZBwhRI^-q$tr(lrX2MwBEWJd6TBx)yNwg<*r8Fv^pzpsd_8#CY0-~ z)S-#`;j?T-37=&vO86{WQNm~0iV{A{R+K2SY<-uU7>2Ksb2NrN2MJ;r$|WbyQ{|Eq z2MH0Y>QEpw)OncujMcG}O5dL!D5x%(~GwRa$bf*%GO11oqLzf<{s0 z*=ab=%jO-@#h{LUW=-zH%T`EOcD99YbLUUlFs>Q+F3X2%+Kj7^SL2xm%ZKZP@xsnb z`}fBT!yH$92iiXG7gqcF4?6;`waYuw@9c{a4YEu>ecJ2iE4r2KY{vePC1G~MWxXoR z9-m{ZXKQ@udouu;g&l*IkI)I$dr$VTH(9D0V!N;=+}69VK1?a3mBo|#*4Nlt-;A=w L-q35|KluLv@TznG delta 19475 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
  • w|=dMD?Q}5Y@8}>aitxPcq|yB=O^gb2DoyH^}-b&siA&tq+c83 z%AR+|m5z4DmG$78yI@T*2nsgT4_Blh@8B=1sd3*cfogZRUo~&%U4H67w_n-9&by|% z8L1N9gGcJyM@d;yiZsz1v%h3vrJIVSu)&?x{MJe;={@}{+lF~rU>5ika@WAW0OzdbaM6J;Ax>~kOkAWrkU*WY{5Oy?;2a{_AB6CWIFA^!Lr^q^ zf@8!U9)-k%vqvm&43Y%S23R3?yk6kkMVZf?bp$wvfQfhcmvno<^9|*h|Ar0mXOEe< zmClBN=n?rMaE6=>atHhXoGXXvC&(sn5h3zV!5Lz9;AhBTaCU&@FG5c1_H_6+$gliL zQ1tM3C~m<(%+kx?kHEz&CRfmX5yGqB<#i6I?VwTMVv_y|T@!G2h(k=yZ}!+BI&c%x zi|daDOt&C|3>A=%1ZRV+fP4zLnB}}z%mEjZ@E-VbaBj~`_aPtZ<=G(lPTd|*yUBSD zKtYdbz`Nc_aIp*@fL{R@At(P!uYmUCGBQO3AA<9nIofjwc&-Ts;SkZDcfl}&{Zrl% zqo5EWdj^9hx&bR7Z>#6C0v<7XfV0O;JkSgU7ehuq5?nM$J^`E#GVzG|s-9oOG5&L* z5Eas3MKS&nxR}+<=U08gVe)Um=>VYC!1v$?l9qToJ`2tv;UpygLoZKzy9Yn-LxFjw zRlwWw6L8@%&kIgW5Ya>OlHi;VOyp(2#iSyy3C^994e~Ia03JePB;KY6fa9aJ=b>U4 znDChQ?~&l5LGtl>KA=QC1spzVW6az4>pEwC5Pr-7=MXUQjQn;nz8YMQ7+wj(U;`8) zq&yk%`$VxXknaYkgParO`~Rsx`?Bkpp3esPm~aYQ)JOh1xENycd*Jw>K8!yV&%oFt zCO$XW;U0&CiJad>iinVx0WsQ#f{PwAzb3dCBJ$eB@*9KGK@-~78fXWFsE~)uByf7j zMBWEn3=#Pta2`YfwfwQ*VLIm#?Je+7a3(%5Z2{*uc}(Qr>Go`2Q`~}rlZJ@~E_A1S z5!HA&xNv~^(cog^A#VmQHXfcSJAjK0k#_^fM@!`V+7L}@?Q4h7VMU7P2BW}@6;1}{ z&4!5;%-8J!HO{XOMT0z)t^yZBK)$wE{>NJRqV}~@>~>9|)vxhA;M{uI04q2FE|wWj z#lM4#^FkQ-V{oxgko#c`3w!cVaAD6Uu=?QI{hv)z(Hsg9V)6uVu3OG}@&Vvt7FPw& z0_P+G)E-b?0vESqp0ekFGlIf18V2>$>6MzoX-KO zo)4-W%Qx%!f*%BDhgctv?dQQ6a_)pY=HCJ5kTNv@w+3MR=@GD|sEqEh06EX~4ZuZ# zM&Rwh#qF28w{8z}iRb<-aItF0r-PS49vvcIq2~iid_dXGSMnTVDw^TPF>pG>0?om% zgNu;11b1Kp@D$5@@-T4GU@P#Z;9{>Q?*T4CPCiO6kK)>E2+te30(qLE0K6J=ky=Cf z6}WJK{3mb`5%L?wIKv}mIrD?TjrQT-qQl7dNc{2>D@Th!JPLHw3vkT%$koqKK|Am) zaE>wa$@!%!=AoAOjQA!vCoR`L`Es2DYL9pygNs#?#8<+53>EMV$PsXSv_yU$M4X7o zZ-I+3C3m2EV$SecuOhhEh?2ppgVSLq@?|E^H5LM9rdgNp{qCmIWY&j;tS zV`BbVa1nCyPr(^cCh~pY_-Kjzq|N~)4;B1&RfLq!>yN=jNcoiPfH!oAla9Qc&H<&q z_z?vzw&oYXf%bcD3e@EbOdSeogM|otNrXE1hr#SJM9Op?;~*QCa72_L}p{ zbaiKDPM=*9HVnU)S?!K#(O*ic`o>>MHTB?MN|@?*TZvK=ZYznt4{s~wW%G$~-MmxU zjBWZ>{ntj{8oRpZrInU*^%7P~hhBL!*Y>oo{`=Yd^=uvD_s=u)az^RDS=?&Ws4?En zZ5w)5UmNI6xL&`KX2rh6p;X{C}w{6&B|>5NiVZGA>*qI%CL zA)YRrOM2q(W}gJcc}08I+X4%L)3rI|5rnI~1>`Db5+?`sS0Fq=QvWyfT#(e?gb2ME z^$7ha*zo4hbu*s(q9AjT!G@W^qbe6BE1iMDY`8U~4utk~As6*ZI{;@GDjloauqL8V;*bcAwz-LC~aoIh7Pfl%OHVhU#qkRjJWa{I=;OZp$>pvg!)_L5wmC8VS~l4 z*>}Q~_H=X&^eCc*dxc&PLq8Ep+Ej#0fu1@#;dvi~UX#29Vb9pWbO?J-JPE=A#B_ke z#KyxQ>^&Ri#?BtshU|cFTcdp!G|b+!V|mG_hG{+Ybeuyl0>aJ^NASK#BNE9VM)a1+=RWKVHd##jE%gf{yC%sN^H(zdcIv9LiW+v=S?l?Z?ESObXp6m$snDC! zJ>7e)TaMcBxO29}QXq};-s+a=t9QbA*i{`By6q1n_r!n;0e$@s`nUG;`9-*vxk@Vw zl|bhbXQX3>{Q>sD<96?+-Vr{u;E*laUrhbe;)RdHtVv@n`6K_s3pv#nc*S|AO=+iT zn-mb?8mvrG!W@N;-nL1$Fw-{Fyv*dQ6r+qV7lw^n=2SmzskHaA;Kje+Ugu-8TRQ6v z3OndK8>cLh)oQ(!w|(w-@gBCP+C-83b zN2RLHICJhoL5EKH4q4_P?twH@Umc+IA9k$M-c=u8UC{D}P4g!%I+!X2&1-M^ zhbYU&%?xoy*|IN;Xgz%A>+>ULgx;;ZZS~okC1yl6b6uRC*ZT5E%ak(HYF$}TCb@m7 zrjDB<_D@;!YVgpJ7q5?Wc2E8!F8IvnnOzE+>?`r4gF3&PQkH*UIZ&yt9_gkOhAqJv zh0Bb|X3t9*lQ|?MS8|vfRvyQWlv3aAu0)#xgVpc4E0sh0V%rgiAe${OV`N%x%yZ+} z!D>*lQrmh6Mj^fjgA`X?hm1ex!>0$vr@gPoJf(@rd-j;aRKx21?N}|-1iQE7@v649 zaKK;kU0FaCwk+R4XIU{1$ z#-eds&|Qq%PgBdSDqp?t70V0d=YIR%lGp=D%f9u_JwC_7S2A~fy;}6P|Jc9&k#R|3 zoj2~9)nxxKZRhUY>FT-H)YMbO)3oW=e&@d#8=sfZV%gN)*1zJ@{oegKrtp|N_2#0@ z9iAS(oS5`WRQ0&3>cpp|O>Z5kyD$H>oy+$6b~I1@I;7dcw`woGbR%}~f$3L{m5Vy) zzu;_QH#sYG?!AKDJKjzooKm*by6KzkWn(sXX@2h2t065Oe_@i0S9Ye>=9T z(a1m5pU(uWn6>#*orC*Nh_%ob!!>zY<;g*XZyhP!%JzQd%pb?TmykT~`wRD8Jvpz* zrhl84m!1v?ZnZ>hFtBiex!>gYb5(YneDm1t$d?-*tK$x=JGqLsB(TG7 zL5)`$MQjVP*4py@v`?BWxcqcZtC;-5o1&(@cy!rTdn;>a`Rt;c@(q{#elY&;zGEu1 ze`;BM`Fz`_yIWVa&V1O{_2AcLaho^1yKG-aSIhRlj-R#W-M2<;dwJEZ?E9@xCU|Su z3)WtVxKnxYe&2g1xB9+(d^K}(=P&Lb&97EIcu;K9w|XvLyzuk$i%v%mvTfh^=CHBW zP77b%I&0UBGZPkdk!>%of33r_3q2E>t~ph3EAWWliwkb<=-w*Twzc!}H+^S6RNOMY zlKyj@Qc<3(D(jWX_%1qXy%J`XaU)XH-7S@}?nZ#z*_r-5p#z}_G*0Nk^y4cn+jc3| zK(}?Xgb$DRy!C}(_-dMzr7ewz&MNk$CA;7Vx06X- z7IoBirN8glcBQMVPTQ&USA#xPM)|gUs)U#$UmrWWps3%ov&E!4*h(H%r)%dc9j;t8 zt3hY#KW%s5i0Ua&Vm;M|my2H$v3J6{;6v6X+pkXhYJPs(x+T~CeP~^)nF(VSZS}0m z+G@9lf3?alac_@>l}9vw`IkP=mQQS{*rFUft6O^AcN!_S7X!HObn`WpE6Hukky| zVOjlcl~ODGPaKOF7bctkki6`qQF*b0;7cD2`PrE=rv z`X6xu5RZyB_t4=f+39J?884*`>hZ7Q(by(=OOt$0zOe6>?aNvY#R&V2AA}AwkspFEpY@TSfN*Uw#X^38SlK?$lvMl< zp#cU`dI54*$K(wm_aUOe#=uV@94`A3NGd(IiIGCd@?wXkxb0zLzS_-3htqIOf=vb zQw#z5JB9)Y;2(f<2yl_ew*aumW=I>zC*UGN?ZLkQXGCdFeh5I!p$_0U-533J6tH#@ z{sjiw3efp2aE6eH1s;M2X{?C5;JpYb^DBcJ?Q4RIF=u|GV!W*h@#it0i3WXPz}_&C z_b!(aAO2!GycW`3&D*JtpztWxCva0AuHSt zZj9LeV*E#NI*7n&4xTlX?+9JWB`Ac4RNMmR3}ylH`+5a{QYXk`gFU$u;SwDn4+Iwx zA@8KV_C#sP_m$enaP)Y<~_kB6|I#4Ju>KiN0B!|jv#98H$zx}Yt00@~Hr zITx}E(g4CXTS72JJ(`k!vQbvf`HQY-PO&0B@;V`vAhfFjVMR3{Y`7+b_QZ4`Ovlx5 zrBkgTbfg}Hv7-%nWr&^I47UXKgrmy_c>HFA+&XC3O6Q!Q|l_sILW~eH?@i)q${MZ6Vq=(-eR`ZwFz|xG6Hcp%AX(a0n}kfY7np5UvI8eJsc4 zXgXFELc31-wK}eBxDAB$a_?k)jdae(-HHrH2M9gl3m8`19>Sh=^gVf|n8S)*F*>G7 zj;T0hY+3txSDE*~!Qvj+<@q!1^OtTjKmH;2%RxDbFHI`>wX;?=UxEL+cN+iaU2mSr zohFUJUnNs=aQDJHvHMD1q^eI(DFy1L(@I6YsQW{0d`8K`jCr2;Dvp~w zqt9tF2NRJa7YFe|&**E@2YLpW`Y2$|b>eBTVW4SK8hVaW9E7j*xJZcKFxYS#^$4Rx zgV9tNa_G5gryKA}U^++rV+co^jom|8F*P_JS(Xcgzlp{AJ3}TyM4h~a5~FOU#=3=P7%{&xs7MTlxL4EuN7#s==>$%D zITY2vtbbS zo(*#|=8ETzz%O&SNqbm;ui4o9ILK0D(1`j>=-EIVgkM*Q#_j=^)b%AWWL)JOV@1at zzS}5EJ%{f&Fdb?O;V*%3_*g$u(fAV`Kn6YM5Zr*UH^iSp*kj_e5H{Qzk_=&`>{%fi zU=-Qooxtod_o;IRJjc-ROTb0LmxynO^oHY5APg>Z?AaTCV0y|*2axM{53Y2GPJ95N J4I{(!{{Ue*B6|P; diff --git a/ShiftOS.Engine/WindowManager/InfoboxTemplate.Designer.cs b/ShiftOS.Engine/WindowManager/InfoboxTemplate.Designer.cs index a076c2a..58c191e 100644 --- a/ShiftOS.Engine/WindowManager/InfoboxTemplate.Designer.cs +++ b/ShiftOS.Engine/WindowManager/InfoboxTemplate.Designer.cs @@ -43,9 +43,9 @@ | System.Windows.Forms.AnchorStyles.Right))); this.btnOpt1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOpt1.Font = new System.Drawing.Font("Lucida Console", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnOpt1.Location = new System.Drawing.Point(65, 134); + this.btnOpt1.Location = new System.Drawing.Point(73, 170); this.btnOpt1.Name = "btnOpt1"; - this.btnOpt1.Size = new System.Drawing.Size(75, 23); + this.btnOpt1.Size = new System.Drawing.Size(117, 23); this.btnOpt1.TabIndex = 0; this.btnOpt1.Text = "button1"; this.btnOpt1.UseVisualStyleBackColor = true; @@ -57,9 +57,9 @@ | System.Windows.Forms.AnchorStyles.Right))); this.btnOpt2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOpt2.Font = new System.Drawing.Font("Lucida Console", 9F); - this.btnOpt2.Location = new System.Drawing.Point(188, 134); + this.btnOpt2.Location = new System.Drawing.Point(243, 170); this.btnOpt2.Name = "btnOpt2"; - this.btnOpt2.Size = new System.Drawing.Size(75, 23); + this.btnOpt2.Size = new System.Drawing.Size(117, 23); this.btnOpt2.TabIndex = 1; this.btnOpt2.Text = "button2"; this.btnOpt2.UseVisualStyleBackColor = true; @@ -80,13 +80,12 @@ // changeSize // this.changeSize.Interval = 1; - this.changeSize.Tick += new System.EventHandler(this.changeSize_Tick); // // label1 // this.label1.AutoSize = true; this.label1.Font = new System.Drawing.Font("Lucida Console", 9.25F); - this.label1.Location = new System.Drawing.Point(105, 55); + this.label1.Location = new System.Drawing.Point(107, 48); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(55, 13); this.label1.TabIndex = 3; @@ -101,7 +100,7 @@ this.Controls.Add(this.btnOpt2); this.Controls.Add(this.btnOpt1); this.Name = "InfoboxTemplate"; - this.Size = new System.Drawing.Size(346, 174); + this.Size = new System.Drawing.Size(438, 210); this.Load += new System.EventHandler(this.InfoboxTemplate_Load); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); diff --git a/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs b/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs index a5be129..948df22 100644 --- a/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs +++ b/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs @@ -43,12 +43,19 @@ namespace ShiftOS.Engine.WindowManager Ok } + public enum DialogResult + { + Yes, + No, + Cancel, + Ok + } + private void btnOpt1_Click(object sender, EventArgs e) { switch (btnOpt1.Text) { case "OK": - _buttonSelected = 1; ParentForm?.Close(); break; case "Yes": @@ -82,10 +89,6 @@ namespace ShiftOS.Engine.WindowManager private void InfoboxTemplate_Load(object sender, EventArgs e) => Play(); - private void changeSize_Tick(object sender, EventArgs e) - { - this.Height += label1.Height; - this.Width += label1.Width; - } + } } diff --git a/ShiftOS.Main/ShiftOS.Main.csproj b/ShiftOS.Main/ShiftOS.Main.csproj index f511503..93ece0f 100644 --- a/ShiftOS.Main/ShiftOS.Main.csproj +++ b/ShiftOS.Main/ShiftOS.Main.csproj @@ -85,6 +85,12 @@ TestForm.cs + + UserControl + + + TextPad.cs + Form @@ -119,6 +125,9 @@ TestForm.cs + + TextPad.cs + Desktop.cs diff --git a/ShiftOS.Main/ShiftOS/Apps/TextPad.Designer.cs b/ShiftOS.Main/ShiftOS/Apps/TextPad.Designer.cs new file mode 100644 index 0000000..7d83c68 --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Apps/TextPad.Designer.cs @@ -0,0 +1,215 @@ +namespace ShiftOS.Main.ShiftOS.Apps +{ + partial class TextPad + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.wordWrapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.insertToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.timeAndDateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.textBox = new System.Windows.Forms.RichTextBox(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); + this.menuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.editToolStripMenuItem, + this.insertToolStripMenuItem, + this.helpToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(315, 24); + this.menuStrip1.TabIndex = 0; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.newToolStripMenuItem, + this.openToolStripMenuItem, + this.saveToolStripMenuItem, + this.saveAsToolStripMenuItem, + this.toolStripMenuItem1, + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // newToolStripMenuItem + // + this.newToolStripMenuItem.Name = "newToolStripMenuItem"; + this.newToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.newToolStripMenuItem.Text = "New..."; + this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.openToolStripMenuItem.Text = "Open..."; + this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); + // + // saveToolStripMenuItem + // + this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + this.saveToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.saveToolStripMenuItem.Text = "Save..."; + // + // saveAsToolStripMenuItem + // + this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; + this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.saveAsToolStripMenuItem.Text = "Save As..."; + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(149, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.exitToolStripMenuItem.Text = "Exit"; + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fontToolStripMenuItem, + this.wordWrapToolStripMenuItem}); + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.editToolStripMenuItem.Text = "Edit"; + // + // fontToolStripMenuItem + // + this.fontToolStripMenuItem.Name = "fontToolStripMenuItem"; + this.fontToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.fontToolStripMenuItem.Text = "Font"; + // + // wordWrapToolStripMenuItem + // + this.wordWrapToolStripMenuItem.Checked = true; + this.wordWrapToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.wordWrapToolStripMenuItem.Name = "wordWrapToolStripMenuItem"; + this.wordWrapToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.wordWrapToolStripMenuItem.Text = "Word Wrap"; + // + // insertToolStripMenuItem + // + this.insertToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.timeAndDateToolStripMenuItem}); + this.insertToolStripMenuItem.Name = "insertToolStripMenuItem"; + this.insertToolStripMenuItem.Size = new System.Drawing.Size(48, 20); + this.insertToolStripMenuItem.Text = "Insert"; + // + // timeAndDateToolStripMenuItem + // + this.timeAndDateToolStripMenuItem.Name = "timeAndDateToolStripMenuItem"; + this.timeAndDateToolStripMenuItem.Size = new System.Drawing.Size(160, 22); + this.timeAndDateToolStripMenuItem.Text = "Time and Date..."; + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.aboutToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.aboutToolStripMenuItem.Text = "About..."; + // + // textBox + // + this.textBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBox.Location = new System.Drawing.Point(0, 24); + this.textBox.Name = "textBox"; + this.textBox.Size = new System.Drawing.Size(315, 265); + this.textBox.TabIndex = 1; + this.textBox.Text = ""; + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // TextPad + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.textBox); + this.Controls.Add(this.menuStrip1); + this.Name = "TextPad"; + this.Size = new System.Drawing.Size(315, 289); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveAsToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fontToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem wordWrapToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem insertToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem timeAndDateToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.RichTextBox textBox; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.SaveFileDialog saveFileDialog1; + } +} diff --git a/ShiftOS.Main/ShiftOS/Apps/TextPad.cs b/ShiftOS.Main/ShiftOS/Apps/TextPad.cs new file mode 100644 index 0000000..6c091df --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Apps/TextPad.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; +using ShiftOS.Engine; + +namespace ShiftOS.Main.ShiftOS.Apps +{ + public partial class TextPad : UserControl + { + string editedText; + public TextPad() + { + InitializeComponent(); + editedText = textBox.Text; + } + private bool isEdited(string editedString) + { + editedString = editedText; + if(editedString != textBox.Text) + { + return true; + } + else + { + return false; + } + } + + private void openToolStripMenuItem_Click(object sender, EventArgs e) + { + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + var sr = new StreamReader(openFileDialog1.FileName); + textBox.Text = sr.ReadToEnd(); + sr.Close(); + } + } + + private void newToolStripMenuItem_Click(object sender, EventArgs e) + { + if (isEdited(textBox.Text)) + { + MessageBox.Show("yay it works"); + } + } + } +} diff --git a/ShiftOS.Main/ShiftOS/Apps/TextPad.resx b/ShiftOS.Main/ShiftOS/Apps/TextPad.resx new file mode 100644 index 0000000..53f75e1 --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Apps/TextPad.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 153, 17 + + + 268, 17 + + + 17, 17 + + \ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Desktop.Designer.cs b/ShiftOS.Main/ShiftOS/Desktop.Designer.cs index ae2dc17..9a7a4fb 100644 --- a/ShiftOS.Main/ShiftOS/Desktop.Designer.cs +++ b/ShiftOS.Main/ShiftOS/Desktop.Designer.cs @@ -32,9 +32,10 @@ this.listView1 = new System.Windows.Forms.ListView(); this.taskbar = new System.Windows.Forms.ToolStrip(); this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); + this.terminalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.taskbarClock = new System.Windows.Forms.ToolStripLabel(); this.timer1 = new System.Windows.Forms.Timer(this.components); - this.terminalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.textPadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.taskbar.SuspendLayout(); this.SuspendLayout(); // @@ -43,7 +44,7 @@ this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None; this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; this.listView1.Location = new System.Drawing.Point(0, 0); - this.listView1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.listView1.Margin = new System.Windows.Forms.Padding(2); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(1277, 684); this.listView1.TabIndex = 0; @@ -66,7 +67,8 @@ // toolStripDropDownButton1 // this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.terminalToolStripMenuItem}); + this.terminalToolStripMenuItem, + this.textPadToolStripMenuItem}); this.toolStripDropDownButton1.Image = global::ShiftOS.Main.Properties.Resources.iconWebBrowser; this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; @@ -74,6 +76,13 @@ this.toolStripDropDownButton1.Tag = ((uint)(0u)); this.toolStripDropDownButton1.Text = "Programs"; // + // terminalToolStripMenuItem + // + this.terminalToolStripMenuItem.Name = "terminalToolStripMenuItem"; + this.terminalToolStripMenuItem.Size = new System.Drawing.Size(120, 22); + this.terminalToolStripMenuItem.Text = "Terminal"; + this.terminalToolStripMenuItem.Click += new System.EventHandler(this.terminalToolStripMenuItem_Click); + // // taskbarClock // this.taskbarClock.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; @@ -88,12 +97,12 @@ this.timer1.Interval = 1000; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // - // terminalToolStripMenuItem + // textPadToolStripMenuItem // - this.terminalToolStripMenuItem.Name = "terminalToolStripMenuItem"; - this.terminalToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.terminalToolStripMenuItem.Text = "Terminal"; - this.terminalToolStripMenuItem.Click += new System.EventHandler(this.terminalToolStripMenuItem_Click); + this.textPadToolStripMenuItem.Name = "textPadToolStripMenuItem"; + this.textPadToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.textPadToolStripMenuItem.Text = "TextPad"; + this.textPadToolStripMenuItem.Click += new System.EventHandler(this.textPadToolStripMenuItem_Click); // // Desktop // @@ -102,7 +111,7 @@ this.ClientSize = new System.Drawing.Size(1277, 684); this.Controls.Add(this.taskbar); this.Controls.Add(this.listView1); - this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.Margin = new System.Windows.Forms.Padding(2); this.Name = "Desktop"; this.Text = "Desktop"; this.taskbar.ResumeLayout(false); @@ -120,5 +129,6 @@ private System.Windows.Forms.ToolStripLabel taskbarClock; private System.Windows.Forms.Timer timer1; private System.Windows.Forms.ToolStripMenuItem terminalToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem textPadToolStripMenuItem; } } \ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Desktop.cs b/ShiftOS.Main/ShiftOS/Desktop.cs index 06f1fc8..66392a7 100644 --- a/ShiftOS.Main/ShiftOS/Desktop.cs +++ b/ShiftOS.Main/ShiftOS/Desktop.cs @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using ShiftOS.Engine.WindowManager; +using ShiftOS.Engine; namespace ShiftOS.Main.ShiftOS { @@ -64,5 +65,11 @@ namespace ShiftOS.Main.ShiftOS ShiftWM.Init(trm, "Terminal", null, false, true); } + + private void textPadToolStripMenuItem_Click(object sender, EventArgs e) + { + var tp = new Apps.TextPad(); + ShiftWM.Init(tp, "TextPad", Properties.Resources.iconTextPad.ToIcon()); + } } }