From e0b3da994885113d244071da7a9b419a29735b21 Mon Sep 17 00:00:00 2001 From: SlimeNull Date: Tue, 9 Jan 2024 23:09:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E4=BA=86=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E7=95=8C=E9=9D=A2,=20=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E6=9D=83=E9=87=8D=E8=AE=BE=E7=BD=AE,=20?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E8=87=AA=E5=AE=9A=E4=B9=89=E5=BF=AB=E6=8D=B7?= =?UTF-8?q?=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Icon.png | Bin 19151 -> 19950 bytes Assets/Icon.psd | Bin 110638 -> 120746 bytes Assets/Icon128.ico | Bin 67758 -> 67758 bytes Assets/Icon128.png | Bin 3678 -> 4338 bytes Assets/Icon32.ico | Bin 4314 -> 4314 bytes Assets/Icon32.png | Bin 1429 -> 976 bytes Assets/Icon64.png | Bin 2897 -> 2073 bytes CurvaLauncher/App.xaml.cs | 39 ++- CurvaLauncher/AppConfig.cs | 19 +- CurvaLauncher/Assets/Icon128.png | Bin 3678 -> 4338 bytes CurvaLauncher/Assets/Icon32.ico | Bin 4314 -> 4314 bytes CurvaLauncher/Icon128.ico | Bin 67758 -> 67758 bytes CurvaLauncher/MainWindow.xaml.cs | 7 + .../Models/MicaLauncherPluginInstance.cs | 3 + CurvaLauncher/Models/QueryHotkey.cs | 19 ++ CurvaLauncher/Models/QueryResultModel.cs | 35 ++- CurvaLauncher/Services/ConfigService.cs | 40 ++- CurvaLauncher/Services/HotkeyService.cs | 94 ++++--- CurvaLauncher/Services/PageService.cs | 25 ++ CurvaLauncher/Services/PluginService.cs | 49 ++-- CurvaLauncher/Themes/Generic.xaml | 6 +- CurvaLauncher/Utilities/HotkeyUtils.cs | 33 +++ CurvaLauncher/Utilities/SortedCollection.cs | 1 + CurvaLauncher/ViewModels/MainViewModel.cs | 2 +- .../ViewModels/SettingsAboutViewModel.cs | 8 + .../ViewModels/SettingsGeneralViewModel.cs | 15 ++ .../ViewModels/SettingsHotkeyViewModel.cs | 19 ++ .../ViewModels/SettingsPluginViewModel.cs | 10 + CurvaLauncher/ViewModels/SettingsViewModel.cs | 11 - .../Components/PluginOptionsControl.xaml | 13 +- .../Views/Components/PluginSelectOption.xaml | 2 +- .../Views/Pages/SettingsAboutPage.xaml | 82 ++++++ .../Views/Pages/SettingsAboutPage.xaml.cs | 65 +++++ .../Views/Pages/SettingsGeneralPage.xaml | 110 ++++++++ .../Views/Pages/SettingsGeneralPage.xaml.cs | 135 ++++++++++ .../Views/Pages/SettingsHotkeyPage.xaml | 103 +++++++ .../Views/Pages/SettingsHotkeyPage.xaml.cs | 93 +++++++ .../Views/Pages/SettingsPluginPage.xaml | 77 ++++++ .../Views/Pages/SettingsPluginPage.xaml.cs | 61 +++++ CurvaLauncher/Views/SettingsWindow.xaml | 254 ++---------------- CurvaLauncher/Views/SettingsWindow.xaml.cs | 163 ++--------- 41 files changed, 1094 insertions(+), 499 deletions(-) create mode 100644 CurvaLauncher/Models/QueryHotkey.cs create mode 100644 CurvaLauncher/Services/PageService.cs create mode 100644 CurvaLauncher/Utilities/HotkeyUtils.cs create mode 100644 CurvaLauncher/ViewModels/SettingsAboutViewModel.cs create mode 100644 CurvaLauncher/ViewModels/SettingsGeneralViewModel.cs create mode 100644 CurvaLauncher/ViewModels/SettingsHotkeyViewModel.cs create mode 100644 CurvaLauncher/ViewModels/SettingsPluginViewModel.cs create mode 100644 CurvaLauncher/Views/Pages/SettingsAboutPage.xaml create mode 100644 CurvaLauncher/Views/Pages/SettingsAboutPage.xaml.cs create mode 100644 CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml create mode 100644 CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml.cs create mode 100644 CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml create mode 100644 CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml.cs create mode 100644 CurvaLauncher/Views/Pages/SettingsPluginPage.xaml create mode 100644 CurvaLauncher/Views/Pages/SettingsPluginPage.xaml.cs diff --git a/Assets/Icon.png b/Assets/Icon.png index 75bfd5dbf401e2fee38fefdbaaf4f1481f6dcba1..75913f8f4249f06ae4c44d356f2baae64a400463 100644 GIT binary patch literal 19950 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 SslhK)p-hY{44>^MT>c-@fOu>G diff --git a/Assets/Icon.psd b/Assets/Icon.psd index b1959c14914b7ef424979fc2831473f280fdd40c..6271be457d94885edfa31aa9067c0c38b52cea58 100644 GIT binary patch literal 120746 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 {|Bn5Qu|G(*<%BuA&|Y*@aYx- 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 diff --git a/Assets/Icon128.ico b/Assets/Icon128.ico index e3ffd028ad076839f259a95a9bce4859f8bf16bb..b9293b4d795bb3021f51de535a272d4ee3a95fff 100644 GIT binary patch literal 67758 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 literal 67758 zcmeI53$RsH8OIL~5fsG~uu_pBm_(z*8B-+12P$Qek0PQR7%D@0XhtKb4cCbY!X_Xk zHLbx=L#-(yn(Sev6Pj7bkT^D|;Ug^>fz(tqZog0N!gcrTwf5d;ul+dpd@w)uI_tI9 z_x-B*Y)q!7}{twjsUVG^NoB-zVTvrV$Z*wot+IueV{R* zF`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^F`zM^ zF`zM^F`zM^F`zNfvtwY-hM^voxa-ovgJBVT1K2Iqv;Ks-E_;?&8V$5Q02acF(AmYj zo@S@&-(6937Tr5wdza=$dpYic$=zGD_AAwYw|?k45avOg?sg2kK%JvnTlF_b-|qT% z={}d^RN=0CipL$Dz$KQ z_Z0o{eJ?lu7J9*PV?%_l0Fa7-#T565B)%6#D!`ZMNjHb_%J}#=gc}>|n z;6AIqX&2(Sz?`QQj;*Xe`b~nrM09+P*JF}=PaT;bEP($(2;J>IK9+R;x|Fw~{^)fk z#9hBnkuN`OkophxPlV8OLz#CRlX?&pR%|8x@#)F%d$6xHll}+!Bb#w0?TVNiK1siC zZDu@WwrK_Z@#6{L(p~i542S0R8+}ZNkaNRz^tX53aTVFV&idoK8=8jOWC5U01DCv(3cF8@&`YyG!d{k%f@BJkd$ zQ6743_+{4^tIn^J{`h?i$UU^Ju`B&2>J4)FkFx&oGe=)*$(NtO^8TUD`#|Out}&#| zmwSv!-jh{SSO@*_&5^JQWPeQ>pUSh>eO)f2Y#)$1zP|oN`TJdcn0)FCf?E^%@}0+& zZKsb+_aV5a%aX-fHUibNPv~At0X%uJ*3{4YWDZ)vw8?&Ipisq^qAa z`FGO3kLk1OW10G6_b|8)j;oFf0vGV^S?>oMa~W79%Pu$#-hv0(%;yDy|N}V2jqUpr_WbSo46xwWvxJ- z_4)b;QMR6QjE)R0Z z?I+Z0d7d{bZY*{lb!6SJnYrN|v~zyO+2;tIu1bGn2X?;`WX@%@y3mxx9jP|~c3AaI zyE2YN&JE|s*;{m8)%qLz(DNkluE$Y+8pyR+hSsig6gf9M*Z8BXV_o!5vKP%KL$mjf zE-mxq7cn<{2^-&&IL2Zn!^VzB$FXzi8WCM7oap;}^My zHrmMh>)U*`Q$7qn55I=E^#s#bS;w?W{jv`zs!7n_+oJ!YLHr#3 z&QSEcp){qwF!-2BEdL`&&Z) zX`U&&=7#4tYiC@$s`SSPzCF6Km&f_rN++#bwh$hLrEoF?dta3E!YQy69tT^yQ0Wcy zn`Ul!IQ8y{j6uG`aD1GW&E!>~KjW70J9p%F>^4 z%6$6~YwU5px!b1&8m`HxeKal}r@hP>PJzC@b7d*RCb@r={R>yY-yzPnGY3;DHu}2-rojGDzvOw1oulDWkafLX zkYu-Ao^@_0{h!_Jc#GDbv5kbMQuttv&jvKQ2lD9cYb*1~U%}_#FyA<`mSOi$mG0EKd-zjXC7qsdv|(=T+{dd}AYP5IQN12zr- z*~fGvJPR)UO@5ZSp{!$NzV|6gf5vhwq}`vr(&aNW=nW4-XpPhM_ax_D4rf5HJsJ3> zH;jXYunCOj(PP@Vq5MB3?{fLkm0yJZj6?2Ke9tv)8+TH7gll~G{1cE?tD@`eU@W(H zjVb8&c=5p~xCH(Har>Q8%?(|CbmfQEpRu0`X+P&A4z6~M4L|pT%}}(i&Gi2|Xc+|bu|v@E3ljP-+%MSHQ$`P)7CRpw*OXj4U-hZyVE zVH`NuucH1>dX0bfh7Z8?@HC{F8z%K@%0ubTxIPT>UT(j)C#9Xgm5C4cg=e4&E%To9 zS;l=MOorTRbVe(D+Y4k~wE$$^kUP!->MzgM=fclH_N*jnFKcGby&d@NGRUh#9ooN) z9joEfaIn#`F2_*%+xDQV%x#Z?&w{Lv#;yC!vD?^b{B$5}hdSsNatyL|eJ{*|TKpeU zMd)v9Y0|{N!SE5d23A6UQx-kqo5c{)?{)1nM=>>Zm{3 z{qT7Eqif)FaPE;y8w+*OA6t%rB-^#TyN_f&`Zkyb z&Uy%r`xw>d)%^gld*Q6z$VaZzg!>4TGRL7y%p;} zL$xn0_T{>l?@oLO_UvP-N`DyxJOO&`7v}?8^VshkR;d5Qs(m4`{~~@}1@ieGt9jM; ze~fD&JO_I1hw*`}d8Yj)Rb2n*K3}!Z9sBZ(^v59Ac_z)Py#5*MV0Z!a+RyF-qxn?) zmwB(ht-DE=ef=|T+3%p*r}sf{&5ibQEK`4U9|rRMY}McI19|?x8iHNtw&r%aWc|Od z+B;)kG+zVfLm|KQW$SLzW$BMiqe1s}bieK^(cEY+#}f6IxvIYJuUjV1Y1cxj*SW2^ zoi0OvY?Wt_?X11*`~D4l3J$dWUv;`9{bgT5JL)gbwdX*P-)br%R*Kdi+b6bx_OhPw z0Lb%|D?q;YmH2y~Md+Ee&m#552eP;0&(IUD{cT;g$g}e+K|a67K}+cDii?8vm$k`O z(q69P^>7Es-l^#@9$H#sm-dohl>YdvFFXu&)Bh#Lv;pLPWD&@mYy#BwGuo$L-m(Jq zpNUVa(q1)A85l+AkM8}U=)E1PaY~JS)e6%8l0etKJp0%PKY^>@Ga%oUZOiv+pN`Fz zh1MT!2EkTH``#a?v3wukFmUc$Z`NLI*WCjJ=>N4C?PZ<&Z(v`?s&RKIDtT3a{_>3P zTQCbwgTo>B@6=S{oHjUVDE+mc&S3Y_>Pz*d#(>6v#(>6v#(>6v#(>6v#(>6v#(>6v z#(>6v#(>6v#(>6v#(>6v#(>6v#(>6v#(>6v#(>6v#(>6v#(>6v#(>5^h!|*tEpTe0 SdO$s(9#9Xc2h;-_!*>C`gz&U7zPiq_Ig>b5+K_)F&#eOSR@EeO1o= zaBlh40)otya~fpWLCgANz@v-2bU#9vK|2}`fIB5dfUdO|Qn=#(9#1ip)zxtz{k!gh z>iNlu)LZ7|_J_A8Yh;xyaGy9qtnSLebEEjmF9ShRz*Cv90*z+r&qRF2fj6g~cDfJFZ*#xMfss z?^J9=g)sTa0w-nFgFD|e#P_Xakt+OW8*%B7FV}jD~PgxrwGGun`H_KBqYqIr(r%JtHN9 zyf-K}piWP)C8`sQ35v4i)2VZ+GQy7kz)k{@YToH)7;qfJU}dg9p46iJ+JuYHfh<5q zd3#Ltd+`K|1hWK3eftZ&4Fc@fmMs(fR)&OBYZzDPE+S*kmruV|n0W=UfzkwVs=l+0aTCC0r#kK@%6*0E07tO4>KGphzJHv> zCg6CAZ)8G(K>NVt-H;>WjPeN09a))OJGcBiLONlW5N}*u?H=-iW*&O1*{qG>v>as9 zq-PNSGS{Deh-2EB{c=w^;REmW;cY??GOi47Tcyi4uGGwTLf1UFB+tSJV)HdcW8p6$ zV9vo{S{5*SKl&o=n+ipz;Zz&{^EVHWy!7S`yZeQXAfTJ= z=%T4myTWNCqn~C7e!$;NLKZM+cIk$-$?c-y9Jey>H^nVQ+N_+7@TdjyHv%6>CLX;B z8?Odk#?#+4$hxGLo7aR{-QLa=7Jg0V(9)qwc3=_vrwH0{0$fIl z+j6z$u9+2%klWXRfygMj_w+nS?qGp>&tmL6V_{lvp7s_!(ZemH_X`@vfQ0+$j_^lK zmblT9fT82^Ju*}>O&cVT9Ct1AIa-&BEpfXX|snY#+JXsmI98%<&igplY#3!!#zs#x4EOuS|_n zygHKUwo?=mWp&^Yvy^nQ3Pn289D63R@f80+lZkqH8?N{?}Q`v^V%h zORQ41vWMx9Tk=Zp!*VBIyn$Ls%%?1k?MnQ#yY$G*sii}=vAPIa(wmQ_SP;WUY+j2F%WKm}$8l zeFRAO$|0f_<<&u|Q2m+gd;E2q;G+Zgo1?x8*oP7C5^)%u$A&>uW1_?(H;H=uYUSBd zAzBo@O-PoQ7AjyM3)JQ`n@TZky2Dqu?MhP4Zu}C(rX}ruJSDtB_X3t_l`5VW4joeA7GSJ=8F#Eo+0KCva4p#u%VnlC9QF=+u zUzvB^j12)%{6r1JSjLlkDK`tWf{Ruwy@VD6Ay$x=22Yz@w_y?25*rc(_>J#!&0e{M zokmSza8eAawEn!9aK(>p7Q=TU%d;bF7U4QR;})-)}OXCr6_lM}NNc@9NYit9+`;(l;JJ#rBMUC?Ywlm$rq- zM0U|l&5TSoErN;CP3Unf!~3=0%v!zOLeFIqV=y?nx>UbsSsbF4Ui#dqwI4U7-sn^G zO7eMH3liKn>Gak#&o>#hdvydEH&!VKP$sL98MJyu`G%-X2FI2|{{AV$QMFZ1L;t!j z10>^Y;pFF8_y~K~Qj*xJ%175JA)? zYtMm5Y5K{=a%cV+^lLTe&$h46tfvyK9j!kGqiH-}SqE{`8dt#4@(|qE@p?}J5hUU$ z{$<|z2>KgQoDsAKi-`Q#0+MmzXbsrkAi$1jNJ{Dx-YNZLkfmT)#;C2-pC3?8{-HHNJmE968?fWM5;aW*bG>LRk z^*<6GpvSJMj>Gqo0YMs{W`Cv%G`I-ouvN*jT_(^H>;q1Ri|Jl_mvb`6Gq z4qb>euO>B&& z4o1YV`xnP7N{7^Xj-UdIpE+L|e(S6M4FYgd zyq&V$V?@&`?L?~)c=y3fvWhc13>G?b{+g8wJA@WbNGb;)o;a5f59+2R5xS|QZSm(z zo{9lBLP2=J^!wR~0bC1MZZ;X+O= z+DxcrxJ=5H_`=S+^P9O0QsN0DI%`JnX!IXrvl*Eb*GzS9v4p}2ceZ=*JxAhfiszA_ zhRV6y3M^wftkb8=ZMs>vR`}`QF=%G1{-%Ka?S4Lr4w<2`b@CD6fYJIQ^h(C9zTRg{ zrGA-TLdYTgdQtQ4B3)3J;NH<73W_n>+Z%bHx)Y`1YH%SkQ6VOLA#}v1oqRvr8+;FV z{2NDC^z#u>MKXLgU5T_y;2rAfg3Kl%82X-wOp#WfT9{=&8}&0gm0@kP8rqw~KDfG; z2z4>uoFDq+7cjNim!+Q6R~t!T%^vlW^wMRwAwdEd?{ZD8n8;IG=x#9em;^ItbNIX- zU%%h~O|J=7Oq#!$(5twhCreF1n4dQHPq)l1HeBQ+MU%jbwFca$={UNR$6db(mmJa`dGOf>ZQ5a z^;rH|V%Lz1Zy$*r40}4vJ*`~bgNx-*3yNBP1$VDja@h!cM%eyvAf6^j?(7Y(W#$o& zGvn@?Ts7vF4MzvIZf_Jnb$8+o+<~cTF6*Vc>xlJY>t#P#rcMKQ$L1LrcH2d4JF6bw zzKArDsv8^pAd;$a#}B{rhYJzKBeT|CjL7FgOl^vpsmQNuR?8+fq(BYC?>MR^%gyN0 zYer9-SKI^tCu;4Qtzo_rE^&6<%mi8**o#aduGhmf;{`=VYZ@CaUf8NwbE+OHHbcJf zR8H&6ZU>4ST4Gr#teZ`&9DvUq^q&}J&ogOq2j)Fr4NHD%{_=VFN6lgq4BU?;<#38M zbtowVcNI1xF5sy$glm#@YoAf^+b}-+Gpdu}*MQ4M0}|LvCGR5n`o)8)kJ@^N2>Oz( z^%4r){TFPNbyz~hkWz6LyEn{W-|Ld^)yUKCH&ib3>96wF=+%8>7Iq$dV;a2J&TYUm z->%JplH1fC3!*vVR{BFiv zF6K>7Eg?a$a8G8$rqxFY9TF;!l*-@erhm~GAr?x}7z!I-HrAuck#)1LZHzCU#^Aa! zZ!{h&iGxRbuk?3DqACv=OC)dQO%q+D62z3V~aNZuZP4>BW;t4lUW| z(S6W~KAYFL9^+-tQij6rML_->{H@MpE*(e{%;ULG$2rD!WGT3qRp6Q2<>tr3{nN>N z`emomuj|Mszoj#BGWni3Z{o9P`^%+;K^x>N!dKue8AC-$?>{!K=3)2@c&JNTHzmcE uJ?y-uwm+5u%y$ZGNZ?c8|L3EBn~L`iNQo+4=BNF{0L)FTOKlpxsxbEw5uj{(+=kvP9m11RK#7NIe4*&q8iLrqVMPtr{mWERHYq^h7 z6kVY4)w=*7BXTBG;g#B<0KmjzVxVgmj@>MZXl9?{c%bcKwHQa|-^La{AeL>HJdjfo zj}LccU`1RA(lxXpe6_yrw?OYC(@^SZ!^taUdX-I?U=YE=KIs5eMCMAAS&Nh)h0DCb zYZB@`!ur%n8&)juod-?AR#sww&j28in z&EQMwg4vAg0(%230Ln@_@3DcK_RfG9rXic~#|hpG*_O9=pVUHgE-#FWb5a3$7nZ}x zjt!Tl&v&XRrPu<_fGky1`>M0c_l4)eD*yEd^?@7I^4X+nQWu|1ra7f1{*L(+EG@IZ zsUu5PcYDPdy`hxfx-BvIQ$4a?&4UBbsqqk?(cqnK5g=Tt7z&>{4%7N&X32v50Xp08 z5ETcZ#XP|)+lbs##CuIt4D))pT&S)d%11_%UsEvnmUnW5HJ}EpY71fjKhEs&vcXWa8_lQH7~i&D#1wZ) zzRe((k?&)Ew%-n&72&vwi(#ofSSIzlH>&P$o(tf9HP(#R+=xwQw7gf>L-UNoIcDrQ zzSO+1y(VmkJk zyghX&3E7MdWYIJjFaudY@D}rP-Y;N0g_ckONzS*Yrk@3c-U#$HV~b+rG448oWHX{e z-A0jfZGkFSn{M$I^Acn2;!gF$#NXm3msw1i-B4pUjUx|q$iUAP_*aW4*2AmdbE;I@ zdI>KiTLerZLxf$AwQcsrSvCdSs_86YpbS0U9w1ttoWqRKbalSi6xM7fFAHrXhP1_B zO=pi918%Z2EFIYFdx6V-P=$gUA^1s+SF(YU@Br~eTaXM8N;j`x{YyYW{2N4rw0nxb!f-S8^>Bwn z^{=~6ed}yD_$epyJ!U2LUK?LZ@u1xUAIm?Flr|UA^O69OY-E5Pdn-Hl3dtuFqY0iF z#7&L5|4j~28E?kM_AT~V=-vm8JMfV;bFXa%HFzWHMF%x%YlvKB3O=YYmA-l7@=PF< zsl)TU+#Jq+;vUUQfiSi}tZ$u_FT~>+lZv#LrD(&^6mU+_)tP@{)vd;3%&?1~h8jw$ zA%>MH_@TxgXA=Yxm3l4w+IZ7-J~U(BXJ4Hh#l*WhCvy5C_JE|N9~o(h@o}ACSLc(? zxmcS)K6;IYr8I%j&vJWRhztEmOE8_@C6R1VR6z<`!oD-4mSFkPV(eWXzm2E1OLai2V9w|&SE0`;0Ss0$cKnlCESAa-@)tC zqyDaRZcTUWjWh1zjeaAlBLu%fv9lIhLfbiV0cn>R4$<+pXzG3cy!i|E@491K%x|~Q zta(?7P_V%9O;CJcQuF3dK#vCDkdW#Q zd{^}u6tn!{>5R5xqgk+7edBfI7h;oh#stAy#*DWz^WdHoJBAzipyN)wPt;<~WU3zH z=n)7Jr@zjJriKOj+qciw*vSV_6RiAqJLh=g@$%AMrUnJ&FQ5Ihp4mjs=rrv=d_lv# zOj?(#wZb_K{Og+6yYWbcvpu=?C}XW>pE-Y7uO9jPQAK z!o~S3|0Bhk$B9vh4)_t0_=0_=A2&60k%y`GXQN&BzPrv(wJqED+a>K_IS#eTv3X|~ zXIIWj+nUD-op`5>ntO~k^vkUbR@ArC*3lG#^?0L2n*;1Zl_|i|8$UkXyY#?IxJ9Q- z)Pa5deTXGwtnuhjza*x-jFqv_83eUGsXFi-9r=|&x7$eFSa#oV*SGIqV*}!wy7Zor z&c$L{Kb3mu%Msio{O=xCLZE0Pw?*WQ8#`Ga&8$j@f;@8^yx12o?gf&MZpBSUi+<7kHfvNA59-h({RXhv z_re8eP&e{^|NbiI{wnFMf2fU4iQ}lOtMg#5PL+rt6^=V!ktyQ9s=9YDm?JR7x9;-O zB2Uy9r*TP`*lW{o%b*9H_|%HS3Lbu0$|viN1!zm})q-5lo|Y zxx_JKT@GJmG$ibICpK$-#7$L%Vto^pyuil@TdY^>cHoWz(V<w%9Hg#s09o&Q=A^V~7|yqDUj%uH z6^<+>)71NV_?XTVvV3#qCdo(dTwxSAlhq|?_Cgm=Pm6J{$8pyFHzUNqcIVwD|D0O- ze=@(JB<+L%E!)@~ct|Gt^AX>!VWmDcw)n#(au(8l+$4KaE|Bgwsly>DXay7&sdy7U zPx2AY5p$XBih_?rqK(S8A0YM~HYjQJefC!EWwLgJ9Drq@gmYRocbRP%ZQFNETNgTb zx@_AUXd-cDLH;2@4~fVtPKKo?*{pr2H=DH65bU^w;d+YO`E;oac&T$a(T74fpIf+y zu(&x%IW`J0(R=-4(_Rd>TCerw56#D3AH(nWTo&s~l^?HL3K5Os{#?5dYNE+XO?g4v zS%lMcEom)*A<9MdJhta1$B@=f5#>lm#mwS{P*9JPmI3c6PG!^JiV!JsB0v2q(V7Hj-i@O-&r<_Aott14Z*f~bQq_I_gt5z zZS{CLHTgPfEPFU#;%oPsSTb#!h=2bbCcT9O2_mdsPo+CtORunHTm*79%6j;A8Llqc zMMs$w@O+u{9Ngn%5$wO$o$OE0%aow=O;D{TF{^PtaezD#xc|0}=lMgfRn7F5&xF>$ zZT~6$ba*K^nAz%~>Q@ck5fPZq{_a_j+-~0~W7_q3!o*jIbT_KoT{Y6te0g#}5PCBB zFPRowKp}&I2yM5yGs*7`=+}1f_Vw(LB*iSd+b$3FwRJ*&giD=2ZfO~z@2f`A<|Z2f z8(9XEw(>I>MdoNg3+)uHVUx+S1RwoCcY$-$Q$Yj}w50VC*1L7!N^R@vTtw`3T+3Fc z;CZ}XoM^^`LnMf2RemXIbCOhg!a*Tre(`Adi)pZGRP;HMo%<|>*Xgn&D5Lc{fHl^q z4UVW3_R!$J49|jxA>)j)*8;N-CR}MZVt;ny*RM?19a35WOIprPQin}`owGQ5&+hyX zP$vNTH8&6>X;Y_GDqa~8l57U37oO+WgcqFC{{LoCXBpTjG_BPA5@Kt4m69+5CWaOU Jje2fz{{t}U&0hcj diff --git a/Assets/Icon32.ico b/Assets/Icon32.ico index 7f0737b2ab91f7013e1cd6857b00e1c0f3ad3ef0..232db2ea02710d793b236277811e4c87a459090c 100644 GIT binary patch literal 4314 zcmeH}Uuex?7{`CdMw$6zv- zQ3^#V#l zAntPx8_Tp-Ci>Ku?rv~(O<%TtAoP7*?e{q3z*gu6SKIsznXDn*{;BVt^D+7{$X9*r zH0T7=HT#9J`BB#prcb`BtGbQ8W-0zVI0IuqXHgG*VEVGJpeV{3Tzztax~f&@YnS7H z0@Hbkzu2E!fd9;yQ_LgC``a1<`di59^6UJ-*7)_;;OksX+pJ;^!*Iw0eLrkY_9CQx z6Ry6mHJY6Lu+i^V;`f4EH|T4xv;Fv0__hbd9nyHJ7Swm+$gP3kxdyeZuQyo>`i>UB zRj|1#x324_(kHhLIuwhY347oUdJ)wHdIUN zDw7^ozaLGId=t{AKLRd;t-nd})L##-c9{Q|n1iqohAB^tS`(ofF2Dz91f7@8W6JL+ zFY&(*{WdUd-RT5s<-&6a(@ZtiMf@pP2g!4$p7ysKHbZiaT7z@`#msGj)fy*%2c*)8 zGM@6DRNtEETVGadhu8n8A6%pEsS!#cc?K!;8?vk&T+18kx53(=K4S&Y4Z)mj_jNxV zA^NQYsGZQHel?8MUAy{>O^05{=3aZKcL^#Xp($N!0sXUC(snhI@6a?|Yx?NU>xXt9 zIr@#b1}(4)R=_A%Bc1Q)-y|>W+;tyMp#z#>C#(eBRc^Z4QRbvioica=SKtV2hh^_ul?T-Y<01$cF#` literal 4314 zcmeH~drVVT7{E_2ecsaEK4?W0K>>M&mx3VDQqchpSph|u9a|Kt0}aX)5QV8hC!+F3 zSOr8)rhu|dw_zLu1w>H+jb;xMv$#aJWLq|u#VuQQcfQLiP;U#{Kl?*Ia@u>&`R@1o zUg!3L5C{Lcx+3^QeKLg92q7;#@Dhr`1J)VAdzM1eG@2gMIq2%@LMD?5H8(d;I!ukt zsJ5XAb#|PXeYNwXe}k!M(tFHyfdMSbo{Ni%vusVPb1p)%v<0Z3)hPU~eS`4(86=u- zRheZ2SeE?6#6%X&iAyq)pk9w4b1rOEetWG*MPJ_GK=Mop%g3(&U2MX81o-MJ(kMR@e+p-m34Zf{n@|v_z zlnJ&nwc;Y+^cJd^n&+>ORKdDJOeo6Js0$E3?0uT&@JoO*F9i0ii7md56E~o24RsF3 z^E0k@I@s8}OuUb&H;xf<4Rwe4iA?#Brz6)FbkZZpT)h5tuvkU6Z&Ex^ONkk<&L+0_ zW_>4_-7L7yTVY>0f@{!^WAFKg4?e)?!}Z7CzrGqK+6=nj`>74`+n`^UF6-ghAp+Jd zWh#8Q2lrU{D?vg-N{BGK+CW{pxJ~&4dL8NjXAgV;pCA{9QmGC~L`b1G3*#kq;6qV@ zq|uTM^U3(w1j6U3b^j{qneq2Kl1LTrFIbD$TR+TEJ_bJq@PIP_e&KWSP2_xjEZno) zSCEYT`)R#~EF5nGu5Iyg&N$fqX`I`?=1^!3p;kBq*5`E2%}OXH{pR^2gr9y`C_5z7 zdhlX*#7mBz$x__Ef_v}gZWVnU*Z-|p`y-$;LrToVb-47BpCB3LW?|#UCoo5fdoYDM zd#6NAZ;ctX;l6EkS@gYQv~HxH)?TlsL)(h(dgQM;LWTQkkx<0cmyZnx%_2gxmx@b{ zXUK=ZhtqE=?s?7RVt)}zT_iHPskv^p_!+MyD-W;Ybr0=P(;w$5e^iT*k~dpDEAsN; zC)#V(wB~9htr@7KwKr-QU!rc+(cvGJJoMSOu0<6anuHWGsoB1}0(q>DBnzqx)Oq|I zF>ndQp-4hv-e-&d;Py4T1Btv&{Cs(sp(S^Lu2-?40pe!Zz_%EX58d!lW<+$A{or4{ z>AX{_&d76dbT+fxWXRP)%$e}!#l~Mbntvn}5fVFmv)I$wThm|hRCBHBIj*H2FozsL zPQc&DzKW;8EqVQ}8&~dRdWOfFa1Pn{ur^+NOEcbs*w|Q;t_@VtQ8#PHdZxYju17&? zxpIl$awN2KNK8)R*!umW0^LG!ZvWI^JCm|3YVw>uwxJuYrBF4*`9F)NTb+%o}sj$z;!qRb44iD6Xy9{$PxM+;6C z-1I9mw&9$<c`;Dl;qU!Dg%!ws4@4!Vv6X zC@(Zrh_!l{K~c;+J?uSl=FB;Bp^@niivxSFwSV9BU;oQGrGHwjW-@Kcq^kcP0H(qE zT?@p(G2FR zO1awK5}<&14S$bKAV9sHz;=9!t(9`MzZt+RdC;A6h9HK(466f`a`jKVbcV$bV-q$` zYcb&!JdBGcP;@W0;!EtVl&hzxi-9P~F2i-`4{6-p+0*t2-uMrKC$O^+?5dQjea$A7 zYPFhKPww1^mBq7u%)0}F8xHitAm)d(;HTX0+P z{N<3w?VUYscgWLcB-@LwVyE8^x;9F(3$PeVa1&m~vzUpqLmD4G4Nx4xRJ@Dj^4y)* zv2^XP_zv^y1Y5c`O0p|(OCeg8H@kzlFQjo#lw=EVCsv0vt_=YwK2XAXc^!B^r16T* zp0-8uynh{Z?e;p?PRI4QwHUJ-yz?F&FE;cvmSSN@rdfDT!X$S$=*VDo%rW?W(4qIcfxP*vD}?gupvsa_K?P1^1vIYo7;y)A&sBHRdO#p zRDbt=50($6TPtgo1(zVfgE$N8LK=4zdE6}zv`2ANo-Jz(JJ-I)GUEqDo@#YSRB&0S*nf>Fqt;#{|zS{;9p3z VZzIf#7x4f9002ovPDHLkV1j|q#)|*| delta 1403 zcmV->1%&$02bBwuD}Mk10000108b^v)&KwnM@d9MRCt{2muXCtM;OOv-@SL)efI|O zKn3K?0xAe9EQnU1xaCm9x}}Z4YC(fg<%TN315go=t1BRCQU#Q@&=zAUSU?mJ&}e#? zn8qgBCT-K&G`4Be={zq;f?NxJ;EPZ4WRscM`Tw3{W@iz`7=O*B&#Cw;fH44lgI$Wg z2hG7(x*8lCo6pPY>(3xlbq%U2Kh1b`WeqZYP=jht*P`0mI#gFTJ2#n3sJ*>?JV01P zDBpO>=59g9%73z&v`_X_JKi?rEx8o5)2eXA>#}$oH-4bh5-meqM5C9q;Nal#03jRo z$iYXfuN(}(Wq&tyxcrtst{m{kRYL)cm-qYQlij|5AO76uar(Ix{l+5K#)!SPN7hDI z?{M;#`&%s$+3|#IzBvHl;o%cxAS{fTOfh+MR^0Z-CD;ANd1_al>S zkJ>Mnd2@Ia+iU=^#8Pc5L^uknJe}Y~5)ulInj; zXPAY_G6Q9*`*uA86kBBXQBr1%EMTAa1i zRix!|5jAZOY~5cNzzsjzrc7>qB+|uY!$L!@V>N6zsVIpKvIJh#zUG(RW!jd2XltXD z4R_(Fn#^`FORSPj3lRBMoRYiwc!%cT09K}a_J1o9YLuD<-1*0^`96i{UTiLiHvdzf zM>`HV*Lwx2BV-CB9aT`+*^7K*(`iF#i(q+}0Z|+lC88x$-vjzknB&kcd^CB zHC4B^&}mAZ)=+U2^Sw)ClowSEe}!iJ-o#067%J8X9m={H?iW~3->wm z9DlViD_j+A>%CeV`wMxJA%=3_K;ZoF|K^xXO2ZEpkTp075JzjVfp$AQ#6R4Uv_a zuMOQ!#v7DLpFB}#U&rd~UaZO>;yJxonSb>054>f*L9mqXvLRBH_T_IPzt~Llf|&s@ zY!<=$iv=EU7zCbCiL{~Ys&e0zryvBvs*G!x2w+uuClSAa>F8t4l#rGp7KJ3CnH8G6 zAuQ47)QsEITmZJrdOiaYl3D_rsk3_+F-CO6NtxjDPoejldzc2Yc6O8RJbwq)lYi8A zl5$cL=uZs*o6uW}F00ZzeiwM?V_;0Ye$OF@l8lXrcQ8@Qa2-LA>+@~ zxqVo%yXhe%)mTm>J}m&>bz_(!vGF_g`+ZDZg)1ZC83x)FoApM_Nm0p0vHA13Hd_LExSl}KNPP^IQSe68jUn)2?)Xo zVETb%KpdEuKb`oD07gLs5(|;D; zPi1&AoAtb|F`?S(a&)%2ZNa&=>)KjV^~*oY=lqY!D}cH3{{aTcT2?aw7OemP002ov JPDHLkV1g9kp6CDo diff --git a/Assets/Icon64.png b/Assets/Icon64.png index 105469bb23545514fd90ded6b5b52519c6e1165b..61d53d8221794a2ba44b5ac6dc30eda120fd05d0 100644 GIT binary patch delta 2052 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 diff --git a/CurvaLauncher/App.xaml.cs b/CurvaLauncher/App.xaml.cs index c4871af..26940c1 100644 --- a/CurvaLauncher/App.xaml.cs +++ b/CurvaLauncher/App.xaml.cs @@ -16,6 +16,9 @@ using CommunityToolkit.Mvvm.ComponentModel.__Internals; using System.Reflection; using System.Diagnostics; +using CurvaLauncher.Views.Pages; +using Wpf.Ui.Mvvm.Contracts; +using Wpf.Ui.Mvvm.Services; namespace CurvaLauncher { @@ -30,15 +33,28 @@ private static IServiceProvider BuildServiceProvider() { ServiceCollection services = new ServiceCollection(); + // view services.AddSingleton(); - services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // view model + services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + // services services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); return services.BuildServiceProvider(); } @@ -63,7 +79,7 @@ protected override void OnStartup(StartupEventArgs e) ServiceProvider .GetRequiredService(); - if (!hotkeyService.Registered) + if (!hotkeyService.IsLauncherHotkeyRegistered) { NativeMethods.MessageBox( IntPtr.Zero, @@ -139,6 +155,25 @@ public static void ShowLauncher() mainWindow.QueryBox.Focus(); } + public static void ShowLauncherWithQuery(string queryText) + { + _currentCancellationTokenSource = new(); + + var mainWindow = + ServiceProvider.GetRequiredService(); + var configService = + ServiceProvider.GetRequiredService(); + + mainWindow.Width = configService.Config.LauncherWidth; + mainWindow.Left = (SystemParameters.PrimaryScreenWidth - mainWindow.AppConfig.LauncherWidth) / 2; + mainWindow.Top = SystemParameters.PrimaryScreenHeight / 3; + + mainWindow.Show(); + mainWindow.Activate(); + mainWindow.SetQueryText(queryText); + mainWindow.QueryBox.Focus(); + } + public static void CloseLauncher() { var mainWindow = diff --git a/CurvaLauncher/AppConfig.cs b/CurvaLauncher/AppConfig.cs index 0bba8bc..4181ac0 100644 --- a/CurvaLauncher/AppConfig.cs +++ b/CurvaLauncher/AppConfig.cs @@ -1,5 +1,7 @@ using CommunityToolkit.Mvvm.ComponentModel; +using CurvaLauncher.Models; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Text.Json.Nodes; using System.Text.Json.Serialization; @@ -27,11 +29,24 @@ public partial class AppConfig : ObservableObject private string _launcherHotkey = "Alt+Space"; [ObservableProperty] - private JsonObject? _pluginsConfig; + private ObservableCollection _customQueryHotkeys = new(); [ObservableProperty] - private HashSet? _disabledPlugins; + private Dictionary _plugins = new(); [JsonIgnore] public double LauncherResultViewHeight => LauncherResultViewCount * 57 + LauncherResultViewCount; + + + public partial class PluginConfig : ObservableObject + { + [ObservableProperty] + private bool _isEnabled; + + [ObservableProperty] + private float _weight; + + [ObservableProperty] + JsonObject? _options; + } } diff --git a/CurvaLauncher/Assets/Icon128.png b/CurvaLauncher/Assets/Icon128.png index 1ef1cd795fdc22c19530bcb1e03eac4112afd8da..d793e256876257ff9844e2e92e58ee35758e2b18 100644 GIT binary patch literal 4338 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 Jje2fz{{t}U&0hcj diff --git a/CurvaLauncher/Assets/Icon32.ico b/CurvaLauncher/Assets/Icon32.ico index 7f0737b2ab91f7013e1cd6857b00e1c0f3ad3ef0..232db2ea02710d793b236277811e4c87a459090c 100644 GIT binary patch literal 4314 zcmeH}Uuex?7{`CdMw$6zv- zQ3^#V#l zAntPx8_Tp-Ci>Ku?rv~(O<%TtAoP7*?e{q3z*gu6SKIsznXDn*{;BVt^D+7{$X9*r zH0T7=HT#9J`BB#prcb`BtGbQ8W-0zVI0IuqXHgG*VEVGJpeV{3Tzztax~f&@YnS7H z0@Hbkzu2E!fd9;yQ_LgC``a1<`di59^6UJ-*7)_;;OksX+pJ;^!*Iw0eLrkY_9CQx z6Ry6mHJY6Lu+i^V;`f4EH|T4xv;Fv0__hbd9nyHJ7Swm+$gP3kxdyeZuQyo>`i>UB zRj|1#x324_(kHhLIuwhY347oUdJ)wHdIUN zDw7^ozaLGId=t{AKLRd;t-nd})L##-c9{Q|n1iqohAB^tS`(ofF2Dz91f7@8W6JL+ zFY&(*{WdUd-RT5s<-&6a(@ZtiMf@pP2g!4$p7ysKHbZiaT7z@`#msGj)fy*%2c*)8 zGM@6DRNtEETVGadhu8n8A6%pEsS!#cc?K!;8?vk&T+18kx53(=K4S&Y4Z)mj_jNxV zA^NQYsGZQHel?8MUAy{>O^05{=3aZKcL^#Xp($N!0sXUC(snhI@6a?|Yx?NU>xXt9 zIr@#b1}(4)R=_A%Bc1Q)-y|>W+;tyMp#z#>C#(eBRc^Z4QRbvioica=SKtV2hh^_ul?T-Y<01$cF#` literal 4314 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 literal 67758 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 SdO$s(9#9Xc2h;- HotkeyUtils.IsValidHotkey(Hotkey); +} diff --git a/CurvaLauncher/Models/QueryResultModel.cs b/CurvaLauncher/Models/QueryResultModel.cs index d073d9d..c20a80d 100644 --- a/CurvaLauncher/Models/QueryResultModel.cs +++ b/CurvaLauncher/Models/QueryResultModel.cs @@ -13,41 +13,36 @@ public partial class QueryResultModel : ObservableObject { private readonly IQueryResult _rawQueryResult; - public QueryResultModel(float weight, string title, string description, ImageSource? icon, IQueryResult rawQueryResult) + private QueryResultModel(float weight, string title, string description, ImageSource? icon, IQueryResult rawQueryResult) { Weight = weight; Title = title; Description = description; - Icon = icon; + _icon = icon; _rawQueryResult = rawQueryResult; } - [ObservableProperty] - private float weight; + private ImageSource? _icon; - [ObservableProperty] - private string title = string.Empty; - - [ObservableProperty] - private string description = string.Empty; - - [ObservableProperty] - private ImageSource? icon; + public float Weight { get; } + public string Title { get; } + public string Description { get; } + public ImageSource? Icon => _icon; public void SetFallbackIcon(Func iconFactory) { - if (Icon == null) + if (_icon == null) { - Icon = iconFactory.Invoke(); + SetProperty(ref _icon, iconFactory.Invoke(), nameof(Icon)); } - else if (Icon is BitmapImage bitmapImage && bitmapImage.IsDownloading) + else if (_icon is BitmapImage bitmapImage && bitmapImage.IsDownloading) { - var originIcon = Icon; + var originIcon = _icon; - Icon = iconFactory.Invoke(); + SetProperty(ref _icon, iconFactory.Invoke(), nameof(Icon)); bitmapImage.DownloadCompleted += (s, e) => { - Icon = originIcon; + SetProperty(ref _icon, originIcon, nameof(Icon)); }; } } @@ -86,8 +81,8 @@ public async Task Invoke() App.CloseLauncher(); } - public static QueryResultModel FromQueryResult(IQueryResult queryResult) + public static QueryResultModel Create(CurvaLauncherPluginInstance pluginInstance, IQueryResult queryResult) { - return new QueryResultModel(queryResult.Weight, queryResult.Title, queryResult.Description, queryResult.Icon, queryResult); + return new QueryResultModel(pluginInstance.Weight * queryResult.Weight, queryResult.Title, queryResult.Description, queryResult.Icon, queryResult); } } diff --git a/CurvaLauncher/Services/ConfigService.cs b/CurvaLauncher/Services/ConfigService.cs index 6bae813..61318c4 100644 --- a/CurvaLauncher/Services/ConfigService.cs +++ b/CurvaLauncher/Services/ConfigService.cs @@ -7,6 +7,7 @@ using System.Text.Json.Nodes; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; +using CurvaLauncher.Models; using CurvaLauncher.Plugin; using CurvaLauncher.Utilities; using Microsoft.Extensions.DependencyInjection; @@ -51,27 +52,19 @@ private void LoadConfig(out AppConfig config) config = JsonSerializer.Deserialize(fs, JsonUtils.Options) ?? new AppConfig(); } - private HashSet GetDisabledPlugins() + private AppConfig.PluginConfig GetPluginConfig(CurvaLauncherPluginInstance pluginInstance) { - PluginService pluginService = _serviceProvider - .GetRequiredService(); - - return pluginService.PluginInstances - .Where(pluginInstance => !pluginInstance.IsEnabled) - .Select(pluginInstance => pluginInstance.Plugin.GetType().FullName!) - .Where(pluginName => pluginName != null) - .ToHashSet(); - } - - private JsonObject GetPluginsConfig() - { - PluginService pluginService = _serviceProvider - .GetRequiredService(); + return new() + { + IsEnabled = pluginInstance.IsEnabled, + Weight = pluginInstance.Weight, + Options = GetPluginOptions(pluginInstance.Plugin) + }; - JsonObject config = new(); - foreach (var pluginInstance in pluginService.PluginInstances) + JsonObject GetPluginOptions(IPlugin plugin) { - var props = pluginInstance.Plugin.GetType().GetProperties() + var props = plugin.GetType() + .GetProperties() .Where(p => p.GetCustomAttribute() is not null); JsonObject json = new(); @@ -80,10 +73,8 @@ private JsonObject GetPluginsConfig() json[property.Name] = JsonSerializer.SerializeToNode(property.GetValue(pluginInstance.Plugin)); } - config[pluginInstance.Plugin.GetType().FullName!] = json; + return json; } - - return config; } [RelayCommand] @@ -96,8 +87,11 @@ public void Load() [RelayCommand] public void Save() { - Config.DisabledPlugins = GetDisabledPlugins(); - Config.PluginsConfig = GetPluginsConfig(); + var pluginService = _serviceProvider + .GetRequiredService(); + + Config.Plugins = pluginService.PluginInstances + .ToDictionary(instance => instance.Plugin.GetType().FullName!, instance => GetPluginConfig(instance)); string fullPath = _pathService.GetPath(Path); using FileStream fs = File.Create(fullPath); diff --git a/CurvaLauncher/Services/HotkeyService.cs b/CurvaLauncher/Services/HotkeyService.cs index 69c4c2c..4a82100 100644 --- a/CurvaLauncher/Services/HotkeyService.cs +++ b/CurvaLauncher/Services/HotkeyService.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.Windows.Interop; +using CurvaLauncher.Utilities; using EleCho.GlobalHotkey; using EleCho.GlobalHotkey.Windows; @@ -37,71 +39,75 @@ private IntPtr Hook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool } - Hotkey _registeredHotkey; + Hotkey _registeredLauncherHotkey; private readonly ConfigService _configService; + private readonly HashSet _registeredCustomHotkeys = new(); - public bool Registered { get; private set; } - + public bool IsLauncherHotkeyRegistered { get; private set; } public string? RegisteredHotkey { get; private set; } - private bool TryParseHotkey(string hotkey, out ModifierKeys modifiers, out Key key) - { - modifiers = ModifierKeys.None; - key = Key.None; - - string[] keyStrs = _configService.Config.LauncherHotkey.Split('+'); - foreach (var keyStr in keyStrs) - { - var _keyStr = keyStr; - - if (_keyStr == "Ctrl") - _keyStr = "Control"; - - if (Enum.TryParse(_keyStr, out var _modifierKey)) - modifiers |= _modifierKey; - else if (Enum.TryParse(_keyStr, out var _key)) - key |= _key; - else - return false; - } - - return true; - } - - public bool IsValidHotkey() - { - return TryParseHotkey(_configService.Config.LauncherHotkey, out _, out _); - } - - - public void Register() + public void RegisterLauncherHotkey() { string launcherHotkey = _configService.Config.LauncherHotkey; - if (!TryParseHotkey(launcherHotkey, out var modifiers, out var key)) + if (!HotkeyUtils.TryParseHotkey(launcherHotkey, out var modifiers, out var key)) { - Registered = false; + IsLauncherHotkeyRegistered = false; return; } - if (Registered && - _registeredHotkey.Modifier == modifiers && - _registeredHotkey.Key == key) - return; + if (IsLauncherHotkeyRegistered) + { + if (_registeredLauncherHotkey.Modifier == modifiers && + _registeredLauncherHotkey.Key == key) + return; + + _globalHotkeyManager.Unregister(modifiers, key); + } try { Hotkey hotkey = new Hotkey(modifiers, key); - _globalHotkeyManager.UnregisterAll(); _globalHotkeyManager.Register(hotkey, hotkey => App.ShowLauncher()); - _registeredHotkey = hotkey; + _registeredLauncherHotkey = hotkey; RegisteredHotkey = launcherHotkey; - Registered = true; + IsLauncherHotkeyRegistered = true; } catch { - Registered = false; + IsLauncherHotkeyRegistered = false; } } + + public void RegisterCustomHotkeys() + { + foreach (var hotkey in _registeredCustomHotkeys) + _globalHotkeyManager.Unregister(hotkey); + + foreach (var queryHotkey in _configService.Config.CustomQueryHotkeys) + { + if (!HotkeyUtils.TryParseHotkey(queryHotkey.Hotkey, out var modifiers, out var key)) + continue; + + try + { + var hotkey = new Hotkey(modifiers, key); + _globalHotkeyManager.Register(hotkey, hotkey => App.ShowLauncherWithQuery(queryHotkey.QueryText)); + _registeredCustomHotkeys.Add(hotkey); + } + catch { } + } + } + + public bool IsCustomHotkeyRegistered(Hotkey hotkey) + { + return _registeredCustomHotkeys.Contains(hotkey); + } + + public void Register() + { + RegisterLauncherHotkey(); + RegisterCustomHotkeys(); + } } diff --git a/CurvaLauncher/Services/PageService.cs b/CurvaLauncher/Services/PageService.cs new file mode 100644 index 0000000..70400a6 --- /dev/null +++ b/CurvaLauncher/Services/PageService.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using Microsoft.Extensions.DependencyInjection; +using Wpf.Ui.Mvvm.Contracts; + +namespace CurvaLauncher.Services +{ + public class PageService : IPageService + { + private readonly IServiceProvider _serviceProvider; + + public PageService( + IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + } + + public T? GetPage() where T : class => _serviceProvider.GetRequiredService(); + public FrameworkElement? GetPage(Type pageType) => _serviceProvider.GetRequiredService(pageType) as FrameworkElement; + } +} diff --git a/CurvaLauncher/Services/PluginService.cs b/CurvaLauncher/Services/PluginService.cs index 31c1b42..b8329d0 100644 --- a/CurvaLauncher/Services/PluginService.cs +++ b/CurvaLauncher/Services/PluginService.cs @@ -61,28 +61,13 @@ private void LoadPlugins(out List plugins) foreach (FileInfo dllFile in dllFiles) if (LoadPlugin(config, dllFile.FullName, out CurvaLauncherPluginInstance? plugin)) { - if (config.PluginsConfig != null && config.PluginsConfig.TryGetPropertyValue(plugin.Plugin.GetType().FullName!, out var json)) - { - var props = plugin.Plugin.GetType().GetProperties() - .Where(p => p.GetCustomAttribute() is not null); - - foreach (var property in props) - { - if (json!.AsObject().TryGetPropertyValue(property.Name, out var value) is true) - { - var type = property.PropertyType; - var val = JsonSerializer.Deserialize(value, type); - property.SetValue(plugin.Plugin, val); - } - } - } plugins.Add(plugin); } } - private bool LoadPlugin(AppConfig config, string dllFilePath, [NotNullWhen(true)] out CurvaLauncherPluginInstance? plugin) + private bool LoadPlugin(AppConfig config, string dllFilePath, [NotNullWhen(true)] out CurvaLauncherPluginInstance? pluginInstance) { - plugin = null; + pluginInstance = null; try { @@ -95,11 +80,37 @@ private bool LoadPlugin(AppConfig config, string dllFilePath, [NotNullWhen(true) if (pluginType == null) return false; - if (!CurvaLauncherPluginInstance.TryCreate(pluginType, out plugin)) + if (!CurvaLauncherPluginInstance.TryCreate(pluginType, out pluginInstance)) return false; var typeName = pluginType.FullName!; - plugin.IsEnabled = config.DisabledPlugins == null || !config.DisabledPlugins.Contains(typeName); + + if (config.Plugins.TryGetValue(typeName, out var pluginConfig)) + { + pluginInstance.IsEnabled = pluginConfig.IsEnabled; + pluginInstance.Weight = pluginConfig.Weight; + + var props = pluginInstance.Plugin.GetType().GetProperties() + .Where(p => p.GetCustomAttribute() is not null); + + if (pluginConfig.Options != null) + { + foreach (var property in props) + { + if (pluginConfig.Options.TryGetPropertyValue(property.Name, out var value)) + { + var type = property.PropertyType; + var val = JsonSerializer.Deserialize(value, type); + property.SetValue(pluginInstance.Plugin, val); + } + } + } + } + else + { + pluginInstance.IsEnabled = true; + } + return true; } catch diff --git a/CurvaLauncher/Themes/Generic.xaml b/CurvaLauncher/Themes/Generic.xaml index 62a83ad..e5d16ad 100644 --- a/CurvaLauncher/Themes/Generic.xaml +++ b/CurvaLauncher/Themes/Generic.xaml @@ -1,9 +1,13 @@  - + + + \ No newline at end of file diff --git a/CurvaLauncher/Utilities/HotkeyUtils.cs b/CurvaLauncher/Utilities/HotkeyUtils.cs new file mode 100644 index 0000000..9d5649e --- /dev/null +++ b/CurvaLauncher/Utilities/HotkeyUtils.cs @@ -0,0 +1,33 @@ +using System; +using EleCho.GlobalHotkey; + +namespace CurvaLauncher.Utilities; + +public static class HotkeyUtils +{ + public static bool TryParseHotkey(string hotkey, out ModifierKeys modifiers, out Key key) + { + modifiers = ModifierKeys.None; + key = Key.None; + + string[] keyStrs = hotkey.Split('+'); + foreach (var keyStr in keyStrs) + { + var _keyStr = keyStr; + + if (_keyStr == "Ctrl") + _keyStr = "Control"; + + if (Enum.TryParse(_keyStr, out var _modifierKey)) + modifiers |= _modifierKey; + else if (Enum.TryParse(_keyStr, out var _key)) + key |= _key; + else + return false; + } + + return modifiers != ModifierKeys.None && key != Key.None; + } + + public static bool IsValidHotkey(string hotkey) => TryParseHotkey(hotkey, out _, out _); +} diff --git a/CurvaLauncher/Utilities/SortedCollection.cs b/CurvaLauncher/Utilities/SortedCollection.cs index c3ef27d..0ad8e8d 100644 --- a/CurvaLauncher/Utilities/SortedCollection.cs +++ b/CurvaLauncher/Utilities/SortedCollection.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using CurvaLauncher.Services; namespace CurvaLauncher.Utilities; diff --git a/CurvaLauncher/ViewModels/MainViewModel.cs b/CurvaLauncher/ViewModels/MainViewModel.cs index 8106d14..29d955a 100644 --- a/CurvaLauncher/ViewModels/MainViewModel.cs +++ b/CurvaLauncher/ViewModels/MainViewModel.cs @@ -73,7 +73,7 @@ await Task.Run(async () => if (cancellationToken.IsCancellationRequested) return; - var model = QueryResultModel.FromQueryResult(result); + var model = QueryResultModel.Create(pluginInstance, result); queryResults.Add(model); dispatcher.Invoke(() => diff --git a/CurvaLauncher/ViewModels/SettingsAboutViewModel.cs b/CurvaLauncher/ViewModels/SettingsAboutViewModel.cs new file mode 100644 index 0000000..9abe0c0 --- /dev/null +++ b/CurvaLauncher/ViewModels/SettingsAboutViewModel.cs @@ -0,0 +1,8 @@ +using CommunityToolkit.Mvvm.ComponentModel; + +namespace CurvaLauncher.ViewModels; + +public partial class SettingsAboutViewModel : ObservableObject +{ + +} \ No newline at end of file diff --git a/CurvaLauncher/ViewModels/SettingsGeneralViewModel.cs b/CurvaLauncher/ViewModels/SettingsGeneralViewModel.cs new file mode 100644 index 0000000..57cf120 --- /dev/null +++ b/CurvaLauncher/ViewModels/SettingsGeneralViewModel.cs @@ -0,0 +1,15 @@ +using CommunityToolkit.Mvvm.ComponentModel; + +namespace CurvaLauncher.ViewModels; + +public partial class SettingsGeneralViewModel : ObservableObject +{ + [ObservableProperty] + private bool _hotkeyNotRegistered; + + [ObservableProperty] + private bool _hotkeyNotValid; + + [ObservableProperty] + private bool _showHotkeyApplyButton; +} diff --git a/CurvaLauncher/ViewModels/SettingsHotkeyViewModel.cs b/CurvaLauncher/ViewModels/SettingsHotkeyViewModel.cs new file mode 100644 index 0000000..34fdde5 --- /dev/null +++ b/CurvaLauncher/ViewModels/SettingsHotkeyViewModel.cs @@ -0,0 +1,19 @@ +using System.Collections.ObjectModel; +using System.Linq; +using CommunityToolkit.Mvvm.ComponentModel; + +namespace CurvaLauncher.ViewModels; + +public partial class SettingsHotkeyViewModel : ObservableObject +{ + public ObservableCollection ErrorHotkeys { get; } = new(); + public bool HasErrorHotkey => ErrorHotkeys.Any(); + + public SettingsHotkeyViewModel() + { + ErrorHotkeys.CollectionChanged += (s, e) => + { + OnPropertyChanged(nameof(HasErrorHotkey)); + }; + } +} diff --git a/CurvaLauncher/ViewModels/SettingsPluginViewModel.cs b/CurvaLauncher/ViewModels/SettingsPluginViewModel.cs new file mode 100644 index 0000000..124223a --- /dev/null +++ b/CurvaLauncher/ViewModels/SettingsPluginViewModel.cs @@ -0,0 +1,10 @@ +using CommunityToolkit.Mvvm.ComponentModel; +using CurvaLauncher.Models; + +namespace CurvaLauncher.ViewModels; + +public partial class SettingsPluginViewModel : ObservableObject +{ + [ObservableProperty] + private CurvaLauncherPluginInstance? _selectedPluginInstance; +} diff --git a/CurvaLauncher/ViewModels/SettingsViewModel.cs b/CurvaLauncher/ViewModels/SettingsViewModel.cs index f135862..c5ef5db 100644 --- a/CurvaLauncher/ViewModels/SettingsViewModel.cs +++ b/CurvaLauncher/ViewModels/SettingsViewModel.cs @@ -5,16 +5,5 @@ namespace CurvaLauncher.ViewModels; public partial class SettingsViewModel : ObservableObject { - [ObservableProperty] - private CurvaLauncherPluginInstance? _selectedPluginInstance; - - [ObservableProperty] - private bool _hotkeyNotRegistered; - - [ObservableProperty] - private bool _hotkeyNotValid; - - [ObservableProperty] - private bool _showHotkeyApplyButton; } diff --git a/CurvaLauncher/Views/Components/PluginOptionsControl.xaml b/CurvaLauncher/Views/Components/PluginOptionsControl.xaml index 02469f6..8d22751 100644 --- a/CurvaLauncher/Views/Components/PluginOptionsControl.xaml +++ b/CurvaLauncher/Views/Components/PluginOptionsControl.xaml @@ -36,14 +36,21 @@ Text="{Binding RelativeSource={RelativeSource AncestorType=local:PluginOptionsControl},Path=Plugin.Description}"/> - + - + + + + + + diff --git a/CurvaLauncher/Views/Components/PluginSelectOption.xaml b/CurvaLauncher/Views/Components/PluginSelectOption.xaml index a640d55..7f32d63 100644 --- a/CurvaLauncher/Views/Components/PluginSelectOption.xaml +++ b/CurvaLauncher/Views/Components/PluginSelectOption.xaml @@ -14,6 +14,6 @@ d:Text="SomeOption"/> - + diff --git a/CurvaLauncher/Views/Pages/SettingsAboutPage.xaml b/CurvaLauncher/Views/Pages/SettingsAboutPage.xaml new file mode 100644 index 0000000..14cbe52 --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsAboutPage.xaml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CurvaLauncher/Views/Pages/SettingsAboutPage.xaml.cs b/CurvaLauncher/Views/Pages/SettingsAboutPage.xaml.cs new file mode 100644 index 0000000..878f9c9 --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsAboutPage.xaml.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using CommunityToolkit.Mvvm.Input; +using CurvaLauncher.Utilities; +using CurvaLauncher.ViewModels; + +namespace CurvaLauncher.Views.Pages +{ + /// + /// Interaction logic for SettingsAboutPage.xaml + /// + public partial class SettingsAboutPage : Wpf.Ui.Controls.UiPage + { + public SettingsAboutPage( + SettingsAboutViewModel viewModel) + { + ViewModel = viewModel; + DataContext = this; + + InitializeComponent(); + } + + public SettingsAboutViewModel ViewModel { get; } + + + [RelayCommand] + public async Task CheckVersion() + { + try + { + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version!; + var latestVersion = await GithubUtils.GetLatestVersionAsync(default); + + if (latestVersion != null && latestVersion.Value.Version > currentVersion) + { + if (MessageBox.Show($"New version found: {latestVersion.Value.Version}, would you want to go and download it?", "CurvaLauncher Tips", MessageBoxButton.YesNo, MessageBoxImage.Information) == System.Windows.MessageBoxResult.Yes) + { + ShellUtils.Start(latestVersion.Value.Address); + } + } + else + { + MessageBox.Show("No update", "CurvaLauncher Tips", MessageBoxButton.OK, MessageBoxImage.Information); + } + } + catch + { + MessageBox.Show("Failed to check update", "CurvaLauncher Error", MessageBoxButton.OK, MessageBoxImage.Error); + } + } + } +} diff --git a/CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml b/CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml new file mode 100644 index 0000000..072090b --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml.cs b/CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml.cs new file mode 100644 index 0000000..c86b6a1 --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsGeneralPage.xaml.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using CommunityToolkit.Mvvm.Input; +using CurvaLauncher.Libraries.Securify.ShellLink; +using CurvaLauncher.Services; +using CurvaLauncher.Utilities; +using CurvaLauncher.ViewModels; +using Wpf.Ui.Mvvm.Interfaces; + +namespace CurvaLauncher.Views.Pages +{ + /// + /// Interaction logic for SettingsGeneralPage.xaml + /// + public partial class SettingsGeneralPage : Wpf.Ui.Controls.UiPage + { + public SettingsGeneralPage( + SettingsGeneralViewModel viewModel, + ConfigService configService, + HotkeyService hotkeyService) + { + ViewModel = viewModel; + ConfigService = configService; + HotkeyService = hotkeyService; + DataContext = this; + + InitializeComponent(); + } + + public SettingsGeneralViewModel ViewModel { get; } + public ConfigService ConfigService { get; } + public HotkeyService HotkeyService { get; } + + + [RelayCommand] + public void CheckHotkeyStatus() + { + var hotkey = ConfigService.Config.LauncherHotkey; + + ViewModel.HotkeyNotValid = !HotkeyUtils.IsValidHotkey(hotkey); + ViewModel.HotkeyNotRegistered = !HotkeyService.IsLauncherHotkeyRegistered; + + ViewModel.ShowHotkeyApplyButton = !ViewModel.HotkeyNotValid && (!HotkeyService.IsLauncherHotkeyRegistered || HotkeyService.RegisteredHotkey != hotkey); + } + + [RelayCommand] + public void ApplyHotkey() + { + HotkeyService.RegisterLauncherHotkey(); + CheckHotkeyStatus(); + + if (!HotkeyService.IsLauncherHotkeyRegistered) + { + NativeMethods.MessageBox( + IntPtr.Zero, + $"CurvaLauncher hotkey registration failed. Please check if there are other programs occupying the hotkey and restart CurvaLauncher.", + "CurvaLauncher Warning", + MessageBoxFlags.Ok | MessageBoxFlags.IconWarning); + } + } + + + [RelayCommand] + public void CheckStartupStatus() + { + var selfPath = System.Environment.ProcessPath!; + var runDir = Environment.GetFolderPath(Environment.SpecialFolder.Startup); + var path = Path.Combine(runDir, $"{nameof(CurvaLauncher)}.lnk"); + + try + { + if (File.Exists(path)) + { + var rawBytes = File.ReadAllBytes(path); + var shortcut = Shortcut.FromByteArray(rawBytes); + + if (shortcut.ExtraData.EnvironmentVariableDataBlock.TargetUnicode.Equals(selfPath, StringComparison.OrdinalIgnoreCase)) + ConfigService.Config.StartsWithWindows = true; + else + ConfigService.Config.StartsWithWindows = false; + } + else + { + ConfigService.Config.StartsWithWindows = false; + } + } + catch { } + } + + [RelayCommand] + public void SwitchOnStartup() + { + try + { + var runDir = Environment.GetFolderPath(Environment.SpecialFolder.Startup); + var shortcut = Shortcut.CreateShortcut( System.Environment.ProcessPath!); + var path = Path.Combine(runDir, $"{nameof(CurvaLauncher)}.lnk"); + + File.WriteAllBytes(path, shortcut.GetBytes()); + ConfigService.Config.StartsWithWindows = true; + } + catch (Exception) + { + MessageBox.Show("Failed to create startup shortcut", "CurvaLauncher Error", MessageBoxButton.OK, MessageBoxImage.Error); + ConfigService.Config.StartsWithWindows = false; + } + } + + [RelayCommand] + public void SwitchOffStartup() + { + try + { + var runDir = Environment.GetFolderPath(Environment.SpecialFolder.Startup); + var path = Path.Combine(runDir, $"{nameof(CurvaLauncher)}.lnk"); + + if (File.Exists(path)) + File.Delete(path); + + ConfigService.Config.StartsWithWindows = false; + } + catch (Exception) + { + MessageBox.Show("Failed to create startup shortcut", "CurvaLauncher Error", MessageBoxButton.OK, MessageBoxImage.Error); + ConfigService.Config.StartsWithWindows = true; + } + } + } +} diff --git a/CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml b/CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml new file mode 100644 index 0000000..5f12557 --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tips: + Here, you can customize the query hotkeys. When the hotkey is triggered, the Launcher opens and enters the specified content. + + + + + + + + + + + + + diff --git a/CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml.cs b/CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml.cs new file mode 100644 index 0000000..7bc1341 --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsHotkeyPage.xaml.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using CurvaLauncher.Services; +using CurvaLauncher.Utilities; +using CurvaLauncher.ViewModels; + +namespace CurvaLauncher.Views.Pages +{ + /// + /// Interaction logic for SettingsHotkeyPage.xaml + /// + public partial class SettingsHotkeyPage : Wpf.Ui.Controls.UiPage + { + public SettingsHotkeyPage( + SettingsHotkeyViewModel viewModel, + ConfigService configService, + HotkeyService hotkeyService) + { + ViewModel = viewModel; + ConfigService = configService; + HotkeyService = hotkeyService; + DataContext = this; + + InitializeComponent(); + } + + public SettingsHotkeyViewModel ViewModel { get; } + public ConfigService ConfigService { get; } + public HotkeyService HotkeyService { get; } + + + [RelayCommand] + public void Add() + { + ConfigService.Config.CustomQueryHotkeys.Add(new()); + } + + [RelayCommand] + public void Delete() + { + int count = ConfigService.Config.CustomQueryHotkeys.Count; + + if (count > 0) + ConfigService.Config.CustomQueryHotkeys.RemoveAt(count - 1); + } + + [RelayCommand] + public void ApplyHotkeys() + { + var customHotkeys = ConfigService.Config.CustomQueryHotkeys; + for (int i = 0; i < customHotkeys.Count; i++) + { + var customHotkey = customHotkeys[i]; + + if (string.IsNullOrWhiteSpace(customHotkey.Hotkey)) + { + customHotkeys.RemoveAt(i); + i--; + } + } + + HotkeyService.RegisterCustomHotkeys(); + } + + [RelayCommand] + public void CheckHotkeys() + { + ViewModel.ErrorHotkeys.Clear(); + + foreach (var customHotkey in ConfigService.Config.CustomQueryHotkeys) + { + if (!HotkeyUtils.TryParseHotkey(customHotkey.Hotkey, out var modifiers, out var key) || + !HotkeyService.IsCustomHotkeyRegistered(new EleCho.GlobalHotkey.Hotkey(modifiers, key))) + ViewModel.ErrorHotkeys.Add(customHotkey.Hotkey); + } + } + } +} diff --git a/CurvaLauncher/Views/Pages/SettingsPluginPage.xaml b/CurvaLauncher/Views/Pages/SettingsPluginPage.xaml new file mode 100644 index 0000000..e67ce84 --- /dev/null +++ b/CurvaLauncher/Views/Pages/SettingsPluginPage.xaml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +