From 78e974ba68aac7cc3d47b19acba6d2b1dd97bb8f Mon Sep 17 00:00:00 2001 From: N00byKing Date: Fri, 30 Mar 2018 11:50:10 +0200 Subject: [PATCH] Add Dark theme, Icon theming configure_general.ui: Add UI Option for Themes config.cpp: Save Theme Settings --- dist/icons/icons.qrc | 5 - dist/icons/yuzu.png | Bin 7719 -> 0 bytes dist/qt_themes/default/default.qrc | 11 + .../qt_themes/default/icons/16x16/checked.png | Bin 0 -> 451 bytes dist/qt_themes/default/icons/16x16/failed.png | Bin 0 -> 428 bytes dist/qt_themes/default/icons/256x256/yuzu.png | Bin 0 -> 9198 bytes dist/qt_themes/default/icons/index.theme | 10 + dist/qt_themes/qdarkstyle/icons/index.theme | 11 + dist/qt_themes/qdarkstyle/rc/Hmovetoolbar.png | Bin 0 -> 220 bytes .../qt_themes/qdarkstyle/rc/Hsepartoolbar.png | Bin 0 -> 172 bytes dist/qt_themes/qdarkstyle/rc/Vmovetoolbar.png | Bin 0 -> 228 bytes .../qt_themes/qdarkstyle/rc/Vsepartoolbar.png | Bin 0 -> 187 bytes .../qdarkstyle/rc/branch_closed-on.png | Bin 0 -> 147 bytes .../qt_themes/qdarkstyle/rc/branch_closed.png | Bin 0 -> 160 bytes .../qdarkstyle/rc/branch_open-on.png | Bin 0 -> 150 bytes dist/qt_themes/qdarkstyle/rc/branch_open.png | Bin 0 -> 166 bytes .../qdarkstyle/rc/checkbox_checked.png | Bin 0 -> 492 bytes .../rc/checkbox_checked_disabled.png | Bin 0 -> 491 bytes .../qdarkstyle/rc/checkbox_checked_focus.png | Bin 0 -> 252 bytes .../qdarkstyle/rc/checkbox_indeterminate.png | Bin 0 -> 493 bytes .../rc/checkbox_indeterminate_disabled.png | Bin 0 -> 492 bytes .../rc/checkbox_indeterminate_focus.png | Bin 0 -> 249 bytes .../qdarkstyle/rc/checkbox_unchecked.png | Bin 0 -> 464 bytes .../rc/checkbox_unchecked_disabled.png | Bin 0 -> 464 bytes .../rc/checkbox_unchecked_focus.png | Bin 0 -> 240 bytes dist/qt_themes/qdarkstyle/rc/close-hover.png | Bin 0 -> 598 bytes .../qt_themes/qdarkstyle/rc/close-pressed.png | Bin 0 -> 598 bytes dist/qt_themes/qdarkstyle/rc/close.png | Bin 0 -> 586 bytes dist/qt_themes/qdarkstyle/rc/down_arrow.png | Bin 0 -> 165 bytes .../qdarkstyle/rc/down_arrow_disabled.png | Bin 0 -> 166 bytes dist/qt_themes/qdarkstyle/rc/left_arrow.png | Bin 0 -> 166 bytes .../qdarkstyle/rc/left_arrow_disabled.png | Bin 0 -> 166 bytes .../qt_themes/qdarkstyle/rc/radio_checked.png | Bin 0 -> 940 bytes .../qdarkstyle/rc/radio_checked_disabled.png | Bin 0 -> 972 bytes .../qdarkstyle/rc/radio_checked_focus.png | Bin 0 -> 846 bytes .../qdarkstyle/rc/radio_unchecked.png | Bin 0 -> 728 bytes .../rc/radio_unchecked_disabled.png | Bin 0 -> 760 bytes .../qdarkstyle/rc/radio_unchecked_focus.png | Bin 0 -> 646 bytes dist/qt_themes/qdarkstyle/rc/right_arrow.png | Bin 0 -> 160 bytes .../qdarkstyle/rc/right_arrow_disabled.png | Bin 0 -> 160 bytes dist/qt_themes/qdarkstyle/rc/sizegrip.png | Bin 0 -> 129 bytes .../qdarkstyle/rc/stylesheet-branch-end.png | Bin 0 -> 224 bytes .../qdarkstyle/rc/stylesheet-branch-more.png | Bin 0 -> 182 bytes .../qdarkstyle/rc/stylesheet-vline.png | Bin 0 -> 239 bytes dist/qt_themes/qdarkstyle/rc/transparent.png | Bin 0 -> 195 bytes dist/qt_themes/qdarkstyle/rc/undock.png | Bin 0 -> 578 bytes dist/qt_themes/qdarkstyle/rc/up_arrow.png | Bin 0 -> 158 bytes .../qdarkstyle/rc/up_arrow_disabled.png | Bin 0 -> 159 bytes dist/qt_themes/qdarkstyle/style.qrc | 49 + dist/qt_themes/qdarkstyle/style.qss | 1268 +++++++++++++++++ src/yuzu/about_dialog.cpp | 2 + src/yuzu/configuration/config.cpp | 2 + src/yuzu/configuration/configure_general.cpp | 8 + src/yuzu/configuration/configure_general.ui | 27 + src/yuzu/main.cpp | 29 + src/yuzu/main.h | 3 + src/yuzu/ui_settings.h | 4 + 57 files changed, 1424 insertions(+), 5 deletions(-) delete mode 100644 dist/icons/icons.qrc delete mode 100644 dist/icons/yuzu.png create mode 100644 dist/qt_themes/default/default.qrc create mode 100644 dist/qt_themes/default/icons/16x16/checked.png create mode 100644 dist/qt_themes/default/icons/16x16/failed.png create mode 100644 dist/qt_themes/default/icons/256x256/yuzu.png create mode 100644 dist/qt_themes/default/icons/index.theme create mode 100644 dist/qt_themes/qdarkstyle/icons/index.theme create mode 100644 dist/qt_themes/qdarkstyle/rc/Hmovetoolbar.png create mode 100644 dist/qt_themes/qdarkstyle/rc/Hsepartoolbar.png create mode 100644 dist/qt_themes/qdarkstyle/rc/Vmovetoolbar.png create mode 100644 dist/qt_themes/qdarkstyle/rc/Vsepartoolbar.png create mode 100644 dist/qt_themes/qdarkstyle/rc/branch_closed-on.png create mode 100644 dist/qt_themes/qdarkstyle/rc/branch_closed.png create mode 100644 dist/qt_themes/qdarkstyle/rc/branch_open-on.png create mode 100644 dist/qt_themes/qdarkstyle/rc/branch_open.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_checked.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_checked_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_checked_focus.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_indeterminate.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_indeterminate_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_indeterminate_focus.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_unchecked.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_unchecked_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/checkbox_unchecked_focus.png create mode 100644 dist/qt_themes/qdarkstyle/rc/close-hover.png create mode 100644 dist/qt_themes/qdarkstyle/rc/close-pressed.png create mode 100644 dist/qt_themes/qdarkstyle/rc/close.png create mode 100644 dist/qt_themes/qdarkstyle/rc/down_arrow.png create mode 100644 dist/qt_themes/qdarkstyle/rc/down_arrow_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/left_arrow.png create mode 100644 dist/qt_themes/qdarkstyle/rc/left_arrow_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/radio_checked.png create mode 100644 dist/qt_themes/qdarkstyle/rc/radio_checked_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/radio_checked_focus.png create mode 100644 dist/qt_themes/qdarkstyle/rc/radio_unchecked.png create mode 100644 dist/qt_themes/qdarkstyle/rc/radio_unchecked_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/radio_unchecked_focus.png create mode 100644 dist/qt_themes/qdarkstyle/rc/right_arrow.png create mode 100644 dist/qt_themes/qdarkstyle/rc/right_arrow_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/rc/sizegrip.png create mode 100644 dist/qt_themes/qdarkstyle/rc/stylesheet-branch-end.png create mode 100644 dist/qt_themes/qdarkstyle/rc/stylesheet-branch-more.png create mode 100644 dist/qt_themes/qdarkstyle/rc/stylesheet-vline.png create mode 100644 dist/qt_themes/qdarkstyle/rc/transparent.png create mode 100644 dist/qt_themes/qdarkstyle/rc/undock.png create mode 100644 dist/qt_themes/qdarkstyle/rc/up_arrow.png create mode 100644 dist/qt_themes/qdarkstyle/rc/up_arrow_disabled.png create mode 100644 dist/qt_themes/qdarkstyle/style.qrc create mode 100644 dist/qt_themes/qdarkstyle/style.qss diff --git a/dist/icons/icons.qrc b/dist/icons/icons.qrc deleted file mode 100644 index 575cd08611..0000000000 --- a/dist/icons/icons.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - yuzu.png - - \ No newline at end of file diff --git a/dist/icons/yuzu.png b/dist/icons/yuzu.png deleted file mode 100644 index 81a7453446776b9a57cdb9e8f503831d0f4eaf08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7719 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 Q=^`P0l2etfmo^XoA8LR!ZvX%Q diff --git a/dist/qt_themes/default/default.qrc b/dist/qt_themes/default/default.qrc new file mode 100644 index 0000000000..14a0cf6f94 --- /dev/null +++ b/dist/qt_themes/default/default.qrc @@ -0,0 +1,11 @@ + + + icons/index.theme + + icons/16x16/checked.png + + icons/16x16/failed.png + + icons/256x256/yuzu.png + + diff --git a/dist/qt_themes/default/icons/16x16/checked.png b/dist/qt_themes/default/icons/16x16/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..c277e6b4043b2b9a7c7388e076d2c493a23272c7 GIT binary patch literal 451 zcmV;!0X+VRP)vS{GWXg z=jFEi{#(+mPYdl{bJ+sm-!h2X0+2YXqDA3r`Z z{0G?zlwk(Ok%)vW!-P4vv1&#KAea1K`JDUz+#3vF3}U;W`I!(fb_Hr!{gNAuT}jjo tH^dVdGoGE~X@(m@tY$_^vok<|0RUEP!L?xlWyb&j002ovPDHLkV1gj@#Tx(s literal 0 HcmV?d00001 diff --git a/dist/qt_themes/default/icons/16x16/failed.png b/dist/qt_themes/default/icons/16x16/failed.png new file mode 100644 index 0000000000000000000000000000000000000000..ac10f174a6016ce67b9584762866248331104a15 GIT binary patch literal 428 zcmV;d0aN~oP)iBJ(9{^)nYy>P1iS9e6X z!PkBz6qq{~ED9X_H1H;RLik$z*jdv8-<+vR4(t%bzxCJw@6ECkn6Hn4HXv8u123st z4YRt$xL&m1m#x)EKlwbxosNdtMuRAdG>*GnO7@h!9rznWTT6*Lf%)fhz?&5v>}cF0000u( literal 0 HcmV?d00001 diff --git a/dist/qt_themes/default/icons/256x256/yuzu.png b/dist/qt_themes/default/icons/256x256/yuzu.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd4dc259bd6c227798961bf8fd137ebaa853914 GIT binary patch literal 9198 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 literal 0 HcmV?d00001 diff --git a/dist/qt_themes/default/icons/index.theme b/dist/qt_themes/default/icons/index.theme new file mode 100644 index 0000000000..ac67cb2367 --- /dev/null +++ b/dist/qt_themes/default/icons/index.theme @@ -0,0 +1,10 @@ +[Icon Theme] +Name=default +Comment=default theme +Directories=16x16,256x256 + +[16x16] +Size=16 + +[256x256] +Size=256 \ No newline at end of file diff --git a/dist/qt_themes/qdarkstyle/icons/index.theme b/dist/qt_themes/qdarkstyle/icons/index.theme new file mode 100644 index 0000000000..558ece40b8 --- /dev/null +++ b/dist/qt_themes/qdarkstyle/icons/index.theme @@ -0,0 +1,11 @@ +[Icon Theme] +Name=qdarkstyle +Comment=dark theme +Inherits=default +Directories=16x16,256x256 + +[16x16] +Size=16 + +[256x256] +Size=256 \ No newline at end of file diff --git a/dist/qt_themes/qdarkstyle/rc/Hmovetoolbar.png b/dist/qt_themes/qdarkstyle/rc/Hmovetoolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..cead99ed108a83715a939fc293dd7692008ac6b2 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!3HFSYrjteQfx`y?k)_Q87dhn@7xXk0~Fyb z@Q5sCVBi)8VMc~ob0mO*>?NMQuI%?&Bn5OO*L%Ib02GqV42dXl&d<$F%_{+N85o?4 zQWHy3QxwWGOEMJPJ$(aG^itV@;trlJjv*0;-<~t%Vo=~=cKEuuHadP)@WGQuU7r}S zO7(3kn;EC7l=k(^o8K==q_@k14TBON%sx1ZaXWETh=#i?0*QIL`njxgN@xNAL{>as literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/Hsepartoolbar.png b/dist/qt_themes/qdarkstyle/rc/Hsepartoolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..7f183c8b3ee5ffaa6157867cb88ebb7e67f9c0fa GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^>_BYK!3HFCsxJuxDYhhUcNd1u43!L(ckTxN0g7-I zctjR6FmMB9xrG@SX3dcR3bL1Y`ns~;XOR@p6Zv)R$U2~qrKgKyh{fsT1O>Ju$B!EW z@!}4{#Nd`-q4nn`YMg93@~{6$nhfv4z>`4eS;NZqID=!NmZu#9Lx(rZWlOyY_CP}z NJYD@<);T3K0RUVxGDiRa literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/Vmovetoolbar.png b/dist/qt_themes/qdarkstyle/rc/Vmovetoolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..512edcecd69bd11ef3d58930ba8304473319e183 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^W%Wd+bj3AjN&xsQ+Rrz=y7dXn1bJS$(l?zvsn?)HIstmk1 U3t#Ex0qtY(boFyt=akR{0D|pGN&o-= literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/Vsepartoolbar.png b/dist/qt_themes/qdarkstyle/rc/Vsepartoolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..d9dc1561b473019a12091725e724a44d979dc238 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^_CU| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sf9S(6$Q|-`GL0Lc{Yfl%)5R22v z2@<^xoY4VJd!B_UMqU2{D9-fNiI+30b a28PTOZq~oq5vPF0FnGH9xvXAmd+F5V%0wNv=peG!PC{xWt~$(69A|)Be?(o literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/branch_closed.png b/dist/qt_themes/qdarkstyle/rc/branch_closed.png new file mode 100644 index 0000000000000000000000000000000000000000..d652159a365396a046329cfc7695c89ee54431ca GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ(!2%?APo63Uq!^2X+?^QKos)S90ZA8lL>4nJ za0`PlBg3pY5H=O_B-6{JiOAS{|sjWh15M=978y+r}k{*WnkcFe(-;BX~D)* rS0)5haD*y~YzrxP=F!`JhM)Jr2M#8aN7~DQS{OWC{an^LB{Ts5zf35P literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/branch_open.png b/dist/qt_themes/qdarkstyle/rc/branch_open.png new file mode 100644 index 0000000000000000000000000000000000000000..66f8e1ac619d242f3d5a31ffb11291c09ea40468 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRR!2%?ApR4f$QjEnx?oJHr&dIz4a+s35-CY>w z1e^Sc1@brxJR*x37`TN&n2}-D90{Nxdx@v7EBhS|ac*foG2iHXppcfQi(?4K_2h&D z3_UzN#dZqZOE?US3>3JRaTpjFIL#0^D8eWr9I$mUBg3(s>=R~}U&3=E8!o-U3d z5v^~hTl*b$5NO-KaZ$^2My7CvC3jk<^u2WvDUf$c)s+rzv%V1E9{A4TMP-Z4lZ6F6 zJvyqaW~@Kfmu*$9pTBmh4fB87Nq1MQib$?;e-iXiZ<}* z4@CWD;9;1v<$&N$mS=`@#Ch2ZV#{}RJvQ4QaCNnQ-mU-(MmI+R8*yI$%dfxAYY;s7 z_m>{S8>aWE2aPM4zg_apbyj4!CUG}xvu2#YiDkvbx1hxrj-4fv9WXW}Qu2zs*=;EB~B@C9lD4Pt3jc#EK9uo4$63*ah<+ zss)BhMo2G`V&I;1@X1nvU9S{R&b}_{bpE^krGqN=vm#%w`~A&$lHbmbGYy8TuE%Y! g4!>ah-@}e^jYL&g^Ys^bz?fn1boFyt=akR{0GqMPK>z>% literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/checkbox_checked_disabled.png b/dist/qt_themes/qdarkstyle/rc/checkbox_checked_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..cb63cc2fac47ad304451f864be5fb9b9085910ee GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E7Jo-U3d z5v^~h`}!SnkZ7B~UO?mu^MY^z;cfGr%T7e}s1?W?8ZIpHm|nqi{YV9S;d_3jiRW9V zC@j#CiOINs*XRD1%4NQnC4ao1_;X|a8O{J^t^>=I&uJH^EA=Yy=q@QJXMe6{= z3nu?QmTiqn8yL4lU7L4ID46lSggggJ-lhEfrK>ewSvD~j#OXbEpLgByNx%V?Yugz2 z%=F`x=yC0fIn20j(F*mKC7cqgJZ$I97rnv0D^bF3N854ErU!Bp^;Wf}GDU{OUt^u0 zW>d#j^wD7Ns`t{1S6kg*n)>$7^lzH?%EjxII~|lJaHueWsWo@_*Zi9Q-(<7@f_{&8 zrO0b9HEPU+9v)SBw)%l|Fntmmjz{W9#jS ei>v=l+`}wZn5FJg^3NX_F$|urelF{r5}E*p0K`TB literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/checkbox_checked_focus.png b/dist/qt_themes/qdarkstyle/rc/checkbox_checked_focus.png new file mode 100644 index 0000000000000000000000000000000000000000..671be273b06e2b721f494379ab61e527932ba69e GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI zppNSx%;=;sy8pirl$i(^Q{;p7B~mkolg-~Zb$e)}u@ ze@5oRhYp5nY;MQ?&){3o{PczlV|l~dUDN*uim-MX2VD+|d1jngsyJ2mc)FUftqnvzx5JtA;>!fgJt|n_5jQ7B^fH6Ii)cTP@1u pu!mvshZ3I`*Gv}|E|RNaU|1Y$kt#XS(go-!22WQ%mvv4FO#o$0SI__e literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/checkbox_indeterminate.png b/dist/qt_themes/qdarkstyle/rc/checkbox_indeterminate.png new file mode 100644 index 0000000000000000000000000000000000000000..41024f7688c0623c853ee9ceb8138949cb167738 GIT binary patch literal 493 zcmVq3^Yy%*$?9v7vi2H2P(8128Bb|(G4PNvN{@ZTf(3sn_sOi&WJR5%589C1Db zhCs&)0xKfAB%rDi8*{57O<)4_5qWijS3LmgKot?w^!;`wQO?#_V**LxkEL?C;d$Q3 z34D<_j%&$$-a|FC);<7TfKs-gBytH%5;%7a2k<;^G*6NSFcsCSFK#waI05=$7(Tm( zXKA)Hc7gXz!E<>7_ErgOC56D&1`2f;J-djcl1whQ1*)tmxvW08H=aDaB2-ihxwfOi!+%lfAUc7T48B=@f2S)wSqMWl~v zZI(b4)#rJ^CmD~QfYn(73rQ)kZ~?z)ATUOY#(t96+Wf5x{DKuI1xkTZpzt0jI=8N~ z@D(TpewDxrBCCa!&WPR`@bXPS;RdLmG@G0AVz*kYZB*;P;G2LaatSOCE0wD-47cV1 zuZZ-3B^9~I`tuKy4iEtEUw^L;PUs>VUo&4)=p@!2lYf|GrJ*qgDsqPEE>LwM@VVy$ iRL|pXH+A&QKavmPo@ys59Ed6a0000E;YP`4SSj=K`lQnqN;26wzVN;k)FHnvrk3C?wm`aM7umdKI;Vst05m34zW@LL literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/checkbox_unchecked.png b/dist/qt_themes/qdarkstyle/rc/checkbox_unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..2159aca9a10f75729912579b33a1226e575799aa GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E9Eo-U3d z5v^~hTl*b$5Mg-k8hGeCL!&lB&^xD7y>BB#3gn$qXZC6ymd#kPSfgCwOO2D=r^N+5 zJw7|dgetV6qbk!>#or&Sckj|)rDfLlx9!BzLz){NpZKh3z}$B1``V5SO@~m`&d1TB zFPXg)nog`1-usI20_&}gBemzbKX;_n9XqyBf99W!7jwS#7#6F4()FBFa_MYZPgcU( zS_U_U-aih`PlO_t6}*e$OX!)Ie`yQ*8keuHPS3X2n8Pqxfn#3m>Ec5MHB4$L|F3^% zND!}B?-loe_r`C{2jMH2Uo}`Q;Db^cY&se~TB4iwmri9$b1?Uu;sB%_cFATAov~jhym_YEdgAln?ixeQ z^=a2;y}eWCW~RA2fzc;$?>Dw)YxnzqlxvtK94R$eY;o}lF!UKbUHx3vIVCg!09=m0 AT>t<8 literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/checkbox_unchecked_disabled.png b/dist/qt_themes/qdarkstyle/rc/checkbox_unchecked_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ade721e81ba47fa792d4586516b8744f8c49c8bb GIT binary patch literal 464 zcmV;>0WbcEP)z3Xli7-6*p9aNvlr>Itd;TFIVxd-y|OyrCsEBb@QA; zCyb(7HXkO*sBg@biZoF@2MSgIU*CL)>Rq?ji!Gh`NAd|iaAZN1hu>)c0000U^V1tLjO7h)cTN8vD8kxl9CSG-=9zI~sp3@KWFU8GbZ8()Nlj2>E@cM*00Fv5L_t(|+U=WLk^&(N zMNQT>E=U)k3)21RpJh4PJd%48X!1Rk<{TbF5DteGD^~0|g!!@C>GY`iyW{mLQwXR9 zjuawUp;Cior+G8=rW1YKL<346a~6o?i6 z?{azNxS!7yQSaX@eYYe*y&Lw~I5fO96fyKs5_ zy6%Wq@1q*&nfKd*=(Y$VMgp?uA^!zDB{1N>P63ZikG1hg_|Ito*$P`m0;}iYwLp&q zHaxr-YLO5D|8EUI6+I<5HvIcKKq-fN*91m!MLQ2@g<(~e)B}-PC>A_jKn)xdK16_J zA27UtS~#Wz%?8hwpwaM*^Mp_VHSm!VAk|=R&oeeflxnaSCSoLLra2!WK{LTeNN_t8 zMa*IEe9%Kt!~(_`37Qq2CE;g++G)V5=dIuQ^&@G>nP7%|MFEzZSE$DJ=G|h^>^+ap zZ@wUrJxU{aU6H9xwr+_{8tbBDYw}%RmCY=Ic3C>3gpljWFU8GbZ8()Nlj2>E@cM*00Fv5L_t(|+U=WLk^&(N zMNJl_8_?B`8_ zy6%Wq@1q*&nfKd*=(Y$VMgp?uA^!zDB{1N>P63ZikG1hg_|Ito*$P`m0;}iYwLp&q zHaxr-YLO5D|8EUI6+I<5HvIcKKq-fN*91m!MLQ2@g<(~e)B}-PC>A_jKn)xdK16_J zA27UtS~#Wz%?8hwpwaM*^Mp_VHSm!VAk|=R&oeeflxnaSCSoLLra2!WK{LTeNN_t8 zMa*IEe9%Kt!~(_`37Qq2CE;g++G)V5=dIuQ^&@G>nP7%|MFEzZSE$DJ=G|h^>^+ap zZ@wUrJxU{aU6H9xwr+_{8tbBDYw}%RmCY=Ic3C>3gpljWFU8GbZ8()Nlj2>E@cM*00FK^L_t(|+U=W3lEWYj zMI&9@_Q}(`u2cpl>3<1~)?G61A!s1*ckDcfFZ2UV}LO?5Uq!7sp&5|Lr zfTKjnjPRZkWJYjL5i&cxRf5b8ZWSRb!H-Cg)!=(2=w1ph*!w+IAXfO}IR0~7*F_Qa z`pw#RYZBDEVegGY!&^fUrH_&@lDEd7sB!Nt!IH1UVjcpe@#iI>l*c;nh*$5U8tIw$ z+l1&g2_h;1+4GS90-h2W@Lz|3$D+sDcqIJ$Fn}zDEtSCPdH7ynL;@Qgz8UI~5CQ)& z2cR}RH8?i>>pVc&4v)?WjLjA8JfIhbwX>uih_phn;OPQd;F$0s0xau*=>@dHF(qg= zc(w$MhG(27gbHYZkCXt}4UYCaV^Kue4UWP@RDxz2^AQp>6MTdOw?k3H81~KwJrqSu zV2n!8tne%eQYe>aG`#0`e*H)qaweD|UsZtR<`t^3qj^g#n!V@I`OOz3vPZ3w_Z69r zWc!xbim@+B4kW+tRoToUXqTlkN(i|wpGAW8(Zqf-18CSiA59@;O!aKeLkRQXw z1e^Sc1@brxJR*x37`TN&n2}-D90{Nxdx@v7EBhS|ac(A-+!@lDKp{;}7sn8e>&XcR z7pulY;Wn^IBG(*7A%~?b^VC!N=hHC=sm-IdEdjT~uc)I$ztaD0e F0ssj2CNKa1 literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/down_arrow_disabled.png b/dist/qt_themes/qdarkstyle/rc/down_arrow_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..5805d9842bb3c8bdf9ae741ebabc690a4929585a GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRR!2%?ApR4f$QjEnx?oJHr&dIz4a+s35-CY>| zxA&jf59DzcctjR6FmMZlFeAgPITAoY_7YEDSN1y`;vAyZcdU741BJ9aT^vI=t|uoP zVCdoDDYjGKUczBuWT3#kjKjddz-flSK@mm~;ef4+85xf4WSF7(8A5T-G@y GGywodVJqnX literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/left_arrow_disabled.png b/dist/qt_themes/qdarkstyle/rc/left_arrow_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b9af8a34edb5f8dd767bf6afa303b89a31d38f GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ(!2%?APo63Uq!^2X+?^QKos)S9bR`<_$&i(E==bj5a^zeU&bwdtch>=_qAH5C#I(A02SZ= z-pqyvve{!vh3V|K2(Z;?j0;|Hq>tJ+4>OtTGCRJHZF@ZOcP8^q5Cr`I<~ScB9o=p= z&m^6bC_rXoz*@WDo;`Hvf?xzGIc?G2OIwY`1pwD|f5YrH(7gbIoJl|JS(+dUbvmTb zB5r&Bqu`aU1z`4E`<=%)mdf9?a};sgxR2RT5LuX#bWVMU#oQ*xD``&)6vecw1(rnna}5U zBv}}JUU#-zt!rHi$mjDrIL<6^D(>w}Oik4Xve{RW-j%cpG=ZjI)y&=*IB?)K*LCj$ zRDHh$oRrzj^z?Kq>70&LUiJM2-~*uKdfs9uz9g&qe#y)}0Tx})E2Z%}7S+9tjgq8G zz(UpczpGZOFDG$V%H`Y_mC6rh_9@YK{BbA$PyEhTe19x7TSPh3(2no@8jnJ}d` zxvz`)Xu-@3Q@U%O-8ttu@B6#&eeXFJcD1YLUFyZ`x^CY1#GHEIZf^VJ)fa|)EWFnC_vkwH{ z6N%(XrPA_FUeEIm3uZ8T)68avQmNeZ^mN!MezY4vBl-Klxl+0Oc_(iW1WUkMr#lwA61mWP^6gmcikThUVXxDm7!9M*?_AgI18~gF z1H*|#;zYYVZ2=^WVYb|CxN5a}7PC=xsG2|quMNcGX92#vbZHT|j#=*jKpN?%*2wG> z^-_116auGOL$e=c_Il3%1~2LHcaC7B3vd(Eku=gAhHwvQuxEgJEbHl{+%bXUhz^zO z1aMzw`&uyYd#6AxNnr@rTl>rgF}wdX0Kb}a^ohVmh_EiNtnd~J1gWB9;< zQeQOsw@G^iF9MGY79E(`tkvF|pP&B+z|Uqc0A~cJFP2I-+U4om@B3+mVcy`Fr2H#G zLmzjg?Ph4o^Sm*c%>u*JKeMaA-Ny3E)PG1ufSZlmvu)!&6#&$4$V4J>LSZIJL>K{la{0H2c zs~|?9C^x;rMaWb-8PX3|8pCWt!biMuy0?XQWQb<;X|43Tx`%u2d*Ay#=bm%m2uC>V zP+^=~UTj8M8r2nG5a!!_AedR2Z~X` z^C#k-|Ev48KfKp7anB!#d;YJu=VuP2fR+8R!0=+yodD>W_Zv61xCvYrMa;V91*W48 zlk+`pV9$aJo67F4y{x)QP|# zuvAI7%`!tkOxID(?!{Xg)et~F>Au&7WnfWmGWAJX(Q5Xad@h zW4pXoZt`faArQrMmE8|4geKr9vZClrczyyP>M$wW1;^C+m=Rbk24>RMfiB>Tz-(v& zg}`J5R?CJlfcYLbaD)NiLsho($9hS_#bPR2np!I<+q}LsH82yJKrt09X&4bjD(?9s z0J&awy%3nQz-?_<0DQpLhJ}c5s}PuT`K0>|VEpS=+R8ut=DfSL?<|gce#SPIk-hj& zt(8>gOaGp2U}Fbv$L{QRX+PHZKoq0E9FWc@-S;(`SC^H&KO$sSHiG-Rwc{`Y$)JXZ zz-et*7KJCUW)t9~eK8%t7hpJ_bZ7s|NY)%tmqqQ2WNlR=*;_}EZE9fVKruhU5e^-G Y1NpBZRoRadK>z>%07*qoM6N<$f;w}DFaQ7m literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/radio_unchecked.png b/dist/qt_themes/qdarkstyle/rc/radio_unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4def65c64a9d55441f82fe66fc7f46e5b73a75 GIT binary patch literal 728 zcmV;}0w?{6P)@!=&7gwT^7eV48y+tYIRCxlLiT(zip~u_E}K!eZQ1UCJ)XWpcn*qFv|mj2Hymm zGOGZ1&1OGlqk`+ej=|zgCiDDE0Kzalw_mH}fqMq8tl7*>&(3Zg z<=pb}a>SKCQhxe=1 zDZv#_S~^K`0Q0>2NJI5nZ6eAi5Q&W)Tj`Fao}46Y)*j1A!XehJuV&-U1oWX;y{+O9Vm8?gbB$>af^ zw*ZW{XL~Faoy!4ZGMk^9n`^`d07#`$FMw5G<+u=%tPliCX7&)sr_<@k@^=LQ*e#cH zlGcEH(Ye>fV(~_l?|Kj7Dkc) literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/radio_unchecked_disabled.png b/dist/qt_themes/qdarkstyle/rc/radio_unchecked_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..6ece890e750b0685bbd818f22e5fbf999ccd35e1 GIT binary patch literal 760 zcmV6Hyq3pRX0tGI#@4O=(z(ra$opASN0&l!V!~ zGsFupMi4Yn7A{E9xN<|Zbl8%Z;>x%YH!O_WHWI)PKm&#gz*M7gJ{PpnM5bj5JNs=u!`ga zdVmk2x~L*MwQ&UK2QB~`Dl%3m6rLT6fN7e+lZKH~)f)mY2nNUV`F!P|tYujVfhklk ztLk(#78{?OoOB!Qf1;T{t^7JLns=NBjk1M8p$uFZv8+*G>eJ>Xz*wU-!A3(nlNkmc z35?D<&ckN1bxP&(QZkYFE+Y35$z-KmF0XlIJs*K-nw{NUU8}&yS;x70*z&)zv)PwG z&(~_T&+A|YycTzd!$Uw!g29Pa$^inZw}4*5Fa|v{UIP(HqgwGgaEIaP+*}D*M%BLn zkV52jtL1e>^_8ez^ev!pO8&g(E#tx$L?XTg094i2O?hBJARzl5{sneL_4H8%R5gO? zZYu(BRiyu@0>FU48{Yx~Mc}+;S&3GgZQD)(=Mi(Ony70 zgw)FKi^z1|aUM4cH~kt$W3lniTU)BCIV+pJ6jU9r-EjY4+jdG^H>WTlBDu5C=s2S%SwytG|&qy1B<|RZG49PACf*`UEpTkaXb%RO9HU}g)|IfP+T{SND8Rm6FUm; qM77uv3N6gc%>4ATZ<{v%H@^W&H{IQg@q%gq0000;(ZNqD1xa&r7l*n1_#$VNv$@8uKpD^(Yg!rs-u&mySz3x zZPmewoA|3(5ed=3lvIQo?lU4S?;e*cbV-``!^wBndk*Jwe%*6`Ofvc3g`y}Qe%Lrf zM~=<{C<7<~DB7nM*t{X(_-1F@|8?!;Zt4JTJ(y!=55OpZ_h7S5!fDy(A~R0{I738D zL8$7fp+~8t=)#MxT`%|Gok$E|orn3AV17^=sdPmu z9ZIFWq|WE0((KlQ>oIJr*0vn02W-QAB%)70FAq({4B!bfkMfUi~ek_$f*RST)55J#+#BE2=;@(#CR+jDgK2NURglS37FQ?Zk`&XaJb+PUn~Z%}G`mo&kx!C)voplk7DK$Im&m^!<{% gmtDJ=WHPAy0n)7IgxW`FVE_OC07*qoM6N<$f`lX-a{vGU literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/right_arrow.png b/dist/qt_themes/qdarkstyle/rc/right_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..9b0a4e6a7a8097818d9c0626c84f19f4d690dd31 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ(!2%?APo63Uq!^2X+?^QKos)S9wUkJ;l%oZHT?}(3D>Wp7T%b9XV|~Y(T_!;F44$rjF6*2UngIS-C?Eg; literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/sizegrip.png b/dist/qt_themes/qdarkstyle/rc/sizegrip.png new file mode 100644 index 0000000000000000000000000000000000000000..350583aaac4aa474ac449eaea2cc7ddd060276b9 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0A8dZe4lyHC-T!u_VYZ zn8D%MjWi%f)6>Nz(!sM1rC-2ha+zM<2rMwpeI*@Z@PO%TWH}e*?iSqXK(y9 XcW6R37#&FAr-gY z-rUH`puoZ4SQyZj9Qd}kRkgExspwA+*PdmovgYQ`l$1@M%Pi(EdF8VmvF&CX@A%e}M=bpY`_UHx3vIVCg!0H#+y$^ZZW literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/stylesheet-branch-more.png b/dist/qt_themes/qdarkstyle/rc/stylesheet-branch-more.png new file mode 100644 index 0000000000000000000000000000000000000000..62711409d7ed69ec98979394795822630458d9eb GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^5PiX%b9eR9<JS%C8jVk7;fc! UBk#RM6lem2r>mdKI;Vst0ANBkrT_o{ literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/stylesheet-vline.png b/dist/qt_themes/qdarkstyle/rc/stylesheet-vline.png new file mode 100644 index 0000000000000000000000000000000000000000..87536cce16aabb3710663f720f8d354b1bb0b757 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^fk14@;zM~Ln>~) zy|9s&!GMF=@x%h2gO1`OFspnaH4_oY}#FfpL8m Q-wTkir>mdKI;Vst0J6j{!2kdN literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/undock.png b/dist/qt_themes/qdarkstyle/rc/undock.png new file mode 100644 index 0000000000000000000000000000000000000000..88691d779507c9b809391396407f5cb4a6497c40 GIT binary patch literal 578 zcmV-I0=@l-P)WFU8GbZ8()Nlj2>E@cM*00E{+L_t(|+U=X$4#OY} zLz`&--S*43w`rPoNlWaQLS8pfd~hg*uq-oX%osV0`LJ!+SPR{}9r(JUC& zi*OVO>rs3r1nW_FCJ5_Yd@BU&U3e=9yOQ`b5bSE=k3zUrc5+?UXD9c4F9B>-qyH)% z1tH=BQxRVU!7FWl=67leWRLz4ahXo| zoe{&T7oZ-FMxDSsBBvjZ{}acq6e%f?_~rzJ_LzyflS`(bcuN3?R&llQTw-2U8((=NC3B QV*mgE07*qoM6N<$f{lRZzyJUM literal 0 HcmV?d00001 diff --git a/dist/qt_themes/qdarkstyle/rc/up_arrow.png b/dist/qt_themes/qdarkstyle/rc/up_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..abcc7245212f19a5dbff1bb19647b1dd4bb05b6a GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRR!2%?ApR4f$QjEnx?oJHr&dIz4a+s35-CY>| zxA&jf59DzcctjR6FmMZlFeAgPITAoY_7YEDSN1y`;vAy| zxA&jf59DzcctjR6FmMZlFeAgPITAoY_7YEDSN1y`;v6FKKb3EC1BH}5T^vI=t|uoP z;C)upuu) + + icons/index.theme + + + rc/up_arrow_disabled.png + rc/Hmovetoolbar.png + rc/stylesheet-branch-end.png + rc/branch_closed-on.png + rc/stylesheet-vline.png + rc/branch_closed.png + rc/branch_open-on.png + rc/transparent.png + rc/right_arrow_disabled.png + rc/sizegrip.png + rc/close.png + rc/close-hover.png + rc/close-pressed.png + rc/down_arrow.png + rc/Vmovetoolbar.png + rc/left_arrow.png + rc/stylesheet-branch-more.png + rc/up_arrow.png + rc/right_arrow.png + rc/left_arrow_disabled.png + rc/Hsepartoolbar.png + rc/branch_open.png + rc/Vsepartoolbar.png + rc/down_arrow_disabled.png + rc/undock.png + rc/checkbox_checked_disabled.png + rc/checkbox_checked_focus.png + rc/checkbox_checked.png + rc/checkbox_indeterminate.png + rc/checkbox_indeterminate_focus.png + rc/checkbox_unchecked_disabled.png + rc/checkbox_unchecked_focus.png + rc/checkbox_unchecked.png + rc/radio_checked_disabled.png + rc/radio_checked_focus.png + rc/radio_checked.png + rc/radio_unchecked_disabled.png + rc/radio_unchecked_focus.png + rc/radio_unchecked.png + + + style.qss + + diff --git a/dist/qt_themes/qdarkstyle/style.qss b/dist/qt_themes/qdarkstyle/style.qss new file mode 100644 index 0000000000..c8e50312a6 --- /dev/null +++ b/dist/qt_themes/qdarkstyle/style.qss @@ -0,0 +1,1268 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) <2013-2014> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +QToolTip +{ + border: 1px solid #76797C; + background-color: rgb(90, 102, 117);; + color: white; + padding: 5px; + opacity: 200; +} + +QWidget +{ + color: #eff0f1; + background-color: #31363b; + selection-background-color:#3daee9; + selection-color: #eff0f1; + background-clip: border; + border-image: none; + border: 0px transparent black; + outline: 0; +} + +QWidget:item:hover +{ + background-color: #18465d; + color: #eff0f1; +} + +QWidget:item:selected +{ + background-color: #18465d; +} + +QCheckBox +{ + spacing: 5px; + outline: none; + color: #eff0f1; + margin-bottom: 2px; +} + +QCheckBox:disabled +{ + color: #76797C; +} + +QCheckBox::indicator, +QGroupBox::indicator +{ + width: 18px; + height: 18px; +} +QGroupBox::indicator +{ + margin-left: 2px; +} + +QCheckBox::indicator:unchecked +{ + image: url(:/qss_icons/rc/checkbox_unchecked.png); +} + +QCheckBox::indicator:unchecked:hover, +QCheckBox::indicator:unchecked:focus, +QCheckBox::indicator:unchecked:pressed, +QGroupBox::indicator:unchecked:hover, +QGroupBox::indicator:unchecked:focus, +QGroupBox::indicator:unchecked:pressed +{ + border: none; + image: url(:/qss_icons/rc/checkbox_unchecked_focus.png); +} + +QCheckBox::indicator:checked +{ + image: url(:/qss_icons/rc/checkbox_checked.png); +} + +QCheckBox::indicator:checked:hover, +QCheckBox::indicator:checked:focus, +QCheckBox::indicator:checked:pressed, +QGroupBox::indicator:checked:hover, +QGroupBox::indicator:checked:focus, +QGroupBox::indicator:checked:pressed +{ + border: none; + image: url(:/qss_icons/rc/checkbox_checked_focus.png); +} + + +QCheckBox::indicator:indeterminate +{ + image: url(:/qss_icons/rc/checkbox_indeterminate.png); +} + +QCheckBox::indicator:indeterminate:focus, +QCheckBox::indicator:indeterminate:hover, +QCheckBox::indicator:indeterminate:pressed +{ + image: url(:/qss_icons/rc/checkbox_indeterminate_focus.png); +} + +QCheckBox::indicator:checked:disabled, +QGroupBox::indicator:checked:disabled +{ + image: url(:/qss_icons/rc/checkbox_checked_disabled.png); +} + +QCheckBox::indicator:unchecked:disabled, +QGroupBox::indicator:unchecked:disabled +{ + image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png); +} + +QRadioButton +{ + spacing: 5px; + outline: none; + color: #eff0f1; + margin-bottom: 2px; +} + +QRadioButton:disabled +{ + color: #76797C; +} +QRadioButton::indicator +{ + width: 21px; + height: 21px; +} + +QRadioButton::indicator:unchecked +{ + image: url(:/qss_icons/rc/radio_unchecked.png); +} + + +QRadioButton::indicator:unchecked:hover, +QRadioButton::indicator:unchecked:focus, +QRadioButton::indicator:unchecked:pressed +{ + border: none; + outline: none; + image: url(:/qss_icons/rc/radio_unchecked_focus.png); +} + +QRadioButton::indicator:checked +{ + border: none; + outline: none; + image: url(:/qss_icons/rc/radio_checked.png); +} + +QRadioButton::indicator:checked:hover, +QRadioButton::indicator:checked:focus, +QRadioButton::indicator:checked:pressed +{ + border: none; + outline: none; + image: url(:/qss_icons/rc/radio_checked_focus.png); +} + +QRadioButton::indicator:checked:disabled +{ + outline: none; + image: url(:/qss_icons/rc/radio_checked_disabled.png); +} + +QRadioButton::indicator:unchecked:disabled +{ + image: url(:/qss_icons/rc/radio_unchecked_disabled.png); +} + + +QMenuBar +{ + background-color: #31363b; + color: #eff0f1; +} + +QMenuBar::item +{ + background: transparent; +} + +QMenuBar::item:selected +{ + background: transparent; + border: 1px solid #76797C; +} + +QMenuBar::item:pressed +{ + border: 1px solid #76797C; + background-color: #3daee9; + color: #eff0f1; + margin-bottom:-1px; + padding-bottom:1px; +} + +QMenu +{ + border: 1px solid #76797C; + color: #eff0f1; + margin: 2px; +} + +QMenu::icon +{ + margin: 5px; +} + +QMenu::item +{ + padding: 5px 30px 5px 30px; + margin-left: 5px; + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::item:selected +{ + color: #eff0f1; +} + +QMenu::separator { + height: 2px; + background: lightblue; + margin-left: 10px; + margin-right: 5px; +} + +QMenu::indicator { + width: 18px; + height: 18px; +} + +/* non-exclusive indicator = check box style indicator + (see QActionGroup::setExclusive) */ +QMenu::indicator:non-exclusive:unchecked { + image: url(:/qss_icons/rc/checkbox_unchecked.png); +} + +QMenu::indicator:non-exclusive:unchecked:selected { + image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png); +} + +QMenu::indicator:non-exclusive:checked { + image: url(:/qss_icons/rc/checkbox_checked.png); +} + +QMenu::indicator:non-exclusive:checked:selected { + image: url(:/qss_icons/rc/checkbox_checked_disabled.png); +} + +/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +QMenu::indicator:exclusive:unchecked { + image: url(:/qss_icons/rc/radio_unchecked.png); +} + +QMenu::indicator:exclusive:unchecked:selected { + image: url(:/qss_icons/rc/radio_unchecked_disabled.png); +} + +QMenu::indicator:exclusive:checked { + image: url(:/qss_icons/rc/radio_checked.png); +} + +QMenu::indicator:exclusive:checked:selected { + image: url(:/qss_icons/rc/radio_checked_disabled.png); +} + +QMenu::right-arrow { + margin: 5px; + image: url(:/qss_icons/rc/right_arrow.png) +} + + +QWidget:disabled +{ + color: #454545; + background-color: #31363b; +} + +QAbstractItemView +{ + alternate-background-color: #31363b; + color: #eff0f1; + border: 1px solid 3A3939; + border-radius: 2px; +} + +QWidget:focus, QMenuBar:focus +{ + border: 1px solid #3daee9; +} + +QTabWidget:focus, QCheckBox:focus, QRadioButton:focus, QSlider:focus +{ + border: none; +} + +QLineEdit +{ + background-color: #232629; + padding: 5px; + border-style: solid; + border: 1px solid #76797C; + border-radius: 2px; + color: #eff0f1; +} + +QAbstractItemView QLineEdit +{ + padding: 0; +} + +QGroupBox { + border:1px solid #76797C; + border-radius: 2px; + margin-top: 20px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top center; + padding-left: 10px; + padding-right: 10px; + padding-top: 10px; +} + +QAbstractScrollArea +{ + border-radius: 2px; + border: 1px solid #76797C; + background-color: transparent; +} + +QScrollBar:horizontal +{ + height: 15px; + margin: 3px 15px 3px 15px; + border: 1px transparent #2A2929; + border-radius: 4px; + background-color: #2A2929; +} + +QScrollBar::handle:horizontal +{ + background-color: #605F5F; + min-width: 5px; + border-radius: 4px; +} + +QScrollBar::add-line:horizontal +{ + margin: 0px 3px 0px 3px; + border-image: url(:/qss_icons/rc/right_arrow_disabled.png); + width: 10px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal +{ + margin: 0px 3px 0px 3px; + border-image: url(:/qss_icons/rc/left_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover,QScrollBar::add-line:horizontal:on +{ + border-image: url(:/qss_icons/rc/right_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on +{ + border-image: url(:/qss_icons/rc/left_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal +{ + background: none; +} + + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal +{ + background: none; +} + +QScrollBar:vertical +{ + background-color: #2A2929; + width: 15px; + margin: 15px 3px 15px 3px; + border: 1px transparent #2A2929; + border-radius: 4px; +} + +QScrollBar::handle:vertical +{ + background-color: #605F5F; + min-height: 5px; + border-radius: 4px; +} + +QScrollBar::sub-line:vertical +{ + margin: 3px 0px 3px 0px; + border-image: url(:/qss_icons/rc/up_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical +{ + margin: 3px 0px 3px 0px; + border-image: url(:/qss_icons/rc/down_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover,QScrollBar::sub-line:vertical:on +{ + + border-image: url(:/qss_icons/rc/up_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on +{ + border-image: url(:/qss_icons/rc/down_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical +{ + background: none; +} + + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical +{ + background: none; +} + +QTextEdit +{ + background-color: #232629; + color: #eff0f1; + border: 1px solid #76797C; +} + +QPlainTextEdit +{ + background-color: #232629;; + color: #eff0f1; + border-radius: 2px; + border: 1px solid #76797C; +} + +QHeaderView::section +{ + background-color: #76797C; + color: #eff0f1; + padding: 5px; + border: 1px solid #76797C; +} + +QSizeGrip { + image: url(:/qss_icons/rc/sizegrip.png); + width: 12px; + height: 12px; +} + + +QMainWindow::separator +{ + background-color: #31363b; + color: white; + padding-left: 4px; + spacing: 2px; + border: 1px dashed #76797C; +} + +QMainWindow::separator:hover +{ + + background-color: #787876; + color: white; + padding-left: 4px; + border: 1px solid #76797C; + spacing: 2px; +} + + +QMenu::separator +{ + height: 1px; + background-color: #76797C; + color: white; + padding-left: 4px; + margin-left: 10px; + margin-right: 5px; +} + + +QFrame +{ + border-radius: 2px; + border: 1px solid #76797C; +} + +QFrame[frameShape="0"] +{ + border-radius: 2px; + border: 1px transparent #76797C; +} + +QStackedWidget +{ + border: 1px transparent black; +} + +QToolBar { + border: 1px transparent #393838; + background: 1px solid #31363b; + font-weight: bold; +} + +QToolBar::handle:horizontal { + image: url(:/qss_icons/rc/Hmovetoolbar.png); +} +QToolBar::handle:vertical { + image: url(:/qss_icons/rc/Vmovetoolbar.png); +} +QToolBar::separator:horizontal { + image: url(:/qss_icons/rc/Hsepartoolbar.png); +} +QToolBar::separator:vertical { + image: url(:/qss_icons/rc/Vsepartoolbar.png); +} +QToolButton#qt_toolbar_ext_button { + background: #58595a +} + +QPushButton +{ + color: #eff0f1; + background-color: #31363b; + border-width: 1px; + border-color: #76797C; + border-style: solid; + padding: 5px; + border-radius: 2px; + outline: none; +} + +QPushButton:disabled +{ + background-color: #31363b; + border-width: 1px; + border-color: #454545; + border-style: solid; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 10px; + border-radius: 2px; + color: #454545; +} + +QPushButton:focus { + background-color: #3daee9; + color: white; +} + +QPushButton:pressed +{ + background-color: #3daee9; + padding-top: -15px; + padding-bottom: -17px; +} + +QComboBox +{ + selection-background-color: #3daee9; + border-style: solid; + border: 1px solid #76797C; + border-radius: 2px; + padding: 5px; + min-width: 75px; +} + +QPushButton:checked{ + background-color: #76797C; + border-color: #6A6969; +} + +QComboBox:hover,QPushButton:hover,QAbstractSpinBox:hover,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover +{ + border: 1px solid #3daee9; + color: #eff0f1; +} + +QComboBox:on +{ + padding-top: 3px; + padding-left: 4px; + selection-background-color: #4a4a4a; +} + +QComboBox QAbstractItemView +{ + background-color: #232629; + border-radius: 2px; + border: 1px solid #76797C; + selection-background-color: #18465d; +} + +QComboBox::drop-down +{ + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow +{ + image: url(:/qss_icons/rc/down_arrow_disabled.png); +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, +QComboBox::down-arrow:focus +{ + image: url(:/qss_icons/rc/down_arrow.png); +} + +QAbstractSpinBox { + padding: 5px; + border: 1px solid #76797C; + background-color: #232629; + color: #eff0f1; + border-radius: 2px; + min-width: 75px; +} + +QAbstractSpinBox:up-button +{ + background-color: transparent; + subcontrol-origin: border; + subcontrol-position: center right; +} + +QAbstractSpinBox:down-button +{ + background-color: transparent; + subcontrol-origin: border; + subcontrol-position: center left; +} + +QAbstractSpinBox::up-arrow,QAbstractSpinBox::up-arrow:disabled,QAbstractSpinBox::up-arrow:off { + image: url(:/qss_icons/rc/up_arrow_disabled.png); + width: 10px; + height: 10px; +} +QAbstractSpinBox::up-arrow:hover +{ + image: url(:/qss_icons/rc/up_arrow.png); +} + + +QAbstractSpinBox::down-arrow,QAbstractSpinBox::down-arrow:disabled,QAbstractSpinBox::down-arrow:off +{ + image: url(:/qss_icons/rc/down_arrow_disabled.png); + width: 10px; + height: 10px; +} +QAbstractSpinBox::down-arrow:hover +{ + image: url(:/qss_icons/rc/down_arrow.png); +} + + +QLabel +{ + border: 0px solid black; +} + +QTabWidget{ + border: 0px transparent black; +} + +QTabWidget::pane { + border: 1px solid #76797C; + padding: 5px; + margin: 0px; +} + +QTabWidget::tab-bar { + left: 5px; /* move to the right by 5px */ +} + +QTabBar +{ + qproperty-drawBase: 0; + border-radius: 3px; +} + +QTabBar:focus +{ + border: 0px transparent black; +} + +QTabBar::close-button { + image: url(:/qss_icons/rc/close.png); + background: transparent; +} + +QTabBar::close-button:hover +{ + image: url(:/qss_icons/rc/close-hover.png); + background: transparent; +} + +QTabBar::close-button:pressed { + image: url(:/qss_icons/rc/close-pressed.png); + background: transparent; +} + +/* TOP TABS */ +QTabBar::tab:top { + color: #eff0f1; + border: 1px solid #76797C; + border-bottom: 1px transparent black; + background-color: #31363b; + padding: 5px; + min-width: 50px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +QTabBar::tab:top:!selected +{ + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-bottom: 1px transparent black; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +QTabBar::tab:top:!selected:hover { + background-color: #3daee9; +} + +/* BOTTOM TABS */ +QTabBar::tab:bottom { + color: #eff0f1; + border: 1px solid #76797C; + border-top: 1px transparent black; + background-color: #31363b; + padding: 5px; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + min-width: 50px; +} + +QTabBar::tab:bottom:!selected +{ + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-top: 1px transparent black; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +QTabBar::tab:bottom:!selected:hover { + background-color: #3daee9; +} + +/* LEFT TABS */ +QTabBar::tab:left { + color: #eff0f1; + border: 1px solid #76797C; + border-left: 1px transparent black; + background-color: #31363b; + padding: 5px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + min-height: 50px; +} + +QTabBar::tab:left:!selected +{ + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-left: 1px transparent black; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +QTabBar::tab:left:!selected:hover { + background-color: #3daee9; +} + + +/* RIGHT TABS */ +QTabBar::tab:right { + color: #eff0f1; + border: 1px solid #76797C; + border-right: 1px transparent black; + background-color: #31363b; + padding: 5px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + min-height: 50px; +} + +QTabBar::tab:right:!selected +{ + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-right: 1px transparent black; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} + +QTabBar::tab:right:!selected:hover { + background-color: #3daee9; +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(:/qss_icons/rc/right_arrow.png); + } + + QTabBar QToolButton::left-arrow:enabled { + image: url(:/qss_icons/rc/left_arrow.png); + } + +QTabBar QToolButton::right-arrow:disabled { + image: url(:/qss_icons/rc/right_arrow_disabled.png); + } + + QTabBar QToolButton::left-arrow:disabled { + image: url(:/qss_icons/rc/left_arrow_disabled.png); + } + + +QDockWidget { + background: #31363b; + border: 1px solid #403F3F; + titlebar-close-icon: url(:/qss_icons/rc/close.png); + titlebar-normal-icon: url(:/qss_icons/rc/undock.png); +} + +QDockWidget::close-button, QDockWidget::float-button { + border: 1px solid transparent; + border-radius: 2px; + background: transparent; +} + +QDockWidget::close-button:hover, QDockWidget::float-button:hover { + background: rgba(255, 255, 255, 10); +} + +QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { + padding: 1px -1px -1px 1px; + background: rgba(255, 255, 255, 10); +} + +QTreeView, QListView +{ + border: 1px solid #76797C; + background-color: #232629; +} + +QTreeView:branch:selected, QTreeView:branch:hover +{ + background: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:has-children:!has-siblings:closed, +QTreeView::branch:closed:has-children:has-siblings { + image: url(:/qss_icons/rc/branch_closed.png); +} + +QTreeView::branch:open:has-children:!has-siblings, +QTreeView::branch:open:has-children:has-siblings { + image: url(:/qss_icons/rc/branch_open.png); +} + +QTreeView::branch:has-children:!has-siblings:closed:hover, +QTreeView::branch:closed:has-children:has-siblings:hover { + image: url(:/qss_icons/rc/branch_closed-on.png); + } + +QTreeView::branch:open:has-children:!has-siblings:hover, +QTreeView::branch:open:has-children:has-siblings:hover { + image: url(:/qss_icons/rc/branch_open-on.png); + } + +QListView::item:!selected:hover, QTreeView::item:!selected:hover { + background: #18465d; + outline: 0; + color: #eff0f1 +} + +QListView::item:selected:hover, QTreeView::item:selected:hover { + background: #287399; + color: #eff0f1; +} + +QSlider::groove:horizontal { + border: 1px solid #565a5e; + height: 4px; + background: #565a5e; + margin: 0px; + border-radius: 2px; +} + +QSlider::handle:horizontal { + background: #232629; + border: 1px solid #565a5e; + width: 16px; + height: 16px; + margin: -8px 0; + border-radius: 9px; +} + +QSlider::groove:vertical { + border: 1px solid #565a5e; + width: 4px; + background: #565a5e; + margin: 0px; + border-radius: 3px; +} + +QSlider::handle:vertical { + background: #232629; + border: 1px solid #565a5e; + width: 16px; + height: 16px; + margin: 0 -8px; + border-radius: 9px; +} + +QToolButton { + background-color: transparent; + border: 1px transparent #76797C; + border-radius: 2px; + margin: 3px; + padding: 5px; +} + +QToolButton[popupMode="1"] { /* only for MenuButtonPopup */ + padding-right: 20px; /* make way for the popup button */ + border: 1px #76797C; + border-radius: 5px; +} + +QToolButton[popupMode="2"] { /* only for InstantPopup */ + padding-right: 10px; /* make way for the popup button */ + border: 1px #76797C; +} + + +QToolButton:hover, QToolButton::menu-button:hover { + background-color: transparent; + border: 1px solid #3daee9; + padding: 5px; +} + +QToolButton:checked, QToolButton:pressed, + QToolButton::menu-button:pressed { + background-color: #3daee9; + border: 1px solid #3daee9; + padding: 5px; +} + +/* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +QToolButton::menu-indicator { + image: url(:/qss_icons/rc/down_arrow.png); + top: -7px; left: -2px; /* shift it a bit */ +} + +/* the subcontrols below are used only in the MenuButtonPopup mode */ +QToolButton::menu-button { + border: 1px transparent #76797C; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + /* 16px width + 4px for border = 20px allocated above */ + width: 16px; + outline: none; +} + +QToolButton::menu-arrow { + image: url(:/qss_icons/rc/down_arrow.png); +} + +QToolButton::menu-arrow:open { + border: 1px solid #76797C; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + left: 8px; +} + +QTableView +{ + border: 1px solid #76797C; + gridline-color: #31363b; + background-color: #232629; +} + + +QTableView, QHeaderView +{ + border-radius: 0px; +} + +QTableView::item:pressed, QListView::item:pressed, QTreeView::item:pressed { + background: #18465d; + color: #eff0f1; +} + +QTableView::item:selected:active, QTreeView::item:selected:active, QListView::item:selected:active { + background: #287399; + color: #eff0f1; +} + + +QHeaderView +{ + background-color: #31363b; + border: 1px transparent; + border-radius: 0px; + margin: 0px; + padding: 0px; + +} + +QHeaderView::section { + background-color: #31363b; + color: #eff0f1; + padding: 5px; + border: 1px solid #76797C; + border-radius: 0px; + text-align: center; +} + +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one +{ + border-top: 1px solid #76797C; +} + +QHeaderView::section::vertical +{ + border-top: transparent; +} + +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one +{ + border-left: 1px solid #76797C; +} + +QHeaderView::section::horizontal +{ + border-left: transparent; +} + + +QHeaderView::section:checked + { + color: white; + background-color: #334e5e; + } + + /* style the sort indicator */ +QHeaderView::down-arrow { + image: url(:/qss_icons/rc/down_arrow.png); +} + +QHeaderView::up-arrow { + image: url(:/qss_icons/rc/up_arrow.png); +} + + +QTableCornerButton::section { + background-color: #31363b; + border: 1px transparent #76797C; + border-radius: 0px; +} + +QToolBox { + padding: 5px; + border: 1px transparent black; +} + +QToolBox::tab { + color: #eff0f1; + background-color: #31363b; + border: 1px solid #76797C; + border-bottom: 1px transparent #31363b; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} + +QToolBox::tab:selected { /* italicize selected tabs */ + font: italic; + background-color: #31363b; + border-color: #3daee9; + } + +QStatusBar::item { + border: 0px transparent dark; + } + + +QFrame[height="3"], QFrame[width="3"] { + background-color: #76797C; +} + + +QSplitter::handle { + border: 1px dashed #76797C; +} + +QSplitter::handle:hover { + background-color: #787876; + border: 1px solid #76797C; +} + +QSplitter::handle:horizontal { + width: 1px; +} + +QSplitter::handle:vertical { + height: 1px; +} + +QProgressBar { + border: 1px solid #76797C; + border-radius: 5px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #05B8CC; +} + +QDateEdit +{ + selection-background-color: #3daee9; + border-style: solid; + border: 1px solid #3375A3; + border-radius: 2px; + padding: 1px; + min-width: 75px; +} + +QDateEdit:on +{ + padding-top: 3px; + padding-left: 4px; + selection-background-color: #4a4a4a; +} + +QDateEdit QAbstractItemView +{ + background-color: #232629; + border-radius: 2px; + border: 1px solid #3375A3; + selection-background-color: #3daee9; +} + +QDateEdit::drop-down +{ + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QDateEdit::down-arrow +{ + image: url(:/qss_icons/rc/down_arrow_disabled.png); +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, +QDateEdit::down-arrow:focus +{ + image: url(:/qss_icons/rc/down_arrow.png); +} diff --git a/src/yuzu/about_dialog.cpp b/src/yuzu/about_dialog.cpp index da34298221..d6647eeeae 100644 --- a/src/yuzu/about_dialog.cpp +++ b/src/yuzu/about_dialog.cpp @@ -2,12 +2,14 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include #include "common/scm_rev.h" #include "ui_aboutdialog.h" #include "yuzu/about_dialog.h" AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent), ui(new Ui::AboutDialog) { ui->setupUi(this); + ui->labelLogo->setPixmap(QIcon::fromTheme("yuzu").pixmap(200)); ui->labelBuildInfo->setText(ui->labelBuildInfo->text().arg( Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc)); } diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 4b4216eecc..b6c11b7f0f 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -107,6 +107,8 @@ void Config::ReadValues() { qt_config->endGroup(); qt_config->beginGroup("UI"); + UISettings::values.theme = qt_config->value("theme", UISettings::themes[0].second).toString(); + qt_config->beginGroup("UILayout"); UISettings::values.geometry = qt_config->value("geometry").toByteArray(); UISettings::values.state = qt_config->value("state").toByteArray(); diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 616a67f9fb..2d73fc5aab 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -13,6 +13,10 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) ui->setupUi(this); + for (auto theme : UISettings::themes) { + ui->theme_combobox->addItem(theme.first, theme.second); + } + this->setConfiguration(); ui->use_cpu_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn()); @@ -24,6 +28,7 @@ ConfigureGeneral::~ConfigureGeneral() {} void ConfigureGeneral::setConfiguration() { ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan); ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); + ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme)); ui->use_cpu_jit->setChecked(Settings::values.use_cpu_jit); ui->use_docked_mode->setChecked(Settings::values.use_docked_mode); } @@ -31,6 +36,9 @@ void ConfigureGeneral::setConfiguration() { void ConfigureGeneral::applyConfiguration() { UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked(); UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); + UISettings::values.theme = + ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString(); + Settings::values.use_cpu_jit = ui->use_cpu_jit->isChecked(); Settings::values.use_docked_mode = ui->use_docked_mode->isChecked(); Settings::Apply(); diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui index 5ff68f0799..1775c4d40c 100644 --- a/src/yuzu/configuration/configure_general.ui +++ b/src/yuzu/configuration/configure_general.ui @@ -83,6 +83,33 @@ + + + + Theme + + + + + + + + + + Theme: + + + + + + + + + + + + + diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index bd323870b7..53ac1fd6a8 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -95,6 +95,9 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan); + default_theme_paths = QIcon::themeSearchPaths(); + UpdateUITheme(); + // Show one-time "callout" messages to the user ShowCallouts(); @@ -653,6 +656,7 @@ void GMainWindow::OnConfigure() { auto result = configureDialog.exec(); if (result == QDialog::Accepted) { configureDialog.applyConfiguration(); + UpdateUITheme(); config->Save(); } } @@ -833,6 +837,31 @@ void GMainWindow::filterBarSetChecked(bool state) { emit(OnToggleFilterBar()); } +void GMainWindow::UpdateUITheme() { + QStringList theme_paths(default_theme_paths); + if (UISettings::values.theme != UISettings::themes[0].second && + !UISettings::values.theme.isEmpty()) { + QString theme_uri(":" + UISettings::values.theme + "/style.qss"); + QFile f(theme_uri); + if (!f.exists()) { + LOG_ERROR(Frontend, "Unable to set style, stylesheet file not found"); + } else { + f.open(QFile::ReadOnly | QFile::Text); + QTextStream ts(&f); + qApp->setStyleSheet(ts.readAll()); + GMainWindow::setStyleSheet(ts.readAll()); + } + theme_paths.append(QStringList{":/icons/default", ":/icons/" + UISettings::values.theme}); + QIcon::setThemeName(":/icons/" + UISettings::values.theme); + } else { + qApp->setStyleSheet(""); + GMainWindow::setStyleSheet(""); + theme_paths.append(QStringList{":/icons/default"}); + QIcon::setThemeName(":/icons/default"); + } + QIcon::setThemeSearchPaths(theme_paths); +} + #ifdef main #undef main #endif diff --git a/src/yuzu/main.h b/src/yuzu/main.h index 592ab7d9e1..2920219389 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -166,6 +166,9 @@ private: QAction* actions_recent_files[max_recent_files_item]; + // stores default icon theme search paths for the platform + QStringList default_theme_paths; + protected: void dropEvent(QDropEvent* event) override; void dragEnterEvent(QDragEnterEvent* event) override; diff --git a/src/yuzu/ui_settings.h b/src/yuzu/ui_settings.h index 9036ce2c19..8e215a002a 100644 --- a/src/yuzu/ui_settings.h +++ b/src/yuzu/ui_settings.h @@ -15,6 +15,10 @@ namespace UISettings { using ContextualShortcut = std::pair; using Shortcut = std::pair; +static const std::array, 2> themes = { + {std::make_pair(QString("Default"), QString("default")), + std::make_pair(QString("Dark"), QString("qdarkstyle"))}}; + struct Values { QByteArray geometry; QByteArray state;