From 26e9b5d298073e1956855c0381034621575ee215 Mon Sep 17 00:00:00 2001 From: Mentalflow <312902918@qq.com> Date: Tue, 9 May 2023 10:57:11 +0800 Subject: [PATCH 01/13] Let the pagination can be manually adjusted in FluTableView. --- src/imports/FluentUI/Controls/FluTableView.qml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml index 82174b22..add8f91c 100644 --- a/src/imports/FluentUI/Controls/FluTableView.qml +++ b/src/imports/FluentUI/Controls/FluTableView.qml @@ -118,6 +118,7 @@ Item { id:pagination height: 40 pageCurrent: control.pageCurrent + onPageCurrentChanged: control.pageCurrent = pageCurrent itemCount: control.itemCount pageCount: control.pageCount onRequestPage: @@ -128,6 +129,15 @@ Item { top: parent.top right: parent.right } + Connections{ + target: control + function onPageCurrentChanged(){ + if (control.pageCurrent!==pagination.pageCurrent) + { + pagination.calcNewPage(control.pageCurrent) + } + } + } } } model:model_data_source From b5c0ec50a82271b1f0555f3110c0147633c85ea8 Mon Sep 17 00:00:00 2001 From: zhuzihcu Date: Tue, 9 May 2023 17:17:57 +0800 Subject: [PATCH 02/13] update --- example/qml/window/AboutWindow.qml | 10 +++++----- example/res/image/qrcode_wx.jpg | Bin 122130 -> 53092 bytes example/res/image/qrcode_zfb.jpg | Bin 148439 -> 69553 bytes .../FluentUI/Controls/FluTableView.qml | 11 ++++++----- src/imports/FluentUI/Controls/FluTreeView.qml | 5 +++-- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/example/qml/window/AboutWindow.qml b/example/qml/window/AboutWindow.qml index 2147054e..878ec06a 100644 --- a/example/qml/window/AboutWindow.qml +++ b/example/qml/window/AboutWindow.qml @@ -124,15 +124,15 @@ FluWindow { Layout.preferredHeight: 252 Row{ anchors.horizontalCenter: parent.horizontalCenter - spacing: 60 + spacing: 30 Image{ - width: 164.55 - height: 224.25 + width: 250 + height: 250 source: "qrc:/example/res/image/qrcode_wx.jpg" } Image{ - width: 162 - height: 252 + width: 250 + height: 250 source: "qrc:/example/res/image/qrcode_zfb.jpg" } } diff --git a/example/res/image/qrcode_wx.jpg b/example/res/image/qrcode_wx.jpg index 893eaff06f2b9ec7c1c29ecdcc44dd42534525cd..3728974390c9d39a17d0a69e4ef2b93ca98e4dfe 100644 GIT binary patch literal 53092 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 EyJvqk09)_qHnt~o;IWtCdX+w$ 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 diff --git a/example/res/image/qrcode_zfb.jpg b/example/res/image/qrcode_zfb.jpg index e7626f2f8007246eb0a215a73112e8a963cc33fb..598ad93b862cbd4a5904bff83eaa3ee0282858cb 100644 GIT binary patch literal 69553 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

