From 88d40018db4bdc5921a413a2549fdaa78228fb75 Mon Sep 17 00:00:00 2001 From: notify Date: Thu, 12 Jan 2023 22:53:22 +0800 Subject: [PATCH] UI (#42) * TileButton * app icon * about page --- image/button/tileicon/about.png | Bin 0 -> 2144 bytes image/button/tileicon/card_overview.png | Bin 0 -> 1050 bytes image/button/tileicon/configure.png | Bin 0 -> 2299 bytes image/button/tileicon/create_room.png | Bin 0 -> 1615 bytes image/button/tileicon/general_overview.png | Bin 0 -> 1898 bytes image/button/tileicon/quit.png | Bin 0 -> 785 bytes image/button/tileicon/replay.png | Bin 0 -> 1559 bytes image/button/tileicon/rule_summary.png | Bin 0 -> 3237 bytes image/button/tileicon/start_game.png | Bin 0 -> 2142 bytes image/logo/freekill.png | Bin 0 -> 8498 bytes image/logo/gplv3.png | Bin 0 -> 4746 bytes image/logo/lua.png | Bin 0 -> 37530 bytes image/logo/ossl.png | Bin 0 -> 20354 bytes image/logo/qt.png | Bin 0 -> 8627 bytes image/logo/sqlite.png | Bin 0 -> 21214 bytes lua/client/client_util.lua | 25 +++ qml/Pages/About.qml | 80 ++++++++++ qml/Pages/Lobby.qml | 36 +++-- qml/Pages/TileButton.qml | 175 +++++++++++++++++++++ qml/Pages/skin-bank.js | 1 + qml/main.qml | 2 + src/main.cpp | 3 + src/pch.h | 4 + 23 files changed, 316 insertions(+), 10 deletions(-) create mode 100644 image/button/tileicon/about.png create mode 100644 image/button/tileicon/card_overview.png create mode 100644 image/button/tileicon/configure.png create mode 100644 image/button/tileicon/create_room.png create mode 100644 image/button/tileicon/general_overview.png create mode 100644 image/button/tileicon/quit.png create mode 100644 image/button/tileicon/replay.png create mode 100644 image/button/tileicon/rule_summary.png create mode 100644 image/button/tileicon/start_game.png create mode 100644 image/logo/freekill.png create mode 100644 image/logo/gplv3.png create mode 100644 image/logo/lua.png create mode 100644 image/logo/ossl.png create mode 100644 image/logo/qt.png create mode 100644 image/logo/sqlite.png create mode 100644 qml/Pages/About.qml create mode 100644 qml/Pages/TileButton.qml diff --git a/image/button/tileicon/about.png b/image/button/tileicon/about.png new file mode 100644 index 0000000000000000000000000000000000000000..630d64791bb656121bd7a7b8bb87b1db3938dc36 GIT binary patch literal 2144 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 Ym7yg>!&761H$V*xp00i_>zopr049*J)&Kwi literal 0 HcmV?d00001 diff --git a/image/button/tileicon/configure.png b/image/button/tileicon/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..6262688d91b0666cd6fa6ade6b1bd1827ac94a20 GIT binary patch literal 2299 zcmcIm_cz-OAN@+LDkWCYsMa10B1uJx8nH`IRaYHRb>YD?|CI*3}O!-Liq ztv%YB6{4kL*PG`&=e*~PPbk6x3tc>(| zNPGH>PK+L!#+m@|D(%dX6BAuubkR3A27qu00EmtSfc+CX{{R4@A^@!21_1OE066ED z?%1VE&w`wd^f16lTw4EIx;pKzZyf{xXFLA}LyupjE8S!v7#QoY%%A3C10Z(C0wQ#W zYJkzS2%Xw^<`d6%Q=sRhjWT=1E@aYjb|x5JI$?fUTUJ7!*K7t`uCL(Co4~4@F7Dne zlqe2mzT|q(prgpz+%>^TbJ13?^nR7#Y7Vu!#@&y)+!|7#jtU8Or#`#mk$=@A)n#Zi zV&W-$MKx%-X*+zmA1cb~By(jpT3nPY5RYIMO^MNWx%h9anj$55k=RG8TCha_h52z7 zjRu^=zKjyO_3(W1r{0<_l?-FHdy}2p=L+7)mq6L>TjSK!!*q0Qd089Ct$wZiOdq^? zPH3O-x3cA7QXCxBUhdja3e=i)cYF4;ZsZg}dFld!q`AAj`iT9Mf%U?+SYP+rV^X_1ZgQuhMvAG0t zrPkh!rd0^vbLf)v>yx>haUj>Yt6Xz^_wJNsfpMff=D56es;BA$Nokg>VV|E8iEurx zP}|wf;V*a03Bd{u#KSsyTwdec0@T6(S$HLF7v9HLHce7$CyzB>3D#qHl-eRXfP@;a zTm^-!YK6N}{JUWxg2#<>t;;%&QB#ER846PuI%y!a#VeUyB@Rple^;=NvnU$zvKyI$ z-3eWr9+gCukMlz|Kxa|Q`JbD3m@f4`?s5}|MnpT4z6p+}?|?B;oFyAS!fQ3o$TDOW zv)TUChEzi^&C`+95ti&*6PXHMWJ(l_w!ZDBiJmBu!I*1FHHi}Eif2={c*;moeEZk* zcuzdpr@7*#Z&kJ~;W_zqjB`b=(L%P&3@K)dA#sVt%R>UMFL4FvC#?;HK3Lw1Nm%#^ z;W9gFl(y5@pj0e4y?v!EY>?U09@u*3)O0fXPaN}mM`P4j^MwpitNIpJETC$^XPI9en=hn z0wkzlbvof*A$E$nhrkxZmP{+h`zEPh(i|QSvi;s#)t*WQIk&{A*y*$cE2xZww3xVv zxlaVic+-9_J#?zT`?jbd1^F)W7BR|rV=8p9zKDE9ysACw#*+a4@b7z$-WSp~wF;Gw z&_l~}J@F%}3BT^SSm%mG{Z%K*VZGqB$zdJ!hSIK4vf`tiBo>$~ruzG#$Rd2P8iqNZ z46c&|8A}ewlI9(zz6!M+rdLqqg$gh@ZQj|@np0m)M$Wc%i-MpM#g?Ei+^mSlCVQAU z6PLQFYuwvnk!)Yp#p=tXYW5Ow#_W(YD_5%^-bDV}G@{>25by z)(FamBHI*G|DwR@3GeaPkJc8B3p6Q6m&ETv0i*zRG{xe+W@0L}Z;zE_BoSZvf$KV< z9Y@SgjO2MRd7;HoIDxNP!&6(81N$j`}y=`lmbNZ;P8@D^>Wyi)hJzYjp zv%X`4dLyDrJBvmM$PNY!MchAC-)~5vWQ-qPToOj{_%^&)#lN1M7edGEjwD>*dR`)c zBP?8rcz#)!DzXk0{ua;KK%NTf0Pm!7RGs0QJ_K*%jUcCMNi(5wrfU4vG=It_@fn6q zqBkHDlI)u**GG!0*%hMt72@lCY`FGWutTtUEC;t#I1(p!jBRQ~uaY1eWm+q#KN1T$2kYQuGJ;oi{(`jVSo@aFwgtql5J}yn81@X$+~Y`DZ8>Pe!=C7FFxV|`N7S(V=6wSr+(W6J z{k)^Vq56vY$XiPF1o&=XsP(g~ATn&@n7GWjgA^BBLGTT7MmQhUrMeoOUwraB)vxhW z^OC7q+?`tLmJ+1PF`(|sB$@rudgmzDzjp}#Ij~18PdTXA25iA=`ZFLw(6J)8IuYE^ zE`e@z0+bYCNT{L;6sBaMsDg$g(FnMlA_}dj=y9wu{(l7@KUbW4*#8PjFbkL>J%?68 W{Zkm|V{fAu00SKp%yX^V_x=mxw--tP literal 0 HcmV?d00001 diff --git a/image/button/tileicon/create_room.png b/image/button/tileicon/create_room.png new file mode 100644 index 0000000000000000000000000000000000000000..3c719444e896a8bfccd73012e9a6e62ff8506b2c GIT binary patch literal 1615 zcmcIk{WsGK9R6aG6)GX=iZCskwh=ZPEhB49C4{(}mk~8)me)HGH6=z{$$MSa^-i@* zxlt{QQoCNlRbCU4m&jX}+wSU~(>eDK=!fTd&ht5+=a=Vv&garmr-Lfs?O*@^REUlQ zXPIVy#d?s8SC_JKWdaJslkos>hr40TM^WbW{2ZOh01#sY0P%?c@L4L;_W*Df0RWR! z0KnV;0IkrglqLt+uDmblAOVnaxNVPQPMP885e@*VPrpJ=99rxz8!EAgWP7DSWeu>L z1{Ra?HvlLeAQJE{QGL_7^>c{=1Mrd<|<2ITX(vXx!^N3Y-I*d|tf zR9CvRAP|4RRjI+wc?jDKB0xDWq|aff#5HJ0RqB#MuTIduDXOLcPp75S$A*X$0Ke&@4PIM z>`^-kJ(1QOpCx_WU_9EE&Ws?uUOGMa2@>dVy^`0cqbuIQ95r}d#P4TUVVDpfY8NLE zB!3-34U!Qe4PpUhtDZ{lWJ_{JlTyEk5eRLL(4sc%{%Y8B9`okxs}Nm%tq*p2e2IHm zgGH(zBWE5f-t(xmc{;cB3kR8RL8nilF1PDSgmKso2n`y0*hGH@r`T+ZN571n>aCIR z+K2jw6cVLRRs?MExE~kUGPywdBm1Q=Hr6o<`b(*EGyQ9Y-+D}n1Qo7JFJnu3hIZAa zUTD_EvFIv<)xgnJc>~VYBd2(Bmg#D3a@|T!RLWD+08Wf#JN!EF-Gnk4TAexkmzXh& z7SAeFoi19_*z`c%hAPVE&FO8J(m8~q9UNrTv|fNiyHCyUlT;f*3V30*RpHdAx%%=XRzar zkYS$^FIBA8*3X{#U}z=jbf@+-=O#Ilxvh8Xc(1y%RryZzAbXA91E!RaMXPVtKUPFD zXCvMUkAtwr&yZhPyx{U z6bJL#%VAR2iOLbp!mCmpbx4J!V?9S)0}G;Dxzg7xO0#L1zV=4))*RfOx$(ZK73x+; zM8r-mgRrOSNWtFsHo9YlH`|OBEGksjHgCy(lKAU8rs}GtZ}m23t212c&PSleF9~-3 z9b_Mk3&+>#MRk=yw%2h4*YdIW#B8;K6btWz*!>nQ0 z{!7|DomV8?01~Mzqa89edbSTvv0w&PSxmG=uHb2l$pP()-IE4NYQmBJI;*BA2fc3x z`$I`8UzE3MgwJjIBzv$%EPHpBzYmLs@nh0t0-zAceQ*RCjzqa2&=|9Q7;`fdgcSyX u2>fS%&;J7SQ2(HS=-#@;8zI)ej&Z;V> zRR91`#ke@)Wmxum9Z`^VvFK5`3>3ob-R%LO>A}&j*A-wVd@BN>`zuLK9xcRQVhNoUm>z+M` z7r2#8&k2)xhz-*0gxI--CJ>gt6(U9uLc|6>9aOBpcdK`Yj`0lUYqBgAFSw`uzbR^) zu&a%QROjG$OMWQJmsnSQJN@QI_FBgw3e|ZTk+t{EHkuSho*y?dJYtS789dc)mALd{ z@bh~+%HAGn-~niq{o&A3uRspGrmA4*1NPRqVSpc;{0?Dq9OV0uYPwgN4SswMA`>jC z*`Xx7y`J~maJr7?>wLB?2Ica2*cR<&z0^lpbfIhYnRt7h%1bY!r%IvE%c_c*0h&rJ zOandCPY_i2KHO@Fmz9u-wVO z?l;^gtSw4!g=KU0P%^e?^Mp~oVy65^*PtwuLl_&0Vi85#z2GGk-`7O2ZfMGAD_5l5 z6!U$pzOa5vr$w$b!=F;QAw9hl{sA)3NjG~eIdfFhR1W6Qtw+M0XjV}(;?C7p)Vx%* zws_Ke=4fv++W(MN^*%K>RjSn|%w^SDZka52?>v_i&{{P7P_qoW_Lli~i26WRw?9)s zvI{-0dCfHNp z!se{ZCx2c&T|JDu$=axX-cI)r>YkHs_u`Ja{DIj+!-rdI=fSCqdEH~PlL@{ui=zy z+tTC{R+o=eaL0z^h%aVmbx_xs_!9Z*#2c*ku~|6DbKz<3(FGD#m{^% z7Neahix#LLWj=eRv-3PEiR!RFx8x7eeb!(A;h2hgXkUyd%i4lth$m}p0}1vekWa(| z=(d4rZDc!h>0 zR6!bEZBb_{UYi`>Zc~+amn3;5XJ1f^D4H=kj$(vL`ngtNd`FyX6WB9k1R(P;DERec zw#}z&zS-z>@MZpa;r`bK-_Ol&f>d5&Xi_k1#7NJHIeali)3ZI}@hSTCKUh0j**3;o^*L3%HZT8Q&2mc%5eJc8PAY*<*SHe-XOqxHzf$8@@$X zZ$c4M*b<--k{(HCF0_q{lM*g`v0gjtq4?LnF@m^-eDT|2BjBsfmg_@q+}#X}e@H`y zf8jqW)l<3ZltE@oc3eEeC)@gMTfvUq$AgF;*)D$}=`BpHz`wYi-nvaRHRe|;C2tqR zS>rJ(EDK~3A;WZ;*oBJt_ieqW!U2 zqdXYSY$(R_#rRg!bY?>%SM#K|k@2nH+Nx=`3hlV3UAGg@&G9`(dt!ghVPCOngu0c< z7uNN%jbRZg|E4av+@e;r=FB|uI)2VcIqcN>=8oWRHk~U-auhDE)Z*uZSbZ2ntz)*% zE#I;VE)m0|>Jj;vp^W*CmwyQQugw27mB_Q0W+jya0}is^V;GGlM2B3DCL>8vWElYF zFtf|1Foda@xfcw9w7874w1C3kNEj^az;5CX1`0JKBJ}Qm4CZEDW-!?v(&Ar+L!ktL P%m84}IL8Ku;Pih2l;vMs literal 0 HcmV?d00001 diff --git a/image/button/tileicon/quit.png b/image/button/tileicon/quit.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4f1e3d357640f02f7908fa8ae5ca362f18967b GIT binary patch literal 785 zcmeAS@N?(olHy`uVBq!ia0vp^vp|@G1xWt>HggV;;w|r zbaoE#baqxKD9TUE%t>WnsF*W%!bYzn0Rpc6VSyL72I(A8YJF?gv{ENVv}u9BV=lMV zIg^eaRcTW>{Yd_Y`Y*$1j;8$y>l5DAUOaTjCPpidBrK>ZI`nxuow{GZWm5F{z&~}*_@+oXV=YNI{AhBPiF+%+&#F4a{FPbCz_Vs_Jy+iw;X}Z~2jHRyQxE?UID|X^T4(Jum-A z{P(^3?c+5!x0t25Mzr~6``wi6eehQ>j5(sZ?dfZ=^-J&PXU{C0HM4%-NA6!b0lAFx zKR9oDF$gFERy{-*~F9F;C54`IG;rI`1Z&o4KuO<@*iOxq;yg z2fu$ry}K!{8ZE!3a@Uyz-_1|evuCVTi&~u%dh(Xr>Dc@!y1!K}F8k)n{ia*&hPdtq z{iuZaEeG~xG}c~Z`n`x1Eb*=QY3d$@TPMAqT(-~1-Ey%nqg~tmW?I}0FSjj$+h&Sy zn;im z?bnNY_Zxmb6c*-g{j26#>)JKF)4l_Fb4#j!*Vx~~;agZR>`&b?XYnof(_i0siwo(x mY!bNW#KJv^2OhFO#=BbP`uTQ~8l**PLBgJ{elF{r5}E*p&v9u0 literal 0 HcmV?d00001 diff --git a/image/button/tileicon/replay.png b/image/button/tileicon/replay.png new file mode 100644 index 0000000000000000000000000000000000000000..cc8473aa33e092a43c878f728df70b2f0214d2ec GIT binary patch literal 1559 zcmcIkX;6~~6#TdkfnpK4q==ND9Fj|c6s$>!B#lIgoD=SFBwUdYjvxY7!5|7j5d(&! ziV&oVBF0b-2O$z@fJzEN00AQekVBw~91e}+OlLa%?T>vsyYu$Xdo!DJ67Qz1X{-qV zfHoH6N|1BOXQ(U7=jMlEj+~Suk?u$Uc$mLqD?~-E_mVIKcK}GW1c1!*0I)%j)8c4KTNZ!j7GJk8H2(HuUjes51?>=cvKbBGsn+r!S0UmqJ~@U1C-pYV zTx25QS`2D8qi^lUt?kCG8-*pxrTsp1g%%7(Po1J@?!LED;{yB~3#8kxj4C<$bxnT) zT>)1}anbR;)fM^z{n)~WV$xXTaW^KMeI$Drl?6Sk1x95dM-rn%Fq}5|&){=Lc=1GX z6?-Z=Jq(fi{QA7iMU7F?;$MP(sF;}dAYX;bB}$Z>%gYNo<|nzZUYl5Z`>ALPh<9ut zWh{-?^d^_qN^8E^#KeCT8ce;VkdEt5-cq_hop6FxSM73&b?J@swC2kDhPc-90P;Pn z=L6zJ>*KCg^B+3+m19IU6VD&flNy&r8Xo9HhvMr6JEaBQA@_Yva{Oc;D_6Ao0&4V( zix7j;s%}g-$)Os(sL`%?oSmP~C7i^oM$dYWH0e8@=W5VA{X$A*K!lL1cyT|3Qo}X% zL7<%bpKBS(iqi3?^Y2s*3{R^sV@85whj#wl9OLdEam}J*wL3nKHh0-P%I;}?LZP`^ zybY0a7{uO%%gtr)B-m91OUhMd$vN(QjxhLbq4lL8CIp+8~i{F9=HRdMAoL7*pI{m~wcnHn8GlwhU^&o90#F z@Jj40)wR;(&wZO0cy(>M$%Iil$*CJg*|*R*G8O!;T9H`1LL`p&MAyKy#yZUJ#R)Ob z;^SbIhH;=4sPj@a#Uq=P#WTo`%zD!Js^~-XhPvAc7*#2-%|c{!eR61NVTKZ9bn~xn z!zD+MHj#b8Y;uNT)zhAXUO$^gn_873HiM@2U*KjKxc}8;PFFiviwD7ix43S{2WlS?;NGiAWyf? zpG|6$%CrnhZ>)Fhd_DZf!{Txp`N4TeXF$(m55}*o8X>;s%pf_yY<@|fyU(d=IPgY; z&kns88ncm7VEolj zB;JtISm~z&nQ-Ts+?BGBjBCWzqyiQeloqm>0a@NHU6)`wHb>_#C)6EtA4;;_aGdZe z5@cj5q%h-ogm9Ddzu8YH)%NZYA78aJqYasrUup2Z>q&+_+u#28Db>3%!A#_ao~Rza zUOUy;EJUbg8b>;{+iF)JOF2rSD*k4J36i#^n0QB$mG&M{gO#Ys+jJ=`* z>)2Rtsdx4t+eH|-M?kNA!Si|ekf`|Md5}P~$rWZ@VP;`EVO=6Ughet7a)Ay+#ftnv zEx;5l`&0k|f#?XtV<0+ss%5@*hfv3{;BUU>CxI*fYW&&c)U6bqHbEjSNt#gO*N^ z{u(Sn>Qx9%g{(i-A z$uIvG=qk-FWv$6?qlQQ02ZhuX`;{bWEPTK_D8`|+Z+JZH9b8)yuu;EQh9M?5-)9+t z9GcuWJh`+ToS8@B@2hJewykK$1Ng$rFuLpC9=JPB~Y&=rU9;^`;3O= zfL0__5EG{o1vjY5guzhS^43zkN8+r#*9$F~U7pPfwYdp)$5?7ii3e_N@r-RZgowTV zF%J(VfsGHbmsH}y^M7|0=hiKaVry->M|j(2_~x6Q9y30;TBN{VSvtFjIG}S$6goW` zEI)0WDYl*1ycw?jOo?`)TU^vPJckG+Iu*r#aXq2ghmZy5jz>NiO!3$kcxWA#L)%CD zI-|b3Zy3vKpsuOEhP7Ha!Kgc-L^iTgd;tAAXjihbKh(6T!WrPWYCE*uohRe1N)9Qq z`Mx4ja!lo=Mm8_veWp{46y}^_MypnvTS2EBalQ+D-D;E{8SrcheBOb}=*Yd|n6N@X>evY+X^sGRm}Ev=c!^kAB7A z(fBuj6}#o)-MQ3s_hH9jJL2nE%JpQmiQ`l)t)T=s!Bc2Mrb|b)rZNwTJH)#l)<;g4 zAN$xW+bu7DvK(q=ZX7C*jwx!b=|w~~p@7MPFwT$u)by{hH}BAg+*uo|Dr?&xWA0q)ys2B!%j`?X059Ncbn z2h6ROR(mj88nb1s*uA^7+m7O8=p6=Z=LPoKMvc=K%O@)4#ua?gZXd~XLpXn3b>zV)(N_t1R$9wWhz!y*Wm0HHJ>BAu=5&} zMq1tPzSl5_gr}==dKBonx^b^)$(D!m>TB=5z}_%62cofX>*=761Jx0?Q|=%7JSg7F(#Szp1Y4n5Q`Cm)=C

xBe4cFnX}(K+F=aJsidy`$ZR^n#9%s5l1lR3&R$0`X3(92Sq}$nirH~{ z#k6M&^3spo%5KrT4?bd|aF*JfrYetGD>vq-Wr<0_TXk+4;zOLG12d?P=|6H}GBiog zCar0W;-225$cg#(uS+*NvW5L1Sd~Jgs3-C>0=e6)wWLp+dNc-FUk^w${OrO}-AV+< zaCnP(Q{{k(YjY~)O?g9D@o(Dg7z8D@cUtm*tYq*hnZNV6Zw?0zqNnb~g)Q`%~0Yai3k+H)=B z7qj*S$I+4!ba509DNl_{tJUoT6X4prJyxRZI9KlH?UQSs7@SO$0E!$Ya_-%p0M z?B#P?u)8v~nOZ?%BmJU6?hlzR&RXauNPP-=-=zemHp)Ldt}QTCZ6sxGf25rFODnRZ zUXsh|!<&$OanmPwu_6lHD02$}4c^>%$H-9eMP?i2S>#gvoC(A!8={d zc_zu*V&1)*lccada8F;5bhO0Ck_(EX9<-<;PSU}9f()S8o4h@KK2AgD`W^4kgCSbs z6O7_!N=Mc3QWRa=So)i;SE| zT+NZ*#<*Rc)~EOrZ(yID44Xp{J8l%B+>-lq74$njKu!!_89S_UJK_zE;p|odZmFdr zHiDK5A#)d#zoPgi5?Btd`h2*N>K#Q%0IfviZi10vl#pCdWt3y+8(GR}$T4^%g=J#+ zcQ|KEhZYHgtFID5g&!4jH?4Pxh#*HZDtGR7TCg89-TpJYOX8|_hpl*@+PbW4g8hu$ob2!%$OMtpa^WmXrn(2%M$;TH~rfW zN1sv3PX8P#&vM&4_wjCl#sb@Dy@i+l|#T~#iVZ_ zq@|rt)X&ZS{}AqbI=DCm{+DoF##BZcAuWTDzWyJ=7i%@bIRVhqGSDnT+J*lc0mtLa literal 0 HcmV?d00001 diff --git a/image/button/tileicon/start_game.png b/image/button/tileicon/start_game.png new file mode 100644 index 0000000000000000000000000000000000000000..7da1fc71242518d4e1aa975831d98f7ebd695c41 GIT binary patch literal 2142 zcmc(g`8(8$9>>2UD#OsYG{Y2{j5L{yX>4O}24kHW99v{hV=UR1PLZXMt%Pe|$NHRb zghr{zj5yXIvJ)*7bu{KE$(f$}-1|KDAGr62&*$}dzn{eNh3e~`{R#IoZi)5f{yJk3HwI}~+jHPgWjc(S#08&PyNa&yY#BglK9?Rn3$9In zJMK0p>A|Wp%nrnF^RqRRt}8~_jNe|p-SBjQ2Wsn8mRpLjG04jIu6@0jvRKsDELTK3 z+R~I6eR!Ofa_?|R{ulz*Wi`N{e`y}XZNVj$ql($G6BV*kArJ#4MQH!~1bnr(O6b@$ zbHg;iNNv!pVSkSl@E86JC2F;Mg1pc=VdxUqxuiC|vawvSQ`+`mK@sidQ%L<#H_781e_>5JfNRH$V zgLoIoL-|limg$Ts<9*7@W!9@jh86)vC3HU;d~BCz74c(D0Y6b1L?enacUMX)(PDuL zb_PS@YpqK1O#Nl6xSEPcV=?d(aN04FV+O5^s+m#KM6_Vg&-!x38!AjKG7ag764I7< zo5=lvbrqBnKaeE z*z{pPNDMr3hrKOns;PZhBSom2xi?oEi%FBa?fu@-tnePLBen)I$;D(o4JLHsEqr#h z-|v0$gG7gcO9+=u`iUR-H^L+v34)>Hn9IxtH^@_ujPPIv+-eDw?0hQ~$7Urx{VK;` z8Gg#mSKcqtoJOx7_okzsgr&y8YR_BnJu+UBt3tBE)3&%<7%w^3PmMt#r``Qj&a@O# zkjms*70ggjT3cOIy-u)d;4^39n)x3()>6YX*BNr7A5fBb_O}CT3{`8>L*8nU>9C)^ zQ)8V{dRToykg9br@g|p^7bcfr(Blj)bAHmISNjY6f**^cAbGp1$X~S&8C!!X)4vuy zio=On_6*oIk7-;7G=;k;Yzl`sna%^DzsZVs{P>ufk|#3%YPgCBefGJVY>l}`sA>0~=4>p%Z#YCha{i{^MJ4MZqE zs%>+NZMIQ7OSbp`3zHce?bvpkBiXt%O-3!BNLcK+%kAX2lJM325vadbCa2O4l!JY> z(+#i4x7Be_JJ|`Bl%Cx>SY3XOfRwq0J)-mCMwZUajf`rz<)g&0b@ZesCbDW6_r$Pf zDQ0d2ZoU;u`-qz~J5|}4qKtI0*>m!?u3D^=|FGR2%}|-4{C-Sw3H9N^WOqO}{P9s= z#HMGU(H7~7LE5XV?Az`aG-hnmpN*-!E_x%?rNK?ZQam2xd@3dg-xOFR6!YZ;j&;V? z{UTjQTKtHrH)=Bf+nvW{k&|eP*m-Wi4%G+hh|#KEE#-HZ46ewlZpVT?U@C2#d!3M{ zFm5!$sx7%(!I$}vTc*cp z+mSZ|;sMb8nuFt8GpyJQN@!P12PcI=HRSv5a=9Y$g zj{2yL5zr|G&4?xm9(qHvkPTf&>)!k>$6r?IjdtaXXs2{NRGjZZ$-W>S+$2KUy^>c^ z(o1_i`?FGe?!^CJpZvSXb|e`-z69@3UjYCdR$T*w)xoIa z?6Eq8a~cHvxieU80v7AHXEgO+fxuuN`lXov1aRv1>R19+oq*N(SAcVYVI>Fv<|a0z J`{z9p{st#Ns_6g# literal 0 HcmV?d00001 diff --git a/image/logo/freekill.png b/image/logo/freekill.png new file mode 100644 index 0000000000000000000000000000000000000000..3f40fdf0f6188db64bf89e9f5f5ca98219a0d96b GIT binary patch literal 8498 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 MeBB&QxQdGXU!1W^T>t<8 literal 0 HcmV?d00001 diff --git a/image/logo/gplv3.png b/image/logo/gplv3.png new file mode 100644 index 0000000000000000000000000000000000000000..b44f609f7d84cfff7c1351eb800be50a2b5a7e7f GIT binary patch literal 4746 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 Mfw_K_9`gBr0Id(_Z2$lO literal 0 HcmV?d00001 diff --git a/image/logo/lua.png b/image/logo/lua.png new file mode 100644 index 0000000000000000000000000000000000000000..75234a6f6c69c4da411095f91c5f1b440e3f8639 GIT binary patch literal 37530 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≀2K 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�OpFQX-4A|BCyn{Zl`U-@)zG6aWxD{Mq} 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 DH#ZzT literal 0 HcmV?d00001 diff --git a/image/logo/ossl.png b/image/logo/ossl.png new file mode 100644 index 0000000000000000000000000000000000000000..3cfe626c86f078e9a795a07705f3bf2928ce966f GIT binary patch literal 20354 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 MV)4$q$tE-8<%P|B*U+h@FN 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 U1YPan2G<}qktiD~J$I%30}jP;B>(^b literal 0 HcmV?d00001 diff --git a/image/logo/qt.png b/image/logo/qt.png new file mode 100644 index 0000000000000000000000000000000000000000..21c38d105108e65804630617becba504e6bf8fb7 GIT binary patch literal 8627 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 MI|cDVQGNga09w}~ssI20 literal 0 HcmV?d00001 diff --git a/image/logo/sqlite.png b/image/logo/sqlite.png new file mode 100644 index 0000000000000000000000000000000000000000..fddedaee92b13dcf662423ab712bf6021071448e GIT binary patch literal 21214 zcmeEt^;?wR^ZxGAU6NALDYbMh-6`ElcXu~RNvh<6l+qv|UD5(eBPmErck_9Cz5j*p zkKc=HfeU!pIdjg;+;iV^-fF5V;9yc|PsUmIRV9o@@2RTnILfqijMl(axoepu3JCGt0cM?jwv zVR%{7s;t#<*{S*cT+iS@P7_m;P}3pHoDPN#LZ;XcK)pbdC`1jsv}s`h9x$dv{90#* z;%quf#+~xh#Lj3T+yBJ>Q7VQjBQxTKN|ya0r^ngA_rzSY z?OqSRnRc`}UxhVHF}C`ixX93B%{7!|s?Rc^R@NP68?V3FpZsP9r89a|7sa08s7)Et zEGMeiw9&izIIc>X#?w#O4bJ71Ajw8^jc6z8)%}V}u?thPTbF z2zURyP8~1&@5(yi_@!XmK*QSCCd1QVy;Pg?z)8v*|+Ox=Bbs`lgf(7&dvzKH33?!{{C0o_mgrH7E4YPOVw=RZNWm$sXCx^BNX(G^BH zC>Y;wK7-p+NEhIT1Z^iHmM5|2oxZ4Opwm)1g^@c(_tw)FtfmmU1qgQU8Yccm45^y) z_LGTD72@vXotfReR57#vlz{vqBVwfL&n=a%+k%&DVv7H;Nrut0ICR?If}M|ydr6d# z{iJC|Ca5O-366<#7+HPK#L(828ZlX^w|1FZEd=N5C;8a-9Kmn;U9kP$#`*^cRPv=J zSdHi1Sx(%K$!|O8DiqnHF?UA~?3ZE}Rt}NPC6TBtd9NOmIt$+{Z%bL_Ufd$PtO|JX zKT3Qi1@g~WogGq3gVhC-%Ig_aMjXZB-|j{=?uHVDF&KSVgB)xE*;IFC^YM3&x3*nx zluV_wa4GgzzAQL&BoS{v5K0T#QvJ+;PD#k##jzxX>IJ|GQ5|+z%5 zuJhsMzqKvL@g^iIJE0Q?F^lg1Y zw1Y@ebud#Mcj6;P9eN8Q?@kbrPl~3aImj#|yM1fSW+hHl${fq*iTTZ-4QQ@^U{ Qqk3)MmF+;GP5NfcNt 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 literal 0 HcmV?d00001 diff --git a/lua/client/client_util.lua b/lua/client/client_util.lua index 96ded9e2..9419edf8 100644 --- a/lua/client/client_util.lua +++ b/lua/client/client_util.lua @@ -232,7 +232,32 @@ Fk:loadTranslationTable{ ["Generals Overview"] = "武将一览", ["Cards Overview"] = "卡牌一览", ["Scenarios Overview"] = "玩法一览", + ["Replay"] = "录像", ["About"] = "关于", + ["about_freekill_description"] = "关于FreeKill
" .. + "以便于DIY为首要目的的开源三国杀游戏。
" .. + "
项目链接: https://github.com/Notify-ctrl/FreeKill", + ["about_qt_description"] = "关于Qt
" .. + "Qt是一个C++图形界面应用程序开发框架,拥有强大的跨平台能力以及易于使用的API。
" .. + "
本程序使用Qt 6.2+,主要利用QtQuick开发UI,同时也使用Qt的网络库开发服务端程序。
" .. + "
官网: https://www.qt.io", + ["about_lua_description"] = "关于Lua
" .. + "Lua是一种小巧、灵活、高效的脚本语言,广泛用于游戏开发中。
" .. + "
本程序使用Lua 5.4,利用其完全实现了整个游戏逻辑。
" .. + "
官网: https://www.lua.org", + ["about_ossl_description"] = "关于OpenSSL
" .. + "OpenSSL是一个开源包,用来提供安全通信与各种加密支持。
" .. + "
本程序目前用到了crypto库,以获得RSA加密算法支持。
" .. + "
官网: https://www.openssl.org", + ["about_gplv3_description"] = "关于GPLv3
" .. + "GNU通用公共许可协议(简称GPL)是一个广泛使用的自由软件许可证条款,它确保广大用户自由地使用、学习、共享或修改软件。
" .. + "
由于Qt是按照GPLv3协议开源的库,与此同时本程序用到的readline库也属于GPLv3库,再加上QSanguosha也是以GPLv3协议开源的软件(从中借鉴了不少代码和思路),因此这个项目也使用GPLv3协议开源。
" .. + "
官网: https://gplv3.fsf.org", + ["about_sqlite_description"] = "关于SQLite
" .. + "SQLite是一个轻量级的数据库,具有占用资源低、运行效率快、嵌入性好等优点。
" .. + "
FreeKill使用sqlite3在服务端保存用户的各种信息。
" .. + "
官网: https://www.sqlite.org", + ["Exit Lobby"] = "退出大厅", ["OK"] = "确定", diff --git a/qml/Pages/About.qml b/qml/Pages/About.qml new file mode 100644 index 00000000..5b45d9b6 --- /dev/null +++ b/qml/Pages/About.qml @@ -0,0 +1,80 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + id: root + + ListModel { + id: aboutModel + ListElement { dest: "freekill" } + ListElement { dest: "qt" } + ListElement { dest: "lua" } + ListElement { dest: "gplv3" } + ListElement { dest: "sqlite" } + ListElement { dest: "ossl" } + } + + ColumnLayout { + anchors.fill: parent + + SwipeView { + id: swipe + Layout.fillWidth: true + Layout.fillHeight: true + currentIndex: indicator.currentIndex + Repeater { + model: aboutModel + Item { + Rectangle { + anchors.centerIn: parent + color: "#88888888" + radius: 2 + width: root.width * 0.8 + height: root.height * 0.8 + + Image { + id: logo + anchors.left: parent.left + anchors.leftMargin: 8 + anchors.verticalCenter: parent.verticalCenter + source: AppPath + "/image/logo/" + dest + width: parent.width * 0.3 + fillMode: Image.PreserveAspectFit + } + + Text { + anchors.left: logo.right + anchors.leftMargin: 16 + width: parent.width * 0.65 + text: Backend.translate("about_" + dest + "_description") + wrapMode: Text.WordWrap + textFormat: Text.RichText + font.pixelSize: 18 + } + } + } + } + } + + PageIndicator { + id: indicator + + count: swipe.count + currentIndex: swipe.currentIndex + interactive: true + + Layout.alignment: Qt.AlignHCenter + } + } + + Button { + text: Backend.translate("Quit") + anchors.right: parent.right + onClicked: { + swipe.opacity = 0; + mainStack.pop(); + } + } + +} diff --git a/qml/Pages/Lobby.qml b/qml/Pages/Lobby.qml index 9c272d3b..a6002afa 100644 --- a/qml/Pages/Lobby.qml +++ b/qml/Pages/Lobby.qml @@ -69,7 +69,7 @@ Item { RowLayout { anchors.fill: parent Item { - Layout.preferredWidth: root.width * 0.7 + Layout.preferredWidth: root.width * 0.6 Layout.fillHeight: true Rectangle { width: parent.width * 0.8 @@ -95,42 +95,58 @@ Item { } } - ColumnLayout { - Button { + GridLayout { + flow: GridLayout.TopToBottom + rows: 4 + TileButton { + iconSource: "configure" text: Backend.translate("Edit Profile") onClicked: { globalPopup.source = "EditProfile.qml"; globalPopup.open(); } } - Button { + TileButton { + iconSource: "create_room" text: Backend.translate("Create Room") onClicked: { globalPopup.source = "CreateRoom.qml"; globalPopup.open(); } } - Button { + TileButton { + iconSource: "general_overview" text: Backend.translate("Generals Overview") onClicked: { mainStack.push(mainWindow.generalsOverviewPage); mainStack.currentItem.loadPackages(); } } - Button { + TileButton { + iconSource: "card_overview" text: Backend.translate("Cards Overview") onClicked: { mainStack.push(mainWindow.cardsOverviewPage); mainStack.currentItem.loadPackages(); } } - Button { + TileButton { + iconSource: "rule_summary" text: Backend.translate("Scenarios Overview") } - Button { - text: Backend.translate("About") + TileButton { + iconSource: "replay" + text: Backend.translate("Replay") } - Button { + TileButton { + iconSource: "about" + text: Backend.translate("About") + onClicked: { + mainStack.push(mainWindow.aboutPage); + } + } + TileButton { + iconSource: "quit" text: Backend.translate("Exit Lobby") onClicked: { toast.show("Goodbye."); diff --git a/qml/Pages/TileButton.qml b/qml/Pages/TileButton.qml new file mode 100644 index 00000000..b38fe053 --- /dev/null +++ b/qml/Pages/TileButton.qml @@ -0,0 +1,175 @@ +import QtQuick +import Qt5Compat.GraphicalEffects +import "skin-bank.js" as SkinBank + +Item { + property alias text: labelText.text + property alias textColor: labelText.color + property alias textFont: labelText.font + property string iconSource + property alias backgroundColor: rect.color + property alias border: rect.border + property bool autoHideText: true + + signal clicked + + id: button + width: 124 + height: 124 + antialiasing: true + + RectangularGlow { + anchors.fill: rect + glowRadius: 1 + spread: 1.0 + visible: mouse.containsMouse || parent.focus + antialiasing: true + } + + Rectangle { + id: rect + anchors.fill: parent + color: "#78D478" + antialiasing: true + border.width: 1 + border.color: "#8CDA8C" + } + + transform: [ + Rotation { + id: rotationTransform + + angle: 0 + + axis.x: 0 + axis.y: 0 + axis.z: 0 + + origin.x: button.width / 2.0 + origin.y: button.height / 2.0 + + Behavior on angle { + NumberAnimation { duration: 100 } + } + }, + + Scale { + id: scaleTransform + + xScale: 1 + yScale: 1 + + origin.x: button.width / 2.0 + origin.y: button.height / 2.0 + + Behavior on xScale { + NumberAnimation { duration: 100 } + } + + Behavior on yScale { + NumberAnimation { duration: 100 } + } + } + + ] + + Image { + id: icon + anchors.centerIn: parent + source: SkinBank.TILE_ICON_DIR + iconSource + scale: 0.8 + } + + Text { + id: labelText + + anchors.bottom: parent.bottom + anchors.bottomMargin: 3 + anchors.left: parent.left + anchors.leftMargin: 3 + + visible: !autoHideText || mouse.containsMouse + + color: "white" + font.pixelSize: 16 + font.family: "WenQuanYi Micro Hei" + + text: "Button" + } + + MouseArea { + id: mouse + anchors.fill: parent + hoverEnabled: true + + property bool down: false + + onPressed: { + down = true; + + rotationTransform.axis.x = 0; + rotationTransform.axis.y = 0; + rotationTransform.origin.x = button.width / 2.0 + rotationTransform.origin.y = button.height / 2.0 + + if (mouseX > parent.width - 30) + { + rotationTransform.origin.x = 0; + rotationTransform.axis.y = 1; + rotationTransform.angle = 15; + return; + } + + if (mouseX < 30) { + rotationTransform.origin.x = button.width; + rotationTransform.axis.y = 1; + rotationTransform.angle = -15; + return; + } + + if (mouseY < 30) { + rotationTransform.origin.y = button.height; + rotationTransform.axis.x = 1; + rotationTransform.angle = 15; + return; + } + + if (mouseY > parent.height - 30) { + rotationTransform.origin.y = 0; + rotationTransform.axis.x = 1; + rotationTransform.angle = -15; + return; + } + + scaleTransform.xScale = 0.95; + scaleTransform.yScale = 0.95; + } + + onCanceled: { + reset(); + down = false; + } + + onReleased: { + reset(); + if (down) { + button.clicked(); + } + } + + onExited: { + reset(); + down = false; + } + + function reset() { + scaleTransform.xScale = 1; + scaleTransform.yScale = 1; + rotationTransform.angle = 0; + } + } + + Keys.onReturnPressed: { + button.clicked(); + } +} diff --git a/qml/Pages/skin-bank.js b/qml/Pages/skin-bank.js index cd6f7b54..130cfac5 100644 --- a/qml/Pages/skin-bank.js +++ b/qml/Pages/skin-bank.js @@ -13,3 +13,4 @@ var CARD_SUIT_DIR = AppPath + "/image/card/suit/"; var DELAYED_TRICK_DIR = AppPath + "/image/card/delayedTrick/"; var EQUIP_ICON_DIR = AppPath + "/image/card/equipIcon/"; var PIXANIM_DIR = AppPath + "/image/anim/" +var TILE_ICON_DIR = AppPath + "/image/button/tileicon/" diff --git a/qml/main.qml b/qml/main.qml index 813618ab..dddb64e4 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -47,9 +47,11 @@ Item { Component { id: generalsOverview; GeneralsOverview {} } Component { id: cardsOverview; CardsOverview {} } Component { id: room; Room {} } + Component { id: aboutPage; About {} } property var generalsOverviewPage property var cardsOverviewPage + property alias aboutPage: aboutPage property bool busy: false BusyIndicator { diff --git a/src/main.cpp b/src/main.cpp index da7123cd..07865fc2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -114,6 +114,9 @@ int main(int argc, char *argv[]) #endif app = new QApplication(argc, argv); +#ifdef DESKTOP_BUILD + ((QApplication *)app)->setWindowIcon(QIcon("image/icon.png")); +#endif #define SHOW_SPLASH_MSG(msg) \ splash.showMessage(msg, Qt::AlignHCenter | Qt::AlignBottom); diff --git a/src/pch.h b/src/pch.h index d7851be5..bc19afce 100644 --- a/src/pch.h +++ b/src/pch.h @@ -18,4 +18,8 @@ typedef int LuaFunction; #include #include +#if !defined (Q_OS_ANDROID) && !defined (Q_OS_WASM) +#define DESKTOP_BUILD +#endif + #endif // _PCH_H