??mi)vF77gEo4|;-=h-$0tqGa%YN* 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≀ql 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 literal 148439 zcmeFZ2Ut_vwkRA#K(U~75QvIM6A=ZG8c_iO5vid^MVg3+^cn#HMT&@kA`lemLPUCv zbOn(PiuBNHLQO)l@+NzqbI(4v{P*1Vzwf^D-M8^uersjTGRB;9^f4Cw2Yn27NLxco z1IEArgE4@AF#0dpWf=2rCT6DH%*;&8EG*1>SP!wX?%m7Ed5~@YAs$X%ULHA>&tBGjph3wY*e(V}#$CG^ znV5F(2CW0Yd)V&7Ozg*G)R;N+Z?PPAlAU;}iJF zsp*;7xq0I1+WN-k7Ku#R!HWUL_&ZwQ|KAb&S9l!;c`?j!dukbko0@v+_U98+EWXDB_JE;AJ**}I@@c$NO|AN@x z@EU~eXJi1I$9NcqfKf6d#L{;CdHuNtf1ZIq&%mE&;GgsioKuH!>i>IJk{Ik=#Q#gz z0oeH>k9@lxjgLZ&h)d=&;$wznO4diz=B+hlQq0xR5C^5G`VY zO_s9lYo@{e(#Keq=An8!^VX9$xO1A0bl5(n#?iG6IBlB~UEfZWr_wa(u)ro)cN5Id zauj*97LO=ELS9=biPTf09O#Z-^wz9C=q3M`UR=%HhS0ZqI;^8)i)BEP4pZ9x-T`sD zJjKn-Bepli02FWj0tG8x+~KcH*%spIu-CL1r{9M9L5Ia;(_t$=GBHnUPtswSorlhX zvk{1*Gq|;-fO^UldK&HXlMeeEh@rnAY=|h&5uxL7{4k z_Z7BNg#)4O5Q7hR)> zm!7xOIgL2~{UiN9?3kx@sihrMnkeZRBuP-48@U8gN{$$oh70EIZ zI6A`LP#aBjSjK~CIT4+G3UxoJTaRlbMr@i@4$wqlW%id7@;>H9VhMpA8p~K2C+j4&1bEr2nPfy)j zqB#Ua8~tj~fNrUC@g>M@e@`c3PpoT+Wm8GGnGfi#&h(CFkZ%he7QhO7QN4oaiLobW zq}XkGwy89=#WPS~%ub!ke`$){P0O*e?$8jctM#1gu(`+!C*U^dFfyT-8g-APgf}V5 zC%w7elT}=DwLoOgxAa&PBBaH9zLxu@|HZCzokLk`8LmIJ??=RZkAZvvwFa;%&(dKt z?*SB<$F(I8iqhnH41nl6fGCT$F1AZsYyoT<&qP@?&u5AZYsOSsJ=y)G_ zs_f}3I_%;z)b`?l6mg*u{i{|kY2>_=({1IKbz`aT2a-CCW3p>`{SEu5juTv;6s@Yy ze+iw6HBEU}^P)O&(~I!SQHWhJs`d6Xt@`uTNzuC-xqDf~+WFFUm1CZcD8+mp49Ndh zs^=~mca!zAP2_-c5@BU95mH|gg=*QLV252;s;oMe#$ZQ>)wYlZJP5c6^AsOx=8ppV9A;0!k_#$D~#D0_aDbE_^b5ANHAxsoBu^YiJ?CbL$89r_zBFc&=n|r&%Yp-jE1SoZ**eMHNeMLZ~+z zf=GiyyWzyF7$$Ev2(1b2Mn<4NBUa+ukH8@xEg;Fj(FtD7ZG&#ZH`Y|d@HgqOscsc4 zbO_4;L>3^M&k;Wfm@ukj#{7a?`cU4mL^7L_7hIdX(uO8aiPE+a<5svjcUxlbks!v_ zz+BA?SNtbR@yFHVyt4Z#-#?s}kdtVZNYd;|n?xSN*BrUn7ge^o(Gp*@9JqDg3AEuLZaL$*(?4_jWj#rJSDS0&lMSFE(JExj(4Nfc70!&U)oQA*IEj$Ht< zQRo_+h&_BpfDX%Z+1^Cg#~cN}o~Ofb_EgCQI_%Q|y7Njc9YzxUPV2J-oC%J6yU#Vf~=4a79;7hyC(H{t-!@g)5(qXQM&AXd}MCnI})x*7X*pMDAsiqWn zp#wc?ze7eM#63jx4_rh%mH#(NG=XL=v3O(=+RsA<2uLEsYd%> zCu`@iyJ$H$e1`@dR*+APV!A?}&ioiXZSljVko`!)y`z!Oe{MEia>^zlfe_hzMu(vo z$=%{{g6F`v9hP9+7)Tav=Z%Ma7BE{xI;^?2_uXsJCYx(S9CfW9=o)yi^oVWgo#uc` z;G!V8%_vTWxG~~`TK=8{!iD6ERa>;h?S6D4=1^9c|1or6%U00&D=L-*$xQ4UI?NHv z9*}2T)R~5U@xvz$hK^i^Cx{)M;4xHbT-A}}_7eG#I=SlP_SqU9*Ek~au_sn5YSjI` zr`p#Ktn26y>(gDzf<9h;IStAK*J~}UP2pn8K53Z&h+M0t@fg-NSAk>cg=NE22hYN0 zCBGuZ-%8mwW zcM1XK4z#udEY5(_`=D0}!D18Asuk!kgclBU35EalX>{ia2D)9c_`MsFiD)xnX?>w5 zU+Q+Dlg<8GI~{xF+cky|Cr>zHW_f!JMZhYN+6bfC1nW3kx6BSV;dU7f_Cp$HuFi@v zehKyEsYg9IL*lkl%P4Y+d&s%}{CPYAZ|%+IyWSBz!uXL`T=}GTDplqlC-%j~?`{JK zZRU>mwQ%nYVBchks;WdgzT+qGcl{jXu(0*qB+TZhyYw=dN2d*@7Jp z9!<-v=g3@pa?6oC9mK?`fAOF8VvaZfdoapNhfQi$0!0R~ehj66?85!4ABG=vY=6Kt zQG}=5uv?*X&}~+8HT3`)yl^4Ob;9{vL-z>U$wImI{`sXCPZ_HY>Zui0uqTgkThrAM zJzBle51dckw?i34CVd*=9Wd4r6k2B({pv!%rZn9=V|=%wH^+|Jp`9RlSX;R;IyF2O zUH_ecr7=zcMsOVCLey(Gq*W`)7fZQs`bchKi`&bjh39Ah(~UnNv|fowU$l} zFa2a=QL_SDDw7`_{hUFS8LH!w^>25LU>cTer#d+${Kc=UOZ_qQWh1X&iWjT8qi z6B&_;1J9)GS!5)A#MiBH`8OFNw!amGybXJ7TZ7%gh(F8DHF=p(r zzFKFDjr!OFvBg1$*#L!_J7Ar1^bXY#%LG=y9jsTNwh)jnqAbTlGTVch=IGm(zIfz`i ze7bL#+^@)=d{gB5*>PaVwPq5-|F{{#Av)5vim>y^sBroJChWk=m- z(GuH?m#PTgt3REO9t`*q6TTW;I$9u!+!oaX^eTzo9=pL(&)koPya6HmCnf4BMq~WA zhLiNT8g(nI4oxD5Q9l*YRPv63xGV7wy_7J=(DjYP4jPjS5E3y^$)!<_>O1d43aoZ1 z&M;Dty@86A-OA_2-wbO{cMthE_!oY(#RxEGi&g1Ychf5#(+out_9WQSpwj<}6F#Pb3)o;gCUW7pk7Ov9&~rdu{R5BZ>}vWA|WEHr3muQUA5kV0JWZ@V}=PHe=6c7*rwl#2b?F~qOK1Ao!08g6Wc&Meh9aa8 zymzAeU_sim`L>uj)UANv4k+Lz=*Q$U(9)*l00~&j-q46Xq4(N|apaMzAA+4~iJn&Q zBF7N2G>O8^2kUJ5UCd%GmLs~$i>zAeLfQS*yN&y-uDz0IINIq5ARy`ayX`=x2hr%T z9qIFUs|B&Xqol2j0?2DWD+XYwl*?e>SrJ9R(wOOn15oY!(RA3}t!Uirj*&ZxgGwAo zUM;F}80(&Q<-Hz^97D|o{D|>W=LTyFppGIyKUdK!LE4o8Ngr)Xo}5wGE%qgCpVpS6 zU$?Y26HMx#S-1e$1mv3$WcJgzQ9aro#!%nr|Rg2+;S}+$tT@GtjO|cMa8`J^+(&rZ2P4!LCSk7L%T!EllSt%tG{Ws z;^KYuo>trBEo`yP3@e+AHtg4QU>p^6Vl8U2>l0x;JC&J&9m>^?W=@J%_rZOpa67wP z>S_Ke?R>Q5_Lx4)({=GDrX@NiHa{+4y|$;8^3!4p z8qBQ4>mqIhhJD;X?V9C}wM(jpwfDt(V!k22^9SZ<&qW@@1gO+1F@K@PaE*HVO?-dr zU?OF`yDBE@HN3U2#X`9GR=_+vE;DjA>-G48qshtXLV_>z(4g*6tWcZiH_0f>c=!{W znrOKAiKt)9M#^Fva!Y}5V&=1gQ0}t3MR2m+%mFKrhb{6gw*tP__9!QRhE6 zZ#i|;RX%KN_86`5E6U^O;6Er^_Jd5kFt(A=e4!x5lyDyRp68rdaUqu2=;dlTE@GOV zv;V?Tg422>Z-iV)#)*!|9PJGGmA8%uq>jy5T@flGut1j-G22h+up(sXz*B!9M4m@y zK@({6%|Yrf6(CJ8ZL6v+;&hlN>ddD@sXCI9n8kCu>XO|E%v zCuF@Id@GTv9`J0u{b5U^q7jmEuk8f;eu9tTtkbyPFSEshjMA#7?^4f8%r@-iUkv0U zL0fgc&%xjUx5OJeW$;4jfETo7R^^J@U(oOE*9=qE$|S|<>I|RucyV0yR;m$&pNNh| zao(sq9Wp+*+TPSuFC;_jbYP4l5%ED2R*vq&iVxk}&a1GoBiyVFH4U^TQ?;;~Bu&En zOjA-ZQa-lWS6Ql3L)qsQbXd(ouw`*>%pR#K+`9x>Iu{>Qn8`zSmM~=$nco9|IQLWCkHY|rE*nR!j8MFPWPsSCn7l?g5SrB#o|$6{^aH{7fT zwy)3L7Bp`|Mx7~>oT?D~iKhI(?oaDeVXLlI3QS6UX6whtWFLBmdUa+4dyJNYp0w%) z47vh{SlxSp-;-uGF~Lxau$`0W&#w?icOe~i7e(fA$5EEi>l|uthR8XAvlJvQu$2xY zt`*RPp^`DlEzRzl?M+}q#-w=7!8g*_-sZgos72kQ@?&ZdZ5(F5$w7W#vp@F72utdfr+R{>j}R%qxB)2PW<|Ux#!*UR8nHIn zzpPHCySMLtc69f_Ts3&>qs~qBIc-G)X>I-P;7k9^zA6CQ!6SG$^(hZ(B@22iIg>BP zZDr6Zza4W{T<9m)y7V9AN34>%vO!K=R0G@Rfk6VLmN^i+s`<@sbj6h%XrD**c|ESE zp35#p_-5pHlWoRYbEIagiGrY>g!Y%#6dfJbNWEv%i;u^$RFoz4kB?PErN>`q{n+F& z$(5rh)V%r90ypAj=RUI(kWuWnpY!%3-~eMgTcbp49Y3Db$F$=FJX{Yk)E#z2)x zUAQqzqFqAk*6RLq9*5ZsS5Qpm`ToB+ z-mR}{_SJI|I6ahZO-PBC@bo~x4pm*>Z~M{7=;k{1c~+9<>uDdpOt%;0$pN!*%oECV zM4P~;XI1*mUt^B?@vj#O$eAQ7hZDU0hI!8`78bLQBx5< zS&;eB!O>SAF#D-mU2-q?p33aTXMXkmx+ynUC!rlQar2AMZhk@rE6Hp=*=(-m$AnEr zlCqmQNhwS^ebk2bR0F+#;6R=?ypiA0DF~)C!r>Lh(h_*%6bI$~8KZS%b?h{*gLHm-u zth?k6u#y)yEbN0lRCphZjBR0asUAdoHNudzV09Zh@L*pU$8)wScdj+fDC(_jQkyewrL;oZmnaURb-yVBDdV`COjm%W{uD&?Q#Cs;{rikn8;h#ti0Uwn$SV39%AG+l}OwEGD(nVIsn2K-)ym9xpFcvmb_lxftto9k}fF zQbX^i#>bEAk-3XUDPx!~COLCzEHd~NmY<{!4J%cO*>NM+nq*gQW{jpDNiqZPw$YF%SFhOSD8U0Y}L3WnffVbwI&RLy~}_{l?)t ze&g^LW0Dg8l?hG{oeaVLEKU2r8N5 znx?~wS*US-ILbVx|B)#1ga@{Z+dQw~)_-v7LVRVnPg}#$va> zF!K6*KcB)@HM zu#^q_lcPP>N)M@;U+HRKu>)Q*{O*Nm?1RW$_QrH1cy40o43Df^4y?#3m2Z%Ay z6+i4&4;^-iYb`23@UPG02y!D4<<$UR{zQlI%*MR@PKQO;Aik|jhY2Y_pI_gT6G&0C zc{Br=$&--z^R-7h{gDnLFT^rORLu;rGbkAkp}w5Aq!8oI_rsaiTKsXXLPij$9iMPA zt(M#J6Zes`QxREKZo>Wd0}nbbYXw8o(rOKcAE1MCxnslDmekSw2OFOy~CUNAorWb5t8Mz%fH+AktvW5K3f?Q>USwwuddcjRD8 z8Odv6>T%QY{&6QQHlf@8K(W}!>vkW$-e&Mv$JUMWi(k53t-73(UhnDkpN~uB*)QUg z-!}O#ONTjjjJ%apZ7B@@Zht@`4};RTb|O4$N{V@sFfXO!^v2`HCx+mk8`Qk+JUsD& z&vo3RHOjBwFcP$XDIfQigQXl5Fj?0M!s?5+%yfLThmvt+c)6Dz&V-O z2-AU&B+;?!>3*Nk?AK3?BUYOfp3?#(XPx0!dfXj$E7~TT5TjMqn;bfs*}|&D(@CBU ziywr*8)&0CZD|$+JxFp=w`W+J|Q^zwZiqO*-$oD#O(^(~3 z+4ACE6jbssLB7n~d9dB_)bs1%!PSSHR^Bo23Lh`WaQUAl3_NM5X^(s`Bu_1Q?2O1@ zaBKEILL4ycDOJNZY|b(>15s_tvVnCblr_2>Aia<~Zyu@t&9_eG2c95@w?0W?%CT4u z*tM+ma`8nJSd-vly>13#6H~~k+Kq{X|N5p?Nx_U+n4Kct5S2gjb*@|^XP zj(e)Cg?HRIaI(v`#39!BS@jS3LWdFs@#uTkdHNQTq-fY z{7BaciSf4~*sesb`&n42nx=baoW7PK6S4O+@al9D(9RD#LBOvGPAJ~-%BxlBZ7(99 zfL9?z9x7xOXqQ5Vv9dLy*2uQxBxXN*suUXwFemQ!K-*jm{`SPtuno*EE3>(z{FVAO)pR>Sx$=S(K;|1dQvomvMaKF#csWWZI5W@yeJ*sg3^OaSp zO2f|k&$oJ=I^o~3vCh@ z_Ywa{kWVLfm}6N2+j%=>M^gX|U@*mV?_>no`&u` z&(<3ATWjVzGE$Aik6_gMyH4Pfo5g>) zFPU)H|Ggz1`q8*WWxEF={_QqE6z5^KmmL21;M6#qPP6(WXY};^*5>$#H9=RCW zt^)K*N&4Szu^jJWHoO?A*cG;=NImrD%?^@fKVqE~ga>N-WBzboeLVuvH^jDzt45T{ zfDjSmFT}W;DbV^QW}t2JKi(4+f$tvq0MQDvH~uS7qW&=`{r^EIONjq4lmq{Twfqyx z|L-0Db1nZ9>iP3r{^y+NPa6LRxcZ-*=ub}cFCzVqa{N!~`ICD7ea-E^N%p+^gR=PB zl)w)tIjsD7Cw}9uY!;qU(3 zzlK=%{AEby-;CzpAo^Q_otMAA&{yB}7oh$K?SJZe*qK`GKk{At>)$o@VG;?uB5KBo zAc;Cpnlg|3{wYuOs)DD0aJvY*^x}41{~&s&J}CCX{jPl_#p5g{Vi&RbH=in(kXh7B z;fJ|+>de0kmT#Z)+{C`fYAj0bRY_gJQ5k1NUNoO^GyLgEhXwmL=y1A7GCk${vCeu< z%Nj#a(vs&d-dYv?%D#kZu1$nLGu3AQKoL64AKot^5zwKq&9p@&51~ghL0lo)Lg!Vj z)ytNp>=FuoHlC@G!W8Hxd0PLj#!fsRvZuQ`J>SnPP-Wc?QmH5(d^MNfuh?W`9j5&D&nNf! zyw@K#!c19(Qzi8dfm(q|0Pg(Gs_h$QQBNJcaq&fQQ;Wjb05?ME?WIJOlkc}JXB%uw z?sgt-Ro7wH5hZEN%fDRXy#X}xfyF_5RXT1CJm zyE*%l!098(0~LB_8v0&5KKaJ}^(iTb(~eE=Z*}SB9}l@U>$=yk zzD9ENzXN^+L@v5x5*~}auP}0OWJ4YOdb&-jQPh^>Tdu3Udn=!_y@c;!z9wG;Rh(uB zp^s9d{DeZYQV?3DrT$7+g51^%PT3#odLQ?8B@q6$C#+S%$k}L1FFq>evp}5~7X>s+k7EIO7Ej!*MMa0|D%Boy2v&tHJCK$qo zazVuU3dxX?MTOMJAQM|}9=%3pnRLQ!yD?E`;G3SJWVSQ!N~rp8+tTjl+bTya=N>fq zB-x!|BA1rM;{IK$uKqfky8>5A@Vf-j?hk1D5pX^-T6QWKt?`7!`hL&B6N-;J-zT0s zQ1{AySB(g#7;HZ)IT^(+A!nudpr&$YlR!R~$E2V=u&SyKeXjv0MJMLB62!%YQSy2@ zD2s81xHgs@+8=_7j&tBOI)=)KUgQN)&~Z9!H+kQ-;uaKe8nN;V9SZ+BfLoh$1%;Tu zK;7aXaG{vngMuiKmQP}!g}`U1h%r!OVGk01euL44kp73x0e-RS@P%t2`EU?qEsn8l z?nh%ler2$KC@sYgjFJf7TEf-G{2f?Je9SQ$nP~9Q06=0av=E`9e>DYS{Dv;a=W)BJ zt{6LB?8k)}=}6S7LI*SfKwCdsy=*!^^0j^tIP?#*$|VUUIO3($hpgq$R-utCPU3- zxX3w-O_HTltx(@&GEb-0nD1n$A@~0(v0XVL&?TXMghl$%nP2Ma_ zR}u=+aFpy<-7|aJBBw+lQ4-$zdZR#~f%l`km5EDeL$$i`ZlCZ?kH0bGJEe&-r{|of z)i>@OMGlk;1y|ePqbs&&WnZC|p;c5%8kSAEBNs23tDOq@NtbWPC|I6Z9~!~|ejMAS z;egFm2FcNvyC0nh+iQPMjpNJ6llPeJET|o~!!j^CEW zBi+;Y{px@imTrE^o)BNFFeUHua~x~I?2nzv+z>{js9RSM*H-36O|ZgP8|h|cD<lCNSW>8fk z=N9y?1_^O4ZP9iE0>-(c>r((LON&Hp0lLRpqJF)SCX-2sRYgRR462PRWN1+5EY(7J z^*(Okc0$XPbvoczp4(8c40^P3saAk=)@5Hn))LQN`8Scy*70o-9faPw3WG%1s=HCy zwsKiYMkbmaxSwS;`KNI!J?K!7@Y(1pYXA}#9Irwi8)TR#*Uac4>R$N>>6@whUX8B~ z+-IGUYY3gN_I+v`BeCKKh3on!+=!7=a8vD9_2(>^4;ce>WwhPL0k=E=CuB*3RN!Mg zGy=N0CT8gy&l-fDd_afUPT&$(m9fkb8z_=tA_?TN0|c8ysp3_17-cU=H}HoO(*ZvK z6o){pvMpBYnL?WJT_ziOJlz{QdE$arY0mGXHwv;mj^EFB%C@+^+E8-BM0u0BTyKv(#BL=IRpkem z!G}P3H6UskY-m!JcE6M1VC#dI3(bb9bI*7`@A{-{c9Vh)m)j?1dMd8|3&7%|7&h{8 z(u<^FxOTUztEx}0D$o38!b3~hkDrcy6_o4?3Mxlp3>E;z7n{TCE~~wv$mu>uQkC7mkyVxMEf;aa~BZ>Tt)B~R=*0n)VQGt zIqN9$l8V%xfus zE`;Oxq*b|wY4<|*si(7?Lq=!^@C}R>pfn*PsXD~y{0!0yivY#R7Vb_BriV8P#xfo% z$?}S>ysvJJcL@KI{IXMM-x7_1w$aBd50RcuTtk0R!%4Ia_-o}j#Wp8J)y3N=g*nZx zQlA|TYt;BK_(}PmouhV*=$?`3+p`;;UljZg4RTm4wyFNwpZ z)}FmP>P(c6-SX*YW_P&);a|LfWct1it zQ?~c*;J$CPw4q|fzdw!RjOXfKDbo2kUYd;TNJ@B( z=dMk8ab%6}dFWB1VNl%%9mjT!;g)BO)hbCLiEr2C_;%{vKUD*1t}F-dk6FYW@eBcT zbwSPHK&gHDm6nAdueVTdfh6E=^p@sofpCdsUpGaG%wfbX^@Z{H^>;a`@tZ#+w4;S& zdukG9zDVt!AP5VP`T-?c$GlUf%ED`s2T1b`#6U9}ay>#D+S_0>~Ywr6Sc#!HX_jtz=uj+5z3~uMLS}RC2#pOc;U2HKnMhu~OOnmL5tL@F&LbbrqI5>u_S0>8 zN_X9-_pk4P4}ZY@+*+O=H3i2s`?FyJ8#%xH{Lc8vXFxCY!KJ^l9-L> z5Kyl&2M{yw;VA(ON#`sV^DL0kUgQLP974dNwt`X3=?q1>SVMtSAWnr>75jvq5E^TGoAm;jj)y!sy-nU z@C@Czh2AYMwVa2L&%KN4kt2ME-b_bT_XK^Mu6>6UB9WmyKodT=c)toE8#CiD{)I%t z*7h^*$yQE&Ey*Nq-erHQjHa{8QPT|J`2jitw>X)28Pl+dwL%!uhxHf=2{nTZeE8Zk@Gm!ZIn zo$kJf`C?$jOl;%ElF`3nA-zUQ+xI7QSep@eo8$kt-XQ&xN&`je0sM#(Ea)+h+Mex# z@;acvKn7X`e3Gj70qWwRZt88%$Eg1HnWsMg*R*^zm=ly??aT=baxx_mqR8U<9Ko^e z_>3qMredCMe4Mm zcNX>pz74CGRjyz~ldTxUq)Q)Sp%A+CQB#|SV1QQG)XDI}PoNVurp5Z|p1gnX)%~a5 zFJRyNLv0S0C0#wKb?bI?_|fR*%KUvzmH7Em2TD|(N&My0(4O{(9%w+Wt4BaWK|vmM z;Td0ehRK2N;>E8^xj&4{zFW%KczMeFgx$OmhiTx2iiDne#geAtFa>Yt3MLuLB=?n4JOyHohG^96^`LzHq``OiHd4gx@90H)iqE zrqMG+XhlkQg$|ZsRvyXbDw6a%dFoYaNkiN;C&BP#uH?}Cw+C)bYGT^`%9qEVv5|C7 zDS%IN1)Q@Sc|EoSzg}ta%mqZ@&1;M)fJ z8!Ij$@xI!FNwE=p4=8!W|T$79h4RB&k3wvZ|{3w5R)Nw*;UzOp5NX`=!2`Z z`;0`7TU?dByFnHgS7Gc#$H75T%=PmFyM;aD98Q460rt=@Y06$5GBP8|qy-8D7JO|s z)CW!k<_m5mcm8c;)A)dtxNP*@a(@-1&-)Hpz^9ae!lK59K4y5C5Iw^6>tLP-ujmQ! z&sg=pc2q=^d_c^s!nfzkd@>a+zS5d?7#>G|4Vb~8>vK_*{UdQr$)`v9 z9-XY=ogWND<5$@LQ7#1_pun*msy@}mU)!@CG)AaN9Pzb);fon0*uFoWgS%oi%LH4&)yf{G>zTcX6u3-)Xia+y6wDp z@e42bI-kGX#F8W`Wvu7qS!KtXFqxoaB#J{ZZc6{zltpcrg5+b%H@+!*7pz%`77d3S z6(1uHx2}i`RlV`*uUQ|6rMe+%yMb0wg1-|lB4A{&0BL5u?upEn7bzSi>0A%d?fQTZ zma}Z!d-S1J{s^1Ckvp2qWCm)f!2@Uam`c4-cJ$FC+e>$>J7J>@HCvj<5wLZ!Wx=X^sI-(-!q_<{>RGtwHHTI7(N0LiV-s;V*pFeHZqZ7AWBEYzj#p*)LT=!CdOH#5CyI zEm#uft*px(uSLEOie~Z{LJFE2r0e%2%>5XNH|+~f)=N?aRpDQjvIEo~GJ_A%M4(rd z?!xsggRniHR<_IopRKBj@=$#!MRUMii&_2mT8VFGR$%|`5qBQwVM2k}HPyBQ zR56Nh^9DF^@`GV{ZeD_m`veM1#SLSP(Bs$dBGzbZv{k2H{Hw!SCaGsMZ#$|E1I~?* zfjma{&j{|xZknx*Hk&GURQf7pF%A#&8WgH<36L7P9y=q!@D*#hWZXZ`Jg00=%;Rc^ zXzXijOD*c1Z|Karq+GnIfEAoI@P4M2RL{q)Aow!u*7GxN);7TJ;dTR11_>>(`SXNn zg{QI5`-!*P&SliC7>H63DP;4szOMdRPiJ#2bCi#pk$EaOum93z-6g#C2&Tc@!rW5( zh0McWi5c#Qd!=AFAjA}t6u3T%)rDtgMSLqXef7}9*O!eg_^pOz@0JKQxmE`KWd^bR zjOH{uNN&UPP@~?ocO&)=&LsP|0E=TJ=CmGpdSk}fZV29*M~X>d--0USSM#}UL~waC23?&!aVh$2R`3D; zNLxoYpVaM`Dw|1ZDS%gR!;zU~xqw@=pbT^e7?A+@;bXKmP)`HEgX99P-x~rOd$H8W`D#mF=L1)^+b)6X_r)AshIxU4R0%{BNio!A&<+D`+o`?lAMe8S`5gG zF0F~->Y>euP*S%D=~ti@LhrqWr!zFX5Y#s~0C&Wvz=|KJKd3k%5oGmfW)Ah*h6`!j z`yuJ!fZ@`E+IBWW98nX4=kQ$L5d!RMz0Xk(aAy=gs$NQ?7Sz_GcFxFDY)PxO}S*0dc_D zZJx5g={<|*N2)~UQVx5SOyr^3yZ z+<}JT>n)&uRlGTGpqGq?I8f~9PLluKUmY~8#Pq6r!bf?d2G$P&YFX81iGAv zT1Hk0#SnB_{Y{(LIYg0Y9pcoyy318gKDjQAtrDskYMw<6}+zipL zdNE@^JWQ3F8--UW-VZRZesoZB{-FdXl*gK!_r}V(U?wE#df?!VszQI2TfUwXcLOR4%2B>_d18_F3 z^^}u9tNc)2@C8x$5wyeoN9__E+TjbQB|ot(`XewS-UqTmt6lBc8}9U6-ZPtvkNDiT z5yRmqALZneJ@h`W*9Cz`U7rSK>}NN;Qp^^TjI=h4q--9m{~%nlsUWkinxmzioJ#wC ze!}szh@-vd3k`)+Ehl>24Uj+7Pke}BHgFz(rp{^n|-~ST9O?K z)gbVGsJO&x}yP-tAF_6ZA%TSg4 zT7h!9bXHVyx_-(1=AQ{?y-l;2D%MTn@d0c`HPQXuEAHI^eG(dI#d(Dl)LH6TU^TY3 z(ZFu8Mh-CU=Q7@-l!?t=rCuwPB~RKdnAfC6*$v3A?wJr=cmrpzK98OP_Vwt=Jbwo` z@oFg=hfl03XT_ z29h2viCHLLUZIfr{q{>Ij=16oxw4~VS{2}0vp{Fi1CjNPr2*Q8RU-97((hj3|Ha;W zM>W-T>!VRb?1(f0F)AQR5k;`jVgm$(Nbf{cqzQ<01h$RdLp~#0pij;Yhaa^?-)0DHsJsWrReoJF<_88)t}fmw!u|qGVs|DJ|Ui|9ytF} zGm{}2d@~`hX~O>lALdx@cF&q=-7o!W+dqYM2ytJz!-3KEOf%1Ga~&%#y|sz$>R7B& z_reaGr_+-7^T(*3`qs!S-;?YH)rO;PZjmk@o6~jDthOU{^1VGips9RPf!Cav_MhxK zE7n8xO?Q4EKnUGaF0sIDga~@hBgDC#il0|-!jv(%6gb5@G(y(PrD5zIfD~;pbC3xo z^Eq=CiK?fW)lqhVCK|8DiSwJ^gN3ly>W=e!=3ef?2kU`$C}&SVOU+P>h0y8dTPJM` zN8OYyHhUpO2W9*LUn@~n?}w(mN>K1d$i!(y>{i@IMrj# z))8UX4)xU?+$t5pqowUp%=&G>8X$%%gr>fi;pqiwu1%KiO``>y{LB4fmNdCvnm=om za;UKwjQEggo;`EzAw|(a7W?44##5^R^s$KEo#`{530@)U;t}~CCMj=~vd8qr>|$hD z+o)+nSVlx&V3*;(I|P0537awU%S7@~tAQ|r*d4+|uLnH~1%hebP*{O!yu?-&N#$Gw zUU1)vBm=OGoCUlq;^$54&6nQcvh&~Kj?StBH8ocNV2=iSFH34 zWSRIFu3!La{e)lX_GKYwz!&Us7-`gMm#yw8QkRf~1ZcxPuZn%qqMiMC+KBEzU@%sB z4Z|`9SIh`$F-!dYyGQeNvJ1>Rgbx)yC#9IKvS}RWj(waM;Je=WBY@U2| zw8*(5w&FW)K!8|us^YT+F1yCC?u)aLNzkAj#e=?rS^-^d0Luq6TbcB1-a*HhL8hN* zL6^hFvd9->0{-4o3~^`&)EWvA-AI%dN*Mn)6MA8@%5Ku!$}BWD zfF$KBoMzH-^ko$286AvbzuGy&x*X0o-*)xlLUg3b{DV4+?cS#puu`?>Up`5tKvB)X zpN<(>+Y0+`UgIe%3V%yqu5pdD0SI(uEBBeVJ#G$7_HdTc3DiCKFK%?9afo693&2YR zCLJ(wJ)rH5kG|#5+5Mf>gV!coir6MFCp}%1O9*bKW+ZpMQ+V&LJ!wA?xpmy&E3)Hi zUcu#~8%OJOE%rLxtGx0!{9r$Jkh1qR3wKa;g>A-#K0)zdN;)oFpsM4*i6ci`_}S6A z=57O@+zV!8KJm!#2`}T~%b+1qGEb?*w!>(n72g82b^Y!GIPWyp~OoDXHTP~`> z^yp?$iMmnIgArW`6PkVzF_Di-9jA+v)-m5(*D(svqvBIWsIIh*3XL}W@Np1}n@3Ya zXf5nZAlfL!@YWz}0+X5SuN##3eDJz2DWSmiMI`?~n1%aPtak61lnTPmADToh)f1XB zR+QaHg`~78+MePuGU#QqZb@kd_@G&|_xnQauenV5vI*KU!=t)mL#I1q3~= zo+gpZ?A?2eypjzZ!g}03?r97XHOjZ-G-4qqJ~=P7a>(Zg;`qmA=<9XKo8x;$x@0)^ zYBSplU7W+^C&pUYhg9}>YH55DJ4&Ywq7+E@okYinsL}~a%CRSPg@15 z&9m#63#tqW3uppBhFo zE|OHTvMB!9nce&+v>Q&Z`1+ET9s9F`a0OL^uzay(r zYp<81#7nvB8gW3;LmRj`JovOx3hdnPNw*TuM6U-Umc}zAAP#74@b>XNvf|+;ivt#? zY%hL1m0bvPLqX8k6U<6mCWgaPSBJFdT#>w6|IwqAowv_4yIR^=k<;yVD73zd@f>;~ z@HQdNg(Zti+oE`EmDOCW)m#6M{yTh#Q_AMOWChMzJTgW^2c0In=vx@>deG(oZ+l*@ z~z0wXloGf1{c*5qGk4 z{k3~rA1Sh$g)((~#a~i_P(wjI(9{6fL+t0Pvc-)HV-T60A-YLjn31qLSu1~pN=>Zy8B#wJhZyZeZ z&UM?{v?OQdY=j$Z7VLjN(etT#`0?FnQ}c}0IX}_ySVQTv!XB*cjeA7-xEDU#=}#8C zIY^9}>Pgrw-d*@i9qtjAKaJdC4WPC9#2mgD^*2hJg-$c#x)X!1TYvh(&(>C1kd zYTYc&zFb>sNDQc6nE0G=$Jznnjq})|i8Rla7MF)P95~^7vG|n_=?bdZUu@*OO3MaD zB9u&k&mVLg7lty5S9M_Ak}NCKtbC#@DBa+p`CD0+SPCK4*p_H{!l3yWXE zoggu=k6|}f!_I5unc$%GA(ve;*x|ciMnG;!QSMU>`{T;{P+p#=aD^W&C!3BebGt^P zT}GW{2e)DJ@0aOErnwP$Y`x`$Jvfsujjfk;bTQ4T7x5Rih)4vo$ z>_kNEg+8DLSwU+Fsv5N&Y-*PR<&2H!mWmgGhwTfQH>x4Aqi|gs;}bO$-iZcU6Aimf zVb~dLJA(PmF>hOaRQ)bM>WgyX(Yy&m$1X2BHh2jP&QI!zwB#>wsIXew7rGc5Da7U| zEU=dZcg1(SDhtX>=p9#|F-9tQMxG@*1-Y>mm*u;UjhKd=24Llc_hsm_QsB2^kc?ktxdSNbRznYijhspS})!%oM5!_;It^fHwsD4F#(7) zS>OldpxAlouVD1}C7cVe;WpwTr^omU5pJ+p; za>e@$YpxULZc$;?&Ks!Nd8(fkhJ`}3=#kx&NB10@|4?;;Si)-OSy){mPFk!kFLN<< zkK&{f(4>W`%bt*m&RhOT?Gj@}ruduq-D5#1YCnNby47Q*gOEj(>n#}(yCAUDb7(=p<%+>GyP?|dRFgE> z-SgRX7CbK|&UK5pyL^==Zz7Ebi+t|0YUyGt#)$xvU6^%pAfzAqpsYiAKXg9J9&Y^CU@VJWM`vs||ru=DqFmG`JD&;8TVD zAPLZRf(TQy4fQEmuP0~^mvOeo%QW+1oZx(YFr>QIP-{ZnsCe$FJs(rPr8?=x8kHdp zD!zj@B|TAAx88p-s@jv${^Uvz!ET{-2SX!=AbT;>vLNDWbu#sxuFku{u6;+%t8=TpGq#0%+Pe!_uW>W7buIvu=blD&6VzCGsC3^d5G`fUNgF8cJu#-*7|kp+-t=+Jj8> zW_wU(d~HZW3o2$q8+#F==U40eR_1-;M>PGHu=ByD?6_dW0 zwk_qhxOHU(Kc2jubiYw(1c~3j=Mc`1%zID9;r8H-qC)*gdmcX!sK_r*nQ)KS&;4k% zr8eZ)hbfG*X>fEhy@)^%k?TL8d1hR1B9oiOZztY|cOOqyp73(a6R0%;vSMx1I9t9i6fxL1#bboqv z1p8N|m=R&J`fN+h)5mDxcw1ciQKLgwCd6)0vB;2W^|JmHk&UsBLS{}kZ)bzg^I(>G zQBQH1AVZ^zr036D`2Rrc50#=#gC4p)kD&BOW*;T{5G^HbgY# zZ??01UXlDRM=8z~77S2ZBCbp_=prAZwvoSPA-ce3IB$=4$xP2LR8f*4_9R z&+!S2VH8w+evJBZhdsO?HI`RUs7*=$jp50efEdiO- zAgr)%@z*x56i^V6HZ)**kt}a&)c^F=mfZ;PXx0ZWPo(9(URscImi-?1;6;Jrd#FJ2N*G#}e~RiB?EsPiA||0J)Y3GuvE=B9 zY&J*n7nEQSRvF}=CVKHPeqMpFjIZ`GV2~b2srZ!HPa;7|>yRy|B{FPk#$0B|gBW}j z5#Fw-0$;m_CM+s!i=#Z2J1l3|RB@m~mW?2#ZlbQ&cyT|w?2^bi%b>@X?9gq7%~r)v za;fUthQ(9gZ)xy6cI;8|q&TEv&JTT2JD4A{^Q1`J`id}%yLwko)m_l0>OI)~=F@Su zh&ON5Of|S4e9V+Mty^5>bEP15tTOD8N(bucDeafyA5rhzq^Jv6m?FEBbXjFn{hKlX zZsK8mLfn|nht6f^@TKC`&?W;hpPA28u`#XE{7B!LvUj+QBVviCx##c#uarrT_H$j; zA6KmL6!eWXjEI$s%zIpr*7E%pQ9q+TVNt>sn%`Lf@NXz%YDyCYD@Xzx&OLAO42Z{8 zC)zl^r6R8rkmr>|=0^*5E`}a#oe|}Wk23s|GPGc~Bug1}X6f{Cu*dD}J1HtVw^ta1 zimWTl+jdkr#~abi@5Z;5d14Q6a~lmD3~3Q>3H$bKCRvdk=4mNseu3yikrY!oKmvhB z&xLeS3NEo6+!Pai;(KG(4eX39oYBFLYDLH%xr&Ebv-u~SDR}Yy81$jd=E&3 zIumS=Td;#u567;$A_ucQg!IwkX0}Q>tw2`-4+mFNoUQO!$oSNlbN->Ow3%3oy^uQsx&Y`cR2fFs{Avj6I~oyt@8Gf9Xc?XCG2=cCn`Z z$+B{{)RJ3XN|!4)oi4avF8@uG5mty_nqw+^h5yDOIzdxJaL@#IfCr$wN2u{5__?F2 ztRa%J63u+dC0KW=F5CVyyZ1a4P9#%b0Z6FLsPQqlM0LL9hmTt9jV9hNX*e;yA}re72pKQov_BrP?i$g_EfD z@%39Co!LitNr@ZsdzONc%-iA^M4t}4XBy8IzG!a6+fd9=@1633-{r&5eog&b?v{JZ z`Or}sx)gY?GCm+|mMqSGO^dtJ zzvZ2$lbia4tM`kg`9|)g{BrgfCxzpgCe|%E&m(8Ux;J)a6Xr}Wp}rlgD6}#dyo=Jl zTpshDIc3wz*jVoAtc=Oua7*Jrq#9D_Vz>Zzl(CWffv4Vv*T@FKp|yr~AzYT8f^vp? z>?cXx%<|n`1(Rd(Uk38FL-MssT{MYsT2qt29_W` zjt@u93!8y;ya?*=_FJ$fohg*-exkFjcHuzIQUmuCX_)zPi;J%SBWlcA{Q0ir;Sgi) zISdPG*fb8%n^UHE5^mK>DIGQ~ITC4={AITc<$`u}(Y+~)8x9FNwQb9nL$$_kut=t# z!zske`2UK{Pym~`Vd3H|%Qa}`0K66;6_wZR0p}zzST|M#Q|=^A;08-Ip4}YsGF~Uq z6i=IOJ!b4HdjjY3;p3IBM;s6L)!py2M-f@P#{zyw+Xd74wXH>oRG~)xklBaBTW`d zuGL3{m9p-AUEFM4>wWN%fA*2~7tZf?XxUe%>vBY-ds(2{7AGnrcz8^N(q5IJjVa}~ z2>V@|l#R{~*WWfNER!c2R89+fzqrw-^-LklNmsP?+@9Hu$3DGLH+!qRe?!GCzsjAOh`4DR0X7^yT3a4Q3hl2Fd zBRygTyCS5F?R*N~P~^=zdmr}b?391ge6`u$c{6iSI<4D&YN&Wh?}*Ivtzp#VTMaKu z9~tJK4-u0Zs)Pd*bPt45L{_jO+UA6s0Xc#enP1g?ayD+cx9xhTYDkGb@*yU!2_lasM{J&*b1Lp{te1yB?6FvoeiOC9fn0vsx;*J z$3DlYyOBHbf1ozivlwlkb3o)(0ezIMQeiI0`Uh{=J4O~7KWP7oL=2O4V()wID`$1_ zS)pLP0JgTc@f0p4>s*4(d{>D5C-OvB!bwm0uNgV>RT33x)nSd&b6|ZSy^}F`Y zlJCW$%k$4PA9=9B!(<@r__o^lw>dOI8Fh8eJny~#owln5@`3^|ki zmO2#XzM&a`j!-|&BXc`jWuHZ$d~=#<5GZ-|&F~@Ajd~Uhk#}XVCM!j<{}v% ziCx$Zyf7q2?psFw^`F`9C>z1D+>6vu`1%i#9GJ5u`2w+7>#g} z)*1*KI5C4UB}zAO9u&|I{s6ek(&wHrhB$V$HWuh$$&Ns)q%Si3u1Y$`8u;ccEbJ57 zYcH>9o+FDydSFKD!SJ&fImV5#T7V_YdMZK$#h>?-?N6CpQ5mIu@xgy>_Ijozy;}_K zv74-OzZMvKFiseKl)?v%Or11%2sWBUdW=|%a;>{79^YPuOtC!~>}KUC^z7`q_vS}@ zCyy&=D(HI{#OGRFu~GLI(NYa%c)#nrIrjw0(e&D=>1&-m-ec08TLtZmJ$ic`s9-kq z18gG})l>fBy;9o4#B@E)Jg=wyZ&U5EQ~2L2IlRg*Gq&fB44Rv9h`V|0qP}YCbwY3Z z+qWO}Ol4ihta&$|s<@}TFEvYTb?fp!UH-TkbH>wSh&|9j##G*GuApg;rIFXoTaXxO zi+Ix~=|<1R7?ti)K~J;mq_|rJ<*g~`YTPz#pD|l8#? zu%Cv-R%LI#0Ml(gTnGE!kGotUyHu(*9+qEG0v)&g!v`_6t$?iZ!-A^a>|HBEj0uke zrY5SwXA*F&LOo>>A>Wd#JWU+u%gUi|MpNl8u8QWzB~9Wur&mv zC`V3#a;_W_rh)ntlssRBo-R32%slXm?5j1dfBshXHUv9;iFe-5l9?V1Un?X>R&NCr z1kly^_N(TDg&P;M4}^%9Zud{~4-^r(e%l~Ru4D9h>A@VUkok>J$sS~4voEI=d27{X z+bv3O-_|GYyc+!=a>agZi2E6gR9!1R3yRKqqeNx8=Q6^EUY+ zIY)a$t)Y&dzfks~6su!frmY`0@`SXf@wp?jq4t_}sBN=|V;#=tAlV}L)ws^bbc-Mn z+pRYb4d0`%m=hQhPFnysqK}&Ugk@;@v?|{kI^`a4AUXZ8JRUtScj(5F&Bt@c3{*S7 zj>UInhe7D12e!6JLu8qT3Sm!kA&K}$k0J++u%ZhlR2)}+{NT-#3mPQAjycUV5*s6$ zhE9g52G8v@tv2YBDlJW4$v&PX$vrzr%Bj-To0yI~m~U(F{6(Q9*kGvk$k2@xYSy_Z z={V`2HFzcBqWj@}FA}QS_y-T$NAm_mh(#x#yx#oAz*S5vY5=JLRo0LSeZh-&ffx50 ztC8Zgj<>nb}k<__+6v9dV+195Xz4{`B_aN@{l zojN^zF|{;%8xPCl{7;Q;E1NB2gW+RsOOacfZPSRGM?G}7wF43KyW;hErVsPFr^jMK z>h{!6e{Mkt#iuDdJ!rBWJXCVbA+5iOBQ(J~BqjC@?UIiQ3D4Y6$D~2xF5%OL*q22q$Zh~yf^wpIDUKm+oK5j@D@_Ji|%v7 zZbvD{9TqArisDKki?E@Qvd}OFe-Zb(0{X@D1 zUb3T43?=u3vZ1GmU45^ugRp(?%HL87O}ck8UoD?Wqv#Fg3`eCnbd(-jIsLlhYPp== zel?TLQs*PwL=~^k9`TjaR^~3baML)iq9pHD4`Ele>WWdwq$@rM?3&5rs~(p>m3<;) zEbBp%x!?Te_|9s*G?H3!4=}%BI!9P%f}C9K#xr3_o7?x6pAQPE6;vTg3KLOPE$CEX1T6Y!YTlHya))lw68 z2cE3_cvyKNS};4`O5u~isSyLwy#W=0$eoNMs8I?0$_U5_##7&h5u%=2alKp6eGy-H zt&}Y?{h_8Zc-U{o3nVYjTK(O4U6Y7^dK>ld!Z$3#y~6%g+1wIlJ7aFuc)h3JE}X~J zFZIi=gmhb(INqN0z;4PfN1f}= ze%*cK!X~o6j{b8|r4NMcRV#&Kvhu==h98J(LNk|POlZB$&}2z&v?fiE;?t46cTbdh z-P#-afS~$M^9ohgk_wruhJStWBn=k;d-)-UotTBDRPDt=pvzmKHe+bbbR$Xc*1muJ zw-L%NXma7ZeNHYkf${8vzhnW?H-&km{PE)w*p*SB{E-x+3La4WnF|r0p}^$52F(Wl z$?KzGo|FF2A5W{W15FRX^v(lKL={XyVzOnX9@|%frDi1)uHRSNDs)%Hb0rg4iKJvT zo%{F4Grc&Uzj#5^W|ibJ7+&3%@y};F|FzS}-wCpvIy&utZU*^}9=_TpW%Ua?L9^}E zJ}(>olP;#K&0*FKIt4d*_2ECb=%+?4_d!Azc*DQ?2>%cM{%fn5KU&WG@BgW$@#j+g zclYr8*VpM>Uf*s}Me6)e!c#nWQOa$rt#Fb1Eu%|ScdK1DmL!o1E5R96BT`IIEJwyA zWK|p4$%<&H8)|)#T2M6cQnq`ft7)IUkjlMi%@8AQ1!(dKb_HAvPJ7p{05J-d4>d<$ zJzsq(c{3xI9!HI11_#YXz9>$`C8GunfD7|k)#EvEGIV7Y3D2Ma;{g#FwooQTs{>pf zxGd;5PHl=ep&f_0oj{%dL@sm~P=BhwKQ8R|$1Pzu_hD}TKpcgua0AHGE*cn>pYCV_ z0JG^JL?uUqZ-WD{;rD~`8nc*DJdxS1|%xG6O+KczZOqBJ7tT{`!7Q>q_^ye*7m?&eV!( zi&+Pu9sA1|e_oJ(FTuZ;;NM#CZ!P$@7W`Wa{=cgQjlbgs;ErMAH3!bg0RTd~MGaZ# zLp)F5pnU0!Qt$Vo@Z`Q)m77*wdp9p0EORWsw9yhRpxFh^40b@vbNa{fn?)0S*+4`( zzWcuhRR6t=)ob_IpPC}Gi6-?8#|UzVmO3!ZZ3GW9(T^DFPQdI=rQm6N*|T`@x*v#g zKt*vfT1!8I64t#z;9Q`hmPY`P|D!#G{s->I;!kP)fe;1&j7h;SUL~v@1r1R}0lu26 z`GH90sc^=X4o0pRL!pbR4P#K91$I;}p`cC^AJ8b1(8 z@v~D8DIjJ(Ac$qU0%G;N>;PfJ6Qq9MVuzq-E1sxt=i9de-j1*1KZt4mcOU7%4-RPp zhh~BEf*}ZA#L$k}kBQMven&B)0VrPqS=;td%xS{`QXM@LUqcfbUci6Hp%*|L2Rf~- z|EDT$A9Zx_Z}83I7`7e&RYCXIFM#%-X4V(~ zx1P56pS{=br!Zn+H4qZe+oACq+>4BHB0%Qz=s7UL&>sjDNuQCwox~UoI>fA=#0cVQ znr=Oq`G4lPuk#ugZ8#P&tF~kYbdhjQ*uNTvV_sC8A{z!Jkz>oErus5%;{7YdB!?3Z?K*)FDB`BcVxB1}0tFhY z#w_mwwJq&gXV@4ASL-X10u8~Y+FpnPatlYvqRee_cz9#e4@8Z@cCK~hAe9>!j2gG> z1{C`V3@jE&xul>5^lb+YEO{ZaycDq50?LZkrl3`AEP^eUu0eTPK z#544-w4V_mlAd}-!vTUAa8v{!x`y6>{iao5zvWz>{XlRV$z0yJ@{hffci=}n z*VGDzt4zwtC2KO;v;o@bnNk`RQ|rA`YrEflsk4|D(1t*UIc_ubSslsTf>&ibduI37 z<590j5rx7x8x9z?G)~^qqdMGY&+-FNYUQ;d3~l!kma!v_VZUfvhng3e0?E8V6dY>D zs83|qplA=_cAEQWky6WBO5bX3C`rv#xNTlP*=S{UfAa(;iJMwXx&y1@AK<4Y?Sbhu zz^fes=JmUaEVj~#)9j0;1ZRznv2bu>?u&?rU|$63ndfsjKoVF2mQ*ld8FT1J;=HN? zSS<@pMvb5QWwx_mb>f2Y<5znilH6~LQ>Fgt#=xz^2M-y?&T%F*9< z#5laM=a1u-*FR9+cvlI-%v~ziy;wndHQ^mT^0+~;0eauk?zFEiY(_{?(+8-)+H70)pw?!) z;vusL4{RXV{MZO2;ao_CSt5HL{#v-Hc6XTwPVFtx+@i$dZL-;=4(`21-*`mVSKME1 z{dLue%BgVv2Ldzk1M#Y-;!z@d1l~RiGVD|mH9q@#vcx~NxMS${BeOC))8@DrEQEVh z!yxE4>2q6^KA>PYQ|5bUIKvqFd=SYLko6Qn_{PxrCrbj-6FsByHKsD^G@i!r58a5i z`RpkWT;t2-ZP<)_$Ib}#1A>4n!Y{I5G+sVgH!nKlpKaHNj&u#mYu2H4h<57t?kn=F zLQ0=~%oX8@WBpSIkiQ9mMK>KtZo|2DXqpR8lT)YmFC}iDqg?t;>fZe>b$U>x)sPcy zcYfq=Z=1R05IESqH-t8KnWC85PaM#6xjo-nqLy-`ZdVSUX#7$<`3Is`6~34ated$b zYSG>>=O>Pl?E_KJM-$iUV@j6Ie_j0c>;{ihMz2bvxK+Bx*L}!l2j+$oYOBcv=EfDv z(09e>@iJna0A3&v;l}*2gmIQTf4>A+BqXp#KPlIi5CroCNxtmm*0#MW*6ullH*TC3 zeoA<3e>=wqOv8bbfv9N#P@(lIw(t$hH}z!MyuQVFY|8O4;kc+ptB% zo^@tw7g z{7ad^v|6s3p#0y3Ad~;l+PHRs6zOkc|9xO_f43SNLl8iXfT_j*rOT?o%8LBmB7A)H zfA&iH@4w-BC?ROxapwlyj-MzyuZD7<+t5ESSO3UVt zLlwcHge(DnLd)?rXsN&GRQo%$R9=IYxBmrN0yO7)c#U%ZM-ctr(LDAiH2td$9=-?1?^83hNS45L2b);53bXW(LkPKL@FKlfyjwzg~RO-A90<{0_b;eEzpk( zph7Yd;M9@FKM<~W3`Yh1UfB@mH|7AX1fMQ)oB@k@qZevT#WQIb(9&1B3HAkvmpNd} z{Y~Fu`wUPEbRdP0A;Sg%f64`9tp-G2#1E=2Tg5SGreObSDxeTid704I@)sD!QQDcQ z*Fbxe0^-UNRC||wx=D(P8GKR!_RqwqH+6$M?6{Q|2>krivgUR1t++y0QV_`d6Hbm z2=?0trfV~pE>pu%WyEQ|sP3qc+!yzEY?8I6tJ7iV2sAeZh3mb#E7^3%O~y*3IH7IH z;L#&!Ter?(QuV^Ai!lkUXV^^MGvj;#Sqyq1gFfVU4{IBYLTV&THMuskrR_BWkkPT}7z9{w3|I${ zB6cDrvgFb&etFe_!j!|Nb9kt9SMvGXAc{*L%n89fw+ppDV%Dk)HUWRbGQcQhWk;5Moak{L4 z4KB$-XgWKve%R}CtRdog*U5!9sP__qj1m)|9Wm*HMfZKEoT>-qrmxstKAp%OiN9Id zqa@X)Q^(}n9(v43s}23sYpB8tZmR%eYQoZK#P67MFnGCnIUD5i4v5KbKgwv^@V;5N zwZhB7uvU87=sWq1t?eO}DdOiqSQ*a=5&AK-b-2`4b!zhRelRMhYU0ugFMQX2!lmP` zk_{gu0m?sShnZ8^CuRqj$~@ zJ^f{lx&V+nUK8d*)XyDBI`gPslRu(ySoa4a&k3BKJO;ysK;NIQ3bh9)vRiHN{rB%+ z`%V%Us4l>Im@;hO_P>UA`C=rfgH_L&+@Wx$~`mbI+W9x^z zxO)tRO&|H)ihzM3h-9^Q+(n(P00rd@7_v3uUxj{cZ*y0ZKVko(q02&Wk2qlp%DPk=NqVAX>7Hxlgv7*t*IXy5b@Sk#r4O- zVJ6jCcoyIj#}c8>=ZLGZGs5ph`|7#M;NSmWV(njJY0T?xYV>y^b*~QqE|%h0CV$tu z2beeUqKtcaVC&mTD5#y_rh0%+kbnDxYn>7}961}BiiU(Ru`#q&ceK|Kxzvo0!ZoS? zdH8e}iO2{uK{I{9y^}(iDA63;C-&`NifdAUn05g~i0cH|RiH%ASGWBOFVtX`x0bBg z(0Fc|C7Bmi8w}iY}VyBU?KM>0Ke%B2r@Db3k2APfNi3a!T!%MHxnJjq9R&c-2O8gQ9 z6@_a*k4eBH@Wbys4PiXnye#dY4NDW=c8!d#kJCy2xc07IKcBc*to$w z9D+xUv-IMxM^Ys~dGZ7b#Cz_Bl~ArKBleCIZ4tb{8C>aaPpbpPj-XZNf%rnE2S76I zO_+^@ubBKmMwBK7E(H*1d>Hq@W*uNg{^a@Y)J@xhH@q>oaCbDACI@AWnS` z=HyB`e(}2g@&LkTjP3x{hXc922yXHk7a=|keX)lxIIzH#s$d3WeVos*9-2~9M)+FM zLG^B3T-dSBPx-J8p-XmtZu&G>Jf)++02SaHO=ux^l@yr;s9{&q3iH7ipa%TZl8Pv1 z0rb-+Ys8UKIWq_vHU%NMZw)AU;is7`;^I+PkyIXrCWsQ9q4A9saf*jnzN5cjV09j_ z#8&{wYws{@8O!qJ_}74py$E%!l`3ovSAxMFwivVEqwj?pgiy=7K=651edV{K%^54q zWZ;JKDQR#i7~LzKvYvABWe|WpCJbR|Ge|gCeZd4l$1Z~c@W-dwm=Ky#bI05>ZQ37* z*ll(ijHQMwm;5QDe>9L{j8dk+R6{k`<(+Xiuy;A|!e?TUOO+_*2E9V!JUj4^*-ngbWk8hH@2Y~!zXNer)&QEdkB+5{ zf)Cr+Mp7LpNLW=7tSb-D&SUnw3K;AlUR!NOWVsb$?#^3BbNQpRW%W$tJtu#SOOpML z1Gj*}|3G+4F?Z)L#P|}oK_yKL%qu0dJS?{eiWvCnqhLpUzp_(yE}m;w=B{=1U*%x@ zu2WWERV)XfyT*V(=KDQ297RV$!(L=w=EH1g(f;zr?I0Y1<~IU!GWAu8xxsK`!0*-g z-#)m!fj}gWxPUtJFI0X;9&@(ABGe@4lQo%ghGYC4w~d$W_#x2(BV3Bau5?NB{QSc(K9Kaay@=itmyfu`YY1geUKnV-wXWh*>GU| z)?*p=bFDyI=2aN0gq*`FAs3HWX745Flz00{d%8F2m6ep|K4~32>msfuF!c4DbmqlV z`;e6t{U925Iu8_G38>@UbeNljpRNKb(^Q3=GlM2%@>k$PEK04)of2uB#uGgT3+wKZ z&%F6eyJy06H3YGM>)Y$);J3pw)>HWL;cEfXI00^*&Y0_eJ$GhSfBNI$*y05*{?U36UGL|2d5;^oh zHUF<`kCcFWX$}DiDHP*O@btodtvyv+k}UJ(z8N<9QYJ8_e*MV#4Wu-tj~OtU7~#vT zQ-bPrv>^{~;fW-2X+uo3yPP#!e2$N5Hq>UV1DMn_0B;+cMG(g2_%giPovG5$IBkF1 zlp|*r`D9IgOZ5FqL@+fP`E!UczCK|#CJj@c3x;7xH(e0*U)MgvY1XglCg1EL5q*h~ z_xSV;l#ZR4`XQFt$lk5+#eU=x9kswc6Eg&@Mgm2ssbvred^yB2i0ZR8>&}E_rh1l3 z5~g>)`r>eL%u4&YXTvw7j(rnY3lRde_82|vcZ+*;Fn0~EWMl_$ifXTLhZEV`(f2r; zTu7l+oMsxr9p%}^!&g7mxwy#^4PW}TV&}oGVW41Gy1Zdh+q&PaGTYe6pWVtV{1Z&S z%r;?N#ZDF73+5t6GY$B%N%6RU@jD2=D-;~85`GP?0FI%p`Fc-b2(Vi=pwZy06LVXS z=AQto@n4~ydF$83w#xD^<4r1ah1lruJ$U9=2Q!#Hti*hwf$qSKoOi5S_G4?P1 z$?xeZ>VNDtgr&0%Kma&?q9JDeeumR__|w0Ba+fFM=3@yv2ru-E^efc; zy(06q#Ms}E^*xVb_&6pJnO7#=&)_C=8ITona|*Wvr9Sn4f0 zy1bNT>+)y#cF{?w7gu6G2Am zz{_NFfLR~LwR$r*F;h^#c^lO~ybS?wB}J7iQDxo&0HIwH;}uUiz6_NA@s|{cuyrjt zlz{MzoPhuu426l`z%#*N6SCk$AN$$JzMh^t_=lt7Mh9P_3(tMIdae#}LW|W0&AgZC z-jUDp1K|i366B-aX&j?OX5O!koQ?wzX*cZ6CljY_(=bL1TbFcm+oTa zjz}x}2A|o!Uu{^&>*5{V@n(dl>P*-MXiL@>XF%>=ye9+~H(_>B!_>{k%l}7IL@h8`+wPMR`$)XX0`uu9S|=hgB6GuyEijLFfx3Jq$Wf^<%U}9wx2ek zvMGT6(>M@x9)RXZBBT4`@oD=XDGeCCf72X0_nb zOd78ivx-vMSbrc6qNtCTZ`TQ?@O$Vl#mN9jj_plKgf-Jmpivw!Go9fxdYvm%Yyw3Ai1G1km;b?wl!Vs8yg#!-Zhk?Gv*a}YSp~MCQ<4m| zS4}b{4voUL5XX&coCw4~gXns^{F{H}u97e>@IPmhWDc?L*5c<6PStf(eqUp*u0_W) zPmv25!4`nn&GD^Ut=Ond+)?*!g%K0U1}v1x7Z4C<`9&Fyj(sFj#b9=DS$-iLZo(8w zWPO!XR#Nyb|MBRuXV%OsftSW+2lg!qlUOYQdT<$(qVdZ}F?OE^g%p?Bl$Eaqm_`Ko8p__{vdfFzyp~`w)O9FyoUHy}Bu{{PK{H6QV-zADB zHtiHg!kpOEHA;fkmgw&3$Ucx1j|+jO!XVmd@rADy^OUh6L4j)2mVBnvneI$kO|4O3 zBL|6W9oy6cdctCdB|JBffL0J=UqHAzZo$pHZX)iUu4I4(4g& zQ4q=Nt!wXqWkX+kCZFxju4qo3GO?Pe-RfmPaBlo8sKpg+Y6RGs)C@bCW8`{t2C>hm za&9Cu?zn`y>4xtTXIj=VGQ@uwr<|DhaW(SB@XQ8bZxvh`v0-=rl>P0;F?&-EpUMJk z)myo2T$(KykWDu(>!!oXh6TqPM$yjW($(AO28Ik#KVS=!k^xWk@gatxk8pK0Fo+&f zoa(U^+bUyZrfBzd3te2p1C@$|JZrS{EWt=fX#fDy@vhV>{nL{YQtp% z)m&RGrDx0_V6gtq2)f~(p{x#HB{>G-J`Pc@wcRKxinw^KtKTFqgzLVZ+Wj+%HFt{0 z#E1BCn>IYj638$28KgMeN1VUB=tO6YT+K6)F&F*1c?|bTlV8So4Ia8daJZVYv*E}y zzLId{CzrfDuXQM;vn<&aHH=0NGxv#4Z6F{XXAY5OMHOraW%9=Z%(0Q+qszO`F+; z8sQMr@tF3&%V%#sn9+v*#hip3j$Kf8-r#cffZDbYKEWO5S=t_;6WLpwBJlHu3}b+u zHbV)wVg?v)09WIOTIriK7*h`u**jYOfsAXd3iR&@C&L#$C&+RBGZjeB8(SlH*|cl& zJiGZ=Rb)}UzEWhvPSbt&gao;{TcAp}zZ*F)^3AP3UnIDC(NC7}|M(*P zF4Qm*xV%+ol5M{;Z7(69K z_6wpa%u%K~8I}JpRy241TG5>Lb47Ffe^k-T{Y$#3o92MQRvf38ehk0)m^=2~gmDoyz|T$y-?VB>*Is(3Pi(ma_w*{E|<_pCslG9d|f|YuD!M zd^cYIKG83RcmQ0G&n&D^nx~J>(#D*}<>m=uG8jC5kf^SAl{8@8>{L-C$HtaqyjEUB ztal%ley_9q^4S5?GkY{U^D!LS7dmQ10I*;}Vt(Z=p(OPK?UG{ZwJ5d|9d2LpluNz2 zXiKci9=WYiZ)!Ts{9nOzY3DaY&Zb@(S7w#?U&0KeD;&}(V~tp$VlL~Xv_J4GOPh70 zO_ug6N(Oma8N1uP^iI&!RM-)lpB#Kl)_0YfP_w&+yB~#ZOR}m4*Bh$lH}5KTn_Fc{+C7@S<;`Q2PeF-RFZip}aQP%oJyi zmI5XllNjUDIGz&YXq^sS?MUBQNqLDwGQr@@WAC$bkNf8DuYgHQO`Im3aZep|Nl z8$3t<6oV_9Bi2d$x09mBsTuU@#A3ZEJ6T@?R2olvDlAJl8RwQd-$w4pqUa>*?Ot)F z?q@G_D+-R=bX_vI$Wa)Abm2O&JSItyN=-i{-dO`xP76F1`D{$%I1xU`jUj_>Z8b99 zcgqaaD?&K-gXXiJH0%3$M_hI5YU^w+P(|hRqiMZ1z=MSy1MBvgj#}=X5MF%<8f4Q{ z7|uq%Skrm5;G(6Dhe_kl}^Y$9J+g|NNca&^!^Bmm7w0?QRc72N1x|=77+7hOmO1+^KfhIU% zHqw=)D-23R-5r%2yZOgJfsYXRl3N9>1)Bm*SRx8mxC?%)wNq3k^OGYF^S5~OO9E85 z)(>5HHK7+;G<&=6C(QXiw@T`XxkYVLI#SXs(!yqabY>=oOyolW`K=qr=hZQ2TaA3UemAndUf~qrFEOS$vXnugj=)b2AcE=W00sB@fvX!np=D=!{&9|8qXLv~QO{mBSYSCndyDpG7GzQe;Kb zGqKy)I(bJ^nTyx@5H{V~8`>2%u_$<7{bkJz(2v|UU7pefcflN4F;+#n`=n+7$kWr* z3N%u$ylEf%;CRbknEB_|GNh9|h?q2YF||I?ot#4ia@;=bF@P42L-#?$Rm%TgwuS;}U=*_D5zSn}gb z=or}F3a^r6O_;_H#qc4E5_gpz)XdmP1gZByQj#lZoK+-9uY3|Kv2|bw)=*RcwUb2V z4itNC+W*sECs#0jKfH}+8`S3jR|g=tsUHv-EzvJfD!}_#1^jtf0sUapC2;Bg!-dVG zweREpHUYT>>MUBt;)K<8Svq9Rj0!2jQ^VKxPv_1Ix5Qt?1YG_vfXMi$I8y zf-FD=D&cRSe?^-$ER<5jqZ060nT#0)5shd1@;ziA0|3()pH=J&`c zShisA$j;&e=2*3aS^h%st=&WLy?7w@z;1K`@n8_dTx|nb4y$RF40Bkw8GE2Umv%*E zd3}z9d5taY-u7;LyZ6s3xe4npK91dk(YRDgC?m4MxY6iUq5TgG2A%7dm|F%5$2!+MmFcBjpWmSD&mM;4#MjM|NDVm(WoBFeIN3_{!x1WMa5&P{e%}ULVH|uOEZ=@^{zK38KN>2tTSA& zrTOdR#oyvjQzz9LY2$Js0HyDU3khG4-165c{ls~hiS=Vvny-S>=E+{Z5R={g_Jdeo zHQB{}6v7D!KtW(S^!0e^)nslm08SSh_k5Abw0 zH54qpI3QiyQc>Z0MG;6{qNvCecpf+k{<8UIs`maI)#J#h_E){MLD`%0(~ft31K-uztl-FKZ*X`>X1s1lOSMp#yqzHJ?1;N^pcM%cK!DC%1>ffAKcfwwa*s9yR<;0%N$fc$c@I?+cR*4^E5F(d}e-8AwS6o$*^r;&o-Y0f!fF&MjPTx#a2r`Vi z={shtrt?3E)%D}p?Vdk*Nx9TIW=)u*WbB7_LRqtz`VuMEg`O4shDkaM;vpQy(h((V z87u6S+&}i53n!}Wu zEOA`2nZ5F+wLl0*0fbCb$V?mLSce3xf8Kb3pFx{Tx?U{BeybLHsPb|65*bU?K+Ffy z5RrShNKzwOz8A;E$%{;wyonm})|id|)fRCz;EH!mMbW~B0@W;+X6LXAey{nj6$S?f z6APlc<1M1%Y-N|ms|8~EcawKdEfdetV8SxRrWUohXf}@fIsr1FKl>-3fl$gwp~HH< zU@Hryc3`pn&1Y_%@LM{e?{zU+c5Qi@`nS)RMBh7nU39V6C8YNp3+`-}S}_GhgnwBw z+76?AZ1EDs=wLlRO|0yxJbkZC9^0iBFwAQ-^W_fM%(qm#bcsn^fRtpjYlL$Z;Yk=P zm?%~&schy+pkc{QPR_>PhOdsj_B*uTt=6+IJ0FKjSgJ*0Bz?P2i8|uNKS2nr`=1b) zCr+d=o=XaD;iZJo4|c~+h=F=7ZO|Qzq3Z-%GzgxR0e5c^PnebyWpRXS>*<6pBLgu(%cb#cJynrrQ-5+YZZ>Id;5l( zlP+G0KaHDIlSE4vAS|wcUp%!R6Stb)w1KGN!@D=j9*g)h4rMs z1LAbAP&{h}5wi5g*5hlymc~3mKC9C>7Y>YHC42HWx=g?ZI;Zys806fg-yt{q*_(Mh zPRhMz`A5uCGv_zjSDm6w{WSs44i`y)Jkr66aHq4HSS3*|`XIP90W=`gE^C6|HfQh? zZb6Rm;`%op79Ca@_P64_a~{I|&~k51&bc?kyP7-<`}6Lf`y*DlSFu-*CgFW|>ofT~ zt(PA6jbAN2M#`{=(qFJs;b>FPA?Ug!41iRsHWot0ks*8>H*QR};;&%x@F4|GnMauU zsqy!v;#KU7KQU#VLwGxH;Rm>W8sQ+e2uTY6!M-WjIsMb#=-pY%0H zY!ka~cO)fM?8Anfd(M(0nU66rN+EEr<|3fvhX@RfY?%42chjua3`gl??Oj3NTq$KC z2YNei!y5)?GuQ8T&7!H6WVpSNlNnH*#W6Oox6LK2yPbLRu+3UbOq`nY%mB{^r^LJP zEq)Vjkox&nrfkvu9;|J!Pkon%+{*SFy5kzNz`=Qsu|!o>zguwsO4dIE80lop`(>cI`@`& zPJY;nw^9??<-Pv1HC8-EO5U^Z!ucj(3a4u}WE}ezx~l?&U|=<@BU$=fLj(EH>%1cF z?T(0y)txV2P;3)+riKM+K03d3=Gm=sRkh+!Fa1qF78tbtrw@pK;@n26F^g78 znPtx8? zoS6J{`f9byTR4eW{RgkvEcXt1;ap#ekcBV5g~~EYb$PO5czzqOWPF4H6fOZZ^H)L( z+TroD$YOwBfBSw>d7X)tx4d=TfR=l~?xXHrq?u={7iCu&q)TCyLstYE8-$MnU>>1h z@x7<(kzug+y|QArJBX9=oxQ)rm($gX|F~k+(5~yV0{p?k z+!NW6ZCS~1d4n$alNxmQ$yG&Q;Gd>aMfGDH>Lnu_i(c-l5zcY2C$I*E5APoJlWu6B zr?<%NY`G$fHZPH29S?4*~Pn)8QMwPwQT`I8=TKBM`I>Fe&>pWL?g`(&*V8Mi+HWqR5vnHA^_D`KMDB#hfwi@fz<)iibj z7c`YxJ9iq~rvQEfv5_-8-zB!+?pxQv_;qoFJNvHg-6=k%_ZBJX`n&ujVof(H{yamZ zmjq|{95{ae{*Iw2KYX{BF)lZi9wrhGpbY_rELw!ooQHPaUiLY(R}p(H9XDI5X~Zq7 zvEGX}n6wKtxgmteu!{t@^Z0;2p48OT7S4?x-_3RmX~!>Q=Bcdsl*!>f%-s?7aI;kL z=p`bc$3KNTalXd*J9up?H>lMeLO4fq*>e8Q{JrFDth8_wrIyd96ua+_HTN&vbu27w z`L>;N`uZ(;h%2X<^pf>7C^rWe90pt-2ddj6X1ChB6OsgQYEbm}u~eCbV1*kLR!~!pMiSxB>3-Pc_+HIcvW&HfPy_ zD^HiHkcyG^-Gc47(KY?ViAs?q@N~x^tc~@_gs0llIDdF@jJYv5;+O5{&iH7k%xB>_9t0}eaSqG6?2bI08WOLf z#Lh}{PbS6JXufm4aJEC2jYz)y$<)DTMhItw`rAYmz@AMqo00*JdDK%wha zJGwYB*rYeDE1{^N?NpkusBS2C_k7gM&%P3~dd-ysYBEScN`M@^b;%v>RltFVA{>Zj zCt^(=?y+4@r8~>KEi|m zb*?@gauGS&8|>K9arc3|x_*wO)a$gEVDF*X_$auhPRBZg!rA0Po2Ubf!*FTimtmKy zJ7_#UcLEswclB1wJ1{d&$C;3is`4srUI|5CM&2bx)H2j z6xEZrAm>h;y}a|`4kZWcZCf%BR+`B&q&6cR2!NthPKhK(3nBpFn0%)DY?rHfjy5;g+0fzlSP&R&y&s7{b?BvKZRa< zrs(RS_xsnEvMSk?sScJ0CDT>YA3ec$@>U*ig<$1u76uVa`9-wDv)htQW9aKamUfT+KFfG~d&`ZqxaWSJF~ z*ABEippg|#d_;`|n}T*d4=2i`d$*e%9oI~lZA+PSHdT3T=Ho2bC`s4lDS)p7cb#(K z4(D2&6s`9pQ7{ASeCGwReor76GA0#sqj>@_pWF2&i2wR0WYrGC&@93BM_*fBa8JI9 z-*I|joYqbwzKz6*fb=pn6Zs}L2^VUvLo$dHW*Eal?d@LYlv4|ye`q-tX7$<^v!3)G zh=>7#4FJja5!T!u$kNnG64|PvMn~j#qhrRVg_>3`{MgnqR&a9?)#mnZREXI;xC7xG_wj9M&oGdqfmij zS7An~>;?*)S?|hP=hY|C*e2IcYp=X%8mknV^6vVcwUO3ldgY23JGTo!zqJS@yL))J zwfo}->syw^?q6h~(x9O*`PrGWi%I(_Ge`d;Gqw(Skpc4F6~*~``=PWO6?bFTav7z+ zj=#IUbBTqy-a{h#ku`va35B8a`q;LigO=Rp$HPj1w!n7GgdkuXxnhnT24M9CjcU=Jtf zt;^vj9^XOuw!pJH`CMerwKxV+f^wY!2B2d2TRuD-=dvq8$nNf*_^V^MJhRgsTMlhk z^E(uIX*9j2-C-Jqm#Ew%EP_mTcz`r3AX9j|!}$1Nq7O;;rrX0C-CK&QmMcg5g29}Y zz7z0t&1jH5oNhn^ZNv^p$eo~d58?|DxjuZ3Mkt3WC$RaH>o#M+p>Nb|w&k|<$Dg=j zrNsJ;HLH8YIjZAlLCiGT-FfXAXp}GK&SX>Dt#aKNT#xoMmr|GpZ7)7)AM=dYefEKG z857!V6I86s1h~7(XVsv=Q$H>eecZ-?CgRAUA%t0l?IM+F_EIBNuuUd9-c{DJ0%OPt zhiENq$*hc7{yuaq{q&Q}a^Ft5QiP5d_4y_phiKF@?+0dSB3A1`p*5-inFDv>JPpYG zXVSRcI93hh=#k#TFpmqINx%~(Sp5lfXU$bSvmVlCuADV2Y6xQyS)Ii%_O-rhjjT%9tS)D@r3+>=TVJ_iR#B~=bLH5IXi4i(Jw4dUrSq`U zIiEB7no>bQ%Z#P1z&`=}5YE#TK@0;B#-xI)1TIfV2{Mk2o+Nl2xmDu7W@0<{T>GHz zfxJx#-HooGAjbgkc950tQ*VE@1Ie>d28|irHNEz)GJ*J=JevL6-Cu_y!meOOEsb@nU zd}upJ^vl4dd*Qy;Hn#Y z|KzG?a2jdr3;Y0wntl`71K0j1ryq{d95dG)b3uElRsBNS2%#O4ze*fm${5k^XN>jf z!`u`|(-sCiU>+RyN@lcdk6wRDEy|;Rf3zs&OxGvx_yNObumY)Fn9&-zk zBA5%_(bl46wdgEvQ%Q3pr9;}Wxysnk^5r#NcYNRBE4FLBmd#I_>n&>P3%AUizzp)f3VJy|~A_&(tNwa21^1 z$aUaZ)r^Hm&pT^CqMStR1`!3Z74lotLotM#m1mKy+Noc9Dw>f{&g+&8t67(uhgPSo z7_^+5wS>))8*jis;!7UF%{b7+VtGUqiJzfant%?yUBeC$Ue=kKp7agl1q=r~j90Km zX%;YEVKwnCey-1d(cj3w_BP@F1ji5&!W83HbpAxH@?yjIm}IcQVFXNK_*$aTPj=a|KqlxtWg5 z)mm<97vo~P4+pM$7Ae*gtI71muzz5hX%NI^gJOV=an3gtd-62cJtfVzB8wFI4Rk_d z3OOIQRX*EnR#N%I2QDzFLPVR6@2S}Xn_ikY51$Q${$YNIwV<)6lNw#5=xun2yS&4; zV_2n3x+rqF-|q2eVRzq?-IOdgPww_@5^PMP(Wwf z`>XRU1&3LArC5o+X7>;sos|3_8~YHMH%?0ASMrZ0juQ1D*4;M_HItZ(QrcKI4vnNz znO)e=5vVy;24LtW!dqWNOT^BeW`iNW$Y8`X=ojLMWhQ zIArhu^_gZH;|rzY4la;v`REk)6p}HF#9Apgn z=JVDhOJL%p)>=5ueiHtB28KH<7QCr-j!i_3fEq-Byu2+s#P$?VSpC&2!$T{@?97Kv z*-N?zsiMs^gy)0u3B+A7=R>Dm)pTFGy;^d5- zpHwk^BhvO$7zo&czcr141D|qlw^yI6FEx;hr#^h1d%tVjsfetP`#EYCp(#U9$EARZ zYnIW*F(b1D(p_*{x~0nV2fH&;X2q&G@-`C z7eOV|G2Vr8gE&?-?H6j6CZh^@9lC-^m+5!t7<<$nJ*lt}8r9$*ZI}D&O$PLbwS~Wa za76v#bGT)TqN5brb=p^A<`2vojL^JV4!lLyMe&@XE_-C2!k`?tY%Tp~G4@ zw+TNnjze{#xwaG;r1v0r&NPTA*cZgUd-9Uyc{wl)k=@BSS4QXqFIe^_akqDAA8V(id^SXTS(+JwdVRN-OTH7YlU^8ad8l{%>Cz%@guiUP0RkBh=Jog``R22-P@)Wu|PtgrB zaHR}^8ODta&SdO?PAq?>gQ$DFx{4p&K`7T1b7f%3yVG1ywY-F(;XMhnofcHhGc0u%~vFXc)6rKz(VEQ7U{!#l5 zy|gFIJF9s3FBw@GOz)h2v$GUdVSo~Jo&m%K{M_aZTlvirPbD#m{`e<67GF#L2R8YsDhrm+#p0YGq7LKuWvc%cH3SSxuY;GZ^?nuknL z$0)z4W52WN6M|r)!$1}RKarzB&8#NJ@UcjxQyFEf1pJn5zP#2zlik9X_^##cSYEf6 zpo4mgG(c&lzX?!h-)96<=mtmfIvR8qyIqTTel8m4eeESa&KoOOMfVkW4cDd-Ny z0;CCo?%rH#G7}Wzgu5gYozE(NPU>(lu$t5J`mhth)9u|;DM8AF+>k70FJXBHBg}Cj zEBHaYifZH0>;msAB^uYv)#oh3#qI1*8+n4~I@0Fjdrv{?hPDA=%Zl|~$o-DM0YVkB z4x}pJq)1O-r~Zgg_AOxE3BhDa@2Dy zMsf2W%?Uy2`GuLy1}mx_hhGVNzl2;xk7<5Iv1 z5CI8eq6prGkYNtM8^-@AUmJNV^}DQnh-%0cPwa;cIPk#5pgY6Pbuo(Ep10Nwa`GX| zVk(!Rdc8OQr}6eBF#^_;RoRV&Y<#J~!yE0)h`aOd-e>Q6W-hLS`7lqs`6ZpD+hO58 z?-$Tv`1Wlzf>?J+sF&z~0GfplFv|)Su`P-d7P0~&+8GO(F^5Tt2T~4t#ZzS?kHyJq zu3nR}bb-ap@NZM+%s_+v5I%eAoN@D}GraJuU4RDWxkm|E-qG#YYq{T$eGNGjto6Ax zqQg5+xApH9jH-IU&6!^mW~u=760qJKHiI@iFtr(XS^B6Y_6ltPCqI(a{|a{{|HStw zRtr7OGthe`@8bQo+a2goxfWFzbg6jri{Du`(&xGV_BYe%nm^(m?q?1#b>!ce9W z#zJINKtR9#G%A?UJq;)6DBg|6d)iR|?Q#-u3S#X-`=j9=tn-;b#zQg%Y=T@o2=j-0!JU-P*CX1#V zivIgAnRGaHv%oF82|$a zZ*s->`~D!F(h4j_5fw5kf&1WIUa+@jS#v48TdSj##B@SYy~uwM}H(dCK1I1{tx=(^Al22 zTgpy2&-?lZ(`%8OnSzGcGjF+W;IrE~F0FGXn`Jh;80;r$kF|t$nE(0uZaq*A7+hy- zaD_OMU@hK&Q}q~=A*#8bXVvhVM9F@LH;AfaX|8Uk`y9dE+ObUc-ItY38d66c&Lp4L z-@anLm`282-gk%}=anaDek@RWV3JAQQ+p`+$!Vt2mRZ*%=gy%T<8z4M(MSQDP4AHl z`jI$dW@HT()(Jv`N5q7&G03bTQ3(=kYr3|VMP068nETKJvoMv$9W%q^@?$Q&(HohC z@df846`Ysn=06GN%;8-EHdnI4Z9@reQO-AKhueuyFK>za=H$FA=XCPbnb5ukVPJ3s z*Bw~W5zzv%yHlOPj;T~U6n}>$xlMLx6>Ct?B;UGkcXnnux--uGZB?WKJ})yp@w81ItHd*OZf%)I;; z9kZj=&M_U+rgZ|O9mkzDCGAU~|C}g@C0X<5!l^&#riNzpW1F{kG+i%K4yWc+|v-XWjq~_aGm{et# zRf*W=$g${2jXMnCRV9#r3*z=`aibLj;HRsN+JhIJjP(A+?Dd_ZZ^2X`s2RsLWWtpZ z?n0T|&V~Veu9qM_lZ3v6hM_pB3UH<<(5JZb)>RralET}<{K))Hz5D~CM8>uw!HSEc zpY-peBQ8oQ=`Wsbo>}>Ri@4-v&0JiL^WPQMZvZ0P}fF&3{ckK8ndd_a# z`$F$OrQLzBCc4(tCpxTXGgpazr@J*K!_|Y1xboGvx@cm~B_#PXHwM%p^Vh*{Ls-L_ zD;ld{Vk&AJRwqI%H7@rOL_PTB^TxuaGRAD96P?H+*8~j~N}0(s&-PFsyI13}^hA41 z#Pa6Sh1V@+o_vP1-=8vIDq!)&A52NppgV-El@aYVzgnf(+KW0Vmy8S_^zl|^JUU{L z?(%~D&__ZCVM&PAWE>D)!y3!NH@HYs~@phzP-Dl)MoqRuL|lhPPXG)d~aM5Y!qW&fa$CON0`WnB1Ga;aGO>4 zGr#2Gzc4%0KRoi%vfG_)sqVFJ{By{xYxwX)&~Xou>t^cbE|?!8B8p;{!IWX7lKFec zurKZx;v;Pr0PtP7PHmE<#)hSLb`LhjVDetP4nI7%b;r&FXRVbA)5V7r|Jz7-1d*-=RANf7?7WutFx!26i8QV=& zh1;A7>fS)v*g9qTUfMcpp5X7~$_x!DokDU8zTCInZWlO51J^nM$-wy@9TtKcHL~F4 zu3?G>@5UIDFKQKdmIIb+hy@MH{&Vtz@nE`finK>vY-! z4dFtDHpR8*X+pF1V6IoboPu%iZZg>4fBt4?zzpQA6N@55bRoB|3C3BA3zL7P$lD-q zZh3+3eB!M7jd!oKK4UmaB<3B=RE`SpheVlFB_LxHlIT_9oThJ-+!|;E2WC(ZxNOub zKwJJfk@73zG(4#_5Aq_DKQMQizIsj$^G&!lyI300<=I(xqo4W5??le2jDP)Hp`a4S zfqYpL*rZ`s26qmW8*L=>>KvDY0n>v(jNhDx&OpZZBlO*5JUX5U&JaZyhw;F@7#4)1 zfcw*vJSB>MPLI0}sar=d_Q zxPhaa;~)7)?a2$DTW-$qemf>tZzEYu`KRrr9u;QLx^hXxv2yTwc4T^wVPyNq+-H*| z*dY-{`X{nn@LwL54_fUw@v`}|)c!7~Yg;oB?nxrf*X8F~P0+qz(VYW7$A=#H4vASZ z?h#k1eZX#0UYCFNnG-iBv4v+#o$mP&Ql?WhJzj(2U{`OI;m0O^V4j7KR&nsnlBks~ zj6wnBcm)!icD zP!+gT`D=JDtv$^I#}jq`&BlY_;`UTfepV@=AwOg0nBK4=^$k|h`_}%~O*zF6?<((c zE)07Aa!u=zNQd*ASZB=$aC%PMKp!}_%|9@C)7aNQoB^r!Xs!iX%tqD>k$MKHPI$bY+cT*Dr`2_qqZrIamidF_^qd zvMX3gAHT}l6L!=swe`OB;K6m7PhM+Za_F6LPr3C$8obM0mSmPlZIh>@JtPGjcF=Xj zT2_r9@(v7~hhI+$|KOBwu9~FQ7#)ms9fy(5Lom`ALSxbWI})p?i(Wy>Ptwgp3+i1Y zpO|d(vh?z;6%&u~T$dV*uV}C5iuQV9t|lEgTWLmO%nS$2u+ zRNwK2{GegG@%mK*D?fTR#(&wN^KPlVCGlqG#Qn{Q*rZ-61>gQy09MY_A3=q11Qo0C z?HNXY|6rAP?=HkPzwE02<$HDlst3QEC+Znfd|oUHE1N)GzTySv z3mRxA5c!v_dQq4&O4;8b2nId|ova71yfSXO$ajopL+UiN{z579H7>PFZOlyCxcCnp z2dDVG@6){&Y*?Z^%hyu)xIkt8{3vP{QokADc4Pb{Er})&nH=;sL<3PUJTx0vTC+9R zl_rVQ;!5!o{W#Rn6t~TmXoCFvTcQ_GhBrqRK<+0U;SR#%%)E7O@%M1|?QhT;aN|UI zo_KY8`L;TG;Ni=W=;)l#$Q1sqvr)Ld=}|Fz`F16*@1)_I9Ft<3l_FVkXn?@+Z(%`KOH!@ zAp3r)Ok{Pe!MP&@!TPia$R?~yL>O;rT)2l|%*@Z?8s3>IK(QF^0**O zyz0p1V(%)kuU=GzDVu!P=jK(m80Scp&z zqJ91Zc8bcB_`irCX#fB1_oUogLQvDzMX;=hXyGi)u5cc;oIv7RS-72Ot8G4gM|ETU zefzHY>Luycx(I&xhjY!Z;N`5BAhk{awX_=uJ0HVDj@EElK&kMYy1e1Q2<>tY?)eU{ z>)vnoJZxqY@(c*?7rm`?Lr;Dva_v;;C8bU+*lYU5#(ut7dX{QCp)^Xj5gD4dhqTM8ax>Q1q~7-Vnh35$L?Slt2gV6H>Z5 zMRZ3j*C)BxAo%u^YENe+P0N|*WRE%Ay?jI^(vUy^cas2h7!luXVhD$BF~x1SB^o32 z1KjNZ3gA)w!mGyuKnPHGgz<6;Jm%fmKr{mMnEE2rV1zu7_iMI)e;&XGJkKDY7C&;B zybtu2$X`V@%E|z>bt4lxzd0XydhJvu_2j7SN{m6I*oQgFg`~J?DndO`45^I%9jo&u zlj%s#@D&af>*7mp-jhFKXJ>ZieKtLK)g?<@L0_2*02CLG1~$V&_@af_NLC}tc$nsz z2h&^;gLV(11(PzT-e+3PZp%fBl_X;Vt~6M4PvAwGN~ANU z6&1H%#H@{VYsd3vHY2?^vl5Cf)WfJmytKFG?p#(;>O`%Ulsp);^8l~!2Z@A&sS~G8?zDjb37dN6s&hY zXukw}G^r11q)aRpeIKAzuQzCbI@oW&kozk9qFLg$&14;sd|0`2FwT=fPFc zK23O6Wu={sx|}{E!}NFRsipA)%=MVEC0Q2TpkIXU54n)&0zl^tYoJ$1%;o$;z5W9I zbT|s>0G-AX z9n+f=eWh$9h+!3ieRp7H5qK4eih>exJzjK%o!W!Qd-Wbb< z!2vn|ngJ@{JUwjsNMpU_F@#e2?n16F9u`G|MKPupbwYs(?r!^yv0on{bPW>1S>H#S zXzvv-7690(J_M{KLP-H`h~cyrS=ZuEd~>#Hy1<+?GE3VTpSSKq<+b{zqluVV#vtb6EYF7lY``|-QsVd~7ICu1xRw5-7|^AKzn zkRT-D9{=`pM=VX3-WrI4=;zKmv``1G!r(tE^5yEX7VYOEoqy>ut6i%`mbAyJ%G$2a z)_VD2xBom-71C6#R2FKb=b|Bprw;v!y@Ww<^3?W02vv?3E{&UH0;RS=u%6{vaZTXh zmiXnH8EIqhz_VScfz7GW;-3k*umMaOXFaqRb@z(j6T*YKs2ai`Slk!V&{D!%9{!RJ z&G{~kyL&97(lf&5;k$ts;ZEeYb|bj0 zH?_I-9ljn=b?2rvdb@)pCV&3vCd3XinGjnfGRsGv!*4#u^CzHgBK67{WXuj>%m_5G ze^3PHJN?(0_~AjrifuiPDe|0xCcaIHI4o;yHFrALYK|XBml+SWV`i zv=$w-YWF&;@zvDfrOivBW?fMeNRDym4@^<|j50amuix)~RvG2}~X1a#9 zbire4v<;S+iaAqv1Y2Sqwu!cIU~Eg~g_irqPt*?`zjkp}-U4g)RIg8B?6g79Wp#No z$i2h)^!91?kej~ZRZQmg<7Eo0ogN?RZ;ZEX`4VyLhWUHT`PB*dR?*1SV4Ftx@(F0E zq}NJT-)tT<(d5c>wl{@Kg!%bNca?wBF{-?oPM291#L3bLRNhS`ah+L```N=+v_1L8 zt{*-sg~ZI;+$2Q< zIM8%WahvK%NQKGLTP2QKpK>%KLWfpn-+1TZG*k2Jd{eyLn<>*hBfcoO4u3-Ee4uVX zZ+3xM+6sr3in9w!yV5ph*#MU7Cox?ydQKH@@@QT~<*Q zZYHr$-mA$@CPLxN(KuW6bNpwd~yC1QLc={rS9A9 zUdk(fBV=|l)LpKJ z?Zv!H%e7YiA@f)Q+4T}nQeK2!&9p)RX)xq4U0x6G&b50zIu)&H^_g}&w7Fr4ruCZA zCF5FWSIx*ZD7pbhYCV0V_+fe-XbdG2e2I4t5k^QN_Q?g9C;k~}DnNL%Ga5$!Kyp>0 z9+t;r+rODxyqK~0=z7d9Hs#}eaG#u#;9uoJ>m@X3r>>&j0U-UY+Hvj{!t@Ic`v}=j zqv`pVjo-6Nvg()5J$$(fy&%Tf{ogl;HLep>RqpSz+DTCRL8}usHjphJ_b+a;(~a@; z(qa$4yuPXNJRSd<83Z1uN)F*QK!gr=7!AnL70iL7iTa5A^Ut-CVTX{4!93vwVh{0= z9(y-+fZmy&b@bw^+NamR2~2tW8CW(3d^?ylMqNM?J~Ue7$O>>-`jo$~}4BiwI$PC;7 zV-y8?@_}#{LyIG%s1AX7>c;pL%C+NIpF~3#DQOu1t*_VdY7h>#>tv>li?RcBYSSKESYo_S8yx_O?{d%@>yLI!T5|veK70QFY7rbZR zTB}w>R?k>7!+)oTAmj7YFd58)SF})*b@c`F+F$7vp3rgputjFm;$DSk72=o8d=3lK z$&$c9&7VMLR7^$fS;Aznb>V-zDvLCL$dT=V6JI!E_)Y7Q2%C_@jk0E^C$hE9UVfrx zc>8c@JJ!^v%qK*!zULZj)9_ZMIYd%aV)R+8yG{p>SPsGmx4rkcdFgN@!8LHC_Tv{WiwaD|Ef$0FligcZzPt&`Lc`OfF{-mS8ZcFtb!Q?CUaZ7vu^6}&2t(Xm9NZ9heD zCeTP}W#k=BbQmI8V8I%;$orK0CFhHF&&$PC+9#cthd)0*_uATr1rVg(5{4b~Y!X^4|O(%J%&O9w|anNkW;TMM+vni;NONl8VVXmC6<>Sz@@TELl<%rR<~3-$DX6Cxi>o||?d>`+(mRfc}z=bDj zO}Pi37g}`dhR)~icb|vSTk`bwoKKDkpLe)=ucP<*hrJ$_jE#*wV>iBTQY%St{n^{4 zKl-Bw_F8%|gt{H?(YtH)omOai$#jHhIb6h7@DnpLwxW{3AL1s5p_u8~fv|7nnMq`I z49Y)XS~K{MGlP>m><+GWyWZYjJL4)Y_p&_Kzl%@xf}iW^GUB0mE2PSj@JGzc!82-< znk$j(nEc zhma@MI}Yp=(HOKCXDefUas3nspdX+rf?ZCeEu@kTAiw7d8yaADDP9uY$la0+%mPve zv!_(lmSNNO(Zr!;##qP4Xl2Zo*B@>KB&c2l{=_I%x3=LUxS7eVP*cT=@Ff;H1*$D; zDiY`xug^)%vo8<5yoGN^zT@);@=xPM$hga4APKr26cqaxSY*yYwi$^7MNl`+@WNR9 zMIYQDvW>{xj#xOvA(1#B!6H9o5EPfyAIvsn@SC?}SBGxAI(}tRR`lf12M68n^d$e@ro%^nZ&NJ2I`$CwmUJOFUb?hUuujjG0yX_g)dO%c z*6zevol|nq81J{^N&{Ot<(&EBy=`q8i=Qpm>QhgZ{$UIPmEQ>Wf!0wKR_=lTF6LTJ z2k|Cs*pDzVv{Z*Z><4+qOtH|66C*Mw@w;7Ql9`u)xI@r}b&b(X; z4`17P2Tp?aaNAOJyX_ST_M1aFHOb{CGIi?@oB?X0b>2pnK7!5kN_L2c0moYdQk|eL zX@!TsnAqjwPcJ$x(DT@5=xF8^ADp4~5xpS#h56I&;wW(%WcRoZ`3#x%N)?_`&0`kj z1>1nJ!JhR_sD=u4y3>HOv{`Z%L;*>XL-^C3ADt5e9oK#J&A9Zf<$wf-ngGQfEt1PD zkMj^m7gsH`bU&s!e;`jB9Kg=3$b)1i%@SPJvb-MB-2CqaH?@@FL=&A}FoX3V~3o>Gsu>ot?9pgCSW#G1u( zUa}8(rC7FY@k>jq6)IbseQwF4kho`^B}d~IMUreJuSS0>NVUCIsI4$s=K6Vj)+pxo zZLfFsRD|}Z2-4^y9oPvdUqE6(fhh}K#u+l-l>yvyx8(#+LA+HI$djZrk&?eun_>VtAE|Nj7Jok;}@jbvB0CWhIZf|H5tr32wNUClh1AALz45SjSnr-o^QcD+{5Su zTh_@Wd)0_a#is}K2HR+g%6;|70MEj!Kg-j?9a}y&9mX2v2ihR!&XR}BD#rLR#<-7S zwlGe&$suFsrh9iI9Zaj_kv%%(~sH{u2cGv57c$7#KVjaEz?qF z&t5LcesIfm-tF?++D*&hsQ35Jr6axE72nGFO^5S~E&ZZBoYbviMpI|Pv%)@gO5C=P z88$#hRi2&tsHMqwIO)nsXE~g2h7&5GQ3j_0()HwR+++Ao4wTS6)$k`ew$GCEE=z3@ zdwa8*r0KBGYeK69=glI2s#|rK#Rp^B{dZ|~`Ogi?guRHkq+1CA(Y=9<^Ob*L(#wg> zX`Onn2>Q;~%9C%H#WoK>Zt9q^iE+Ystfp6U#dndDsax4B{8QhbyUR})YI%lCy##QW zQr_46avS088sBOovrnvcbiTc3+k1j?exZ4|#G(g+u9c=~%1IT=X+dtH_e@tdDmS7ZwZor{4;v+p|Nh`@nrr`?>54OAe}s4%TDV%$jX{& zfX)KJAJ^&BYu~5QQb_r9Wmc`46NL1}*yCozaI7r{Su!PVT#nqo{oz4a0CE+0wW}fe ze8<5|f-va@=PkTlMb4e`u$f|kmt0W3wPYO|MpNBrhb%k|ny1?BZ?)EG@AoRT7dy-| zCjSC9l_7{o^G^}jV8;MLEkVCwCyucd;aC@fTz#!&lzH5z+GRi74}CbO<$FsNFWM?A zueV~O+0L4ZTj=&-(DHO@8%FguQ#iMdutVKbJPD)V{x^pYqebzkR?%r6H8v*_`Fn^i z!7*_RsFmp|rNxS+6qa$yb!VG~$VlO5X2gshi3_c7nRw{A2wTwNSQvZUa{@qdy(Bb= z5c2>2H|%d$$@d>u`MlxEJGMf)X1C&U+vu8Xr`6&!RW|~A9Z!8(%D>J!x(Q^NfHrb6 zswb5lDIyM1^9KFq3T_1Gr)Rpq|J6^o;hoB(xv?V*p!E5^r53W8%{QCBvUkGXw&ixq zTcNjcHzV2yw~J^3uEIDA_InmGaOGVZ5MWFw+vBF^RZxHX?LKS5OG03A&oK6>AWk++ zmdTaXr$Gn|K}GWYi#ab<553TeTxH{t9d7E&yC>Uyvz7o><>YpEoL!u-zS8xKJ88E^ zRuk)?4)Q(4U;jTEW&Z|}8fcmVl$BWTHE;aA&C=WqxRkct7+oDI?cJ8Ne}C-{n2nvr z&hh_%Qg;h@_#MN;QgLmczS!GZNw3OZQkS7W!FY)F5o5UAt_{)n5t7$STi2*N<;L}# z#MO^BzO%~S#VIm^&{Nn#Kq|S>VDcKw1tJyY=6=K*ZI#*K zvfkN*O0ROGPVH+)x`Y<)c!}63Rjh=^f~ZEnTR7FmR;gO|N<2I=Mc~Kv=VQv@{m%~bF=ivl;5uad!hzSG)N$+4cSF~gejn1ME%@mNnsfaRTJNs$$Ki+ z14&|@#h393*Hm#c{#iktUOO51+3)}@wfstE^n}Bz`Y{#qp3jP)R<1IkJn?jxVC>x% zHz7i&%-66(i76KLw7s5jSGb(-Cv)QF1>-oP>%CSI4x#0^zyIO5b}2Pih5fh>-sM#+ zaNGIg+Yw1M-VUNBBWU=#ef_zYxq8U9^b-MnJDg)m=bJyl*6oB)*zN$9tpIzsj{mjy z7g=;i?885#Z<+XN*ErEpbkR{YY{y`@{TXnw#VQYVH{d6cTcOGOcE4ZmxzL_cr=XXDn% zj5Q@CjM-x$#!;0{hK+(A3s0azTkLv7+e~XBO=~&cHSlE7U*biY zmy(;d)}3Jxc5NNCKEHyOCZEBF>zPBCLC|!30gG@HwkjWq>n*V-;SA|3IG<<)-VK2% z`Rm>M?Ozxo3D)ql(EMdoE*Dz_gEcr%Qx>Ko3a8>i9J9d)*i>^A)q^b)N~U|qCmyD(ViB@ zKg5E`m)O1$h1jm6S3d=`?F|{*Pl|rY>jbtsanKz>KkfT5h4bHU~uRL_lr23|eLbh6&LdeWF`JXtZy&inQ>U4yD0EQ4T zvxG46gtjV#8A}Itxwq@Z5?{dhZguIdT{;xKI#%*_vtq(-iAZ|ENspfMHAJWyrIY4& z!=S1&y^=doWdQVPl>XTfsBAXZf{Qdq232!dyz0`s=gpBSi6XGmeB9J_rY`w7D(}7> z7ihWinR?{($Z4I^XZBS7T$$a!_A~0zO`umr5~lWnj}inQb(3cT&d}Y;YFocGevIXB zCLX~C{w(yAYcAuf+dwQNS@dH)8%mr35@wP5$$&34jCkETUdMe#=UVuIn2VEwBS*hi zXq$Ub>TvWbSJ0E<#_`|ZYa})eXY&?e9AOHMxrofR!2aJ$^G2h7?=*r%guDt(+h6ZcRbtH9-|e+8_HQ00K0If&MOF=FvD z5ZYO+sKd?d{N~GzXl1yd`X=hbu~IP@-mZ$&Mz6HP02^$8!iai_;+nAUsi;m%7PJ?Q zVf*c-)J;#s^xq@QSj(2KF-|HIg63RV^{A-M46-AxW3-Lenq%o4I}MarP=BI+@&vXp z@F4hNO&i@w5ja{ptjxga9EeCQ5Rv4-&u5dtAL~+JvqPi_j9<>XFoe|(JbO|I3}N+( zO}mgv<-8AnD!~;tCD*4k;ci~-xqI?epZEBoD)W9v54TrvoV$ZO;7|bH3T;=2bG=1| zK`fZF_`REf)1DjXszE!-5upnJqXT9XcL_Hq8wt*79ycjAdNhChF3KN9>%VJNmr!Eg zXA(;|khn7ZT>siC)a5(OWD%zsRx|#Ebj2`bMG+0!fa0pUW5>pCo+@EBvzF|y7;zaj zN1#Cq=p{j8GIJeww%E&FllU0c-4@}75)#S}Y5ht-6#e5OJ;EkPl}!ndQKUe;@P+Wi zrIGmGkEvtL4F6xQJI(zh_3xiN#ozMiiS*+MC$@6>EZhrq;a(t*$fHheGef$ZxpVr{ zF=7+e|6dnOrUv7B?OKrG87I!N79+3AA|q9{r1+N2j2(2f1T^yEnj^Pw#i{)m@0X~s zGk}%FvZQw6=u5aOJGUi>7-;x?1%7debmG$m&Ici5CFtq@g@M%oX|KHiVLllt^8EUJ4c`v)>Rryew{h8}h)vslBWgiuEk={*0;@~tR%D51lji5PGAZ9L z`s^(-fN$wchi{2M2KdN|Y14|Qa?IL=p5ZqeyGP4tpZ@@yW~yLb+dyu{f4v#XsRR}I zN&Zs8oE#T6nVFLcl$V?xTS~4LablGSe5SSC_WJgQ`GxflbJiw2U9l;2X{T7`-rHw+ z!%TYt09~ZXZEVV-tOy|I9jFbZP8=@+n?DcGK1p^TDP?N>espD7`+%zW%Ry7GnArU8 z3j08zr!x4icfCEborPrPW$bdKuJknkzgEH|Jcjrdv{u)v;=nP1qgb26av~hI#l4#i znCdY8!a9tcb<26W)#y^#;AU#oL3)A2 z^6Rx)%A){GMP%GTJ zMe`v{Cxw#_&*SsmXJ_uUu&rnc8b{vO-yC*VG&JnJ_dJv5&h>~Ck?{LKUqFucW#LwVVL9y9izk&EO%;d1&p!^CL7T<0-k{2Z!q zr>2qEBoV%9tw#@JV`|NblHo?874;>8nH%nyNPaSZGx^bdaK)Clq!;h!-W)C^bJO=hf{Vx96>>4w)nviy~^(xUwd-~Yml8V%?z&HIf1 z3M`VZj$W83s%#ojGwPV=jeBv}evedp@zL3pGE2poVWubd?HKGXco1@>5X-Or(=7O@ zminCbB%BbL_9Q$Ai#XI#Vq{1;oYtrmjARZnw8Nf+Hh3!w8D9u|oOE%F-FV0ORPUAN zQitU=e4<>o*vWiXdN$}g02}I+!K|iEXVM+c3BUnH6yKDU?IE-iP~A1K;m(8Su5ZA9 zYn~l1kGsvXE{pM?oNmg|YuC=rUGwF^_7&<^u09W&NrSx4-w+6|mK`K<7+B^R-k#U; z^=b#)S2fc5L&Y^S3-b%_wpCs)xt8#*+<$-1I($qWe`nmg0QSSfvgmtrWZ)->0K&3T zZ0{CTA)1uMqDt+|0)KwDRbR)}j$N$WulAx4VcJ13LF$TA0IH9x@KGyEEI9-}O9F;v zp*B2+4ZG|g|KuIfmG2?{@8`n)_n$udV_jBXhaxj%iiHaDLWZ9kKZpAIrijC*2dZo6zFZ z^2F;yZ!3vLWv$IY=4Y|YQ~Z_LkBfWK*C;M$)|%C)_t{>^EQ)Mh&nURP8}r<)JM$$^ zHVow+3@=G!y3MQDSjy40Leo2jJszDQw7(f$rzhQ9d*NX;3{gE&g^+rLLqM5fY&cFV zs*j!*hl7DqWNH^I&uke&gS`kpO=gJ<{rb1MG=p0@DE%rO)WzP2EK0MD48HKfw6)@E zm6PDnHyy`M@fq|P+we|&vMR)@z0ubuTqKXA(0*65UIO*Ms(2QIRTAfN~Bro^1 z*|XA=Rum=ZYTq`}0SwYZE^F7e=IPFu`5o>a!v?wePAlwQH4VsJ;{j7OreDy*h|w(t zYn^5j*^k>l`lx!I;;(xIOSRC6{kL>rPuY-ybFgjB6*DZquL76jM}v%yprJdj31BB1 zeAGUZVJ=sQ#Oj7rwlBpK97T@E{mt4MaNXtYNPWuqUl<4Zk1t`$bYAf&=P6OtEBRc9 zffwmkM0=(Dl7c{t$&sE}uLJQSp$k->_CWQy6gG+};E~W_NK!;0wn>t18T#<2uEt~= z9lkR7COdfe38Q4~rpL~W+mnNswSb+d#7*`CxnGQ|Nc$Vo|4lz=4BG}Kx@a~ zv3z$UjMtdCJ6#C-ajgLIT^Gv{Bx|Krs4C7MWNMUp%QWUZ6RL3-dvnF4+ayC)&g7() zddNC&<&h~&KKBSB?EeNc7nWbQzO={+n}hcsx=(D*nJ$WK$Ue7xWz(yV8+@)A*f9|9 z?<2LdApEpN5mi>luBs=TBN}pIi5qE77<-S-m|N+}9ghnlm7{H11wOCyUArIHLkxa_ z7lWo0ebs~;i`*E3?HVnXeLH$@n+TcZ%w&VwNLk9xql^5ZF?ko>O zc^m1qw*p#=t^%>wVtb3mojLaucl6*xtz-9{v^d+l^y7em$K1Idz>4vYK#bc=(t@l} z1-l^n2n-F78i!Mopg33veK8BRPn@2I{a&@N0XMQEj{5@B0CV~wzO$;xa{JZ zdW5z2p)NES!T+fXk?qrbF&d0Xd=y%aF#3NXijKd3pZzYR%H{fMAZ$iC!HIRH9C_^FcDqErv;CH9 zbU(`|>w5pxO%^NY>6!J7YG3mH!Wd%b6O+e{vgeHLrA(~m!;igDyL;tLo^G=Csc}u> z-25@36+^s~EH>EY>gV*L+UfeGo$ETvMl_sUy3$B%4K0lz@73!Gn`1z`L6U$TI-!ZQ zOQE_G$oG9%U??e-f5QyxiP7uk53I;Z*R)?xd64OlYkaIN`QgWlp0U$kBr&=R0x&~i zcaf~wyKDk|Qj_9xsQ9v?qRf?t=VO&m+>>zU+vCC030Q-F?qgTmY;}{pKw)|)eM}!j# z$iNWh8MGKT<4V#HqX*nYYz)NR@ujYkTb|h_7NoR*K(rS;;)&`x=lMBr^{oJ`j}{&Wl|}pU!x^Ga}*3)zR27@mo*DU(Dc78Po}W z10S5ips<--Jslp%vwE_5W@^M3Dr{xN`{e%0QYuqe5in$sKu1*)CVOarDvAPBQ5}D~ zl97Voklv`M!TTq2fNeNnF85){BhfHNyHSkTvu|6!^RnAEB+UW{QdPoaklSO+;At3v)E_| zvs>#AbqDvq|CWgyAi{8Vw|E72ewf06 zpsAq+HH1$Usyt;GWuwG7_^oDLVf&{C{<4exFxFG?LN_Jldtt(sV-3)9NRJj_AlD0WNW!)t85#U7rNnkk-oE}kYlnC3Ju2nIUP zM`~cPi|A-#o7(#qL$+%lzR9pESlY2RiSHw;y9AOg|F`he1LqoH&uoO$%SY{fVu=-9 zd{q7w^I3)IzF=IyNPG}FsL*yS|04c+g}O}1b3PxC28DoF!FZ90O4ILWy(wSyb!N?t zj-}tb4jfas?ZqJMggW}%Fm`IkAQ;{%*fQ$UvkV~29|vlr&+vOk$p?q2s?PJ;L*6^+ zv8f3L@vUZ+ULubgl1Iw5j(l4>L*iYCxFXh^hu{XXpi-iMc9k!|mGYDFX!ezr6qprZ& zq-$4ruV}g{6erT!uIUjJy2Ck3tTgSWEGL>CjhVr=YNL9VQ2v;M{-qwi^A@Ql%n#l3 z?1Sa*9LAEIWVah;$$>HtgYFayPGe1HYMJ)ytx&&U5%yAq9xswHsY$#Ce%R^_Qup=( z+=vKBV*Of-b4V9hgCE9~noD9wILM-(ssO2+LJF~`cq_86mN27e!xmd6wR7L7V08)`S~)gn4=9v6a5Tsvjj1qQS<6cPD|w9*lY$UC(ttcH`lOkEM#+ z?Xwz)CX08O0fR}|eDyHl7*ULwltR>@D2~X`N7iVyP)DU&jq->eud^tb>#-+QIsWY^ zN0DiKBk19^m$bJG$J8E+!+cD^_btM+VHthFm$Q%V=5)!A!2yETA(ZGq9*1Pg5Br_v z#%2ObA^1nZ$NCC2(lQnz-?n93inJI*t=5I>Yla&r&$v~P0}BmGx7~a~Ev=(U(c~As zPRqMOb%J%9#4>GTu;|?ZGNY~8_H9UV?^rF5n84Pr%Cr0*og@dztFrBf2eReuH)rQh z>|1>%|FLjfOR?0v?8$K}+c?%wGR@#g#N>^=v+(<)=vpS$n9)LZu)n;Td_hatzKzFXVkk>yeQ)WY#|2xuFt&E}SgEhCCxg;7DyIPM)|Zsq3;aesN;Zwxyh< zoM&W!*Aviuu(Tvg(5h^laRmRcjRsod3u+sMn7x|r{1r&p!GKaI1oRTxY$Br`ChxB9 z*W0_TdRY$!5BaR{WiVz^D#Ua>uKixa=BPlgXr-3|c`ADQ#B~c?S)8~*4@rW`^dD+F zWa3zM%YWaFw0FuU1%TrR7Ye*qSAulqcx>f|u#3HGBn<-D>l261xcjpN6h~zWY$6wL z6neRT-Fyp`y~mO3CDpiIau77K#?^RWB38UKZblf=qk28FeCfw}8jTd4`Zr2b&f87R zDjhSlgchGFz&*AEU~t%d@&uj@UG)WEu*(b?utQfm_LfU;Z<;P(AGx(Ss!^$Cm08-7 zt(lvCzJ*cAY=k8NsS4MJ`=}jF%qhaBYyk;Rg5Lczd(L(0+hvq4xqZO=;doG0ya>2R zc%08^kctBnF(%#g%l}Rb#fy9yL|Sl7jrPN>xXZ#DgH_m@+Wd8D*`BG)M)<9pVJwO9 zKfiVCV-jD}$h|_~Lo6BKGi69;*X$B9+po|RE)#0C zc=kj2!6CwyPLu0#3VK$QMLwGoO90~J|F#7;a4r+R5V8e9ay;7Pk(-)f+af}HzqDnj zd%sX{z-EnI5*3FBc!$3HiRS;FNWQ=!{?f5;SG%4}$RjPM&-hB=d1LqNsrs9W^T1CH z6X#bN@D&7@sfQR9zwZtVB|^8RQhr2u)#&(?y-<~rv0kuy-}z#m%Zqy^T9q+*rU3uC`h9F<3^qS zS?^{BF!mUe{FDZAkkvLUhtfg~&s)Op-+6Uq&~zlmYrL*Qv*s0mfrRbjW}9%_@3a36 z`^C+yf;1LjzlC#Ic&1bWTd8rUs%^5}!I;jZgoKj3+k+3vWm7k(HS=SS%KO1ep0^#lp-%zGZ{Qz*{ia;L6?L^7|OJhh~bJbn)}Z7^Pk7y+n`HYCTQE)a#H$@_*o zKsQ*|{aKmX`lcz*Vp;9`ooJh$t@P#xd(vK=2`P~HS+r+iG>}W!x2OS+&^11~s;M!i zOZ;9NI0NRjYNO|kgpY=C-HW{+Pr-mr++EzjUf5pL&j^=W*+YVKb2Symqn zF2$zY0~z7aC-s>RyWevZ@rCbmZg+nEk=8D@?A-C-uqP`+c9Q^P=6{9`L-HW;FekDw zAQAGCbd!@%A~HZ0R&tP;)Gle-nOv0b{@h~E3XFNLgQ2Ckx)6Ll;NQ4piqguU4I#pj zd^~f2^v%Ezw=zf3pH?d$U!n3Jj_k<_0~gMA@Z>-9lP=nGeKJf5rj>;=BNVqj4oR|s0h z65Pp!CEzaY3CGWS2+~Sc6IB}3q-@=C59)XHHMyO+*P0O&xmeCz`1Sto_rPODit|<@ zUZtq5XMUmTG-Px3{FK-c-dp^o;Jiu4ahgwMm8C7j0DSj2i`ND_3(V;tDpZq90_O_P z0g1D^13${0v|QkKFzKeU77Y-7T_!#Qho0eniGTuCK&Gxfo~*DR29{*k_L=*c5oIL` zkq!qZ4I<_b$TrYlp5obJ@MP`S*SpuQe@L$dRupJc)mg*WlOMp5P@$FD-o#?@9+EFq zU;!ojBzHz#ce(E9V3kk3aW?l{rfeSu5x&)o*|_@gRO&~>r;z_XiftWcy-0c8-eIum zrB$BICrrj!s~e*2E$`!imP7!lvxgD8l5TiOH+eeH8Y=LnD*ndnk}RWOCf<_y{taH^K7wFpiy)yEX%M;doV}F} zaxP%o#=dhUe7)5NVL8TRj2-v|HsfbPBMB0k$ba611j8Kl7Xwo42;A==$Db4 z;%~i)uR!R{u?k?lJHdG^c;M|VkLOP@U(Xt4=C}2|Jz>SV3DsYPC#8n7)McrU<9lba*Lq=Ug`=(9t;O(=z>^SaETv9q_&*3al3 z-KSud02V0bd7krxz4%8|%Z*#mkcNaD1R-cc{}`E`P-I?F#QcTv1n>5NdyRaB6Jmo% z4!F%8Gzx4eskV|e)BI_+#v#x(hr1CM{suHn0!EKDxuLiA`Y}acg4wVY4okJM4|g1ovPahZ92wPbj`LyOoDY zeJc1={94@|Q=5Vshz@=kpg_|G6)>o_$s6o8^D31k?0w^B@trax8ymvb zjHeDt1`S?mm|1h1u=9JG!-YF{-ruo2qAn1`L2&$awNlF9%uvS4V=zGXL-7l3bQi`L@|N~+5&?N zIS6Z|L z?Bc|Et{T}{Y5U{kNC?Q({xSp#y5yH3EH@-T%EkR7>S0e{u2}#zezjZ#y!O%mxk$v2 zaMT-Kx`3(*eZ17e2*OR1D`##UUHA69^8>FXo}W2Sh)Xyet3PjSxdxXVI!tjbLeVqmQ}EI>Hz>vVM~jp` znO;nvv|LFvd@+9_;oBM4-9Ec#LtUFNh6J2<19lBtlRjA{X%rPue$RiX4$gmU0t-5d z?k~OY9S@tP^dxiszguMua&>%edn92-AQsEQb%{UFy>nZDPct@z;NpS(DKpFiEjt(>lM=7<0w?Og=JkX!gAvwHAO0ePW z7WtzR{i~U5|AWlcgSzua4@&BUbtmCn7@X;DMc@D6p6Q+^)dI+g=)@r0W~(?Q+N8bU z1o62N)PB70d-AsG$DwF2GXLj{@!6XQdx;Z_MjZ%i(?IpCgK)!d5Y}e-uft9i(lW&i z>%eiBV*HnRmma>TFBWMJ65J*BcL|myZ%8b8#^k5tKXo2tB5QKe*K0a<{yZ1f+P^g4 z+$!`%u`DVP_JKhCvmux_g2vVMxf2ZNPG!Y}qYbJ(m+dxAuz&ve3!^00zm@mBB+Z5= z8{a||L@~@mKiw{muZ7ou@kDki8?SPv)iZ=*iYHM*4iB3raaCRFtLukF4 z-jf^b^;RKgwOmz4)rT}P*Ttb@U`W4j;vvveYk8TWWUjAmdpAkA+KPTd1t~j5r}g@q zLz}1cT(;>w=JgD%@y+uMw{!Z3znA0f7Hr^7%ohIPu!KP#iGUBd&fjk#vUbLft{l@V zzHdD3-UXM3ZsxBf_+^=LyzT1KDR7j$JvRXkti%b^Rpf`H5EpD4q0*J**CZFM_Py^W zb|AfO6^?vLlN+FZp1pkx0@SB{w9% zCLzI=2UltoqcY<}SBrUN+G&=X-fyNGv1K@3t8YU{Xz?C7-nN&2u*v_96oK@WB#nF? z|GNMc`wOF=eV+^6$%N^cP&>>AI6F?$<;0e(|1s$Lt~&WgRQRSF-tBU|FL9j^XdvO9 zTWW?-G*K5;l;r`%kxBYco5Yr2oq| z0O^eoo+!N_3QE$2-M%0LbL5#5n+Ni;d!%i}1>qAzp3nS+mA*9`;FYkd>KU?Glnyzr zWXW21m0>#I>|c_nb`w%Nh5?I(o!C8yo1PX&{pF|Ti!sjRRWRHK>=7UF1UN38JW4*T zY_?YU@ScfJ483-XGP-Vj*Q3kZwLGus-!fqDjRR8p#pVz#uTo(ajwq$+)dyjn+e2t?$M|V%?-Wu|jmbe-2?46FC`6Jy$<^iJbK`rVN@3${3<3rtyWB})kmxuLseU;b#lY5t>B#&A{f8;1-}(=`GKMP&Vnmak z^zG{pmF3l&x0UY7*EG8s5+GRp{N?&56d~ZWLd#$zsnvtbx714 zfUhd^E0E9D<;Wiqt2XjJZ!A!QiuhzW{-igznH_F>eZq2e#I@7M=Rfqk%BTkA0PeeW z`2B8Sx1=c32=B(ruq)kXsAW#w_MgX0tGdqVsy`eR{%Jkt8&@dbVZ+-)Zg)bp2_ne% z16dFMBxPE>ny(6o=tyU#=Xd?TmSAsM5X9gD%3K3KnYKzRPIPMe@rNEo3fyMtv18d)t zPYdTvtnseekGRFmBwD23o8f~uC#W4-qq6Bufy*~tUdMai2k*3CsXf1Tu_EkZb+P{i zJ6okVqk{Cvh^`v3o9T=AZc1mN$3u*`z8i55pp4PVF&OY59njY=oAiwh5`TY=?QC3$Q{qyy46mKzGn@4~6 zo5Y-zyK?v>|Dvp42sH0lCLSs+?84wl-4c7shnBc(kurI`a|)x=_AdTwTa?dSUipES zm+AEy0e1xFhf@+c|8ZJhf|x2?r-cK<21yJ>bW6qnAsbtEsMxNet;aae=1Pq0wH=8P zOMFlu1g-|Z#NXEfK5t{X#&1Pu%~aTWM=59_X;N&~p>|}NKGxl>liZNu_PM;Bv&XRN z0IvKPE{k0HB-un%w{Tf9Jn6}(mr!b);?IasU(NFy8pef){Ttw6_@DSNT(28o9Pefz zQ}+15bnnaVlc+Yb63|kx_q1{_=kY__9?AxN99qnEjhfyT_+(8+R`({uP1oI{`>Zqt z<2Bb{)``$S%S9jhCyvPQGenjU=`sWjA}KYQn(M32xW^7AJ^ZvMFtJzk4qI#*;G|9!7X=qY7a{*B9CV`4s8N!m>2`Xkdm^ARddocuGh6sA^avwKkKBU#C zoMDK4ox$VZmMdw=`M7L-_~~cKk9gkI#scW%gvKG$CVSb%?u1hJZS zi>M7Zme{{QAq}EuZGU0b;(8ysSAqmIVL<}A_}NFo>LTmzTJeEcEQ9a8@>uBW&QdGS zs|>Bhb)RV#0!E83t=hkV(iBHeT*wDVu={)$MuO*tHNE|~vUl*8qs3%&vHq`_XF)~q z$AU8umR3T(0nLp~Xf?!CbK-x6Bt>YocToX)XO2UfP4u#T(S9Z4+b>6I$rtFxN(2rZ zXWJJ*4L&j6rcq{^=U1}!$58Z=o>uDSuX3A>j1QS)YHy%aVd+IEIG;vm;N#o~&PR@S zN+yU|-Q`wJTIYVJJJvVFUTs6{(5IhxlM6OUJU*der{bp530$hXAOArQ*IbfypP z@Bpa}#7Ysap&5greSp)7LL6;DAnAX{7p$GY7WIwaZklT{63S)Ec`aEV9(1(j*dD0rjkF=Oj2uXJ_eS*^2Wm$i6Y z4DD zh8u*ZGMK-JRGDLEmcuRs1?RR_2H{>#*c!XIHp`7A;jG!}mA5ipr`mkuTg~&MMR~U$ zWaij-Y8F)aib4oQ0ypJMNufl0f5S~2<4V7qZ-Qe7AiDs<(+T{jECW{|y@vTr?OD9N zv&p&iH+zt_K~+$(^F84|emgy%Z0N$&jn+_a_(c};fpVexK!;8e$+4u?1CPSSFT zr;i))`$p8hN2XfHdy1f&ElUn0k8FmQlw|6&3mBSd zKq-X9{1|KrFOs}JxKaD!&al%whhOq`haN(Yu8Es&#yuf5y}{qp0YxIddg*RCW$c~} z7S1=XKdeo0$Fh}3W#DraCEa>#xUhnOa_@0%-VVoHgM2EH@ZRL~ zDxObJ*H8yGT29ySQf0y#n`p1Lw|VbNZVMcJzKSIC>f`7~0`JlGyG3Y&*dren(mW^jgD_J9F-=8zv_#Q=3qw8 zANg2Y45BrVh4Pbo(}3*!Qwy0Z0C}IRsI>lczedX&7qeA~V_$CO-_88No5UxvzCzQ3 z%2vuNQ=9|H1YH>6E?;7aI5Z9-nULh*B%M$m5|dlCDKLakZzU?5m%xY@DU>6@|D~mr zY(#1+V3YaSqe@7r9`PvPaY7*sVJO@YERi-Udc0$TK}?ty zHR~2Ckbamj30J1?pu3fwx_-e!8Ahjy6S9%feML6I4)V&!M8b7}iz@|L>o zyk6U5=>!rSC@?-4PKV7e!J+qqN@__pgn-zCEkvF)b303E_f5ycX{+_ zxTa{S)JH563JQ6?5_&2$b667$6 zMR_y9jEwXy+#<7~Hla^ZVP5MNS4%T8lOigcfkXygiXuY*S7u%yQT`=!}d=C9n zMk^Dq6Aai2E#qpqp;-@X8E&Wj`hz059~8tt%jkbRAp5dZa*E8n0&-51qpy%IsF(yX zOyi(gYMVU>4WiP6ZOb~P?hi^&n4BgYM0Tx6I9{20#&XFog>7zBx{6j1CUi;U5d{@A zD5!X>NOWd5ls`sLwq39#Pn|Uy2Y7GJg4$W{>2_{!nn|m8D-Aw?@{C* z_6YFLHhCkeS3kC?anxAv{8yQKAvOZFTkY=Kh5hkPIIio)c-3nX760RnYT1jiJ=*_! zg?l!67&~P9c=iO66y>dXYdHnw{rpr%DK`8jIloPvv z)Z`$9s<&XL$Fb;bxkVP*sA>k_3LqCCM3y{eC2SXvz3dopXNn|`%c7Rb{)O4ogLHY- z0*)$P#CIHWwQk0m&nWs~%3)UO40<9r-?fUtK6uJzt%D+&5vsrH}b zrA%Twm)69*zk2NA>jF8Q54_NNwE(U~rHS$?u1%=hnzIaglRj&xY{#PH=My$O zT(rWV+B&4_2tAME=YUMvQ3id*<{VxS%x$AX(>W1=W9gSox^Kjfx@@>}=VPznR4voS z;2yNgNhrpQ%WFC>+T(;>N+duNX^=a1+)Hu>b>1*Z_u=wr13$LG8=($y<9xkC)yTV2 z@u#BC_lzG~wtsA?@)UH-simM80PIus!E8@m}h1n z0}ijc47kWBENh8ZiyUtaVv7ZJn{5!7!RZe)k!tNY0-R*zzoW*d$%kP^u2^;kp?5}f zQ}4AohLPHy#i-f*w3S)4$FW^%SKsl&>f;0e2$ZTVJftm|uGY^5XYqeHi*F`m2YdoX zNflb{Olp9V)7wr?hFnppi&C6C-{;bT^=W;kFa6KOf5}NfrZJkf zLYF}+dz*3Nu5^eyDHTVH^OivBa;Z!#B%HtrTmBd3qT-w+Q4b!+5boV&dYV|uAf3!+ zu1^_k3oBjvE!gwbiI&;ZYgE)O+41t+%k!jxFZ|1vm7K`6=(VN%az0a5o%tRZmi)|Su;g(- zLS;Ik&ARh4WThg}p8tovH;;$1fB%L@LMb6zQKnETp+ZU+k}WZ*7!lJRNh*nKrzI+~ z7D{Dgi4s#;vrSo(%5IA6`#xhG%$(PAjJmdd&;7^!{GQkI+|T!ZUa#wVxty0d=R7~3 z<8!R<<9&D{?`LzwV#SI?395oOckK<>d+i<18fWPgk#Dd*``Lh07%;7yk$LmbNI>(}T|F2RYr}zriL`NsEs-tcvcH6U96BJ! z=hm_}%_ag?@N|(K`Bl;KZy)H@_=a(G%f_bk%)!+w2rC^5GEZ9E(|Ikae>7%_%oa-G zKZLRZErmo3UWKy23m!yBQ9!!Odz81vgFm_YOlOeL1$*@(r)QBpRUIpPD>X3V)*=`W z?FH~tDy{wwpIM@GQgJAcYqh0#@|`Kan{HAT9@SaK*iXwhoI0_pKMVf6M1#pbLQp1K zl&+&|;V{fne>-lt&RBFUtYtRxmkeeS+KIGkWF@?y74DbtfPr>rT!7&6`!BVlwU+W$ zmKk2+a7k0n?UAjFgF2vSRI^a(`Pyh#ZrA-|~ zr@s^^YGL1N(=7DUjyGKHYfv0hRCw(9r8G^M?5(P_+7JpJFUucR*Ajh569(!aZYLRk zU?N@olDyn)5eW~^XSOpjHj(M_g~5rZx13p6$DgHt=`BoUD*RK#Rp9MbuqUIfLrUA{ zw%W*nux7QRA#Q#4W1%ZO*3x7HJyep0=lcSwYU!!=A}ml@_D|I-leETK%!==22zg`H z`@;;VpUTVm?{ocgO^NI^wRZfaoc`;dy@YrHy5#jIUTU(>ijz5LeM4l5lenUCL5pb= zqJMzC+W)AxW{Jali20o_9AXU9`OO;SUnx%aM$`=*^F6yDk~gNe(cC{pxOk z3*+e8@y=-0ir~LhB;{W!a?n!tug@M&z|&x-fz-xM-xM7o{#;bvoFq zzFOl84l=Ne&DwsxQy^Cuh^>Bn+8W zI=P%Sd=|8|30o^i%16IPZkwxywOYD*R9syewEeQy~`K%5g8#SJIIETQzVT)Z!3Vq-Hxh3!$YZuMdVWNyAd zW#>qcAX=&+0A2Q1pKfH=Ly3=U*uvWm!n+#YzBY~cJZmnpyLxUtJKc9mj>Hmg;P4@) zG(-Q}tDpUEgx)V+3AV%u?$@yYu8amy4oDa@CQr@~=+-xZ}WpmNw?;pi55;|O%k?o7k)BVH*vl2TZuR4F? zkU4eU<@WZparqyH!Y}f-lssEUWmkfiz*&#?tMgW0=!TKI;S>?5%|Ajh5={cyFeyQTT z_%!wl0$pU~zZ>7wA6~+Y;nE^ChEJlaV_9BVQ))ahe^cWV#`kTv&SN?_XCv{QL_B2v zA2J|9-5*N=tP~99z<4}eWcs*Nha2{7}QRA&d!RGmhsiDSR+3@szYMn z9!L4fLe5-sPMMHn;SA~*5-m?t3aO!{p!U!THqAfk2R)iTlo4s3iHnRY&guE3BtfQC zmxJm8j!0D)e>M9m_E>ItXAMnbI1J`@;!cz2wz^SRzF0uQ=@M-TeK>y)(==C;3H$0* zLqZnTMuPr5L2I`d?CEiXF;rj?S0r@FviRIWp=(G>lC^Ld(zj`yx3^UZ2}! zk@S`Gwidr+DYX&8_UB&f!6+mr!*PXww6L+tgaH@kR^&D^wH1nkpjO$r5nf_vJB!y1 zL2;0*nd{c|+`4ewRk}n|pw45T>}_Rt2Th|#&yS05@AWo&zgM%b$o|(r%SAF+SgHOI zQ1MdzcPYa|iYyGZUStyY*AnuuC zA8n|XuHpYwpwAWwJctB8TO@D?pt1uyTRgzH3zA`BLvX$;P;&wjU^Kp7}E}n4$(w?}1OAR=BJEU%E=H)&?Gf*0GjILU;OlAFz8LO72 zyvUVx-7-sd>>(e6$_Ilwtp_)qJ8yK z3-)q~tJ`%P9L39o?Q@m|Vh-;az=)_a6_7imDU~5?3_B<2b;tC0kwlCUY1N?9*WSLU zCfOSr#{-ub+ucZ%o+x%Kf;puymY5CcI{XJFc@d1`Me@V(?_-#kOgPe$wP`M$OeK9~ z%{8wL&z$`9ez*2Izb0=D*d=h@tDeHd1GU?~+G=k@!YRx@hviJ{lbhN_^h5Z2U2b|P zp8h&w{cx;O_QkN-7|O@g^sTcyP0RAWzW>ve9|B6lT9RRQa+4HPO!Y5m$|{hhyH`+S zx73cNdzd0JLN+Dq0uM4jomisg1_`#YMce?u>iu-Nz4ti&7vrSI1g9wiLC`5844CWR zw!j7(IY%=n2Rve3n9hUfDP15mj@A0fk1Wh4NcwO6dqmt)M=LZQEs5qu^j8)##PM>RKubi z`k-*<3U$50;JByJ6j{sX`B4neX(8~N>|eie(8Nj*AlHI)>gzNzn_O#0+0E#COwLX| z?1%Zjge1lV{Y*;6o7k?lE{Ow%QjyZz)9-QXEa6ysU8-n1h;C9hWnN;sowl=Vf81A0{_h0Ay>;9u)kJ=~n3J9>e`g4KIQ8JNn zv|DjCBcV&dC!TTNreWGxYNkim>72{8y0TpY*Ip%dgr<3d(c#T_k4$Z`B{I0!R6u>x zA~XG?d>x9*2PixR+DIb9$?#3V9qry~$BTD{A9eFAUA1dDHrPX7YlWfBn}wYN^EdM8 zN7^cmzsWAjus{CjS?)cx2r)lD;#s8l6|5$&xY*AHrxQoODs0LrZl7+(vsO>f^V=xW z9~awTfp$d0@dPb9D0xu)OT4sI`*E!|#>;nYi+B|$7-rD@Mr8uWl*h6yOJ_O+_SZ>Z zSx$O2w!=(>zhK|1$k!SCT^jb~?W?Co`OC%A#@;1V3s-N7WR9vUnD0Kf{hq;|4T58G zL)8qkwxuACkA0IiYJsw>d#9z8-mQGaP#;(EP}ZphF^snnZq?s>a+fL(7Q(ozeSgNG2{ z50Nie5YS*SZpaj+7Okeu-d5k+IhV;Ngs(prGjh0m$7M{G6N^GQ;~AyjESJ14xG}e$=sR{h5+jfm#J+d6P+#7^`lHO8c$B zk36zrmhMM#B+_Zim_%>$L1BOs>TKeed7+sO&})jfV5VUgY=QQ{xoz1@?XE9K>DA)c z4NcB`h9_l8bB<>EEFaRtuje{dvt&`B5RZ9%L;&w4d83Q_VePvihY@vYep`9Sz$z*Ep^`~FJzKgKWg$wI87w;l<>QV z!zMglJiRswZZ$kqAR39Zl-;rGry{hquiC?GYnC(bC?h0#n2D-P!mfeKTRD`{GMu(!MNSYhd)ej%+!>o zWEbtwx%wh5H)0Pn)4}JljKc8{4MQ@d5&W$>i1R{ISmqM^&j+6JLq!~Y5O@n#YvQEF7aXh2M1F$!*x5sqeCZqf%M} z^OE#WiP_1Pm@9u^7UN`Op0yY!Gcsm;s9BCnJoZ06K(k45i5pz*Ae?$3`QXVrN}TVq z)4B0ZHs`=u(XT+J_P`Xk^|Fi_9>ZT1>xJw^l$fz+32k4AxNNZITHARj^kxRFceKn? zT0Tzh6f#z*d@APjTBg(Nm^((U2G>b&6+&;ZK*?avu$SN~i-hz9yIP^(1l}O;f0<`P zx{&xy=ge~}UHc2XqakaKZHt@2Tu(iA3zQs5L=%)89y%U__VEi1i_U~yJX$8a(?;#( zmTMS{B-b^BmZ|Ri53Rm$RXHIP>2afDf5M2&MU0)V%D0y0i0x9&_*B;VttUe$!f-l; zoe+RJ4=^iDjTaLqwhgpT_woavolJZj=3z+BT)ytGYpPYqo*F5swvX`S>%o+PsQ{-= z$1DF&0}@($2tRE@URRLfS~``*HxIH#VSB5v zro<`LVG2Wh(WOn8=1u}M(=d6y2MDkF7c~=7)BZ~_9kuj0L@%K3s89@YuFwxRd(c+t zyS%?}<2sGS09S(trNB|F4I;*YmSDp2{?roeJvVZoQ9p=M1@VrZ8msokpBxxIw`SY> z9>KDmPXX0npuK1p;{CMNsg@&iva{gz=z{Qz7F{DJctOIZ5=Vh?S&GnEHW}&Jz7ol+ zViMyu@%vCUup&FaP7mTYET&S}>6HKGzgzj_H^%ALB3ww1P9~%@*-5SQ`FWk1zxxk! zHaJ#aGK19T*~ZThnA%^fD^h-)jnUxx9VX@#(|e zo<5b|qT1uIskdG2QU6v65YN+q-LZENmI9O^CkX0oP`IIcLD4}_vyGWaZd6F%3AaGt z13+2w*9Rcb-AutVWg(3Ci??%0DpI^2Mv;hJ2k>_gfWOmH!cXglsF>+;m>oNbQNwIm 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 KDMYFUc>ELhfHW@v diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml index 82174b22..2ca199f7 100644 --- a/src/imports/FluentUI/Controls/FluTableView.qml +++ b/src/imports/FluentUI/Controls/FluTableView.qml @@ -11,6 +11,7 @@ Item { property int itemCount: 1000 property int pageCount: 10 property int itemHeight: 56 + property bool pageVisible: true signal requestPage(int page,int count) id:control @@ -59,6 +60,7 @@ Item { right: parent.right } contentWidth: layout_table.width + clip:true ScrollBar.horizontal: FluScrollBar { } Rectangle{ @@ -104,7 +106,7 @@ Item { height: 40 anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter - visible: index !== list_coumns.count-1 + visible: index !== model_coumns.count-1 } } } @@ -112,8 +114,9 @@ Item { } footer: Item{ - height: 50 - width: layout_table.width + height: pageVisible ? 50 : 0 + clip: true + width: layout_table.width FluPagination{ id:pagination height: 40 @@ -176,8 +179,6 @@ Item { } } } - - } diff --git a/src/imports/FluentUI/Controls/FluTreeView.qml b/src/imports/FluentUI/Controls/FluTreeView.qml index 45425665..906381b2 100644 --- a/src/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/imports/FluentUI/Controls/FluTreeView.qml @@ -141,6 +141,7 @@ Item { currentParentElement = item_layout.parent.itemModel } } + itemClicked(model) } if(selectionMode === FluTreeView.Multiple){ @@ -300,8 +301,8 @@ Item { return result } - function createItem(text="Title",expanded=true,items=[]){ - return {text:text,expanded:expanded,items:items,key:uniqueRandom(),multipSelected:false,multipIndex:0,multipParentKey:""}; + function createItem(text="",expanded=true,items=[],data={}){ + return {text:text,expanded:expanded,items:items,key:uniqueRandom(),multipSelected:false,multipIndex:0,multipParentKey:"",data:data}; } function uniqueRandom() { From a14e502abd4c22a57cf772d1f6a21f590e77be53 Mon Sep 17 00:00:00 2001 From: zhuzihcu Date: Tue, 9 May 2023 18:31:59 +0800 Subject: [PATCH 03/13] update --- .../FluentUI/Controls/FluCopyableText.qml | 79 +++++++++++++++++++ .../FluentUI/Controls/FluTableView.qml | 15 ++-- .../FluentUI/Controls/FluTextBoxMenu.qml | 6 ++ 3 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 src/imports/FluentUI/Controls/FluCopyableText.qml diff --git a/src/imports/FluentUI/Controls/FluCopyableText.qml b/src/imports/FluentUI/Controls/FluCopyableText.qml new file mode 100644 index 00000000..93d8b7e6 --- /dev/null +++ b/src/imports/FluentUI/Controls/FluCopyableText.qml @@ -0,0 +1,79 @@ +import QtQuick +import QtQuick.Controls +import FluentUI + +TextField { + + property int fontStyle: FluText.Body + property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220 + property int pixelSize : FluTheme.textSize + + id:control + color: textColor + readOnly: true + renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering + padding: 0 + leftPadding: 0 + rightPadding: 0 + topPadding: 0 + bottomPadding: 0 + selectionColor: FluTheme.primaryColor.lightest + TextMetrics { + id: text_metrics + font:control.font + text: control.text + } + background: Item{ + implicitWidth: text_metrics.width+10 + implicitHeight: text_metrics.height + } + font.bold: { + switch (fontStyle) { + case FluText.Display: + return true + case FluText.TitleLarge: + return true + case FluText.Title: + return true + case FluText.SubTitle: + return true + case FluText.BodyStrong: + return true + case FluText.Body: + return false + case FluText.Caption: + return false + default: + return false + } + } + font.pixelSize: { + switch (fontStyle) { + case FluText.Display: + return text.pixelSize * 4.857 + case FluText.TitleLarge: + return text.pixelSize * 2.857 + case FluText.Title: + return text.pixelSize * 2 + case FluText.SubTitle: + return text.pixelSize * 1.428 + case FluText.Body: + return text.pixelSize * 1.0 + case FluText.BodyStrong: + return text.pixelSize * 1.0 + case FluText.Caption: + return text.pixelSize * 0.857 + default: + return text.pixelSize * 1.0 + } + } + TapHandler { + acceptedButtons: Qt.RightButton + onTapped: control.echoMode !== TextInput.Password && menu.popup() + } + FluTextBoxMenu{ + id:menu + inputItem: control + } + +} diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml index 6b1a3e86..b6e21f61 100644 --- a/src/imports/FluentUI/Controls/FluTableView.qml +++ b/src/imports/FluentUI/Controls/FluTableView.qml @@ -195,15 +195,10 @@ Item { Component{ id:com_text Item{ - MouseArea{ - id:item_mouse - hoverEnabled: true - anchors.fill: parent - } - FluText{ + FluCopyableText{ id:table_value text:String(model.itemData) - width: parent.width - 14 + width: Math.min(parent.width - 14,implicitWidth) wrapMode: Text.WordWrap onImplicitHeightChanged: parent.parent.parent.height = Math.max(implicitHeight + 20,itemHeight) anchors{ @@ -211,6 +206,12 @@ Item { left: parent.left leftMargin: 14 } + MouseArea{ + id:item_mouse + hoverEnabled: true + anchors.fill: parent + acceptedButtons: Qt.NoButton + } FluTooltip{ visible: item_mouse.containsMouse text:parent.text diff --git a/src/imports/FluentUI/Controls/FluTextBoxMenu.qml b/src/imports/FluentUI/Controls/FluTextBoxMenu.qml index 4355547e..707f22e4 100644 --- a/src/imports/FluentUI/Controls/FluTextBoxMenu.qml +++ b/src/imports/FluentUI/Controls/FluTextBoxMenu.qml @@ -14,6 +14,12 @@ FluMenu{ focus:false enableAnimation:false + onVisibleChanged: { + if(visible){ + inputItem.forceActiveFocus() + } + } + Connections{ target: inputItem function onTextChanged() { From 88cae89f319612c5ce69229ce10476207bb4d95d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 9 May 2023 19:52:35 +0800 Subject: [PATCH 04/13] update --- example/qml/component/CodeExpander.qml | 3 +- example/qml/global/ItemsOriginal.qml | 22 +++++++----- example/qml/page/T_TableView.qml | 1 - example/qml/page/T_Text.qml | 36 +++++++++++++++++++ .../FluentUI/Controls/FluNavigationView.qml | 2 +- 5 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 example/qml/page/T_Text.qml diff --git a/example/qml/component/CodeExpander.qml b/example/qml/component/CodeExpander.qml index 50dfaa12..6d69d480 100644 --- a/example/qml/component/CodeExpander.qml +++ b/example/qml/component/CodeExpander.qml @@ -120,7 +120,8 @@ FluExpander{ "FluStatusView", "FluRatingControl", "FluPasswordBox", - "FluBreadcrumbBar" + "FluBreadcrumbBar", + "FluCopyableText" ]; code = code.replace(/\n/g, "
"); code = code.replace(/ /g, " "); diff --git a/example/qml/global/ItemsOriginal.qml b/example/qml/global/ItemsOriginal.qml index f5b52c23..499cc554 100644 --- a/example/qml/global/ItemsOriginal.qml +++ b/example/qml/global/ItemsOriginal.qml @@ -9,14 +9,14 @@ FluObject{ FluPaneItem{ title:lang.home - // icon:FluentIcons.Home - cusIcon: Image{ - anchors.centerIn: parent - source: FluTheme.dark ? "qrc:/example/res/svg/home_dark.svg" : "qrc:/example/res/svg/home.svg" - sourceSize: Qt.size(30,30) - width: 18 - height: 18 - } + icon:FluentIcons.Home + // cusIcon: Image{ + // anchors.centerIn: parent + // source: FluTheme.dark ? "qrc:/example/res/svg/home_dark.svg" : "qrc:/example/res/svg/home.svg" + // sourceSize: Qt.size(30,30) + // width: 18 + // height: 18 + // } onTap:{ navigationView.push("qrc:/example/qml/page/T_Home.qml") } @@ -34,6 +34,12 @@ FluObject{ navigationView.push("qrc:/example/qml/page/T_Buttons.qml") } } + FluPaneItem{ + title:"Text" + onTap:{ + navigationView.push("qrc:/example/qml/page/T_Text.qml") + } + } FluPaneItem{ title:"Slider" image:"qrc:/example/res/image/control/Slider.png" diff --git a/example/qml/page/T_TableView.qml b/example/qml/page/T_TableView.qml index 20b143ce..fa26c5da 100644 --- a/example/qml/page/T_TableView.qml +++ b/example/qml/page/T_TableView.qml @@ -71,7 +71,6 @@ FluScrollablePage{ leftPadding:6 rightPadding:6 onClicked:{ - console.debug(dataModel.index) showSuccess(JSON.stringify(dataObject)) } } diff --git a/example/qml/page/T_Text.qml b/example/qml/page/T_Text.qml new file mode 100644 index 00000000..51edce78 --- /dev/null +++ b/example/qml/page/T_Text.qml @@ -0,0 +1,36 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Window +import FluentUI +import "../component" + +FluScrollablePage{ + + title:"Text" + leftPadding:10 + rightPadding:10 + bottomPadding:20 + spacing: 0 + + FluArea{ + Layout.fillWidth: true + Layout.topMargin: 20 + height: 60 + paddings: 10 + + FluCopyableText{ + text: "这是一个可以支持复制的Text" + anchors.verticalCenter: parent.verticalCenter + } + + } + CodeExpander{ + Layout.fillWidth: true + Layout.topMargin: -1 + code:'FluCopyableText{ + text:"这是一个可以支持复制的Text" +}' + } + +} diff --git a/src/imports/FluentUI/Controls/FluNavigationView.qml b/src/imports/FluentUI/Controls/FluNavigationView.qml index f1f463d1..91f8e6d4 100644 --- a/src/imports/FluentUI/Controls/FluNavigationView.qml +++ b/src/imports/FluentUI/Controls/FluNavigationView.qml @@ -509,7 +509,7 @@ Item { onClicked: { d.enableNavigationPanel = !d.enableNavigationPanel } - visible: Layout.preferredWidth !== 0 + visible: d.isMinimal Behavior on Layout.preferredWidth{ NumberAnimation{ duration: 167 From cb85f10758e78a92669fcd90c619ca17ac26cd41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 9 May 2023 19:58:41 +0800 Subject: [PATCH 05/13] update --- example/qml/global/ItemsFooter.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/example/qml/global/ItemsFooter.qml b/example/qml/global/ItemsFooter.qml index 5f7991a6..a5b48efa 100644 --- a/example/qml/global/ItemsFooter.qml +++ b/example/qml/global/ItemsFooter.qml @@ -4,11 +4,13 @@ import QtQuick import FluentUI FluObject{ - id:footer_items property var navigationView + id:footer_items + FluPaneItemSeparator{} + FluPaneItem{ title:lang.about icon:FluentIcons.Contact @@ -16,6 +18,7 @@ FluObject{ FluApp.navigate("/about") } } + FluPaneItem{ title:lang.settings icon:FluentIcons.Settings @@ -23,4 +26,5 @@ FluObject{ navigationView.push("qrc:/example/qml/page/T_Settings.qml") } } + } From 747d18364b791807930ab9812fb22558e726492b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 9 May 2023 20:30:52 +0800 Subject: [PATCH 06/13] update --- src/FluColorSet.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/FluColorSet.h b/src/FluColorSet.h index bb1edbce..08cb3dfd 100644 --- a/src/FluColorSet.h +++ b/src/FluColorSet.h @@ -19,7 +19,6 @@ class FluColorSet : public QObject Q_PROPERTY_AUTO(QString,lightest) public: explicit FluColorSet(QObject *parent = nullptr); - }; #endif // FLUCOLORSET_H From e4accb806438203f81f9b3492bd46bac05167b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 9 May 2023 22:35:55 +0800 Subject: [PATCH 07/13] update --- src/FluApp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/FluApp.cpp b/src/FluApp.cpp index 35568731..44c7b103 100644 --- a/src/FluApp.cpp +++ b/src/FluApp.cpp @@ -98,6 +98,7 @@ void FluApp::navigate(const QString& route,const QJsonObject& argument,FluRegist QString r = pair->property("route").toString(); if(r == route){ pair->setProperty("argument",argument); + pair->show(); pair->raise(); pair->requestActivate(); view->deleteLater(); From 9c843a71576ff08e173147183b1e015ed05c0224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Wed, 10 May 2023 00:27:53 +0800 Subject: [PATCH 08/13] update --- example/qml/page/T_Home.qml | 12 ++--- example/qml/page/T_Rectangle.qml | 2 +- example/qml/page/T_Settings.qml | 6 +-- example/qml/page/T_Typography.qml | 34 ++++++------ example/qml/window/AboutWindow.qml | 4 +- src/FluTextStyle.cpp | 38 +++++++++++++ src/FluTextStyle.h | 27 ++++++++++ src/FluTheme.cpp | 1 - src/FluTheme.h | 5 -- src/imports/FluentUI/Controls/FluAppBar.qml | 3 -- src/imports/FluentUI/Controls/FluButton.qml | 2 + .../FluentUI/Controls/FluContentDialog.qml | 4 +- .../FluentUI/Controls/FluContentPage.qml | 2 +- .../FluentUI/Controls/FluCopyableText.qml | 43 +-------------- .../FluentUI/Controls/FluFilledButton.qml | 2 + .../FluentUI/Controls/FluMultilineTextBox.qml | 43 +-------------- .../FluentUI/Controls/FluNavigationView.qml | 4 +- .../FluentUI/Controls/FluPasswordBox.qml | 43 +-------------- src/imports/FluentUI/Controls/FluPivot.qml | 3 +- .../FluentUI/Controls/FluRadioButton.qml | 2 + .../FluentUI/Controls/FluScrollablePage.qml | 2 +- .../FluentUI/Controls/FluStatusView.qml | 4 +- .../FluentUI/Controls/FluTableView.qml | 2 +- src/imports/FluentUI/Controls/FluText.qml | 53 +------------------ src/imports/FluentUI/Controls/FluTextBox.qml | 43 +-------------- src/imports/FluentUI/Controls/FluTooltip.qml | 5 +- 26 files changed, 119 insertions(+), 270 deletions(-) create mode 100644 src/FluTextStyle.cpp create mode 100644 src/FluTextStyle.h diff --git a/example/qml/page/T_Home.qml b/example/qml/page/T_Home.qml index 66a416e4..f7423d08 100644 --- a/example/qml/page/T_Home.qml +++ b/example/qml/page/T_Home.qml @@ -41,7 +41,7 @@ FluScrollablePage{ } FluText{ text:"FluentUI Gallery" - fontStyle: FluText.TitleLarge + font: FluTextStyle.TitleLarge anchors{ top: parent.top left: parent.left @@ -101,7 +101,7 @@ FluScrollablePage{ } FluText{ text: model.title - fontStyle: FluText.Body + font: FluTextStyle.Body Layout.topMargin: 20 Layout.leftMargin: 20 } @@ -184,7 +184,7 @@ FluScrollablePage{ FluText{ id:item_title text:modelData.title - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong anchors{ left: item_icon.right leftMargin: 20 @@ -198,7 +198,7 @@ FluScrollablePage{ color:FluColors.Grey120 wrapMode: Text.WrapAnywhere elide: Text.ElideRight - fontStyle: FluText.Caption + font: FluTextStyle.Caption maximumLineCount: 2 anchors{ left: item_title.left @@ -236,7 +236,7 @@ FluScrollablePage{ FluText{ text: "Recently added samples" - fontStyle: FluText.Title + font: FluTextStyle.Title Layout.topMargin: 20 Layout.leftMargin: 20 } @@ -253,7 +253,7 @@ FluScrollablePage{ FluText{ text: "Recently updated samples" - fontStyle: FluText.Title + font: FluTextStyle.Title Layout.topMargin: 20 Layout.leftMargin: 20 } diff --git a/example/qml/page/T_Rectangle.qml b/example/qml/page/T_Rectangle.qml index 6592e053..a38611ab 100644 --- a/example/qml/page/T_Rectangle.qml +++ b/example/qml/page/T_Rectangle.qml @@ -67,7 +67,7 @@ FluScrollablePage{ } FluText{ text:"配合图片使用" - fontStyle: FluText.SubTitle + font: FluTextStyle.SubTitle Layout.topMargin: 20 } RowLayout{ diff --git a/example/qml/page/T_Settings.qml b/example/qml/page/T_Settings.qml index c6ef662c..dd25c01e 100644 --- a/example/qml/page/T_Settings.qml +++ b/example/qml/page/T_Settings.qml @@ -28,7 +28,7 @@ FluScrollablePage{ } FluText{ text:lang.dark_mode - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong Layout.bottomMargin: 4 } Repeater{ @@ -62,7 +62,7 @@ FluScrollablePage{ FluText{ text:lang.navigation_view_display_mode - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong Layout.bottomMargin: 4 } Repeater{ @@ -93,7 +93,7 @@ FluScrollablePage{ FluText{ text:lang.locale - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong Layout.bottomMargin: 4 } diff --git a/example/qml/page/T_Typography.qml b/example/qml/page/T_Typography.qml index e2beb6d6..ce1d2db4 100644 --- a/example/qml/page/T_Typography.qml +++ b/example/qml/page/T_Typography.qml @@ -6,7 +6,7 @@ import FluentUI FluContentPage { title: "Typography" - property int textSize: FluTheme.textSize + property real textScale: 1 leftPadding:10 rightPadding:10 bottomPadding:20 @@ -26,47 +26,49 @@ FluContentPage { paddings: 10 ColumnLayout{ spacing: 0 + scale: textScale + transformOrigin: Item.TopLeft FluText{ + id:text_Display text:"Display" padding: 0 - pixelSize: textSize - fontStyle: FluText.Display + font: FluTextStyle.Display } FluText{ + id:text_TitleLarge text:"Title Large" padding: 0 - pixelSize: textSize - fontStyle: FluText.TitleLarge + font: FluTextStyle.TitleLarge } FluText{ + id:text_Title text:"Title" padding: 0 - pixelSize: textSize - fontStyle: FluText.Title + font: FluTextStyle.Title } FluText{ + id:text_Subtitle text:"Subtitle" padding: 0 - pixelSize: textSize - fontStyle: FluText.SubTitle + font: FluTextStyle.Subtitle } FluText{ + id:text_BodyStrong text:"Body Strong" padding: 0 - pixelSize: textSize - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong } FluText{ + id:text_Body text:"Body" padding: 0 - pixelSize: textSize - fontStyle: FluText.Body + font: FluTextStyle.Body } FluText{ + id:text_Caption text:"Caption" padding: 0 - pixelSize: textSize - fontStyle: FluText.Caption + font: FluTextStyle.Caption } } @@ -80,7 +82,7 @@ FluContentPage { topMargin: 30 } onValueChanged:{ - textSize = value/100*6+FluTheme.textSize + textScale = 1+value/100 } } } diff --git a/example/qml/window/AboutWindow.qml b/example/qml/window/AboutWindow.qml index 878ec06a..a0bebbe7 100644 --- a/example/qml/window/AboutWindow.qml +++ b/example/qml/window/AboutWindow.qml @@ -34,11 +34,11 @@ FluWindow { spacing: 14 FluText{ text:"FluentUI" - fontStyle: FluText.Title + font: FluTextStyle.Title } FluText{ text:"v%1".arg(appInfo.version) - fontStyle: FluText.Body + font: FluTextStyle.Body Layout.alignment: Qt.AlignBottom } } diff --git a/src/FluTextStyle.cpp b/src/FluTextStyle.cpp new file mode 100644 index 00000000..5d2aeb1a --- /dev/null +++ b/src/FluTextStyle.cpp @@ -0,0 +1,38 @@ +#include "FluTextStyle.h" + +FluTextStyle::FluTextStyle(QObject *parent) + : QObject{parent} +{ + QFont caption; + caption.setPixelSize(12); + Caption(caption); + + QFont body; + body.setPixelSize(14); + Body(body); + + QFont bodyStrong; + bodyStrong.setPixelSize(14); + bodyStrong.setBold(true); + BodyStrong(bodyStrong); + + QFont subtitle; + subtitle.setPixelSize(20); + subtitle.setBold(true); + Subtitle(subtitle); + + QFont title; + title.setPixelSize(28); + title.setBold(true); + Title(title); + + QFont titleLarge; + titleLarge.setPixelSize(40); + titleLarge.setBold(true); + TitleLarge(titleLarge); + + QFont display; + display.setPixelSize(68); + display.setBold(true); + Display(display); +} diff --git a/src/FluTextStyle.h b/src/FluTextStyle.h new file mode 100644 index 00000000..07f4458f --- /dev/null +++ b/src/FluTextStyle.h @@ -0,0 +1,27 @@ +#ifndef FLUTEXTSTYLE_H +#define FLUTEXTSTYLE_H + +#include +#include +#include +#include "stdafx.h" + +class FluTextStyle : public QObject +{ + Q_OBJECT +public: + explicit FluTextStyle(QObject *parent = nullptr); + Q_PROPERTY_AUTO(QFont,Caption); + Q_PROPERTY_AUTO(QFont,Body); + Q_PROPERTY_AUTO(QFont,BodyStrong); + Q_PROPERTY_AUTO(QFont,Subtitle); + Q_PROPERTY_AUTO(QFont,Title); + Q_PROPERTY_AUTO(QFont,TitleLarge); + Q_PROPERTY_AUTO(QFont,Display); + QML_NAMED_ELEMENT(FluTextStyle) + QML_SINGLETON +signals: + +}; + +#endif // FLUTEXTSTYLE_H diff --git a/src/FluTheme.cpp b/src/FluTheme.cpp index 13497b88..b5459d0d 100644 --- a/src/FluTheme.cpp +++ b/src/FluTheme.cpp @@ -12,7 +12,6 @@ FluTheme::FluTheme(QObject *parent) Q_EMIT darkChanged(); }); primaryColor(FluApp::fluColors->Blue()); - textSize(13); nativeText(false); frameless(true); darkMode(Fluent_DarkMode::Fluent_DarkModeType::Light); diff --git a/src/FluTheme.h b/src/FluTheme.h index 78e03fe8..1cd388b6 100644 --- a/src/FluTheme.h +++ b/src/FluTheme.h @@ -37,11 +37,6 @@ class FluTheme : public QObject */ Q_PROPERTY_AUTO(bool,nativeText); - /** - * @brief textSize 文字大小 - */ - Q_PROPERTY_AUTO(int,textSize); - QML_NAMED_ELEMENT(FluTheme) QML_SINGLETON public: diff --git a/src/imports/FluentUI/Controls/FluAppBar.qml b/src/imports/FluentUI/Controls/FluAppBar.qml index 9fd26fb6..d5184a8a 100644 --- a/src/imports/FluentUI/Controls/FluAppBar.qml +++ b/src/imports/FluentUI/Controls/FluAppBar.qml @@ -55,9 +55,6 @@ Rectangle{ leftMargin: 10 } color:root.textColor - fontStyle: FluText.Title - font.pixelSize: 14 - font.bold: true } RowLayout{ diff --git a/src/imports/FluentUI/Controls/FluButton.qml b/src/imports/FluentUI/Controls/FluButton.qml index a15fcf1f..7d172955 100644 --- a/src/imports/FluentUI/Controls/FluButton.qml +++ b/src/imports/FluentUI/Controls/FluButton.qml @@ -18,6 +18,7 @@ Button { enabled: !disabled focusPolicy:Qt.TabFocus Keys.onSpacePressed: control.visualFocus&&clicked() + font:FluTextStyle.Body background: Rectangle{ border.color: FluTheme.dark ? "#505050" : "#DFDFDF" @@ -38,6 +39,7 @@ Button { text: control.text horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter + font: control.font color: { if(FluTheme.dark){ if(disabled){ diff --git a/src/imports/FluentUI/Controls/FluContentDialog.qml b/src/imports/FluentUI/Controls/FluContentDialog.qml index 0f8955a0..6e69ae8d 100644 --- a/src/imports/FluentUI/Controls/FluContentDialog.qml +++ b/src/imports/FluentUI/Controls/FluContentDialog.qml @@ -65,7 +65,7 @@ Popup { FluText{ id:text_title - fontStyle: FluText.TitleLarge + font: FluTextStyle.TitleLarge text:title topPadding: 20 leftPadding: 20 @@ -80,7 +80,7 @@ Popup { FluText{ id:text_message - fontStyle: FluText.Body + font: FluTextStyle.Body wrapMode: Text.WrapAnywhere text:message topPadding: 14 diff --git a/src/imports/FluentUI/Controls/FluContentPage.qml b/src/imports/FluentUI/Controls/FluContentPage.qml index 691c037d..4f3ac993 100644 --- a/src/imports/FluentUI/Controls/FluContentPage.qml +++ b/src/imports/FluentUI/Controls/FluContentPage.qml @@ -17,7 +17,7 @@ Item { FluText{ id:text_title - fontStyle: FluText.TitleLarge + font: FluTextStyle.TitleLarge anchors{ top: parent.top topMargin: control.topPadding diff --git a/src/imports/FluentUI/Controls/FluCopyableText.qml b/src/imports/FluentUI/Controls/FluCopyableText.qml index 93d8b7e6..677dfe04 100644 --- a/src/imports/FluentUI/Controls/FluCopyableText.qml +++ b/src/imports/FluentUI/Controls/FluCopyableText.qml @@ -4,9 +4,7 @@ import FluentUI TextField { - property int fontStyle: FluText.Body property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220 - property int pixelSize : FluTheme.textSize id:control color: textColor @@ -27,46 +25,7 @@ TextField { implicitWidth: text_metrics.width+10 implicitHeight: text_metrics.height } - font.bold: { - switch (fontStyle) { - case FluText.Display: - return true - case FluText.TitleLarge: - return true - case FluText.Title: - return true - case FluText.SubTitle: - return true - case FluText.BodyStrong: - return true - case FluText.Body: - return false - case FluText.Caption: - return false - default: - return false - } - } - font.pixelSize: { - switch (fontStyle) { - case FluText.Display: - return text.pixelSize * 4.857 - case FluText.TitleLarge: - return text.pixelSize * 2.857 - case FluText.Title: - return text.pixelSize * 2 - case FluText.SubTitle: - return text.pixelSize * 1.428 - case FluText.Body: - return text.pixelSize * 1.0 - case FluText.BodyStrong: - return text.pixelSize * 1.0 - case FluText.Caption: - return text.pixelSize * 0.857 - default: - return text.pixelSize * 1.0 - } - } + font:FluTextStyle.Body TapHandler { acceptedButtons: Qt.RightButton onTapped: control.echoMode !== TextInput.Password && menu.popup() diff --git a/src/imports/FluentUI/Controls/FluFilledButton.qml b/src/imports/FluentUI/Controls/FluFilledButton.qml index b20b0d21..0bb953b3 100644 --- a/src/imports/FluentUI/Controls/FluFilledButton.qml +++ b/src/imports/FluentUI/Controls/FluFilledButton.qml @@ -19,6 +19,7 @@ Button { rightPadding:15 Keys.onSpacePressed: control.visualFocus&&clicked() focusPolicy:Qt.TabFocus + font:FluTextStyle.Body background: Rectangle{ radius: 4 FluFocusRectangle{ @@ -37,6 +38,7 @@ Button { } contentItem: FluText { text: control.text + font: control.font horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter color: { diff --git a/src/imports/FluentUI/Controls/FluMultilineTextBox.qml b/src/imports/FluentUI/Controls/FluMultilineTextBox.qml index 504c42c0..d551834f 100644 --- a/src/imports/FluentUI/Controls/FluMultilineTextBox.qml +++ b/src/imports/FluentUI/Controls/FluMultilineTextBox.qml @@ -5,8 +5,6 @@ import FluentUI TextArea{ - property int fontStyle: FluText.Body - property int pixelSize : FluTheme.textSize property bool disabled: false property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1) property color disableColor: FluTheme.dark ? Qt.rgba(131/255,131/255,131/255,1) : Qt.rgba(160/255,160/255,160/255,1) @@ -23,6 +21,7 @@ TextArea{ } return normalColor } + font:FluTextStyle.Body wrapMode: Text.WrapAnywhere renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering selectionColor: FluTheme.primaryColor.lightest @@ -35,46 +34,6 @@ TextArea{ } return placeholderNormalColor } - font.bold: { - switch (fontStyle) { - case FluText.Display: - return true - case FluText.TitleLarge: - return true - case FluText.Title: - return true - case FluText.SubTitle: - return true - case FluText.BodyStrong: - return true - case FluText.Body: - return false - case FluText.Caption: - return false - default: - return false - } - } - font.pixelSize: { - switch (fontStyle) { - case FluText.Display: - return text.pixelSize * 4.857 - case FluText.TitleLarge: - return text.pixelSize * 2.857 - case FluText.Title: - return text.pixelSize * 2 - case FluText.SubTitle: - return text.pixelSize * 1.428 - case FluText.Body: - return text.pixelSize * 1.0 - case FluText.BodyStrong: - return text.pixelSize * 1.0 - case FluText.Caption: - return text.pixelSize * 0.857 - default: - return text.pixelSize * 1.0 - } - } selectByMouse: true background: FluTextBoxBackground{ inputItem: control } TapHandler { diff --git a/src/imports/FluentUI/Controls/FluNavigationView.qml b/src/imports/FluentUI/Controls/FluNavigationView.qml index 91f8e6d4..21ab7264 100644 --- a/src/imports/FluentUI/Controls/FluNavigationView.qml +++ b/src/imports/FluentUI/Controls/FluNavigationView.qml @@ -148,7 +148,7 @@ Item { width: layout_list.width FluText{ text:model.title - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong anchors{ bottom: parent.bottom left:parent.left @@ -535,7 +535,7 @@ Item { Layout.alignment: Qt.AlignVCenter text:control.title Layout.leftMargin: 12 - fontStyle: FluText.Body + font: FluTextStyle.Body } } } diff --git a/src/imports/FluentUI/Controls/FluPasswordBox.qml b/src/imports/FluentUI/Controls/FluPasswordBox.qml index 7e5cacec..ab0335ea 100644 --- a/src/imports/FluentUI/Controls/FluPasswordBox.qml +++ b/src/imports/FluentUI/Controls/FluPasswordBox.qml @@ -5,8 +5,6 @@ import FluentUI TextField{ - property int fontStyle: FluText.Body - property int pixelSize : FluTheme.textSize property bool disabled: false property int iconSource: 0 property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1) @@ -24,6 +22,7 @@ TextField{ } return normalColor } + font:FluTextStyle.Body echoMode:btn_reveal.pressed ? TextField.Normal : TextField.Password renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering selectionColor: FluTheme.primaryColor.lightest @@ -36,46 +35,6 @@ TextField{ } return placeholderNormalColor } - font.bold: { - switch (fontStyle) { - case FluText.Display: - return true - case FluText.TitleLarge: - return true - case FluText.Title: - return true - case FluText.SubTitle: - return true - case FluText.BodyStrong: - return true - case FluText.Body: - return false - case FluText.Caption: - return false - default: - return false - } - } - font.pixelSize: { - switch (fontStyle) { - case FluText.Display: - return text.pixelSize * 4.857 - case FluText.TitleLarge: - return text.pixelSize * 2.857 - case FluText.Title: - return text.pixelSize * 2 - case FluText.SubTitle: - return text.pixelSize * 1.428 - case FluText.Body: - return text.pixelSize * 1.0 - case FluText.BodyStrong: - return text.pixelSize * 1.0 - case FluText.Caption: - return text.pixelSize * 0.857 - default: - return text.pixelSize * 1.0 - } - } selectByMouse: true rightPadding: icon_end.visible ? 50 : 30 background: FluTextBoxBackground{ diff --git a/src/imports/FluentUI/Controls/FluPivot.qml b/src/imports/FluentUI/Controls/FluPivot.qml index d18958ed..4a929533 100644 --- a/src/imports/FluentUI/Controls/FluPivot.qml +++ b/src/imports/FluentUI/Controls/FluPivot.qml @@ -57,8 +57,7 @@ Item { contentItem: Item{ FluText { id:item_title - fontStyle: FluText.Title - font.bold: false + font: FluTextStyle.Title text: modelData.title anchors.centerIn: parent color: { diff --git a/src/imports/FluentUI/Controls/FluRadioButton.qml b/src/imports/FluentUI/Controls/FluRadioButton.qml index 3751ba26..7979cd09 100644 --- a/src/imports/FluentUI/Controls/FluRadioButton.qml +++ b/src/imports/FluentUI/Controls/FluRadioButton.qml @@ -18,6 +18,7 @@ Button { visible: control.visualFocus } } + font:FluTextStyle.Body Keys.onSpacePressed: control.visualFocus&&clicked() contentItem: RowLayout{ Rectangle{ @@ -97,6 +98,7 @@ Button { FluText{ text: control.text Layout.alignment: Qt.AlignVCenter + font: control.font } } } diff --git a/src/imports/FluentUI/Controls/FluScrollablePage.qml b/src/imports/FluentUI/Controls/FluScrollablePage.qml index f4c3fa2c..22bb114d 100644 --- a/src/imports/FluentUI/Controls/FluScrollablePage.qml +++ b/src/imports/FluentUI/Controls/FluScrollablePage.qml @@ -18,7 +18,7 @@ Item { FluText{ id:text_title - fontStyle: FluText.TitleLarge + font: FluTextStyle.TitleLarge visible: text !== "" height: visible?implicitHeight:0 anchors{ diff --git a/src/imports/FluentUI/Controls/FluStatusView.qml b/src/imports/FluentUI/Controls/FluStatusView.qml index 04008030..f56c703f 100644 --- a/src/imports/FluentUI/Controls/FluStatusView.qml +++ b/src/imports/FluentUI/Controls/FluStatusView.qml @@ -58,7 +58,7 @@ Item{ visible: statusMode === FluStatusView.Empty FluText{ text:"空空如也" - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong Layout.alignment: Qt.AlignHCenter } } @@ -77,7 +77,7 @@ Item{ anchors.centerIn: parent FluText{ text:"页面出错了..." - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong Layout.alignment: Qt.AlignHCenter } FluFilledButton{ diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml index b6e21f61..f1ab7f98 100644 --- a/src/imports/FluentUI/Controls/FluTableView.qml +++ b/src/imports/FluentUI/Controls/FluTableView.qml @@ -99,7 +99,7 @@ Item { left: parent.left leftMargin: 14 } - fontStyle: FluText.BodyStrong + font: FluTextStyle.BodyStrong } FluDivider{ width: 1 diff --git a/src/imports/FluentUI/Controls/FluText.qml b/src/imports/FluentUI/Controls/FluText.qml index 7cb2a28e..f85aa904 100644 --- a/src/imports/FluentUI/Controls/FluText.qml +++ b/src/imports/FluentUI/Controls/FluText.qml @@ -4,62 +4,11 @@ import FluentUI Text { - enum FontStyle { - Display, - TitleLarge, - Title, - SubTitle, - BodyStrong, - Body, - Caption - } - - property int fontStyle: FluText.Body property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220 - property int pixelSize : FluTheme.textSize id:text color: textColor renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering - font.bold: { - switch (fontStyle) { - case FluText.Display: - return true - case FluText.TitleLarge: - return true - case FluText.Title: - return true - case FluText.SubTitle: - return true - case FluText.BodyStrong: - return true - case FluText.Body: - return false - case FluText.Caption: - return false - default: - return false - } - } - font.pixelSize: { - switch (fontStyle) { - case FluText.Display: - return text.pixelSize * 4.857 - case FluText.TitleLarge: - return text.pixelSize * 2.857 - case FluText.Title: - return text.pixelSize * 2 - case FluText.SubTitle: - return text.pixelSize * 1.428 - case FluText.Body: - return text.pixelSize * 1.0 - case FluText.BodyStrong: - return text.pixelSize * 1.0 - case FluText.Caption: - return text.pixelSize * 0.857 - default: - return text.pixelSize * 1.0 - } - } + font: FluTextStyle.Body } diff --git a/src/imports/FluentUI/Controls/FluTextBox.qml b/src/imports/FluentUI/Controls/FluTextBox.qml index 859500ba..d049d0f2 100644 --- a/src/imports/FluentUI/Controls/FluTextBox.qml +++ b/src/imports/FluentUI/Controls/FluTextBox.qml @@ -5,8 +5,6 @@ import FluentUI TextField{ - property int fontStyle: FluText.Body - property int pixelSize : FluTheme.textSize property bool disabled: false property int iconSource: 0 property color normalColor: FluTheme.dark ? Qt.rgba(255/255,255/255,255/255,1) : Qt.rgba(27/255,27/255,27/255,1) @@ -24,6 +22,7 @@ TextField{ } return normalColor } + font:FluTextStyle.Body renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering selectionColor: FluTheme.primaryColor.lightest placeholderTextColor: { @@ -35,46 +34,6 @@ TextField{ } return placeholderNormalColor } - font.bold: { - switch (fontStyle) { - case FluText.Display: - return true - case FluText.TitleLarge: - return true - case FluText.Title: - return true - case FluText.SubTitle: - return true - case FluText.BodyStrong: - return true - case FluText.Body: - return false - case FluText.Caption: - return false - default: - return false - } - } - font.pixelSize: { - switch (fontStyle) { - case FluText.Display: - return text.pixelSize * 4.857 - case FluText.TitleLarge: - return text.pixelSize * 2.857 - case FluText.Title: - return text.pixelSize * 2 - case FluText.SubTitle: - return text.pixelSize * 1.428 - case FluText.Body: - return text.pixelSize * 1.0 - case FluText.BodyStrong: - return text.pixelSize * 1.0 - case FluText.Caption: - return text.pixelSize * 0.857 - default: - return text.pixelSize * 1.0 - } - } selectByMouse: true rightPadding: icon_end.visible ? 50 : 30 background: FluTextBoxBackground{ diff --git a/src/imports/FluentUI/Controls/FluTooltip.qml b/src/imports/FluentUI/Controls/FluTooltip.qml index 5d189fdc..e128057a 100644 --- a/src/imports/FluentUI/Controls/FluTooltip.qml +++ b/src/imports/FluentUI/Controls/FluTooltip.qml @@ -6,10 +6,11 @@ ToolTip { id:tool_tip +// property var font: FluTextStyle.Body + contentItem: FluText { text: tool_tip.text - font: tool_tip.font - fontStyle: FluText.Body +// font: tool_tip.font padding: 4 wrapMode: Text.WrapAnywhere } From 7d5fcc6e47a20152b3cdc7e520145dddce96038c Mon Sep 17 00:00:00 2001 From: zhuzihcu Date: Wed, 10 May 2023 10:32:37 +0800 Subject: [PATCH 09/13] update --- example/qml/window/AboutWindow.qml | 6 +++ example/qml/window/MainWindow.qml | 1 + src/FluApp.cpp | 41 +++++++++---------- .../FluentUI/Controls/FluTableView.qml | 1 + 4 files changed, 28 insertions(+), 21 deletions(-) diff --git a/example/qml/window/AboutWindow.qml b/example/qml/window/AboutWindow.qml index a0bebbe7..559aef58 100644 --- a/example/qml/window/AboutWindow.qml +++ b/example/qml/window/AboutWindow.qml @@ -35,6 +35,12 @@ FluWindow { FluText{ text:"FluentUI" font: FluTextStyle.Title + MouseArea{ + anchors.fill: parent + onClicked: { + FluApp.navigate("/") + } + } } FluText{ text:"v%1".arg(appInfo.version) diff --git a/example/qml/window/MainWindow.qml b/example/qml/window/MainWindow.qml index 48eff350..4b0e6a9a 100644 --- a/example/qml/window/MainWindow.qml +++ b/example/qml/window/MainWindow.qml @@ -15,6 +15,7 @@ FluWindow { closeDestory:false minimumWidth: 520 minimumHeight: 460 + launchMode: FluWindow.SingleTask closeFunc:function(event){ close_app.open() diff --git a/src/FluApp.cpp b/src/FluApp.cpp index 44c7b103..c443e6dd 100644 --- a/src/FluApp.cpp +++ b/src/FluApp.cpp @@ -91,29 +91,28 @@ void FluApp::navigate(const QString& route,const QJsonObject& argument,FluRegist properties.insert("pageRegister",QVariant::fromValue(fluRegister)); } properties.insert("argument",argument); - QQuickWindow *view = qobject_cast(component.createWithInitialProperties(properties)); - int launchMode = view->property("launchMode").toInt(); - if(launchMode==1){ - for (auto& pair : wnds) { - QString r = pair->property("route").toString(); - if(r == route){ - pair->setProperty("argument",argument); - pair->show(); - pair->raise(); - pair->requestActivate(); - view->deleteLater(); - return; - } - } - }else if(launchMode==2){ - for (auto& pair : wnds) { - QString r = pair->property("route").toString(); - if(r == route){ - pair->close(); - break; - } + QQuickWindow *view=nullptr; + for (auto& pair : wnds) { + QString r = pair->property("route").toString(); + if(r == route){ + view = pair; + break; } } + if(view){ + //如果窗口存在,则判断启动模式 + int launchMode = view->property("launchMode").toInt(); + if(launchMode == 1){ + view->setProperty("argument",argument); + view->show(); + view->raise(); + view->requestActivate(); + return; + }else if(launchMode == 2){ + view->close(); + } + } + view = qobject_cast(component.createWithInitialProperties(properties)); if(fluTheme->frameless()){ view->setFlag(Qt::FramelessWindowHint,true); } diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml index f1ab7f98..965d67d8 100644 --- a/src/imports/FluentUI/Controls/FluTableView.qml +++ b/src/imports/FluentUI/Controls/FluTableView.qml @@ -210,6 +210,7 @@ Item { id:item_mouse hoverEnabled: true anchors.fill: parent + cursorShape: Qt.IBeamCursor acceptedButtons: Qt.NoButton } FluTooltip{ From dd16b4703d288eb2e6d2606ad69160bd4b64ace4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Wed, 10 May 2023 20:09:32 +0800 Subject: [PATCH 10/13] update --- example/qml/page/T_Rectangle.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/qml/page/T_Rectangle.qml b/example/qml/page/T_Rectangle.qml index a38611ab..232e041e 100644 --- a/example/qml/page/T_Rectangle.qml +++ b/example/qml/page/T_Rectangle.qml @@ -67,7 +67,7 @@ FluScrollablePage{ } FluText{ text:"配合图片使用" - font: FluTextStyle.SubTitle + font: FluTextStyle.Subtitle Layout.topMargin: 20 } RowLayout{ From f8146f24ea9d7771d3d1be6b64037bdfbe3e1872 Mon Sep 17 00:00:00 2001 From: zhuzihcu Date: Thu, 11 May 2023 18:24:58 +0800 Subject: [PATCH 11/13] update --- example/qml/App.qml | 2 - example/qml/page/T_Awesome.qml | 4 - example/qml/page/T_Badge.qml | 5 - example/qml/page/T_BreadcrumbBar.qml | 4 - example/qml/page/T_Buttons.qml | 6 +- example/qml/page/T_CalendarPicker.qml | 4 - example/qml/page/T_Carousel.qml | 4 - example/qml/page/T_CheckBox.qml | 4 - example/qml/page/T_ColorPicker.qml | 4 - example/qml/page/T_DatePicker.qml | 4 - example/qml/page/T_Dialog.qml | 4 - example/qml/page/T_Expander.qml | 4 - example/qml/page/T_FlipView.qml | 4 - example/qml/page/T_Home.qml | 5 - example/qml/page/T_InfoBar.qml | 4 - example/qml/page/T_MediaPlayer.qml | 4 - example/qml/page/T_Menu.qml | 4 - example/qml/page/T_MultiWindow.qml | 4 - example/qml/page/T_Pivot.qml | 4 - example/qml/page/T_Progress.qml | 4 - example/qml/page/T_RatingControl.qml | 4 - example/qml/page/T_Rectangle.qml | 4 - example/qml/page/T_Settings.qml | 4 - example/qml/page/T_Slider.qml | 4 - example/qml/page/T_StatusView.qml | 4 - example/qml/page/T_TabView.qml | 8 +- example/qml/page/T_TableView.qml | 4 - example/qml/page/T_Text.qml | 4 - example/qml/page/T_TextBox.qml | 4 - example/qml/page/T_Theme.qml | 4 - example/qml/page/T_TimePicker.qml | 4 - example/qml/page/T_ToggleSwitch.qml | 4 - example/qml/page/T_Tooltip.qml | 4 - example/qml/page/T_TreeView.qml | 4 - example/qml/page/T_Typography.qml | 6 +- example/qml/window/AboutWindow.qml | 4 +- example/qml/window/ChatWindow.qml | 261 ------------------ example/qml/window/MainWindow.qml | 25 +- example/qml/window/main.qml | 14 + example/src/controller/ChatController.cpp | 56 ---- example/src/controller/ChatController.h | 35 --- example/src/main.cpp | 9 +- src/CMakeLists.txt | 13 +- src/Def.h | 18 +- src/FluApp.cpp | 59 +--- src/FluApp.h | 65 +---- src/FluColors.cpp | 10 + src/FluColors.h | 9 +- src/FluRegister.cpp | 2 +- src/FluTheme.cpp | 13 +- src/FluTheme.h | 14 +- src/FluTools.cpp | 11 + src/FluTools.h | 11 +- src/NativeEventFilter.cpp | 81 ------ src/NativeEventFilter.h | 17 -- src/WindowHelper.cpp | 32 +-- src/WindowHelper.h | 9 +- src/imports/FluentUI/Controls/FluAppBar.qml | 2 +- .../FluentUI/Controls/FluNavigationView.qml | 37 ++- .../FluentUI/Controls/FluScrollablePage.qml | 13 +- .../FluentUI/Controls/FluSingleton.qml | 16 -- .../FluentUI/Controls/FluTableView.qml | 13 +- src/imports/FluentUI/Controls/FluWindow.qml | 26 +- .../FluentUI/designer/fluentui.metainfo | 17 ++ .../designer/images/busyindicator-icon.png | Bin 0 -> 320 bytes .../designer/images/busyindicator-icon16.png | Bin 0 -> 229 bytes .../designer/images/busyindicator-icon@2x.png | Bin 0 -> 643 bytes .../FluentUI/designer/images/button-icon.png | Bin 0 -> 162 bytes .../designer/images/button-icon16.png | Bin 0 -> 145 bytes .../designer/images/button-icon@2x.png | Bin 0 -> 259 bytes .../designer/images/checkbox-icon.png | Bin 0 -> 258 bytes .../designer/images/checkbox-icon16.png | Bin 0 -> 230 bytes .../designer/images/checkbox-icon@2x.png | Bin 0 -> 336 bytes .../designer/images/combobox-icon.png | Bin 0 -> 156 bytes .../designer/images/combobox-icon16.png | Bin 0 -> 155 bytes .../designer/images/combobox-icon@2x.png | Bin 0 -> 185 bytes .../FluentUI/designer/images/control-icon.png | Bin 0 -> 293 bytes .../designer/images/control-icon16.png | Bin 0 -> 229 bytes .../designer/images/control-icon@2x.png | Bin 0 -> 509 bytes .../designer/images/delaybutton-icon.png | Bin 0 -> 189 bytes .../designer/images/delaybutton-icon16.png | Bin 0 -> 160 bytes .../designer/images/delaybutton-icon@2x.png | Bin 0 -> 286 bytes .../FluentUI/designer/images/dial-icon.png | Bin 0 -> 267 bytes .../FluentUI/designer/images/dial-icon16.png | Bin 0 -> 243 bytes .../FluentUI/designer/images/dial-icon@2x.png | Bin 0 -> 505 bytes .../FluentUI/designer/images/frame-icon.png | Bin 0 -> 121 bytes .../FluentUI/designer/images/frame-icon16.png | Bin 0 -> 117 bytes .../designer/images/frame-icon@2x.png | Bin 0 -> 125 bytes .../designer/images/groupbox-icon.png | Bin 0 -> 133 bytes .../designer/images/groupbox-icon16.png | Bin 0 -> 125 bytes .../designer/images/groupbox-icon@2x.png | Bin 0 -> 136 bytes .../designer/images/itemdelegate-icon.png | Bin 0 -> 127 bytes .../designer/images/itemdelegate-icon16.png | Bin 0 -> 124 bytes .../designer/images/itemdelegate-icon@2x.png | Bin 0 -> 133 bytes .../FluentUI/designer/images/label-icon.png | Bin 0 -> 206 bytes .../FluentUI/designer/images/label-icon16.png | Bin 0 -> 182 bytes .../designer/images/label-icon@2x.png | Bin 0 -> 284 bytes .../FluentUI/designer/images/page-icon.png | Bin 0 -> 190 bytes .../FluentUI/designer/images/page-icon16.png | Bin 0 -> 148 bytes .../FluentUI/designer/images/page-icon@2x.png | Bin 0 -> 195 bytes .../designer/images/pageindicator-icon.png | Bin 0 -> 179 bytes .../designer/images/pageindicator-icon16.png | Bin 0 -> 158 bytes .../designer/images/pageindicator-icon@2x.png | Bin 0 -> 207 bytes .../FluentUI/designer/images/pane-icon.png | Bin 0 -> 93 bytes .../FluentUI/designer/images/pane-icon16.png | Bin 0 -> 92 bytes .../FluentUI/designer/images/pane-icon@2x.png | Bin 0 -> 96 bytes .../designer/images/progressbar-icon.png | Bin 0 -> 101 bytes .../designer/images/progressbar-icon16.png | Bin 0 -> 92 bytes .../designer/images/progressbar-icon@2x.png | Bin 0 -> 127 bytes .../designer/images/radiobutton-icon.png | Bin 0 -> 279 bytes .../designer/images/radiobutton-icon16.png | Bin 0 -> 218 bytes .../designer/images/radiobutton-icon@2x.png | Bin 0 -> 482 bytes .../designer/images/rangeslider-icon.png | Bin 0 -> 269 bytes .../designer/images/rangeslider-icon16.png | Bin 0 -> 231 bytes .../designer/images/rangeslider-icon@2x.png | Bin 0 -> 282 bytes .../designer/images/roundbutton-icon.png | Bin 0 -> 229 bytes .../designer/images/roundbutton-icon16.png | Bin 0 -> 186 bytes .../designer/images/roundbutton-icon@2x.png | Bin 0 -> 381 bytes .../designer/images/scrollview-icon.png | Bin 0 -> 110 bytes .../designer/images/scrollview-icon16.png | Bin 0 -> 116 bytes .../designer/images/scrollview-icon@2x.png | Bin 0 -> 145 bytes .../FluentUI/designer/images/slider-icon.png | Bin 0 -> 190 bytes .../designer/images/slider-icon16.png | Bin 0 -> 156 bytes .../designer/images/slider-icon@2x.png | Bin 0 -> 227 bytes .../FluentUI/designer/images/spinbox-icon.png | Bin 0 -> 144 bytes .../designer/images/spinbox-icon16.png | Bin 0 -> 151 bytes .../designer/images/spinbox-icon@2x.png | Bin 0 -> 178 bytes .../designer/images/stackview-icon.png | Bin 0 -> 162 bytes .../designer/images/stackview-icon16.png | Bin 0 -> 151 bytes .../designer/images/stackview-icon@2x.png | Bin 0 -> 167 bytes .../designer/images/swipeview-icon.png | Bin 0 -> 163 bytes .../designer/images/swipeview-icon16.png | Bin 0 -> 152 bytes .../designer/images/swipeview-icon@2x.png | Bin 0 -> 184 bytes .../FluentUI/designer/images/switch-icon.png | Bin 0 -> 205 bytes .../designer/images/switch-icon16.png | Bin 0 -> 160 bytes .../designer/images/switch-icon@2x.png | Bin 0 -> 314 bytes .../designer/images/textarea-icon.png | Bin 0 -> 149 bytes .../designer/images/textarea-icon16.png | Bin 0 -> 133 bytes .../designer/images/textarea-icon@2x.png | Bin 0 -> 163 bytes .../designer/images/textfield-icon.png | Bin 0 -> 154 bytes .../designer/images/textfield-icon16.png | Bin 0 -> 147 bytes .../designer/images/textfield-icon@2x.png | Bin 0 -> 172 bytes .../FluentUI/designer/images/toolbar-icon.png | Bin 0 -> 131 bytes .../designer/images/toolbar-icon16.png | Bin 0 -> 114 bytes .../designer/images/toolbar-icon@2x.png | Bin 0 -> 140 bytes .../designer/images/toolbutton-icon.png | Bin 0 -> 141 bytes .../designer/images/toolbutton-icon16.png | Bin 0 -> 128 bytes .../designer/images/toolbutton-icon@2x.png | Bin 0 -> 158 bytes .../designer/images/toolseparator-icon.png | Bin 0 -> 111 bytes .../designer/images/toolseparator-icon16.png | Bin 0 -> 123 bytes .../designer/images/toolseparator-icon@2x.png | Bin 0 -> 131 bytes .../FluentUI/designer/images/tumbler-icon.png | Bin 0 -> 132 bytes .../designer/images/tumbler-icon16.png | Bin 0 -> 127 bytes .../designer/images/tumbler-icon@2x.png | Bin 0 -> 153 bytes 154 files changed, 211 insertions(+), 829 deletions(-) delete mode 100644 example/qml/window/ChatWindow.qml create mode 100644 example/qml/window/main.qml delete mode 100644 example/src/controller/ChatController.cpp delete mode 100644 example/src/controller/ChatController.h delete mode 100644 src/NativeEventFilter.cpp delete mode 100644 src/NativeEventFilter.h delete mode 100644 src/imports/FluentUI/Controls/FluSingleton.qml create mode 100644 src/imports/FluentUI/designer/fluentui.metainfo create mode 100644 src/imports/FluentUI/designer/images/busyindicator-icon.png create mode 100644 src/imports/FluentUI/designer/images/busyindicator-icon16.png create mode 100644 src/imports/FluentUI/designer/images/busyindicator-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/button-icon.png create mode 100644 src/imports/FluentUI/designer/images/button-icon16.png create mode 100644 src/imports/FluentUI/designer/images/button-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/checkbox-icon.png create mode 100644 src/imports/FluentUI/designer/images/checkbox-icon16.png create mode 100644 src/imports/FluentUI/designer/images/checkbox-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/combobox-icon.png create mode 100644 src/imports/FluentUI/designer/images/combobox-icon16.png create mode 100644 src/imports/FluentUI/designer/images/combobox-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/control-icon.png create mode 100644 src/imports/FluentUI/designer/images/control-icon16.png create mode 100644 src/imports/FluentUI/designer/images/control-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/delaybutton-icon.png create mode 100644 src/imports/FluentUI/designer/images/delaybutton-icon16.png create mode 100644 src/imports/FluentUI/designer/images/delaybutton-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/dial-icon.png create mode 100644 src/imports/FluentUI/designer/images/dial-icon16.png create mode 100644 src/imports/FluentUI/designer/images/dial-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/frame-icon.png create mode 100644 src/imports/FluentUI/designer/images/frame-icon16.png create mode 100644 src/imports/FluentUI/designer/images/frame-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/groupbox-icon.png create mode 100644 src/imports/FluentUI/designer/images/groupbox-icon16.png create mode 100644 src/imports/FluentUI/designer/images/groupbox-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/itemdelegate-icon.png create mode 100644 src/imports/FluentUI/designer/images/itemdelegate-icon16.png create mode 100644 src/imports/FluentUI/designer/images/itemdelegate-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/label-icon.png create mode 100644 src/imports/FluentUI/designer/images/label-icon16.png create mode 100644 src/imports/FluentUI/designer/images/label-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/page-icon.png create mode 100644 src/imports/FluentUI/designer/images/page-icon16.png create mode 100644 src/imports/FluentUI/designer/images/page-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/pageindicator-icon.png create mode 100644 src/imports/FluentUI/designer/images/pageindicator-icon16.png create mode 100644 src/imports/FluentUI/designer/images/pageindicator-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/pane-icon.png create mode 100644 src/imports/FluentUI/designer/images/pane-icon16.png create mode 100644 src/imports/FluentUI/designer/images/pane-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/progressbar-icon.png create mode 100644 src/imports/FluentUI/designer/images/progressbar-icon16.png create mode 100644 src/imports/FluentUI/designer/images/progressbar-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/radiobutton-icon.png create mode 100644 src/imports/FluentUI/designer/images/radiobutton-icon16.png create mode 100644 src/imports/FluentUI/designer/images/radiobutton-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/rangeslider-icon.png create mode 100644 src/imports/FluentUI/designer/images/rangeslider-icon16.png create mode 100644 src/imports/FluentUI/designer/images/rangeslider-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/roundbutton-icon.png create mode 100644 src/imports/FluentUI/designer/images/roundbutton-icon16.png create mode 100644 src/imports/FluentUI/designer/images/roundbutton-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/scrollview-icon.png create mode 100644 src/imports/FluentUI/designer/images/scrollview-icon16.png create mode 100644 src/imports/FluentUI/designer/images/scrollview-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/slider-icon.png create mode 100644 src/imports/FluentUI/designer/images/slider-icon16.png create mode 100644 src/imports/FluentUI/designer/images/slider-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/spinbox-icon.png create mode 100644 src/imports/FluentUI/designer/images/spinbox-icon16.png create mode 100644 src/imports/FluentUI/designer/images/spinbox-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/stackview-icon.png create mode 100644 src/imports/FluentUI/designer/images/stackview-icon16.png create mode 100644 src/imports/FluentUI/designer/images/stackview-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/swipeview-icon.png create mode 100644 src/imports/FluentUI/designer/images/swipeview-icon16.png create mode 100644 src/imports/FluentUI/designer/images/swipeview-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/switch-icon.png create mode 100644 src/imports/FluentUI/designer/images/switch-icon16.png create mode 100644 src/imports/FluentUI/designer/images/switch-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/textarea-icon.png create mode 100644 src/imports/FluentUI/designer/images/textarea-icon16.png create mode 100644 src/imports/FluentUI/designer/images/textarea-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/textfield-icon.png create mode 100644 src/imports/FluentUI/designer/images/textfield-icon16.png create mode 100644 src/imports/FluentUI/designer/images/textfield-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/toolbar-icon.png create mode 100644 src/imports/FluentUI/designer/images/toolbar-icon16.png create mode 100644 src/imports/FluentUI/designer/images/toolbar-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/toolbutton-icon.png create mode 100644 src/imports/FluentUI/designer/images/toolbutton-icon16.png create mode 100644 src/imports/FluentUI/designer/images/toolbutton-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/toolseparator-icon.png create mode 100644 src/imports/FluentUI/designer/images/toolseparator-icon16.png create mode 100644 src/imports/FluentUI/designer/images/toolseparator-icon@2x.png create mode 100644 src/imports/FluentUI/designer/images/tumbler-icon.png create mode 100644 src/imports/FluentUI/designer/images/tumbler-icon16.png create mode 100644 src/imports/FluentUI/designer/images/tumbler-icon@2x.png diff --git a/example/qml/App.qml b/example/qml/App.qml index f45e90ec..f1781b6c 100644 --- a/example/qml/App.qml +++ b/example/qml/App.qml @@ -8,13 +8,11 @@ Window { id:app Component.onCompleted: { FluApp.init(app) - FluTheme.frameless = ("windows" === Qt.platform.os) FluTheme.darkMode = FluDarkMode.System FluApp.routes = { "/":"qrc:/example/qml/window/MainWindow.qml", "/about":"qrc:/example/qml/window/AboutWindow.qml", "/login":"qrc:/example/qml/window/LoginWindow.qml", - "/chat":"qrc:/example/qml/window/ChatWindow.qml", "/media":"qrc:/example/qml/window/MediaWindow.qml", "/singleTaskWindow":"qrc:/example/qml/window/SingleTaskWindow.qml", "/standardWindow":"qrc:/example/qml/window/StandardWindow.qml", diff --git a/example/qml/page/T_Awesome.qml b/example/qml/page/T_Awesome.qml index c3b8784c..26caa39f 100644 --- a/example/qml/page/T_Awesome.qml +++ b/example/qml/page/T_Awesome.qml @@ -8,10 +8,6 @@ FluContentPage { title:"Awesome" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - FluTextBox{ id:text_box placeholderText: "请输入关键字" diff --git a/example/qml/page/T_Badge.qml b/example/qml/page/T_Badge.qml index 6ca78562..11b9b64f 100644 --- a/example/qml/page/T_Badge.qml +++ b/example/qml/page/T_Badge.qml @@ -9,11 +9,6 @@ FluScrollablePage{ title:"Badge" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 - FluArea{ Layout.fillWidth: true Layout.topMargin: 20 diff --git a/example/qml/page/T_BreadcrumbBar.qml b/example/qml/page/T_BreadcrumbBar.qml index bf266ace..30d6809a 100644 --- a/example/qml/page/T_BreadcrumbBar.qml +++ b/example/qml/page/T_BreadcrumbBar.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"BreadcurmbBar" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 Component.onCompleted: { var items = [] diff --git a/example/qml/page/T_Buttons.qml b/example/qml/page/T_Buttons.qml index 64299d74..0547e8ed 100644 --- a/example/qml/page/T_Buttons.qml +++ b/example/qml/page/T_Buttons.qml @@ -7,12 +7,8 @@ import FluentUI import "../component" FluScrollablePage{ - title:"Buttons" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 + title:"Buttons" FluText{ Layout.topMargin: 20 diff --git a/example/qml/page/T_CalendarPicker.qml b/example/qml/page/T_CalendarPicker.qml index 11e4c23b..b7b38148 100644 --- a/example/qml/page/T_CalendarPicker.qml +++ b/example/qml/page/T_CalendarPicker.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"CalendarPicker" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Carousel.qml b/example/qml/page/T_Carousel.qml index 3461464e..83c2ed35 100644 --- a/example/qml/page/T_Carousel.qml +++ b/example/qml/page/T_Carousel.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Carousel" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_CheckBox.qml b/example/qml/page/T_CheckBox.qml index 7e2fd6af..8603bb45 100644 --- a/example/qml/page/T_CheckBox.qml +++ b/example/qml/page/T_CheckBox.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"CheckBox" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_ColorPicker.qml b/example/qml/page/T_ColorPicker.qml index 2df0c535..03195f4d 100644 --- a/example/qml/page/T_ColorPicker.qml +++ b/example/qml/page/T_ColorPicker.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"ColorPicker" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_DatePicker.qml b/example/qml/page/T_DatePicker.qml index e54fb0c8..7930bcc8 100644 --- a/example/qml/page/T_DatePicker.qml +++ b/example/qml/page/T_DatePicker.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"TimePicker" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Dialog.qml b/example/qml/page/T_Dialog.qml index ea9b2f67..ff561c8b 100644 --- a/example/qml/page/T_Dialog.qml +++ b/example/qml/page/T_Dialog.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Dialog" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Expander.qml b/example/qml/page/T_Expander.qml index 7e1245ed..21e10aa2 100644 --- a/example/qml/page/T_Expander.qml +++ b/example/qml/page/T_Expander.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Expander" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_FlipView.qml b/example/qml/page/T_FlipView.qml index 0ac49475..ba7fa49f 100644 --- a/example/qml/page/T_FlipView.qml +++ b/example/qml/page/T_FlipView.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"FlipView" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Home.qml b/example/qml/page/T_Home.qml index f7423d08..8100050d 100644 --- a/example/qml/page/T_Home.qml +++ b/example/qml/page/T_Home.qml @@ -7,11 +7,6 @@ import FluentUI FluScrollablePage{ - - leftPadding:10 - rightPadding:0 - bottomPadding:20 - ListModel{ id:model_header ListElement{ diff --git a/example/qml/page/T_InfoBar.qml b/example/qml/page/T_InfoBar.qml index c66d25ce..31621767 100644 --- a/example/qml/page/T_InfoBar.qml +++ b/example/qml/page/T_InfoBar.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"InfoBar" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_MediaPlayer.qml b/example/qml/page/T_MediaPlayer.qml index 12da086c..2508da8d 100644 --- a/example/qml/page/T_MediaPlayer.qml +++ b/example/qml/page/T_MediaPlayer.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"MediaPlayer" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 onVisibleChanged: { if(visible){ diff --git a/example/qml/page/T_Menu.qml b/example/qml/page/T_Menu.qml index 01bef380..186c96dd 100644 --- a/example/qml/page/T_Menu.qml +++ b/example/qml/page/T_Menu.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Menu" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_MultiWindow.qml b/example/qml/page/T_MultiWindow.qml index b107b560..819904dc 100644 --- a/example/qml/page/T_MultiWindow.qml +++ b/example/qml/page/T_MultiWindow.qml @@ -11,10 +11,6 @@ FluScrollablePage{ property var loginPageRegister: registerForWindowResult("/login") title:"MultiWindow" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 Connections{ target: loginPageRegister diff --git a/example/qml/page/T_Pivot.qml b/example/qml/page/T_Pivot.qml index 24838c1c..b0ba4e3f 100644 --- a/example/qml/page/T_Pivot.qml +++ b/example/qml/page/T_Pivot.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Pivot" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Progress.qml b/example/qml/page/T_Progress.qml index dc6954ff..dc0de532 100644 --- a/example/qml/page/T_Progress.qml +++ b/example/qml/page/T_Progress.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Progress" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_RatingControl.qml b/example/qml/page/T_RatingControl.qml index b1d7bbcb..fd334207 100644 --- a/example/qml/page/T_RatingControl.qml +++ b/example/qml/page/T_RatingControl.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"RatingControl" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Rectangle.qml b/example/qml/page/T_Rectangle.qml index 232e041e..96db0a7e 100644 --- a/example/qml/page/T_Rectangle.qml +++ b/example/qml/page/T_Rectangle.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Rectangle" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Settings.qml b/example/qml/page/T_Settings.qml index dd25c01e..19cb660a 100644 --- a/example/qml/page/T_Settings.qml +++ b/example/qml/page/T_Settings.qml @@ -9,10 +9,6 @@ import "../component" FluScrollablePage{ title:"Settings" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Slider.qml b/example/qml/page/T_Slider.qml index 48cce7f7..45138adb 100644 --- a/example/qml/page/T_Slider.qml +++ b/example/qml/page/T_Slider.qml @@ -8,10 +8,6 @@ import FluentUI FluScrollablePage{ title:"Slider" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_StatusView.qml b/example/qml/page/T_StatusView.qml index f2774e5a..6ba5d59c 100644 --- a/example/qml/page/T_StatusView.qml +++ b/example/qml/page/T_StatusView.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"StatusView" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ id:layout_actions diff --git a/example/qml/page/T_TabView.qml b/example/qml/page/T_TabView.qml index a03f3032..40f8d4f0 100644 --- a/example/qml/page/T_TabView.qml +++ b/example/qml/page/T_TabView.qml @@ -7,14 +7,10 @@ import "../component" FluScrollablePage{ - title:"TabView" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 - property var colors : [FluColors.Yellow,FluColors.Orange,FluColors.Red,FluColors.Magenta,FluColors.Purple,FluColors.Blue,FluColors.Teal,FluColors.Green] + title:"TabView" + Component{ id:com_page Rectangle{ diff --git a/example/qml/page/T_TableView.qml b/example/qml/page/T_TableView.qml index fa26c5da..15762109 100644 --- a/example/qml/page/T_TableView.qml +++ b/example/qml/page/T_TableView.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"TableView" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 Component.onCompleted: { const columns = [ diff --git a/example/qml/page/T_Text.qml b/example/qml/page/T_Text.qml index 51edce78..0540032e 100644 --- a/example/qml/page/T_Text.qml +++ b/example/qml/page/T_Text.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Text" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_TextBox.qml b/example/qml/page/T_TextBox.qml index 1c2dfd01..622feb7f 100644 --- a/example/qml/page/T_TextBox.qml +++ b/example/qml/page/T_TextBox.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"TextBox" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Theme.qml b/example/qml/page/T_Theme.qml index 9ddf2422..f4a77042 100644 --- a/example/qml/page/T_Theme.qml +++ b/example/qml/page/T_Theme.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Theme" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_TimePicker.qml b/example/qml/page/T_TimePicker.qml index 48e11091..672c3633 100644 --- a/example/qml/page/T_TimePicker.qml +++ b/example/qml/page/T_TimePicker.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"TimePicker" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_ToggleSwitch.qml b/example/qml/page/T_ToggleSwitch.qml index 6123c5f8..06788518 100644 --- a/example/qml/page/T_ToggleSwitch.qml +++ b/example/qml/page/T_ToggleSwitch.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"ToggleSwitch" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluArea{ Layout.fillWidth: true diff --git a/example/qml/page/T_Tooltip.qml b/example/qml/page/T_Tooltip.qml index 2bb0ce4a..2ad2d8ac 100644 --- a/example/qml/page/T_Tooltip.qml +++ b/example/qml/page/T_Tooltip.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage{ title:"Tooltip" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 FluText{ Layout.topMargin: 20 diff --git a/example/qml/page/T_TreeView.qml b/example/qml/page/T_TreeView.qml index 01a7801c..8763eb23 100644 --- a/example/qml/page/T_TreeView.qml +++ b/example/qml/page/T_TreeView.qml @@ -8,10 +8,6 @@ import "../component" FluScrollablePage { title:"TreeView" - leftPadding:10 - rightPadding:10 - bottomPadding:20 - spacing: 0 function randomName() { var names = ["张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"] diff --git a/example/qml/page/T_Typography.qml b/example/qml/page/T_Typography.qml index ce1d2db4..234debcb 100644 --- a/example/qml/page/T_Typography.qml +++ b/example/qml/page/T_Typography.qml @@ -5,11 +5,9 @@ import FluentUI FluContentPage { - title: "Typography" property real textScale: 1 - leftPadding:10 - rightPadding:10 - bottomPadding:20 + + title: "Typography" Component.onCompleted: { slider.seek(0) diff --git a/example/qml/window/AboutWindow.qml b/example/qml/window/AboutWindow.qml index 559aef58..fd8f3795 100644 --- a/example/qml/window/AboutWindow.qml +++ b/example/qml/window/AboutWindow.qml @@ -119,6 +119,7 @@ FluWindow { RowLayout{ spacing: 14 + Layout.topMargin: 20 Layout.leftMargin: 15 FluText{ text:"捐赠:" @@ -147,12 +148,11 @@ FluWindow { RowLayout{ spacing: 14 Layout.leftMargin: 15 + Layout.topMargin: 20 FluText{ id:text_desc text:"个人开发,维护不易,你们的捐赠就是我继续更新的动力!\n有什么问题提Issues,只要时间充足我就会解决的!!" } } - - } } diff --git a/example/qml/window/ChatWindow.qml b/example/qml/window/ChatWindow.qml deleted file mode 100644 index ec049836..00000000 --- a/example/qml/window/ChatWindow.qml +++ /dev/null @@ -1,261 +0,0 @@ -import QtQuick -import QtQuick.Layouts -import QtQuick.Controls -import FluentUI -import Controller -import QtQuick.Dialogs - -FluWindow { - - title:"ChatGPT" - width: 680 - height: 600 - minimumWidth: 500 - minimumHeight: 600 - - onInitArgument: - (argument)=>{ - scrollview.focus = true - } - - ChatController{ - id:controller - - onResponseDataChanged: { - appendMessage(false,responseData) - } - - } - - ListModel{ - id:model_message - ListElement{ - isMy:false - text:"欢迎使用ChatGPT" - } - ListElement{ - isMy:true - text:"好的,3Q" - } - } - - FluAppBar{ - id:appbar - title:"ChatGPT" - width:parent.width - } - - Component{ - id:com_text - TextEdit { - id:item_text - text: message - wrapMode: Text.WrapAnywhere - readOnly: true - selectByMouse: true - selectByKeyboard: true - selectedTextColor: Qt.rgba(51,153,255,1) - color:FluColors.Black - selectionColor: { - if(FluTheme.dark){ - return FluTheme.primaryColor.lighter - }else{ - return FluTheme.primaryColor.dark - } - } - width: Math.min(list_message.width-200,600,implicitWidth) - TapHandler{ - acceptedButtons: Qt.RightButton - onTapped: { - menu_item.showMenu(item_text.selectedText) - } - } - } - } - - FluArea{ - id:layout_content - anchors{ - top: appbar.bottom - left: parent.left - right: parent.right - bottom: layout_bottom.top - margins: 10 - } - color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(245/255,245/255,245/255,1) - ListView{ - id:list_message - anchors.fill: parent - model:model_message - clip: true - ScrollBar.vertical: FluScrollBar {} - preferredHighlightBegin: 0 - preferredHighlightEnd: 0 - highlightMoveDuration: 0 - header:Item{ - width: list_message.width - height:20 - } - footer:Item{ - width: list_message.width - height:20 - } - delegate: Item{ - width: ListView.view.width - height: childrenRect.height - - FluRectangle{ - id:item_avatar - width: 30 - height: 30 - radius:[15,15,15,15] - anchors{ - right: isMy ? parent.right : undefined - rightMargin: isMy ? 20 : undefined - left: isMy ? undefined : parent.left - leftMargin: isMy ? undefined : 20 - top:parent.top - } - Image { - asynchronous: true - anchors.fill: parent - sourceSize: Qt.size(100,100) - source: isMy ? "qrc:/example/res/svg/avatar_2.svg" : "qrc:/example/res/image/logo_openai.png" - } - } - - Rectangle{ - id:item_layout_content - color: isMy ? "#FF95EC69" : "#FFFFFF" - width: item_msg_loader.width+10 - height: item_msg_loader.height+10 - radius: 3 - anchors{ - top: item_avatar.top - right: isMy ? item_avatar.left : undefined - rightMargin: isMy ? 10 : undefined - left: isMy ? undefined : item_avatar.right - leftMargin: isMy ? undefined : 10 - - } - - Loader{ - id:item_msg_loader - property var message: model.text - anchors.centerIn: parent - sourceComponent: com_text - } - } - - - Item{ - id:item_layout_bottom - width: parent.width - anchors.top: item_layout_content.bottom - height: 20 - } - } - } - } - - FluArea{ - id:layout_bottom - height: 90 - anchors{ - bottom: parent.bottom - bottomMargin: 10 - left: parent.left - right: parent.right - leftMargin: 10 - rightMargin: 10 - } - - - ScrollView{ - id:scrollview - anchors{ - bottom: parent.bottom - left: parent.left - right: button_send.left - bottomMargin: 10 - leftMargin: 10 - rightMargin: 10 - } - height: Math.min(textbox.implicitHeight,64) - FluMultilineTextBox{ - id:textbox - focus:true - placeholderText: "请输入消息" - } - } - - FluFilledButton{ - id:button_send - text:controller.isLoading ? timer_loading.loadingText :"发送" - anchors{ - bottom: parent.bottom - right: parent.right - bottomMargin: 10 - rightMargin: 10 - } - width: 60 - disabled: controller.isLoading - onClicked:{ - var text = textbox.text - appendMessage(true,text) - controller.sendMessage(text) - textbox.clear() - } - - Timer{ - id:timer_loading - property int count : 0 - property string loadingText : "" - interval: 500 - running: controller.isLoading - repeat: true - onTriggered: { - switch(count%3){ - case 0: - loadingText = "." - break - case 1: - loadingText = ".." - break - case 2: - loadingText = "..." - break - default: - loadingText = "" - break - } - count++ - } - } - - } - } - - FluMenu{ - id:menu_item - focus: false - property string selectedText: "" - FluMenuItem{ - text:"复制" - onClicked: { - controller.clipText(menu_item.selectedText) - showSuccess("复制成功") - } - } - function showMenu(text){ - menu_item.selectedText = text - menu_item.popup() - } - } - - function appendMessage(isMy,text){ - model_message.append({isMy:isMy,text:text}) - list_message.positionViewAtEnd() - } - -} diff --git a/example/qml/window/MainWindow.qml b/example/qml/window/MainWindow.qml index 4b0e6a9a..505a445b 100644 --- a/example/qml/window/MainWindow.qml +++ b/example/qml/window/MainWindow.qml @@ -48,7 +48,7 @@ FluWindow { MenuItem { text: "退出" onTriggered: { - window.destoryWindow() + window.deleteWindow() FluApp.closeApp() } } @@ -76,7 +76,7 @@ FluWindow { positiveText:"退出" neutralText:"取消" onPositiveClicked:{ - window.destoryWindow() + window.deleteWindow() FluApp.closeApp() } @@ -102,6 +102,27 @@ FluWindow { ItemsOriginal.startPageByItem(data) } } + actionItem:Item{ + height: 40 + width: 148 + RowLayout{ + anchors.centerIn: parent + spacing: 5 + FluText{ + text:lang.dark_mode + } + FluToggleSwitch{ + selected: FluTheme.dark + clickFunc:function(){ + if(FluTheme.dark){ + FluTheme.darkMode = FluDarkMode.Light + }else{ + FluTheme.darkMode = FluDarkMode.Dark + } + } + } + } + } Component.onCompleted: { ItemsOriginal.navigationView = nav_view ItemsFooter.navigationView = nav_view diff --git a/example/qml/window/main.qml b/example/qml/window/main.qml new file mode 100644 index 00000000..e466a8e3 --- /dev/null +++ b/example/qml/window/main.qml @@ -0,0 +1,14 @@ +import QtQuick +import FluentUI + +Window { + id:window + width: 400 + height: 400 + visible: true + + FluButton{ + text:"123" + } + +} diff --git a/example/src/controller/ChatController.cpp b/example/src/controller/ChatController.cpp deleted file mode 100644 index 16f59d21..00000000 --- a/example/src/controller/ChatController.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "ChatController.h" - -ChatController::ChatController(QObject *parent) - : QObject{parent} -{ - isLoading(false); - networkManager = new QNetworkAccessManager(this); -} - - -void ChatController::sendMessage(const QString& text){ - isLoading(true); - QUrl apiUrl("https://api.openai.com/v1/chat/completions"); - QNetworkRequest request(apiUrl); - request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); - request.setRawHeader("Authorization", QString::fromStdString("Bearer %1").arg(QString::fromUtf8(QByteArray::fromBase64(baseKey.toUtf8()))).toUtf8()); - QJsonObject requestData; - requestData.insert("model", "gpt-3.5-turbo"); - messages.append(createMessage("user",text)); - requestData.insert("messages", messages); - QJsonDocument requestDoc(requestData); - QByteArray requestDataBytes = requestDoc.toJson(); - QNetworkReply* reply = networkManager->post(request, requestDataBytes); - connect(reply, &QNetworkReply::finished,this, [=]() { - if (reply->error() == QNetworkReply::NoError) { - QString responseString = QString::fromUtf8(reply->readAll()); - qDebug() << responseString; - QJsonDocument doc = QJsonDocument::fromJson(responseString.toUtf8()); - QJsonObject jsonObj = doc.object(); - QString text = jsonObj.value("choices").toArray().at(0).toObject().value("message").toObject().value("content").toString(); - if(text.isEmpty()){ - text = "响应错误:content为空数据"; - }else{ - messages.append(createMessage("assistant",text)); - } - responseData(text.trimmed()); - } else { - responseData("网络错误:"+reply->errorString()); - } - isLoading(false); - reply->deleteLater(); - }); -} - -QJsonObject ChatController::createMessage(const QString& role,const QString& content){ - QJsonObject message; - message.insert("role",role); - message.insert("content",content); - return message; -} - -void ChatController::clipText(const QString& text){ - qDebug()<setText(text); -} diff --git a/example/src/controller/ChatController.h b/example/src/controller/ChatController.h deleted file mode 100644 index 3e5953d4..00000000 --- a/example/src/controller/ChatController.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef CHATCONTROLLER_H -#define CHATCONTROLLER_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../stdafx.h" - -class ChatController : public QObject -{ - Q_OBJECT - Q_PROPERTY_AUTO(bool,isLoading) - Q_PROPERTY_AUTO(QString,responseData); -public: - explicit ChatController(QObject *parent = nullptr); - - Q_INVOKABLE void sendMessage(const QString& text); - Q_INVOKABLE void clipText(const QString& text); -private: - QJsonObject createMessage(const QString& role,const QString& content); - -private: - QNetworkAccessManager* networkManager; - QJsonArray messages; - QString baseKey = "c2stbXgxWm5MQkZ5TzhNYzNmRWl6eDZUM0JsYmtGSnNBWjNiakJjSXB6WGN3QW9KSk11"; -}; - -#endif // CHATCONTROLLER_H diff --git a/example/src/main.cpp b/example/src/main.cpp index e76d8b85..8663e40b 100644 --- a/example/src/main.cpp +++ b/example/src/main.cpp @@ -6,11 +6,7 @@ #include #include "lang/Lang.h" #include "AppInfo.h" -#include "controller/ChatController.h" #include "tool/IPC.h" -#if defined(STATICLIB) -#include -#endif int main(int argc, char *argv[]) { @@ -41,10 +37,6 @@ int main(int argc, char *argv[]) } app.setQuitOnLastWindowClosed(false); QQmlApplicationEngine engine; -#if defined(STATICLIB) - FluentUI::initialize(&engine); -#endif - qmlRegisterType("Controller",1,0,"ChatController"); QQmlContext * context = engine.rootContext(); Lang* lang = appInfo->lang(); context->setContextProperty("lang",lang); @@ -53,6 +45,7 @@ int main(int argc, char *argv[]) }); context->setContextProperty("appInfo",appInfo); const QUrl url(QStringLiteral("qrc:/example/qml/App.qml")); +// const QUrl url(QStringLiteral("qrc:/example/qml/window/main.qml")); QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d7a087ee..0f13f206 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,13 +9,16 @@ if(APPLE) set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE) endif() -#设置可执行文件输出目录 +##设置可执行文件输出目录 if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/debug) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/bin) else() - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/release) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/bin) endif() +#设置QML路径 +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/qml) + #设置版本号 add_definitions(-DVERSION=1,2,9,0) @@ -36,7 +39,7 @@ foreach(filepath ${QML_PATHS}) endforeach(filepath) #遍历所有资源文件 -file(GLOB_RECURSE RES_PATHS *.png *.jpg *.svg *.ico *.ttf *.webp) +file(GLOB_RECURSE RES_PATHS *.png *.jpg *.svg *.ico *.ttf *.webp *.metainfo) foreach(filepath ${RES_PATHS}) string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" filename ${filepath}) list(APPEND resource_files ${filename}) @@ -49,8 +52,8 @@ foreach(filepath IN LISTS qml_files resource_files) endforeach() #添加qml模块 +qt_add_library(fluentui SHARED) qt_add_qml_module(fluentui - OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/qml/FluentUI VERSION 1.0 URI "FluentUI" SOURCES ${sources_files} fluentui.rc diff --git a/src/Def.h b/src/Def.h index 41855239..8a2bf595 100644 --- a/src/Def.h +++ b/src/Def.h @@ -6,13 +6,13 @@ namespace Fluent_DarkMode { Q_NAMESPACE - enum Fluent_DarkModeType { - System = 0x0, - Light = 0x1, - Dark = 0x2, - }; - QML_NAMED_ELEMENT(FluDarkMode) -Q_ENUMS(Fluent_DarkModeType); +enum Fluent_DarkModeType { + System = 0x0, + Light = 0x1, + Dark = 0x2, +}; +Q_ENUM_NS(Fluent_DarkModeType) +QML_NAMED_ELEMENT(FluDarkMode) } namespace Fluent_Awesome { @@ -1422,8 +1422,8 @@ enum class Fluent_AwesomeType { SpeechSolidBold=0xf8b2, ClickedOutLoudSolidBold=0xf8b3, }; - QML_NAMED_ELEMENT(FluentIcons) -Q_ENUMS(Fluent_AwesomeType) +Q_ENUM_NS(Fluent_AwesomeType) +QML_NAMED_ELEMENT(FluentIcons) } #endif // DEF_H diff --git a/src/FluApp.cpp b/src/FluApp.cpp index c443e6dd..0a129f41 100644 --- a/src/FluApp.cpp +++ b/src/FluApp.cpp @@ -9,27 +9,16 @@ #include #include #include "Def.h" -#ifdef Q_OS_WIN -#pragma comment(lib, "Dwmapi.lib") -#pragma comment(lib, "User32.lib") -#include -#include -#include -static bool isCompositionEnabled() + +FluApp* FluApp::m_instance = nullptr; + +FluApp *FluApp::getInstance() { - BOOL composition_enabled = FALSE; - bool success = ::DwmIsCompositionEnabled(&composition_enabled) == S_OK; - return composition_enabled && success; + if(FluApp::m_instance == nullptr){ + FluApp::m_instance = new FluApp; + } + return FluApp::m_instance; } -#endif - -FluApp* FluApp::fluApp = nullptr; - -FluTheme* FluApp::fluTheme = nullptr; - -FluColors* FluApp::fluColors = nullptr; - -FluTools* FluApp::fluTools = nullptr; FluApp::FluApp(QObject *parent) : QObject{parent} @@ -38,43 +27,14 @@ FluApp::FluApp(QObject *parent) } FluApp::~FluApp(){ - if (nativeEvent != Q_NULLPTR) { - delete nativeEvent; - nativeEvent = Q_NULLPTR; - } -} -void FluApp::setFluApp(FluApp* val){ - FluApp::fluApp = val; -} - -void FluApp::setFluTheme(FluTheme* val){ - FluApp::fluTheme = val; -} - -void FluApp::setFluColors(FluColors* val){ - FluApp::fluColors = val; -} - -void FluApp::setFluTools(FluTools* val){ - FluApp::fluTools = val; } void FluApp::init(QQuickWindow *window){ this->appWindow = window; - QQmlEngine *engine = qmlEngine(appWindow); - QQmlComponent component(engine, ":/FluentUI/Controls/FluSingleton.qml"); - component.create(); - nativeEvent = new NativeEventFilter(); - qApp->installNativeEventFilter(nativeEvent); } void FluApp::run(){ -#ifdef Q_OS_WIN - if(!isCompositionEnabled()){ - fluTheme->frameless(false); - } -#endif navigate(initialRoute()); } @@ -113,9 +73,6 @@ void FluApp::navigate(const QString& route,const QJsonObject& argument,FluRegist } } view = qobject_cast(component.createWithInitialProperties(properties)); - if(fluTheme->frameless()){ - view->setFlag(Qt::FramelessWindowHint,true); - } wnds.insert(view->winId(),view); if(fluRegister){ fluRegister->to(view); diff --git a/src/FluApp.h b/src/FluApp.h index 289cae06..dab8e002 100644 --- a/src/FluApp.h +++ b/src/FluApp.h @@ -11,7 +11,6 @@ #include "FluTheme.h" #include "FluTools.h" #include "FluColors.h" -#include "NativeEventFilter.h" #include "FluRegister.h" #include "stdafx.h" @@ -33,11 +32,19 @@ class FluApp : public QObject QML_NAMED_ELEMENT(FluApp) QML_SINGLETON - -public: +private: + /** + * @brief FluApp 将默认构造函数设置为私有,则qml创建单例就会走create工厂方法创建单例 + * @param parent + */ explicit FluApp(QObject *parent = nullptr); +public: ~FluApp(); - + static FluApp *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine) + { + return getInstance(); + } + static FluApp *getInstance(); /** * @brief run */ @@ -69,62 +76,14 @@ public: */ Q_INVOKABLE void closeApp(); - /** - * @brief setFluApp 在FluSingleton.qml调用,拿到QML中FluApp的单例 - * @param val - */ - Q_INVOKABLE void setFluApp(FluApp* val); - - /** - * @brief setFluTheme 在FluSingleton.qml调用,拿到QML中FluTheme的单例 - * @param val - */ - Q_INVOKABLE void setFluTheme(FluTheme* val); - - /** - * @brief setFluColors 在FluSingleton.qml调用,拿到QML中FluColors的单例 - * @param val - */ - Q_INVOKABLE void setFluColors(FluColors* val); - - /** - * @brief setFluColors 在FluSingleton.qml调用,拿到QML中FluTools的单例 - * @param val - */ - Q_INVOKABLE void setFluTools(FluTools* val); - public: /** * @brief wnds */ QMap wnds; - /** - * @brief fluApp - */ - static FluApp* fluApp; - - /** - * @brief fluTheme - */ - static FluTheme* fluTheme; - - /** - * @brief fluColors - */ - static FluColors* fluColors; - - /** - * @brief fluTools - */ - static FluTools* fluTools; - private: - /** - * @brief nativeEvent - */ - NativeEventFilter *nativeEvent = Q_NULLPTR; - + static FluApp* m_instance; /** * @brief appWindow */ diff --git a/src/FluColors.cpp b/src/FluColors.cpp index feaeb78c..46e7536d 100644 --- a/src/FluColors.cpp +++ b/src/FluColors.cpp @@ -1,5 +1,15 @@ #include "FluColors.h" +FluColors* FluColors::m_instance = nullptr; + +FluColors *FluColors::getInstance() +{ + if(FluColors::m_instance == nullptr){ + FluColors::m_instance = new FluColors; + } + return FluColors::m_instance; +} + FluColors::FluColors(QObject *parent) : QObject{parent} { diff --git a/src/FluColors.h b/src/FluColors.h index 34b6e56a..9b0ac95a 100644 --- a/src/FluColors.h +++ b/src/FluColors.h @@ -46,8 +46,15 @@ class FluColors : public QObject Q_PROPERTY_AUTO(FluColorSet*,Green); QML_NAMED_ELEMENT(FluColors) QML_SINGLETON -public: +private: explicit FluColors(QObject *parent = nullptr); + static FluColors* m_instance; +public: + static FluColors *getInstance(); + static FluColors *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine) + { + return getInstance(); + } }; #endif // FLUCOLORS_H diff --git a/src/FluRegister.cpp b/src/FluRegister.cpp index e698f13e..4cc8c6da 100644 --- a/src/FluRegister.cpp +++ b/src/FluRegister.cpp @@ -12,7 +12,7 @@ FluRegister::FluRegister(QObject *parent) } void FluRegister::launch(const QJsonObject& argument){ - FluApp::fluApp->navigate(path(),argument,this); + FluApp::getInstance()->navigate(path(),argument,this); } void FluRegister::onResult(const QJsonObject& data){ diff --git a/src/FluTheme.cpp b/src/FluTheme.cpp index b5459d0d..d4c1ab4e 100644 --- a/src/FluTheme.cpp +++ b/src/FluTheme.cpp @@ -5,15 +5,24 @@ #include "FluApp.h" #include +FluTheme* FluTheme::m_instance = nullptr; + +FluTheme *FluTheme::getInstance() +{ + if(FluTheme::m_instance == nullptr){ + FluTheme::m_instance = new FluTheme; + } + return FluTheme::m_instance; +} + FluTheme::FluTheme(QObject *parent) : QObject{parent} { connect(this,&FluTheme::darkModeChanged,this,[=]{ Q_EMIT darkChanged(); }); - primaryColor(FluApp::fluColors->Blue()); + primaryColor(FluColors::getInstance()->Blue()); nativeText(false); - frameless(true); darkMode(Fluent_DarkMode::Fluent_DarkModeType::Light); qApp->installEventFilter(this); } diff --git a/src/FluTheme.h b/src/FluTheme.h index 1cd388b6..1c602918 100644 --- a/src/FluTheme.h +++ b/src/FluTheme.h @@ -22,11 +22,6 @@ class FluTheme : public QObject */ Q_PROPERTY_AUTO(FluColorSet*,primaryColor) - /** - * @brief frameless 是否是无边框窗口,只支持windows部分电脑 - */ - Q_PROPERTY_AUTO(bool,frameless); - /** * @brief darkMode 夜间模式,支持System=0、Light=1、Dark=2 */ @@ -39,8 +34,15 @@ class FluTheme : public QObject QML_NAMED_ELEMENT(FluTheme) QML_SINGLETON -public: +private: + static FluTheme* m_instance; explicit FluTheme(QObject *parent = nullptr); +public: + static FluTheme *getInstance(); + static FluTheme *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine) + { + return getInstance(); + } bool dark(); Q_SIGNAL void darkChanged(); private: diff --git a/src/FluTools.cpp b/src/FluTools.cpp index 16b24dfe..8307a639 100644 --- a/src/FluTools.cpp +++ b/src/FluTools.cpp @@ -3,6 +3,17 @@ #include #include +FluTools* FluTools::m_instance = nullptr; + +FluTools *FluTools::getInstance() +{ + if(FluTools::m_instance == nullptr){ + FluTools::m_instance = new FluTools; + } + return FluTools::m_instance; +} + + FluTools::FluTools(QObject *parent) : QObject{parent} { diff --git a/src/FluTools.h b/src/FluTools.h index 01a634f9..5264a860 100644 --- a/src/FluTools.h +++ b/src/FluTools.h @@ -13,10 +13,15 @@ class FluTools : public QObject QML_NAMED_ELEMENT(FluTools) QML_SINGLETON - -public: +private: explicit FluTools(QObject *parent = nullptr); - + static FluTools* m_instance; +public: + static FluTools *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine) + { + return getInstance(); + } + static FluTools *getInstance(); /** * @brief clipText 将字符串添加到剪切板 * @param text diff --git a/src/NativeEventFilter.cpp b/src/NativeEventFilter.cpp deleted file mode 100644 index 6966cbf7..00000000 --- a/src/NativeEventFilter.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include "NativeEventFilter.h" -#include "FluTheme.h" -#include "FluApp.h" -#ifdef Q_OS_WIN -#pragma comment(lib, "Dwmapi.lib") -#pragma comment(lib, "User32.lib") -#include -#include -#endif - -bool NativeEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, qintptr *result) -{ -#ifdef Q_OS_WIN - if (eventType == "windows_generic_MSG" && FluApp::fluTheme->frameless()) { - MSG* msg = static_cast(message); - if (msg == Q_NULLPTR) - return false; - if(!FluApp::fluApp->wnds.contains((WId)msg->hwnd)){ - return false; - } - switch(msg->message) { - case WM_NCCALCSIZE:{ - NCCALCSIZE_PARAMS& params = *reinterpret_cast(msg->lParam); - if (params.rgrc[0].top != 0) - params.rgrc[0].top -= 1; - *result = WVR_REDRAW; - return true; - } - case WM_NCHITTEST: { - auto view = FluApp::fluApp->wnds[(WId)msg->hwnd]; - bool isResize = !(view->maximumWidth()==view->minimumWidth()&&view->maximumHeight()==view->minimumHeight()); - const LONG borderWidth = 8; - RECT winrect; - GetWindowRect(msg->hwnd, &winrect); - long x = GET_X_LPARAM(msg->lParam); - long y = GET_Y_LPARAM(msg->lParam); - if (x >= winrect.left && x < winrect.left + borderWidth && - y < winrect.bottom && y >= winrect.bottom - borderWidth && isResize) { - *result = HTBOTTOMLEFT; - return true; - } - if (x < winrect.right && x >= winrect.right - borderWidth && - y < winrect.bottom && y >= winrect.bottom - borderWidth && isResize) { - *result = HTBOTTOMRIGHT; - return true; - } - if (x >= winrect.left && x < winrect.left + borderWidth && - y >= winrect.top && y < winrect.top + borderWidth && isResize) { - *result = HTTOPLEFT; - return true; - } - if (x < winrect.right && x >= winrect.right - borderWidth && - y >= winrect.top && y < winrect.top + borderWidth && isResize) { - *result = HTTOPRIGHT; - return true; - } - if (x >= winrect.left && x < winrect.left + borderWidth && isResize) { - *result = HTLEFT; - return true; - } - if (x < winrect.right && x >= winrect.right - borderWidth && isResize) { - *result = HTRIGHT; - return true; - } - if (y < winrect.bottom && y >= winrect.bottom - borderWidth && isResize) { - *result = HTBOTTOM; - return true; - } - if (y >= winrect.top && y < winrect.top + borderWidth && isResize) { - *result = HTTOP; - return true; - } - return false; - } - default: - break; - } - } -#endif - return false; -} diff --git a/src/NativeEventFilter.h b/src/NativeEventFilter.h deleted file mode 100644 index 3b604550..00000000 --- a/src/NativeEventFilter.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef NATIVEEVENTFILTER_H -#define NATIVEEVENTFILTER_H - -#include -#include - -/** - * @brief The NativeEventFilter class - */ -class NativeEventFilter : public QAbstractNativeEventFilter -{ - -public: - bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr *result) override; -}; - -#endif // NATIVEEVENTFILTER_H diff --git a/src/WindowHelper.cpp b/src/WindowHelper.cpp index e72cf59a..6e1f7ee3 100644 --- a/src/WindowHelper.cpp +++ b/src/WindowHelper.cpp @@ -2,20 +2,6 @@ #include "FluRegister.h" #include "FluApp.h" -#include "FluTheme.h" - -#ifdef Q_OS_WIN -#pragma comment(lib, "Dwmapi.lib") -#pragma comment(lib, "User32.lib") -#include -#include -#include -enum class Style : DWORD -{ - windowed = (WS_OVERLAPPEDWINDOW | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME | WS_CLIPCHILDREN), - aero_borderless = (WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME | WS_CLIPCHILDREN) -}; -#endif WindowHelper::WindowHelper(QObject *parent) : QObject{parent} @@ -27,20 +13,6 @@ void WindowHelper::initWindow(QQuickWindow* window){ this->window = window; } -void WindowHelper::firstUpdate(){ -#ifdef Q_OS_WIN - if(FluApp::fluTheme->frameless()){ - HWND wnd = (HWND)window->winId(); - SetWindowLongPtr(wnd, GWL_STYLE, static_cast(Style::aero_borderless)); - const MARGINS shadow_on = { 1, 1, 1, 1 }; - DwmExtendFrameIntoClientArea(wnd, &shadow_on); - SetWindowPos(wnd, Q_NULLPTR, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE); - ShowWindow(wnd, SW_SHOW); - window->setFlag(Qt::FramelessWindowHint,false); - } -#endif -} - QVariant WindowHelper::createRegister(QQuickWindow* window,const QString& path){ FluRegister *p = new FluRegister(window); p->from(window); @@ -48,9 +20,9 @@ QVariant WindowHelper::createRegister(QQuickWindow* window,const QString& path){ return QVariant::fromValue(p); } -void WindowHelper::destoryWindow(){ +void WindowHelper::deleteWindow(){ if(this->window){ - FluApp::fluApp->wnds.remove(this->window->winId()); + FluApp::getInstance()->wnds.remove(this->window->winId()); this->window->deleteLater(); } } diff --git a/src/WindowHelper.h b/src/WindowHelper.h index 0e60c518..075a9b35 100644 --- a/src/WindowHelper.h +++ b/src/WindowHelper.h @@ -25,9 +25,9 @@ public: Q_INVOKABLE void initWindow(QQuickWindow* window); /** - * @brief destoryWindow 销毁窗口,释放资源,QML中的Window close并不会销毁窗口,只是把窗口隐藏了 + * @brief deleteWindow 销毁窗口,释放资源,QML中的Window close并不会销毁窗口,只是把窗口隐藏了 */ - Q_INVOKABLE void destoryWindow(); + Q_INVOKABLE void deleteWindow(); /** * @brief createRegister 创建一个FluRegsiter对象,在FluWindow中registerForWindowResult方法调用 @@ -37,11 +37,6 @@ public: */ Q_INVOKABLE QVariant createRegister(QQuickWindow* window,const QString& path); - /** - * @brief firstUpdate 窗口创建成功后调用,只调用一次 - */ - Q_INVOKABLE void firstUpdate(); - private: QQuickWindow* window; }; diff --git a/src/imports/FluentUI/Controls/FluAppBar.qml b/src/imports/FluentUI/Controls/FluAppBar.qml index d5184a8a..c530c84c 100644 --- a/src/imports/FluentUI/Controls/FluAppBar.qml +++ b/src/imports/FluentUI/Controls/FluAppBar.qml @@ -31,7 +31,7 @@ Rectangle{ id:root color: Qt.rgba(0,0,0,0) - visible: FluTheme.frameless + visible: false height: visible ? 30 : 0 opacity: visible z: 65535 diff --git a/src/imports/FluentUI/Controls/FluNavigationView.qml b/src/imports/FluentUI/Controls/FluNavigationView.qml index 21ab7264..2f951438 100644 --- a/src/imports/FluentUI/Controls/FluNavigationView.qml +++ b/src/imports/FluentUI/Controls/FluNavigationView.qml @@ -19,12 +19,8 @@ Item { property FluObject items property FluObject footerItems property int displayMode: FluNavigationView.Auto - property Component autoSuggestBox - property var window : { - if(Window.window == null) - return null - return Window.window - } + property Component autoSuggestBox + property Component actionItem id:control @@ -471,7 +467,7 @@ Item { Item { id:nav_app_bar width: parent.width - height: 50 + height: 40 z:999 RowLayout{ height:parent.height @@ -479,8 +475,8 @@ Item { FluIconButton{ iconSource: FluentIcons.ChromeBack Layout.leftMargin: 5 - Layout.preferredWidth: 40 - Layout.preferredHeight: 40 + Layout.preferredWidth: 30 + Layout.preferredHeight: 30 Layout.alignment: Qt.AlignVCenter disabled: nav_swipe.depth === 1 iconSize: 13 @@ -503,8 +499,8 @@ Item { id:btn_nav iconSource: FluentIcons.GlobalNavButton iconSize: 15 - Layout.preferredWidth: d.isMinimal ? 40 : 0 - Layout.preferredHeight: 40 + Layout.preferredWidth: d.isMinimal ? 30 : 0 + Layout.preferredHeight: 30 Layout.alignment: Qt.AlignVCenter onClicked: { d.enableNavigationPanel = !d.enableNavigationPanel @@ -529,6 +525,7 @@ Item { } return 5 } + sourceSize: Qt.size(40,40) Layout.alignment: Qt.AlignVCenter } FluText{ @@ -538,6 +535,22 @@ Item { font: FluTextStyle.Body } } + + Item{ + anchors.right: parent.right + height: parent.height + width: { + if(loader_action.item){ + return loader_action.item.width + } + return 0 + } + Loader{ + id:loader_action + anchors.centerIn: parent + sourceComponent: actionItem + } + } } Item{ @@ -620,7 +633,7 @@ Item { if(d.isMinimal || d.isCompactAndPanel){ return FluTheme.dark ? Qt.rgba(61/255,61/255,61/255,1) : Qt.rgba(243/255,243/255,243/255,1) } - if(window && window.active){ + if(Window.window.active){ return FluTheme.dark ? Qt.rgba(26/255,34/255,41/255,1) : Qt.rgba(238/255,244/255,249/255,1) } return FluTheme.dark ? Qt.rgba(32/255,32/255,32/255,1) : Qt.rgba(243/255,243/255,243/255,1) diff --git a/src/imports/FluentUI/Controls/FluScrollablePage.qml b/src/imports/FluentUI/Controls/FluScrollablePage.qml index 22bb114d..f71b85c6 100644 --- a/src/imports/FluentUI/Controls/FluScrollablePage.qml +++ b/src/imports/FluentUI/Controls/FluScrollablePage.qml @@ -8,19 +8,20 @@ Item { property alias title: text_title.text default property alias content: container.data - property int spacing : 5 - property int leftPadding: 0 + property int spacing : 0 + property int leftPadding: 10 property int topPadding: 0 - property int rightPadding: 0 - property int bottomPadding: 0 + property int rightPadding: 10 + property int bottomPadding: 10 id:control FluText{ id:text_title - font: FluTextStyle.TitleLarge + font: FluTextStyle.Title visible: text !== "" - height: visible?implicitHeight:0 + height: visible ? implicitHeight : 0 + padding: 0 anchors{ top: parent.top topMargin: control.topPadding diff --git a/src/imports/FluentUI/Controls/FluSingleton.qml b/src/imports/FluentUI/Controls/FluSingleton.qml deleted file mode 100644 index bee9dd9d..00000000 --- a/src/imports/FluentUI/Controls/FluSingleton.qml +++ /dev/null @@ -1,16 +0,0 @@ -import QtQuick -import QtQuick.Controls -import FluentUI - -QtObject { - - id:control - - Component.onCompleted: { - FluApp.setFluApp(FluApp) - FluApp.setFluColors(FluColors) - FluApp.setFluTheme(FluTheme) - FluApp.setFluTools(FluTools) - } - -} diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml index 965d67d8..ff8df19d 100644 --- a/src/imports/FluentUI/Controls/FluTableView.qml +++ b/src/imports/FluentUI/Controls/FluTableView.qml @@ -1,5 +1,6 @@ import QtQuick import QtQuick.Controls +import QtQuick.Controls.Basic import QtQuick.Layouts import FluentUI @@ -144,12 +145,22 @@ Item { } } model:model_data_source - delegate: Item{ + delegate: Control{ + id:item_control height: table_row.maxHeight width: layout_table.width property var model_values : getObjectValues(index) property var itemObject: getObject(index) property var listModel: model + Rectangle{ + anchors.fill: parent + color: { + if(item_control.hovered){ + return FluTheme.dark ? Qt.rgba(68/255,68/255,68/255,1) : Qt.rgba(251/255,251/255,251/255,1) + } + return FluTheme.dark ? Qt.rgba(62/255,62/255,62/255,1) : Qt.rgba(1,1,1,1) + } + } Row{ id: table_row spacing: 0 diff --git a/src/imports/FluentUI/Controls/FluWindow.qml b/src/imports/FluentUI/Controls/FluWindow.qml index ce7f0e12..2c8453eb 100644 --- a/src/imports/FluentUI/Controls/FluWindow.qml +++ b/src/imports/FluentUI/Controls/FluWindow.qml @@ -4,7 +4,7 @@ import QtQuick.Controls import QtQuick.Layouts import FluentUI -ApplicationWindow { +Window { enum LaunchMode { Standard, @@ -20,7 +20,7 @@ ApplicationWindow { property var pageRegister property var closeFunc: function(event){ if(closeDestory){ - destoryWindow() + deleteWindow() }else{ visible = false event.accepted = false @@ -28,13 +28,9 @@ ApplicationWindow { } signal initArgument(var argument) - QtObject{ - id:d - property bool firstFlag: true - } - id:window - background: Rectangle{ + Rectangle{ + anchors.fill: parent color: { if(active){ return FluTheme.dark ? Qt.rgba(26/255,34/255,40/255,1) : Qt.rgba(238/255,244/255,249/255,1) @@ -51,17 +47,9 @@ ApplicationWindow { Item{ id:container anchors.fill: parent - anchors.margins: window.visibility === Window.Maximized && FluTheme.frameless ? 8/Screen.devicePixelRatio : 0 clip: true } - onActiveChanged: { - if(d.firstFlag){ - helper.firstUpdate() - d.firstFlag = false - } - } - onClosing:(event)=>closeFunc(event) FluInfoBar{ @@ -76,8 +64,6 @@ ApplicationWindow { Component.onCompleted: { helper.initWindow(window) initArgument(argument) - window.x = (Screen.width - window.width)/2 - window.y = (Screen.desktopAvailableHeight - window.height)/2 } function showSuccess(text,duration,moremsg){ @@ -100,8 +86,8 @@ ApplicationWindow { return helper.createRegister(window,path) } - function destoryWindow(){ - helper.destoryWindow() + function deleteWindow(){ + helper.deleteWindow() } function onResult(data){ diff --git a/src/imports/FluentUI/designer/fluentui.metainfo b/src/imports/FluentUI/designer/fluentui.metainfo new file mode 100644 index 00000000..f5b27142 --- /dev/null +++ b/src/imports/FluentUI/designer/fluentui.metainfo @@ -0,0 +1,17 @@ +MetaInfo { + Type { + name: "FluentUI.Controls.FluButton" + icon: "images/button-icon16.png" + + ItemLibraryEntry { + name: "FluButton" + category: "FluentUI - Controls" + libraryIcon: "images/button-icon.png" + version: "2.0" + requiredImport: "FluentUI" + toolTip: qsTr("A button with text.") + + Property { name: "text"; type: "binding"; value: "qsTr(\"Button\")" } + } + } +} \ No newline at end of file diff --git a/src/imports/FluentUI/designer/images/busyindicator-icon.png b/src/imports/FluentUI/designer/images/busyindicator-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..666d1ed93f76570004e94223558089ced1e89d8c GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaA*$4Q9xB}@F6oBLJUrh%ZAyN|L z7tFxO#xEo+qN-`&n^`q=)82jW{`{S8ERqD2pX2G`7@~2$b<%C7W(6MS<`b?LH4Faz zkN*DP&NAWY%O_oMy6ly|WX@#02izj{Pu5HpVQ5lGFRxp5W>RE==_Q}Jao@ECmgdP= zYciFde#zKoTg&ibdqrFOP1es1mG(yt*3>1nt*HKyaBd1`oLB2o>rZ!`JWm~{5OGu3 z-Wn2dercFjmVI4!ShKG8o%NmX?tOcPENVJ<{^HY~y~iH{WgrSX}SQ0fMNtbkS`y?J z%)rRR#?HkpASk7wX<%+;V{7N;=@k?lms(U@SzXiDzhL2_Z3hk>I)3rVo44AI zd}%!c17p6Yi(`n#@w;I+Cp8%e@LXS1q}+6(OJiPw$^ZYQ+9v~8C$%oADV{fJ-n&&N zO=Vju1Z52E*gPyAsaGB~7JDi!x-jrB2bU6)ASc(Pun9dIOOBf-zSzbj&TzT>OZmTD zYAo+ftism!)Q7$dxt-|r>Z|npz;8L*c9>3{eKf6l+H1`(Qe7Jsw&h0tb80nP@+vRX zFZyfRjvc(%1Z@L*UVXNhO=2;R43N$zrThHpvGXAiLhxJtJ(@%1%M5ow4pL=1B z7S~(eZI^XIex$EziOgF3o-29gj#nnWrIVLl31Vfs;`n=HtWE``z$H9drFi)yGAWNpMC6Qz=Th;HrCD0`(8dbS%dX_09W6_hSaAu zr%zc2@h9vn&=dwwS3j3^P6u2 literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/button-icon@2x.png b/src/imports/FluentUI/designer/images/button-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f90a1ba7dcee2e885f80f19577c929a9f3b94f01 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-smH|E?u0VPPS-@%gv09*Jp^_lK zUt9t!zbm^cO1WaEN(Y*!;w1913pKaR(dsdO_h?# zTCj>S>Op_{RC~X5Z83H`@BLzWsjVg7$e(^}2BY3tHt)CJ3!_SaRx)_H`njxgN@xNA Dl(=r_ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/checkbox-icon.png b/src/imports/FluentUI/designer/images/checkbox-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ee669b3a888107706f6ee4244f3ad8d25c6e7308 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaASqAuoxB}@FWC5q`$7+F^g-U|_ zf*F|EL}i?O{le0guHLle@||zLDvWL@0A|2JeY zDRSRE{As_ILc{Cyh1wp`KUz$Zd3Ybq+v?n+=ohiMj3>QudGpee`0Z9Q5joS>cBF3H zE2EcGy*E$vtyR0n>)Zq3KIW4rZ@z2C`7^KX16%83rEKR&UK^l|44$rjF6*2UngH8| BZVLba literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/checkbox-icon16.png b/src/imports/FluentUI/designer/images/checkbox-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..8d89eab8413ba0656b2de084d7f88bc8ee9fa857 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E0A76Iykax$2y=+!IB`q zU1}Q| zc1*o{rdqL~TuP_&xrngu33juE8P#i2TAT_QH%@vlc=6Bdlryq-E&8YB^{frsy!rmZ cO&?CP@2=*nQq)q90-DU=>FVdQ&MBb@0A-_KhyVZp literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/checkbox-icon@2x.png b/src/imports/FluentUI/designer/images/checkbox-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..51c5601de02228eb480bf24d3c72cbc1c2756ef7 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sW&u7Su0VPP>EOt&9qWKP1xteb zf*H6(rDdGLq6_!!zjXQLoo|23k7R2DC3kqbIEHu}e|yDKsM&zWCD74Li2cN0{n>(d zChcBbu+8xG|5ZF5+p3=?^O}4x_Bg(hYso#nVAhInZHKmf(GWQEJn)MG!x{D4{fo{Y z+OS<=!S;V*2X=oy^i@;l*Dec|3Q@7)*g74zbm moYkufvtxpGzxyv|!*J(FW3X23r`te3FnGH9xvXgGyCcGT15k*$ zB*-tAK|tPi&+RH8*V5C)F+?If*}#p7M@=sv;lP2O=H^8_=IpNh3l|tLciFl%fdmgE qoM2#mQuN?i(usgGj)fYVY#DwADIR`NX%GiAgu&C*&t;ucLK6T6s4><6 literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/combobox-icon16.png b/src/imports/FluentUI/designer/images/combobox-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..15fc3505ba2660040691c9ad005582bc5349f2b8 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=1^!z{Rs?wca=H1B$Yg z1o;Is2*@i$Hoo2iZA!u6{1-oD!Mp>BgT=OV@lPaP6+PBgH&sTwfe6l%*@sK+wdz+v<3!jPt{gM18D X*0Uz8->u99G@ilJ)z4*}Q$iB}>>E0^ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/control-icon.png b/src/imports/FluentUI/designer/images/control-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9e4e8ff3fd207c48a0a30c3e3029511627f006 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaAnFaWSxB}@Fq=O^7cB}*H6f6ny z3ufTg&@>NBOK)n~eE8)1kKcZ9u4X+Al4F`FY7M|9k&a_cj;q zUeWs}^3tSj%pF@|I%ZlPfAC`ev*!BJGtBpAIV?SK+3aw6uI}kYJn#43|Bz{vCi*w6 z!t2~DDGBlm zX5cgP%bc}f>B;-Q{zeDg+YS^@^mK6y;gC&ENC=p_)u@A!-Dh+ra!&EHGlr`t^Q`tc$I$p$ qi-lQ_HJs-z$w(#tiEHF0SI=Wgh`8WAJqKb6Mw<&;$TPwOwrh literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/control-icon@2x.png b/src/imports/FluentUI/designer/images/control-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..22604d24925ee67a08bd61b1392c907074440f8f GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-r0X`wFKzao&!9mrT5e^S8qIf{pI`5Ux$q51~M=(>Uz33hIkxbI_>4O zCIg<<=8gvqIbM;f@BdGGeC4T0?$$eo`y=+9Ubr(eNXdHAqL;^JR?6*O=Aj|*dsDh# z?au!V@~@`Ojd*=n+Gf?dH@(@SKYx@w*lxH)Z@xZLW_021Cua4N=I4}KuY3^Pp#E#c ziP(Fge52PK&D1Aa3lE*Be-pam#)riV zj(ySo%xQG_V4Ky$_5KPr?=yHl1{q$GdD5D+jCW7K1EwF-AGjXQZ0&9KX4bRYvF9T% zOMc)E&Ih?{c_|gETV{VeR#yKfZNUR&Z3~h9`~9&s8y>s2*UR{=d3^q8`JbPxVWx-O U*)FTR0ERJxr>mdKI;Vst07{qug8%>k literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/delaybutton-icon.png b/src/imports/FluentUI/designer/images/delaybutton-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a55bd9f77a7ce1712cdcde0b71f75c6d4f8fde8 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w#Q>iWS0KG&#fpRb_5n#CIC|*N zsbj|=>Dd%8G=cpQH_#hb4|fyZU_4_CpZd;dpcyBm14V;{mU46Nk-( zF3vtCwF)7h2lZSZHXo8_4`)BQLjwvjCmJ;OXk; Jvd$@?2>{dMfvo@l literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/dial-icon.png b/src/imports/FluentUI/designer/images/dial-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b3b63e35235dd797157aaca4cd31f9a11de42daa GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wl>na*S0KHD5SU)=kO5T3T@vIM z%pk3iR@1cU@cSQsS0x+$0}6M0x;TbNgvVY`6lw|(X?<8fW1{E{oszHz6V8auZgeuA z9l><*gpf}Y$B+DT3(l+0E7?EOxcpgM!;>36&v_UoO@8%w?b=mw3}JOe3|zJEu7$r< z%>2q%J=ZwsE1UFIrT!Nhyr%3~hnd`^_RsvF?yZwmdc;H0aDscu51USBN(=tm h=M{eYr1&vZe~HdaSHlyYQ-RK6@O1TaS?83{1OQJXYvlj{ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/dial-icon16.png b/src/imports/FluentUI/designer/images/dial-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8c7c09b05c2887c856770cc47b145793989155 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=1^s1_#a*o&jp$D+%%o zX5f=B^Qvi@we;kr`|p0GF5Te|lu7q=aSY*zc0IR|*Cm0$;i0?B6tAVaB}o&s^Vs)p z=n%|tNayNwQ}laxw&3Xe?su>6F|Vr3X5_lcxai{fCsQZCw7xno>U0FZRj!b2WJ&GI yv+GvfXZJqfD_#)9E|bD&dvQh8Q~xjfKQgZ~2|KemWuXnwN(N6?KbLh*2~7YGG-fjZ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/dial-icon@2x.png b/src/imports/FluentUI/designer/images/dial-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..22547a16b83685ee549deed44d142efa8ebd7c6d GIT binary patch literal 505 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s;Q>A&u0VPP4Zy32&P70@WlDnl zf*Cl)#HAFJbgdm@5{k>3X3Uy@;OdQMufKf%@#~N0sox727#K}GT^vI^jxU{db6c|k zhwH|yxvP$?jI#aze{SuI2fR*EdEb*8M3*^qSY$r^mC5#OWqGKVyvHj>Ip?`7SI)of zV$QA(yR!Hh+r(&L&tEq=rW#tmn$FFnqk4V+17`8XcAGV7Z(b8Ej47F2|LgebGvEKu zvhVx6TK>58rxWMTPutJ3v;O#xQ+bc$@4gK$-?yal+VrcdZ}4)39dth%J*}_8ykq7H zRVA-$?|HAabY#sdxU0HAZBe8AD@SJLz$%TEv%(lWR$7@g23asTxcX(xUaRf5+<Q z^{)mOFQ*vK$k--%hDEuId9(Mk1!pr$&6w4{D2I;hrMfOUBj}OVyxi`*lQqpW3AF`uo;a{j%TJAIi_4oWIY$ ZJaE;{_RqlwzXAiA!PC{xWt~$(699>c@_PUP literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/frame-icon.png b/src/imports/FluentUI/designer/images/frame-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..32abc8bf1e6b9d98a5ce461efcb593f89e527838 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaP3?%1DUd;wloB=)|u0VPP7+ja>lLc~^N`m}? z83eLb?#2LlvYsxEAso@k5v*)HE3TXhP&knkagc!}s$}^FOHPJWnHo+^t0Z3m6*73b L`njxgN@xNAUMC+6 literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/frame-icon16.png b/src/imports/FluentUI/designer/images/frame-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b65ad53bb792c1c2c20d782e8481330a701eeb GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr`&KF&mSP*0XUj2&>ML zl#q~!m~f*>x^${DJ8XFtA;v`HHt}v{UIAHN$ry#@Jx!jD|-jlxp P&0+9#^>bP0l+XkK#Wf<5 literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/frame-icon@2x.png b/src/imports/FluentUI/designer/images/frame-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8b876f38ec88057dd131434dcf4ce12657cded8a GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDD3?#L31Vw-pXMj(LE0A6R2G?c!WPu!}k|4ie z27zpqyD>nXqNj^vh{nX^h*lN}jpsVNtxXyV>5R-G1-(UW2JN#nSr}FyTNQR*YnM1s OF@vY8pUXO@geCxN=^q&Y literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/groupbox-icon.png b/src/imports/FluentUI/designer/images/groupbox-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5542ecf8bf7ae6b433f2b8cdeaa4529ccb251c5f GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaP3?%1DUd;wlJOMr-u0VPP3>dQs_5=CMB|(0{ z3K|E0A6R1IBEE{Xjl*NswPK zgMhs4p4(MGu7;s1=sKkJL|y^{Q=wB>ex(Tfv`dYc&5 X70r@R{m3N))WhKE>gTe~DWM4fo2w@4 literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/itemdelegate-icon.png b/src/imports/FluentUI/designer/images/itemdelegate-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..822cf3e7b8bd78fbe03c6d022b08cce8c47327ff GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaP3?%1DUd;wlJOMr-u0VPP3>dQs_5=CMB|(0{ z3Sajv*Yf$q)YXv&c*QaB5u8&^VougXedQs_5=CMB|(0{ z3{K_-D8zmURJVht6OP|{SRL9`y L>gTe~DWM4fCek7V literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/itemdelegate-icon@2x.png b/src/imports/FluentUI/designer/images/itemdelegate-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb81308ff8d271d4f55f3f8a44174eee3d83969c GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDD3?#L31Vw-pPk>K|E0A6R1IBEE{Xjl*NswPK zgMhs4p4(MGuBxYtV~EDYyU2 L)z4*}Q$iB}_{U9= literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/label-icon16.png b/src/imports/FluentUI/designer/images/label-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..b68d38456852cecc813b19f2e0a61cbecd7b12e0 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=1^s0M93H^#>~DDGBlm zX5bT$kk^Us>O1)S&s6a#T0n6lPZ!4!j_BkB1-1?6ESZ^jdhVtx^sF&X@6*uKoSSG7 q9K$SVnVit9#uUzcoz_BWa)JN= literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/page-icon.png b/src/imports/FluentUI/designer/images/page-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ac87e899124276f452c1709ffeaa4488857a26 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ipS0KH2_wN0B_8i!^4}uQu z-+%bv!DELHpFDQ#%!w1{PMun@V#VrJt1g^5bMfq1dCfa)Ks`JqL4LsuJn~jiHS-SK zdH3UQ=Erk+KygD)7sn8Z@Z^LCmdq^XED{G8&g``3ocZ}QL+9suZlmY%3_{QUo2Q)n i&m_Ul!pCFH$6&u}(S_6b)0Bal89ZJ6T-G@yGywo)y-T?O literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/page-icon16.png b/src/imports/FluentUI/designer/images/page-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..bc6810b6053c29e358e0e7fe7717b695f07c29c8 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=1^4tk}DI_u&Hv4j(*t z^w1$7_u|>Jj*DAg0_E6Bg8YIR7@5vpxGGw|ZwXLD)zif>gd;jR!Nc3zJ2ZiTNkQ3` qtoyr-DL^^4k|4ie21cfHm#(UN-cbXJgm}6*hFJ8zJ?+Tb;2_|9(aYgb zlmnC4HD-kb=VNy2ZPR=M4gUZ7#Q5OEH@0`Jo2_@uYJ9<$k~qP&L7Xv8BqOln?7;}0 pBd-*u>pw9%IOD;}1q&XC=T*tOKV5!V{sYi_22WQ%mvv4FO#l}POVj`W literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/pageindicator-icon.png b/src/imports/FluentUI/designer/images/pageindicator-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..edb6b377bbde35765c6982742927d65c2c83c6a9 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wxd5LKS0KFt1`Z!MaOBXTqlXRw z1y-+Gb@A-k%CmIUzxxy(x^5&48iU zN_L`UFv|oBV<0V{sll$q`nX|f!kn3$27DYM7aD_)9B?pN9^u(pQO(dH9~B&Op78;-K=Z492SelF{r5}E*24>C*u literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/pageindicator-icon@2x.png b/src/imports/FluentUI/designer/images/pageindicator-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7be0ee813ba27559bd1823f23c4640509aedb4d9 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)Iqyv0HT!Hk86)X1c-VG!VA2@L2 z(4nJ;4guL0&z^mK$@?!*n!O~*FPMRmN#NY2t6AyneL$fYPZ!4!i_^&o2?-kQ%|@(j zDGd`=cpOr_xU9i>kuv9WmM*arP7z%Vp%YO7DigLY@KVThoce;}i0VZppn}7K(^+D; wcL8ym3wIj}PmdQ*XlIf}`3*0gX$kBMiU)ILXEoIw0oudh>FVdQ&MBb@0EWy+1poj5 literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/pane-icon.png b/src/imports/FluentUI/designer/images/pane-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..62ebe487ffe431d595456f891f6a75e93f8d821b GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaT3?y&uT)!Jgu?6^qxUN{S;^Nt}{aNilfFeSk pE{-7_(a8x8OrQSO2e2wLGW_15+RHoHxB@84;OXk;vd$@?2>?6*8cYBH literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/pane-icon16.png b/src/imports/FluentUI/designer/images/pane-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8048441c3f5ba946a2b52ccbeab9ea4efd82f3 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>xvaCE}lKxpVj^YC?e?T n;uyjaot(hH{M)`oFhY?b&XDiurWHpjfRYTJu6{1-oD!MU6APxr67>%Bb{q=3QG)z4*}Q$iB}a4H*& literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/progressbar-icon.png b/src/imports/FluentUI/designer/images/progressbar-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a023f73c30f735932d3faaa1a92ad6ed8ba20251 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjI-V|$As(H{2@}J_b)$KbLh*2~7YzlOAmV literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/progressbar-icon16.png b/src/imports/FluentUI/designer/images/progressbar-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..6fede21d8c25587b5fbd68f10760931a80a84e28 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%APKcAr`&K2@zopr0GEar6aWAK literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/progressbar-icon@2x.png b/src/imports/FluentUI/designer/images/progressbar-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0069400335675fff35c3e9969eb8b0e5fadd1623 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCH%}MGkc`H+=dA@B3`AHCG&?%{ zsrGW5s-(0*fZrfLXoL0xJ5HdwKbH%?-_zngHfQR`os(>q@*X{Rmw8`Nf;l@-jv+3x WiiM5+)WnO?AfBhIpUXO@geCxwLMILY literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/radiobutton-icon.png b/src/imports/FluentUI/designer/images/radiobutton-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d38170e22f79cab05291702503bae084452c6857 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w-2k5uS0KHDXmH?6;TfO?zLFrn zU0Krr%(n zA^<$q|pm3C@i(?2!baFz1!OX3fW-@ZPlruXjFf%8cc5IAoXe>3C zU@?eze{Zi&_V;&ZdG75l*Dxr3fA5e%^>-yUwzYSyCBxqPB_t%=-phTk!TX@-;jM>x gTcR1ai#+3Dn7-Rux}xN2Gtd?WPgg&ebxsLQ0J2q78vpn3Iu0VPP&A{^DYtBFm;geE<3DPr;4-3m6y}#XMacLp+Yp4LdG& z$bctUeC`y!T?haFpD8n=OhRy%>co4SWsmYDOboeeps#e=rX;jUzT=>h?n}_ssn@sPp#IY>u!B8r(W!9xgTGGL%sIk+ zdGD^?ibXr`zJI2DV_o^ZF7qgc4%z>6ej9Z!TJz?7-})qmt#@sgea~9rULD44P&du_ z!gi3<^f*CluxcLR-b*IdjJAdKgRo{R7EMfj+3bM=7#W6%8 zd~1)nP=f-)fh0!}Zm9?V<4X%t%#z;;{b)@*ectl$miv~y2Ub-bTsUh%XmY?+0o~rP j*dHw2OTT*B|7{d^+sWeo@KW|%plJ-Au6{1-oD!M<1?gaw literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/rangeslider-icon@2x.png b/src/imports/FluentUI/designer/images/rangeslider-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..aee69b3302f3d2e198bf43205bed9593c06cca74 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)Iv;urWT!HioykOfU3Dlg8YIR_%zIBEj@7Z{;#*qeJg>YQ$1ZALoEE06C_xh`3$Phz5_MY3)> z%5^A)XIes|mj%PkIDuzE3ZLKIwO$>j8+FVdQ&MBb@0Cucy AmH+?% literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/roundbutton-icon.png b/src/imports/FluentUI/designer/images/roundbutton-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b470dc25b0ef504feaf40abc6f19568d906b9f GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wxd5LKS0KFtH?W@m@j6fiXGxG> zFoT9>TGQsk?|(e_e)a}XFxS(?F+?IfIROZYR?nHY=l}y-&qU+KgjEbPk`0AYnRwP1KU8RN6h1if$b-%YK8Yt>3YHm$C|O*VOjBYE;p;LI xVGihV+bD9>QiIR+Bh#wq0egC-6gn0#FLtWuOXvXa#&v+PioHQw)QK@tcXd;8BtDnm{ Hr-UW|OUgb; literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/roundbutton-icon@2x.png b/src/imports/FluentUI/designer/images/roundbutton-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4553e165e75e017d03c687f524864cfc5ec31d4e GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sP60k4u0VPPW#Ct1(;1*Cq9s9o z!3>;I3d*`Mi6!MtGiM#VdgIxb?>~P9`o4PwRB+YP#WBR=_}ppXe1{EqoTt95I1>GR zf7azrv*0(s)fo9Zg)YwW+i9uxOeB4|)vg6s=hc7MWjpcvwoh$YznLqOx!wo)Y+f$U zBrnvqw(d-glic-Ro%%Bz{+=@2)UZC7H!|tO{MqJ>t}WkRONk}L{f}PK_UTXY>7+M{ z@2$EM@P6tFNe6wleu+Pq^m#5$JjBx_lU87o+%{7wtz(LTvl81u-VYNWcppB`RWB1G zRq*lP(_V9dJBtc99vCvSOUg|xka%3!&o5Gw^3YjOe)o@r)z4*}Q$iB}{k^e- literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/scrollview-icon.png b/src/imports/FluentUI/designer/images/scrollview-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef73ff19f5b4fea251158ef7cebcfe18ba69c2e GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaP3?%1DUd;wlJOMr-u9cOQH8nLWR;;*q_U!v9 zbqj&wvYsxEAso@kKlqv0B{l@8zw|kn+s?EsbamL;hC+suKdUFi=w8kODrE3<^>bP0 Hl+XkKR3IXa literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/scrollview-icon16.png b/src/imports/FluentUI/designer/images/scrollview-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ca7a368537023c3d2aab9034a7b7d582e63687 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bt*or9si|4Ibm@u}D=wZr z%Tqe_C{Rkl)5S4_LpHg9k(r&1O~aYtn85-wXT~%IW+4MMMio1T&DW%E7}p#r1*&E6 MboFyt=akR{0K6X`r~m)} literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/scrollview-icon@2x.png b/src/imports/FluentUI/designer/images/scrollview-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0eb7f9665eca2873d71eb11f37de87085a3a41e9 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)IBm#UwTq`RptE;PPYHC`Vo9EA; zzi82-6)RR;JbU)3^*2SJ8WT?!#}JF&WR2r2tUL+^2|`|67Alt}xv9FTw#{tmRt_zm r!pO|$FwI4Z%VVjF6Q}5e*IEn~eA8xo_AY1v>SyqD^>bP0l+XkK7yB&s literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/slider-icon.png b/src/imports/FluentUI/designer/images/slider-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0a9729bea5b8c361644c46bf9755b9e25aa10b GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w^#Gp`S0KG&#fpn(&jLv}Sh;c~ zG8-s+GkMlUpi-`qAirP+0Ree~oqP9w`z7|l=K)aE#?!?yL?S#nVS#c&=bTpz&nwnM zU1dtsV065?D)clbP0l+XkK9+5_f literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/slider-icon16.png b/src/imports/FluentUI/designer/images/slider-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..a08622df89c7e26c95037576756b0438b963784f GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=1@pz{-^?FP=SHSblLH zP@1hI$S;_IOF(|!_w{)>CxIebo-U3d9MQ=M3cLop+Bg~{buu&g9JF+GbtBggTe~DWM4f1MxKD literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/slider-icon@2x.png b/src/imports/FluentUI/designer/images/slider-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..93842e4cddee2520e82323ed034328f7e29b39f0 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)Iv;urWT!HioykOfU3Dlg8YIR_%zIBEj@7Z{;#*qeJg>Yah@)YAr`&K2@8@2R+%OsYz uKnq><7cq0>j!3FlFbkG%=x;j6!0>Zp{@VR@QyPFaF?hQAxvXdQs_5=CMB|(0{ z3L5L+wznlvQ>KXhV@_90`)R@y85}Sb4q9e00{mnKmY&$ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/spinbox-icon16.png b/src/imports/FluentUI/designer/images/spinbox-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..f88711dd25f81cc0083234d51cba9f1bbc521e10 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=1^!z%ebMD4-BaNswPK z1EYX^>1<(6Am7;2#W92)2^X5sLCr#>{$kjZ#Ntn60YZ6EEWaf^Ai<*uk jFc^wN2=MGEQ(|Bc`^mMoELHn2P&Xuyn5(77 z%&o2a;#Ng@b=d#Wzp$Pz?H7DW# literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/stackview-icon16.png b/src/imports/FluentUI/designer/images/stackview-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..0f19d0efa3e7202c191d6b4102899c27258e0074 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0VPP3>dQs_5=CMB|(0{ z3K|E0A6R1IBEE{Xjl*NswPK zgMhs4p4(MGuDhp;V~9p@azaAFAAUBTgogId;x5;M+m-*zbM1TZJcgIGIm6&N!x5RX zRmD!96Tki8N&V5!@}c0L!GXrV9#8-9wl-HO9p+_NX0&lujk4HMppguou6{1-oD!M< D&7C&v literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/swipeview-icon.png b/src/imports/FluentUI/designer/images/swipeview-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..031cb27c367c05b5853f5229142b77ebbdefcc62 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w{s5m4S0KFt2^`ZBiUJC;lmz(& zGcXFsm(CXE1oG`YT^vIs!jlUanbp}08Ul7$222&`+dN6A=`qVQWebO?9DTyf+%q=xu&y>B_N`<)fMlqs1<(6Am7B(#W92?~LJnCXX66dsD+?qR8 jAk0ErQ?oI*-IAHXL7Ly(+U%+hP(OpGtDnm{r-UW|@!uw@ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/swipeview-icon@2x.png b/src/imports/FluentUI/designer/images/swipeview-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ccb978c46996706aa482cba92f28a43da013256 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)I_yc@GT!HioBydbiC<-XVQWE4B z%)lrhUpiZu6UYzoba4!^IGtSJ$mYkx;n3D1TxK>==$x0rf)35b9N|`>1nUi+7K)t{ zlo;8rOk|j(vslR4foVoZNKD2Yi36NdFR6GP?QxDNYfDK~UEna*S0KHD5SU)=kO5T3T@vIM z%)rj2R55e$`&_1;n*!&=+Fo_?@JtdoSJrlwk%woEz&X7TzAhsX=71izjUq=aLs%KuulQ>w TOgmNrG?>BD)z4*}Q$iB}`lm>% literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/switch-icon16.png b/src/imports/FluentUI/designer/images/switch-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..9abd27565926d503ac3471e00d013441b5f6cd1e GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=1_9fvFWCML;?Bk|4ie z2ECA-C%^r2xh?h?C}iO2;uyjaot&V+WH4(gv*RX)=8R734$%_{>khCai5M?2FlcBw jCBU;oB*rktT9AR^`ytWfM#=tWpk4+~S3j3^P6EOt&9qWKP1xteb zf*F`a#Z}dD>SSIpSB8 zV@*t#>+O8alk$m4ZF2g@l_7OYr#-Phbobc&oOfOQ?D+*pjO(8IUi z5z^1%Ie$L%%K6t3yJQHf9oHjMU!>Hf)zGQ0My9-Jw2BZSwz0#^o(m6I(@Y$pc-> N;OXk;vd$@?2>^i*jFbQX literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/textarea-icon.png b/src/imports/FluentUI/designer/images/textarea-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b2dc0f84decad634be9c7b7c31b306b2d61dc4 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w{s5m4S0KFt2^`ZBiUJC;lmz(& zGcXFsm(CXE1o90%T^vIsrY09SGV!<+_e@b>I1`xAz!0VFe0?#~bB3=Q6sBly*fHUh ip-{r1RH-s?1_mxUyWcLaN-}|(89ZJ6T-G@yGywpsJt_tO literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/textarea-icon16.png b/src/imports/FluentUI/designer/images/textarea-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..4afc1fbab56a1466a0bab865a88d16c252da0a0d GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=1^!z%ebMD4-BaNswPK z1EYX^>1<(6AYakb#W95AdU8P{6PpfCx~f8eVyp{mR$mjhUfbpdt}<`NwTtDMvZHlh Q0u?iOy85}Sb4q9e0D9&lIsgCw literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/textarea-icon@2x.png b/src/imports/FluentUI/designer/images/textarea-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c32ecc71a9a1d084ad0989bd4def630eaecefe9e GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)I_yc@GT!HioBydbiC<-XVQWE4B z%)lrhUpiZu6Uevsba4!^=uIv-$SBb^xn;8uS3sk;h2a7Qu|qb#l&!0Q0(4wpRS!i6Bs;Q{an^LB{Ts5Df}t~ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/textfield-icon16.png b/src/imports/FluentUI/designer/images/textfield-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a62a6582b38f7eeefa997a6110515444ef2ebb GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=1^!z%ebMD4-BaNswPK z1EYX^>1<(6AYb3p#W92)2^XBgE&66fg;%c6}d6IBIQ|rN#uB>w(>aYkG fHX1y*)d{rcE!X4*y(4#kS{XcD{an^LB{Ts5V)`vK literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/textfield-icon@2x.png b/src/imports/FluentUI/designer/images/textfield-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e05fd41b9a4b4e4d751171d16b79cf2582a0d016 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)I_yc@GT!HioBydbiC<-XVQWE4B z%)lrhUpiZu6Ug`Qba4!^IGvmz!Ro>+F4G{xnXamFIg*nxq(R8fz}L^iY_q@w2I(eW zCLNbaE#2Kr-KQ5!E(jA!STu{>lQ;H_&=qf<#SIw@438K>)_;|G+Uv;7hQ?78H*D{ cE-*4MIAkgIUY=GN4K$U()78&qol`;+0N(N{rvLx| literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/toolbar-icon16.png b/src/imports/FluentUI/designer/images/toolbar-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..569373afa13d54df936d5504e23f315fb79cf28b GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`mYyz-Ar`&K2@bP0l+XkKI29kM literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/toolbar-icon@2x.png b/src/imports/FluentUI/designer/images/toolbar-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9e6ceebccdd430910b93bb78c2d7a0c427fe42 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDD3?#L31Vw-pPk>K|E0A6R1IBEE{Xjl*NswPK zgMhs4p4(MGu8yaRV~EDYgGyCcGT15k*$ zB*-tAK|tPi&+RH8SIg7IF+?IfIbng8fg95g3%4dUy<^9^4s{)J=u>3wP(Gk@z(=j! d!h0nb!{aX!{@eHEtpMs`@O1TaS?83{1OQF4D^~yj literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/toolbutton-icon16.png b/src/imports/FluentUI/designer/images/toolbutton-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab7861c25f176bff19ca9ba7efef7bb84eee7bf GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?w&4=Ar`&K2@mdKI;Vst0Ar>hZvX%Q literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/toolbutton-icon@2x.png b/src/imports/FluentUI/designer/images/toolbutton-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e5958cded3f6380ff124298781f879a0db94f438 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)IgaUj*T!Hio7+Ae()y1=CYc^&5 z28uG51o;Is2*}&+xm^Y1T6nrRhFF|VPLN=AVNRAwIG`%R%G&Ge?Cjjr+sne*dN8J= th2g?Q0ZwN&wlstCCEh%TBxHa}8PcYvn9YpzegHIs!PC{xWt~$(69Cf&FCG8@ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/toolseparator-icon.png b/src/imports/FluentUI/designer/images/toolseparator-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5e99f06f2eff39c0532c1b2075134f2232271d72 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaT3?y&uT)!Jgu?6^qxB}@FD^{Gjzd{GdVk`;r z3ubV5b|VeQ5%+X)4B?1QPHlLc~^N`m}? z83eLb?#2Ll@}4e^Aso@k2@cFYygWV$R#O@kMVuOT7BG2owsbQw6g4qrnv}g~0V-wi MboFyt=akR{09WxHl>h($ literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/toolseparator-icon@2x.png b/src/imports/FluentUI/designer/images/toolseparator-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..549c11c67cf8a556cd0b0e0c69a829ec85ab4eea GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDD3?#L31Vw-pXMj(LE0A6R2G?c!WPu!}k|4ie z27zpqyD>nXx~Gd{h{nX^1POx$TPHo6bKyb&2m6tTty!Wi%t<^(d|l2jMXi__8JrLK Vv>%r;R0C>Z@O1TaS?83{1OST3A`k!o literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/tumbler-icon.png b/src/imports/FluentUI/designer/images/tumbler-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..98eb8232a268efdc2df72a346f17c181f0bb157e GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaP3?%1DUd;wlJOMr-u0VPP3>dQs_5=CMB|(0{ z3O_I+89ZJ6T-G@yGywp7rzX7s literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/tumbler-icon16.png b/src/imports/FluentUI/designer/images/tumbler-icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..ff5f95cf327e4213256393bdb3d2afef20afb85f GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0VPP3>dQs_5=CMB|(0{ z3Sajv*Y;$q5IT{>}gYN8W3W_P_oke=Gleu2InwV_@ihAS<=LY1J>F OQU*^~KbLh*2~7a>`X=fC literal 0 HcmV?d00001 diff --git a/src/imports/FluentUI/designer/images/tumbler-icon@2x.png b/src/imports/FluentUI/designer/images/tumbler-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..236abf0cfe2a6e344f9502b8221e2869e62de1b3 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDD3?#L31Vw-pPk>K|E0A6R1IBEE{Xjl*NswPK zgMhs4p4(MGuBE4oV~EDYbP0l+XkKB^NHe literal 0 HcmV?d00001 From 0a1c6d54bc5c64e09efa3fe9d18159ac993b43e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Thu, 11 May 2023 18:51:44 +0800 Subject: [PATCH 12/13] update --- src/CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0f13f206..fa0cc07f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,9 +16,6 @@ else() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/bin) endif() -#设置QML路径 -set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/qml) - #设置版本号 add_definitions(-DVERSION=1,2,9,0) @@ -54,6 +51,7 @@ endforeach() #添加qml模块 qt_add_library(fluentui SHARED) qt_add_qml_module(fluentui + OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/qml/FluentUI VERSION 1.0 URI "FluentUI" SOURCES ${sources_files} fluentui.rc From a0dae1711732199791e012661d8d59680810fedf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Thu, 11 May 2023 20:10:42 +0800 Subject: [PATCH 13/13] update --- src/CMakeLists.txt | 15 +++++++----- .../FluentUI/designer/fluentui.metainfo | 24 +++++++++++++++---- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fa0cc07f..55d4588e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,12 +9,11 @@ if(APPLE) set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE) endif() -##设置可执行文件输出目录 -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/bin) -else() - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/bin) -endif() +##设置动态库输出目录 +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/bin) + +##设置库文件输出目录 +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_PREFIX_PATH}/lib) #设置版本号 add_definitions(-DVERSION=1,2,9,0) @@ -70,3 +69,7 @@ target_link_libraries(fluentui PUBLIC if(WIN32) target_link_libraries(fluentui PRIVATE dwmapi user32) endif() + +#如果是debug,则生成的库文件名后面拼接d +set_target_properties(fluentui PROPERTIES DEBUG_POSTFIX "d") +set_target_properties(fluentuiplugin PROPERTIES DEBUG_POSTFIX "d") diff --git a/src/imports/FluentUI/designer/fluentui.metainfo b/src/imports/FluentUI/designer/fluentui.metainfo index f5b27142..c3a4f548 100644 --- a/src/imports/FluentUI/designer/fluentui.metainfo +++ b/src/imports/FluentUI/designer/fluentui.metainfo @@ -1,5 +1,5 @@ -MetaInfo { - Type { +MetaInfo { + Type { name: "FluentUI.Controls.FluButton" icon: "images/button-icon16.png" @@ -7,11 +7,27 @@ MetaInfo { name: "FluButton" category: "FluentUI - Controls" libraryIcon: "images/button-icon.png" - version: "2.0" + version: "1.0" requiredImport: "FluentUI" toolTip: qsTr("A button with text.") Property { name: "text"; type: "binding"; value: "qsTr(\"Button\")" } } } -} \ No newline at end of file + + Type { + name: "FluentUI.Controls.FluText" + icon: "images/label-icon16.png" + + ItemLibraryEntry { + name: "FluText" + category: "FluentUI - Controls" + libraryIcon: "images/label-icon.png" + version: "1.0" + requiredImport: "FluentUI" + toolTip: qsTr("A text.") + + Property { name: "text"; type: "binding"; value: "qsTr(\"Text\")" } + } + } +}