Compare commits
725 Commits
__refs_pul
...
__refs_pul
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71a3c60d95 | ||
|
|
fefc76e5da | ||
|
|
07f6646f7f | ||
|
|
c8b3d92836 | ||
|
|
1d1f616063 | ||
|
|
cb5fe12ee1 | ||
|
|
166f5d1612 | ||
|
|
e4fed17f59 | ||
|
|
5a6d002bf0 | ||
|
|
395cc0c32f | ||
|
|
b840dd9af8 | ||
|
|
c4c256f56a | ||
|
|
c41451af75 | ||
|
|
4ea171fa5e | ||
|
|
d6006e9a3f | ||
|
|
65d42a428f | ||
|
|
04e52ffed0 | ||
|
|
a0e4c2e1fc | ||
|
|
12c1766997 | ||
|
|
377cd301b3 | ||
|
|
50866199a4 | ||
|
|
dba7bcd489 | ||
|
|
a1eeb9908d | ||
|
|
91f559a71f | ||
|
|
c17e1bd7a8 | ||
|
|
4a3d57e469 | ||
|
|
8aeb425669 | ||
|
|
65b389da70 | ||
|
|
348ca07e0d | ||
|
|
0a6f685ad0 | ||
|
|
3aed797466 | ||
|
|
185e405bc1 | ||
|
|
519ddfae04 | ||
|
|
1914a1d21c | ||
|
|
f34176996e | ||
|
|
ac48e059bc | ||
|
|
95f45112e9 | ||
|
|
a5ebba7e36 | ||
|
|
a6cfc73cb2 | ||
|
|
90c3dd300f | ||
|
|
f072f48806 | ||
|
|
a323bc5af8 | ||
|
|
2069430baa | ||
|
|
fc708b396b | ||
|
|
e41c8b6780 | ||
|
|
646622ccd4 | ||
|
|
c7c4ef9d43 | ||
|
|
cdabc9064b | ||
|
|
8592f8a2b4 | ||
|
|
42a7c5d017 | ||
|
|
5388e6db84 | ||
|
|
38dbe57797 | ||
|
|
ddb186e61d | ||
|
|
7b2917b4e1 | ||
|
|
5a8cd1b118 | ||
|
|
d2d7a5060f | ||
|
|
16ff0161b3 | ||
|
|
420b1f89d3 | ||
|
|
ee099b2697 | ||
|
|
945effcc75 | ||
|
|
5554de3933 | ||
|
|
8171ad65cd | ||
|
|
d25648cb6c | ||
|
|
210c2c9a56 | ||
|
|
6806a893bd | ||
|
|
019bc9f6b2 | ||
|
|
c68255f70f | ||
|
|
247cd92216 | ||
|
|
3289abe1cc | ||
|
|
4b95b0df97 | ||
|
|
3d2e80daed | ||
|
|
d825dff259 | ||
|
|
9110cfdefb | ||
|
|
f94cb0bdb2 | ||
|
|
19454e71d8 | ||
|
|
116989be8e | ||
|
|
2c791b38e6 | ||
|
|
52cc25ccbf | ||
|
|
993dbe49fc | ||
|
|
65e20f424a | ||
|
|
02169406be | ||
|
|
bc38d4c81b | ||
|
|
3394f24728 | ||
|
|
cfb9bcbe42 | ||
|
|
065867e2c2 | ||
|
|
08a5cf0b5b | ||
|
|
8094743f63 | ||
|
|
4bf53eb935 | ||
|
|
b6b73d9a5a | ||
|
|
c1bad4357a | ||
|
|
ec28d3c439 | ||
|
|
d84a93c987 | ||
|
|
aee3b57c44 | ||
|
|
49bfd0c461 | ||
|
|
00213377b1 | ||
|
|
db7abfecdd | ||
|
|
7f445a59fa | ||
|
|
3ead4a3494 | ||
|
|
ea4b7226a6 | ||
|
|
bb22d6d8f7 | ||
|
|
ecacb002be | ||
|
|
922d5187c4 | ||
|
|
5068279f23 | ||
|
|
136e8e829f | ||
|
|
6418a42884 | ||
|
|
e33ffdc555 | ||
|
|
b4fc2e52a2 | ||
|
|
7331bb9d8d | ||
|
|
f4fe71c1c9 | ||
|
|
342170fcd3 | ||
|
|
7361eac10f | ||
|
|
c40e7593f5 | ||
|
|
ea4e4b05e4 | ||
|
|
7626ca3343 | ||
|
|
3a6e2922a2 | ||
|
|
5153d5387a | ||
|
|
b5d21cc1b1 | ||
|
|
41b1f8d616 | ||
|
|
12ef74456c | ||
|
|
5396593b55 | ||
|
|
7d86a6ff02 | ||
|
|
61f293e5c9 | ||
|
|
7f78b17e20 | ||
|
|
44556dc21a | ||
|
|
a9d8e24e47 | ||
|
|
74f30c0223 | ||
|
|
20699e90fa | ||
|
|
2f1ef3910b | ||
|
|
60831eabd9 | ||
|
|
93bc59b62d | ||
|
|
339dc4f806 | ||
|
|
b462618ed7 | ||
|
|
e8269fe3bc | ||
|
|
d001687ca6 | ||
|
|
cd6dcef5aa | ||
|
|
0a74d8490a | ||
|
|
af69b48390 | ||
|
|
440eb840ea | ||
|
|
bfe8816f7c | ||
|
|
acf22336ec | ||
|
|
9ec26a805a | ||
|
|
d5131805ce | ||
|
|
ad6e20cfde | ||
|
|
e8d2de1f99 | ||
|
|
a170aa16b6 | ||
|
|
049769a0c9 | ||
|
|
81a5ecdb18 | ||
|
|
9edfd88a8a | ||
|
|
9a07ed53eb | ||
|
|
06c410ee88 | ||
|
|
ab2677f0a1 | ||
|
|
5a2b15bf75 | ||
|
|
a1138028a8 | ||
|
|
faaea00069 | ||
|
|
6c78c2ae38 | ||
|
|
4aac1ae4b1 | ||
|
|
59236b7d0f | ||
|
|
e169fdad4f | ||
|
|
5bef54618a | ||
|
|
a3e68dce56 | ||
|
|
f20f4587e6 | ||
|
|
edd498f6e0 | ||
|
|
85eeae7aad | ||
|
|
904584e4ba | ||
|
|
fd7c273fab | ||
|
|
0949e38263 | ||
|
|
0ecb6c6647 | ||
|
|
e12ee020e7 | ||
|
|
c8707628f6 | ||
|
|
271f2e2d78 | ||
|
|
5a042bdaa1 | ||
|
|
eee302b9b9 | ||
|
|
12d569e483 | ||
|
|
fc086f93b2 | ||
|
|
f2c26443f8 | ||
|
|
b9f543b29f | ||
|
|
02547439b1 | ||
|
|
343d92a092 | ||
|
|
2c1e119c4a | ||
|
|
913971417e | ||
|
|
49c4c329f6 | ||
|
|
21671d05a3 | ||
|
|
da25a59866 | ||
|
|
41928dfdda | ||
|
|
934b2d8842 | ||
|
|
f54ea749a4 | ||
|
|
c6de9657be | ||
|
|
44c763f9c6 | ||
|
|
cfed6936f3 | ||
|
|
9f44a44f2f | ||
|
|
75f23ad494 | ||
|
|
7a06037c5f | ||
|
|
ed25191ee6 | ||
|
|
d08bd3e062 | ||
|
|
1b4331397b | ||
|
|
0aff3ba2ff | ||
|
|
ec50a9b5b9 | ||
|
|
fa647cc0b9 | ||
|
|
bb7d4ec3d3 | ||
|
|
0c1bb46f0a | ||
|
|
648bef235e | ||
|
|
f2b76284ed | ||
|
|
b021e09fc0 | ||
|
|
751cc687bb | ||
|
|
2f62bae9e3 | ||
|
|
72a49c2bbc | ||
|
|
faa067f175 | ||
|
|
3671fd0a97 | ||
|
|
8acf739b3f | ||
|
|
8f638e81e9 | ||
|
|
da62e92784 | ||
|
|
d57b12193b | ||
|
|
b805ee653f | ||
|
|
d2c4dbde9e | ||
|
|
2c4615f3a6 | ||
|
|
a488b86e97 | ||
|
|
510f71d871 | ||
|
|
9f81221528 | ||
|
|
eae107d0e9 | ||
|
|
da22def511 | ||
|
|
f23760b1e1 | ||
|
|
1e983b19df | ||
|
|
ad5a5ef43f | ||
|
|
e02785be83 | ||
|
|
27a6ef64fd | ||
|
|
9434603450 | ||
|
|
703d7aaab6 | ||
|
|
9beb239634 | ||
|
|
2cdc7142b0 | ||
|
|
34abe4a905 | ||
|
|
f6d45b747e | ||
|
|
1b074b8984 | ||
|
|
50d2dc3b51 | ||
|
|
d23f9f75ff | ||
|
|
4356361faf | ||
|
|
51aa5a5364 | ||
|
|
25538db150 | ||
|
|
9bae3992e6 | ||
|
|
91d8657959 | ||
|
|
d3c166d4d5 | ||
|
|
0536004d91 | ||
|
|
57f80c74b6 | ||
|
|
caa11748c6 | ||
|
|
7866eb03bb | ||
|
|
4b03e6e776 | ||
|
|
8f5052a514 | ||
|
|
0b27c721c9 | ||
|
|
2a7eff57a8 | ||
|
|
bf380b8584 | ||
|
|
864841eb9e | ||
|
|
39a8dba9a6 | ||
|
|
626f746971 | ||
|
|
7a06864100 | ||
|
|
0297448fbc | ||
|
|
aa2844bcf9 | ||
|
|
b57c5a9b54 | ||
|
|
674122038a | ||
|
|
126aaeb6d3 | ||
|
|
c7d8b7421c | ||
|
|
7444963bbb | ||
|
|
2cb6106523 | ||
|
|
76a0814142 | ||
|
|
84bb772003 | ||
|
|
269d233a94 | ||
|
|
c2f6f2ba7a | ||
|
|
2e8d6fe9a0 | ||
|
|
eba3bb9d21 | ||
|
|
cfa7b92563 | ||
|
|
89edbe8aa2 | ||
|
|
b6156e735c | ||
|
|
ab704acab8 | ||
|
|
722195cf70 | ||
|
|
addc0bf037 | ||
|
|
086db71e94 | ||
|
|
7ccbdd4d8d | ||
|
|
5e5933256b | ||
|
|
da7e9553de | ||
|
|
6fca1c82fd | ||
|
|
de4746ff69 | ||
|
|
0eeecde67c | ||
|
|
479bd50b96 | ||
|
|
d3d0f2f451 | ||
|
|
34bed1ab41 | ||
|
|
d9df63583f | ||
|
|
3401676768 | ||
|
|
02c2b28cd0 | ||
|
|
66f2ad716b | ||
|
|
74120c5e3a | ||
|
|
f93d939426 | ||
|
|
34ce1dd7c7 | ||
|
|
b8751630e2 | ||
|
|
d9205f82b3 | ||
|
|
b99fc70191 | ||
|
|
260b841dc3 | ||
|
|
0b7a03bd65 | ||
|
|
860d73637e | ||
|
|
8c30ed6d09 | ||
|
|
cc47a6a9c2 | ||
|
|
403cf6be69 | ||
|
|
9e726a9250 | ||
|
|
df51eb9bde | ||
|
|
898aa5fb66 | ||
|
|
ebb64d5bf4 | ||
|
|
7d257ce7bd | ||
|
|
707ed72a3c | ||
|
|
08d5bd36d8 | ||
|
|
6e81473574 | ||
|
|
c17a59b58e | ||
|
|
0d2d0844a5 | ||
|
|
01a57d4c8d | ||
|
|
1da72c7792 | ||
|
|
54dc22285b | ||
|
|
03b3c5800b | ||
|
|
07934f0e87 | ||
|
|
72b22fd433 | ||
|
|
1ed1dd3c89 | ||
|
|
fa3ffff8de | ||
|
|
aab57b7975 | ||
|
|
497ccfaedc | ||
|
|
922b0d9933 | ||
|
|
bea6fca9a1 | ||
|
|
fc84822266 | ||
|
|
29a06ad393 | ||
|
|
e1a196cfd7 | ||
|
|
0af182baa2 | ||
|
|
d95605cd24 | ||
|
|
b096ec68cd | ||
|
|
724c19a307 | ||
|
|
cfdec68d5a | ||
|
|
729545a946 | ||
|
|
cd80471c90 | ||
|
|
dec5680934 | ||
|
|
6a2084a204 | ||
|
|
dcb91ca4a4 | ||
|
|
7412f314e4 | ||
|
|
3c5fb53634 | ||
|
|
609c11bab3 | ||
|
|
697a2c0018 | ||
|
|
3b5690c9e1 | ||
|
|
2ff39f6fdc | ||
|
|
ae758a236f | ||
|
|
75e0d16caa | ||
|
|
c413cafdac | ||
|
|
4c8c5ad1b6 | ||
|
|
98fb36cb0a | ||
|
|
a02c4686c3 | ||
|
|
1acd807176 | ||
|
|
f4610e77e2 | ||
|
|
c19ad21ae8 | ||
|
|
04d9c27120 | ||
|
|
4cc8ab8a86 | ||
|
|
2e268abe42 | ||
|
|
51c787bfc1 | ||
|
|
1c65b3ee53 | ||
|
|
19bbdedf00 | ||
|
|
d363b2c7d2 | ||
|
|
8805233f5e | ||
|
|
9c5248d101 | ||
|
|
502f3cef87 | ||
|
|
29cd40bded | ||
|
|
5ba49f188b | ||
|
|
6e2040c955 | ||
|
|
ae93402312 | ||
|
|
80d74d77d5 | ||
|
|
5568fcfec1 | ||
|
|
cdce1edf74 | ||
|
|
d1e35a37be | ||
|
|
ad55faaa35 | ||
|
|
86278f5db2 | ||
|
|
607ff3489c | ||
|
|
f0c2190ceb | ||
|
|
956b2bd332 | ||
|
|
ea78f9a2ef | ||
|
|
4cd6c3e6f1 | ||
|
|
8cdd86fa25 | ||
|
|
7083c5bfc8 | ||
|
|
6125590a7b | ||
|
|
aaaca1cd6d | ||
|
|
17704271f4 | ||
|
|
e5e9bee1cc | ||
|
|
0da84c4de8 | ||
|
|
17b7f0389a | ||
|
|
27eeb20001 | ||
|
|
9f39f7c041 | ||
|
|
b7d04d848d | ||
|
|
39497183a6 | ||
|
|
8285776603 | ||
|
|
a223006c50 | ||
|
|
9e7713c150 | ||
|
|
7d0d2af3fa | ||
|
|
f973274b99 | ||
|
|
de69a5266f | ||
|
|
2a2a578932 | ||
|
|
b17f031e35 | ||
|
|
ce921e0f26 | ||
|
|
51ca93981d | ||
|
|
ba2c917842 | ||
|
|
9ad77ba6d3 | ||
|
|
d5c1f3929c | ||
|
|
12e58917c0 | ||
|
|
bb32a4a8d7 | ||
|
|
71d4abcfd4 | ||
|
|
0a5bc8ec14 | ||
|
|
edb1d5d242 | ||
|
|
7eff91ff20 | ||
|
|
b45930a0ed | ||
|
|
4143675b2d | ||
|
|
4a5f9f5a6d | ||
|
|
aa3adf6c3f | ||
|
|
f6e6913f8f | ||
|
|
e681723a4a | ||
|
|
578e6c5a57 | ||
|
|
5bc9f15c6d | ||
|
|
a8c09cd5e4 | ||
|
|
e3e6a11ab8 | ||
|
|
0a40106cf1 | ||
|
|
d1e40dd244 | ||
|
|
0f40c8c634 | ||
|
|
fd40d55a4f | ||
|
|
60511976bb | ||
|
|
2a341c9969 | ||
|
|
64606aefcf | ||
|
|
de5bf640b7 | ||
|
|
a4c6712a4b | ||
|
|
c6c0771b12 | ||
|
|
eedbe8351c | ||
|
|
62a8505345 | ||
|
|
2067115c78 | ||
|
|
bb922d6ff6 | ||
|
|
8146c8c5e7 | ||
|
|
12a343ed8d | ||
|
|
62b560e8e3 | ||
|
|
154eb3cfbe | ||
|
|
10ca4c9490 | ||
|
|
335a3cc115 | ||
|
|
7f06276192 | ||
|
|
ff6a83e0fe | ||
|
|
5e85bc3d23 | ||
|
|
8e7734bf40 | ||
|
|
0fb3773924 | ||
|
|
31932904c5 | ||
|
|
9b331a5fb5 | ||
|
|
c5f5d6e7f6 | ||
|
|
4198c92ed0 | ||
|
|
fddb278aa3 | ||
|
|
4209588505 | ||
|
|
26d60014d0 | ||
|
|
ddbd1387aa | ||
|
|
9f1cf99ea0 | ||
|
|
0c19147e09 | ||
|
|
55b7d8e322 | ||
|
|
a208c7b059 | ||
|
|
0ec6cb942d | ||
|
|
9bd71f4064 | ||
|
|
08337a492d | ||
|
|
bcf58c8210 | ||
|
|
4f60818eae | ||
|
|
290b452ea1 | ||
|
|
1063e0be48 | ||
|
|
b04877dd95 | ||
|
|
31c80b8c6f | ||
|
|
c6d2af16b5 | ||
|
|
9cf8bcc75c | ||
|
|
96d07b4949 | ||
|
|
d6e5e053a6 | ||
|
|
c34249559d | ||
|
|
9c85bcbecc | ||
|
|
467ef54e2a | ||
|
|
8a9e834fc2 | ||
|
|
e0bddf8f07 | ||
|
|
5ce0e127da | ||
|
|
6af7bd02b2 | ||
|
|
7e62452ac8 | ||
|
|
5ec2fdceca | ||
|
|
214ef2dd8a | ||
|
|
c1017efb4a | ||
|
|
09a8e08109 | ||
|
|
ac14ef70b5 | ||
|
|
35abd560c4 | ||
|
|
e7530b341e | ||
|
|
01928b1d17 | ||
|
|
ff1201210c | ||
|
|
f90041a2d4 | ||
|
|
6c81332ca7 | ||
|
|
7133bfdd2c | ||
|
|
556c5df745 | ||
|
|
4530b58eb0 | ||
|
|
53f1560a24 | ||
|
|
c37b8a1028 | ||
|
|
278c38aa4a | ||
|
|
a4e2821530 | ||
|
|
a83f0f7154 | ||
|
|
dbc4c8e314 | ||
|
|
03790771a6 | ||
|
|
0377618288 | ||
|
|
247b1c14d2 | ||
|
|
ec0e644fb0 | ||
|
|
8f1300cd31 | ||
|
|
6219da627b | ||
|
|
5ce97bf0a0 | ||
|
|
b059db74c5 | ||
|
|
c51d9e0b0a | ||
|
|
d7f2078e7b | ||
|
|
b6bbc0d483 | ||
|
|
701b6c2fb8 | ||
|
|
d894818bb3 | ||
|
|
1744fa6ecf | ||
|
|
5096ed5e0a | ||
|
|
dfac2e2d25 | ||
|
|
2283fccc1b | ||
|
|
415dfb6cd3 | ||
|
|
8e545deab9 | ||
|
|
15a07f0282 | ||
|
|
28d3661a5c | ||
|
|
262a70223f | ||
|
|
535e50db1c | ||
|
|
e8bd9aed8b | ||
|
|
e6fb49fa4b | ||
|
|
5145133a60 | ||
|
|
4aec060f6d | ||
|
|
3173a53db9 | ||
|
|
d490f6dcf8 | ||
|
|
6dc35caad1 | ||
|
|
a2d40b8185 | ||
|
|
1ad4c98a5c | ||
|
|
c44db90ad1 | ||
|
|
531e797795 | ||
|
|
ded420cfeb | ||
|
|
63caeca6ba | ||
|
|
4fe05d7b42 | ||
|
|
63ebf2a328 | ||
|
|
d04120169d | ||
|
|
ad0d5818a6 | ||
|
|
49ec5784b0 | ||
|
|
4cdc701fd3 | ||
|
|
95fa89da27 | ||
|
|
530a5a1d09 | ||
|
|
1e964604bb | ||
|
|
c018769016 | ||
|
|
bc30aa8249 | ||
|
|
97e2604575 | ||
|
|
24900674b7 | ||
|
|
068b2ffbcc | ||
|
|
55fc808d64 | ||
|
|
03dda80e2b | ||
|
|
8ce31f1c8e | ||
|
|
01ea0f3c74 | ||
|
|
2cc42e40c5 | ||
|
|
638c892edf | ||
|
|
a60653dcd3 | ||
|
|
7feb490f83 | ||
|
|
9be819faaf | ||
|
|
33ed02a239 | ||
|
|
69b2dbdffd | ||
|
|
17ad323b36 | ||
|
|
c92a211e7c | ||
|
|
c5ca8675c8 | ||
|
|
aca6ab6417 | ||
|
|
0fbd7752c3 | ||
|
|
eaf0c4af11 | ||
|
|
94d77d0e39 | ||
|
|
824adb44fa | ||
|
|
d3e87d70ec | ||
|
|
7ff7e65926 | ||
|
|
d69421b1db | ||
|
|
e44622860a | ||
|
|
bb3dce9363 | ||
|
|
d9db1d125e | ||
|
|
5ee669466f | ||
|
|
eeea426c74 | ||
|
|
ca30190fad | ||
|
|
54c1e0897d | ||
|
|
e6e61424d4 | ||
|
|
b3f68098d5 | ||
|
|
bf1c1788ca | ||
|
|
4930242c20 | ||
|
|
f234531f92 | ||
|
|
9b50b23a50 | ||
|
|
fb7dcbf7af | ||
|
|
a63dcb6d56 | ||
|
|
f8561c7a65 | ||
|
|
a527e5f0cd | ||
|
|
9cebde760f | ||
|
|
8a5794c4db | ||
|
|
cb7f2e5616 | ||
|
|
3b98fab850 | ||
|
|
b2fb5c60e1 | ||
|
|
7c26a9aefe | ||
|
|
e9a1f29e93 | ||
|
|
2f83d9a61b | ||
|
|
99fdfa1fcd | ||
|
|
65774084fd | ||
|
|
b83eb4dd18 | ||
|
|
8c016b02e7 | ||
|
|
52dae41d7f | ||
|
|
10d6e9f32b | ||
|
|
fb91647bca | ||
|
|
4eac8703d2 | ||
|
|
9032d21365 | ||
|
|
a32190d0c2 | ||
|
|
ab5995c7ae | ||
|
|
716285fab8 | ||
|
|
dde074eaab | ||
|
|
875183e7c5 | ||
|
|
a50133fc5e | ||
|
|
e274e38205 | ||
|
|
1d78190843 | ||
|
|
3ffbe50e7d | ||
|
|
fc5205fc84 | ||
|
|
a35717b245 | ||
|
|
1996cae9cb | ||
|
|
343eaecd38 | ||
|
|
8d0ba7ee49 | ||
|
|
80688362cf | ||
|
|
edbc505e52 | ||
|
|
10265ad0e4 | ||
|
|
28be8aec9a | ||
|
|
01f04fee32 | ||
|
|
f2e1441567 | ||
|
|
5762517728 | ||
|
|
a439867f2c | ||
|
|
43a29b5803 | ||
|
|
c17beefe3d | ||
|
|
3fb64da452 | ||
|
|
5872561077 | ||
|
|
541b4353e4 | ||
|
|
778e0f8ec1 | ||
|
|
538f097f97 | ||
|
|
afa4bcbb3b | ||
|
|
2e85ee250d | ||
|
|
cb48ed2e1a | ||
|
|
4aa8189328 | ||
|
|
ec514a4d1b | ||
|
|
e1f7938a3b | ||
|
|
ab102787fa | ||
|
|
8441094ba3 | ||
|
|
0687a8370d | ||
|
|
df9899eed6 | ||
|
|
824e53149d | ||
|
|
9761618a8d | ||
|
|
d3a4a192fe | ||
|
|
2f30c10584 | ||
|
|
c7553abe89 | ||
|
|
20eb368e14 | ||
|
|
f6566338eb | ||
|
|
2985e5e94c | ||
|
|
3b85ac2ac4 | ||
|
|
4735d18bb9 | ||
|
|
a9d24b0df3 | ||
|
|
5dae45b958 | ||
|
|
827dcad26e | ||
|
|
4439801c0f | ||
|
|
ad653550eb | ||
|
|
59173ff7a7 | ||
|
|
87cfe5b1da | ||
|
|
2490ffbbce | ||
|
|
daf5c5060b | ||
|
|
d1a7b2eca7 | ||
|
|
9c4c9f1e7d | ||
|
|
69ce5e41eb | ||
|
|
9d77ae39de | ||
|
|
de21c9e330 | ||
|
|
8f7eb194af | ||
|
|
cd7abba1a9 | ||
|
|
41e94b7b99 | ||
|
|
4bcc5bacff | ||
|
|
68ffac250a | ||
|
|
1f228c51ca | ||
|
|
4cf5b860bd | ||
|
|
47af34003b | ||
|
|
97415ad07a | ||
|
|
7b29a8ce4e | ||
|
|
a5ab85ac37 | ||
|
|
9d010be483 | ||
|
|
34a3ee1631 | ||
|
|
96c9e67b1b | ||
|
|
6faabd6d69 | ||
|
|
e7038344aa | ||
|
|
5213f70230 | ||
|
|
0639244d85 | ||
|
|
b8b5891585 | ||
|
|
394475c4e3 | ||
|
|
50ee9c46ab | ||
|
|
6ab839462c | ||
|
|
f8bfec3109 | ||
|
|
94da1e8a7e | ||
|
|
4a45012f35 | ||
|
|
5ad62e7bfc | ||
|
|
925671071c | ||
|
|
cd25817938 | ||
|
|
c7a7e47615 | ||
|
|
9b3af0027b | ||
|
|
ac8b1445ff | ||
|
|
52e9d7fa49 | ||
|
|
2910aa77b2 | ||
|
|
9e9341f4b4 | ||
|
|
ee9ebeeb80 | ||
|
|
e895ab7d6f | ||
|
|
4738e14cb0 | ||
|
|
55f556c53e | ||
|
|
ab65cb499d | ||
|
|
51fb0a6f96 | ||
|
|
09f7c355c6 | ||
|
|
bfa1644464 | ||
|
|
272bc4c3d6 | ||
|
|
1ba578c4aa | ||
|
|
d31dbb1bc1 | ||
|
|
aae399c1a8 | ||
|
|
1841ca4b9b | ||
|
|
71526ecfc7 | ||
|
|
ae876ed047 | ||
|
|
fb0b4c7e27 | ||
|
|
20245e660f | ||
|
|
ec19a85890 | ||
|
|
3de8e7a8f2 | ||
|
|
3d0394681c | ||
|
|
8e4c9c9852 | ||
|
|
2807a98168 | ||
|
|
1a5d4d7840 | ||
|
|
def03d4075 | ||
|
|
3acb265c9e | ||
|
|
728ee181eb | ||
|
|
9d8f793969 | ||
|
|
fb54c38631 | ||
|
|
21b40de318 |
18
.ci/scripts/clang/docker.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
# Exit on error, rather than continuing with the rest of the script.
|
||||
set -e
|
||||
|
||||
cd /yuzu
|
||||
|
||||
ccache -s
|
||||
|
||||
mkdir build || true && cd build
|
||||
cmake .. -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/clang -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr"
|
||||
|
||||
make -j$(nproc)
|
||||
|
||||
ccache -s
|
||||
|
||||
ctest -VV -C Release
|
||||
|
||||
8
.ci/scripts/clang/exec.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
mkdir -p "ccache" || true
|
||||
chmod a+x ./.ci/scripts/clang/docker.sh
|
||||
# the UID for the container yuzu user is 1027
|
||||
sudo chown -R 1027 ./
|
||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh $1
|
||||
sudo chown -R $UID ./
|
||||
20
.ci/scripts/clang/upload.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
. .ci/scripts/common/pre-upload.sh
|
||||
|
||||
REV_NAME="yuzu-linux-${GITDATE}-${GITREV}"
|
||||
ARCHIVE_NAME="${REV_NAME}.tar.xz"
|
||||
COMPRESSION_FLAGS="-cJvf"
|
||||
|
||||
if [ "${RELEASE_NAME}" = "mainline" ]; then
|
||||
DIR_NAME="${REV_NAME}"
|
||||
else
|
||||
DIR_NAME="${REV_NAME}_${RELEASE_NAME}"
|
||||
fi
|
||||
|
||||
mkdir "$DIR_NAME"
|
||||
|
||||
cp build/bin/yuzu-cmd "$DIR_NAME"
|
||||
cp build/bin/yuzu "$DIR_NAME"
|
||||
|
||||
. .ci/scripts/common/post-upload.sh
|
||||
@@ -8,7 +8,17 @@ cd /yuzu
|
||||
ccache -s
|
||||
|
||||
mkdir build || true && cd build
|
||||
cmake .. -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr"
|
||||
cmake .. \
|
||||
-DBoost_USE_STATIC_LIBS=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \
|
||||
-DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DDISPLAY_VERSION=$1 \
|
||||
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
|
||||
-DENABLE_QT_TRANSLATION=ON \
|
||||
-DUSE_DISCORD_PRESENCE=ON \
|
||||
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"}
|
||||
|
||||
make -j$(nproc)
|
||||
|
||||
@@ -20,10 +30,10 @@ make install DESTDIR=AppDir
|
||||
rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester
|
||||
|
||||
# Download tools needed to build an AppImage
|
||||
wget -nc https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
wget -nc https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
wget -nc https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/AppRun-patched-x86_64
|
||||
wget -nc https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/exec-x86_64.so
|
||||
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/linuxdeploy-x86_64.AppImage
|
||||
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/AppRun-patched-x86_64
|
||||
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/exec-x86_64.so
|
||||
# Set executable bit
|
||||
chmod 755 \
|
||||
AppRun-patched-x86_64 \
|
||||
|
||||
@@ -21,7 +21,7 @@ cp build/bin/yuzu "$DIR_NAME"
|
||||
# Build an AppImage
|
||||
cd build
|
||||
|
||||
wget -nc https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
|
||||
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage
|
||||
chmod 755 appimagetool-x86_64.AppImage
|
||||
|
||||
if [ "${RELEASE_NAME}" = "mainline" ]; then
|
||||
|
||||
@@ -47,3 +47,6 @@ python3 .ci/scripts/windows/scan_dll.py package/imageformats/*.dll "package/"
|
||||
EXTERNALS_PATH="$(pwd)/build/externals"
|
||||
FFMPEG_DLL_PATH="$(find ${EXTERNALS_PATH} -maxdepth 1 -type d | grep ffmpeg)/bin"
|
||||
find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -v {} package/ ';'
|
||||
|
||||
# copy libraries from yuzu.exe path
|
||||
find "$(pwd)/build/bin/" -type f -regex ".*\.dll" -exec cp -v {} package/ ';'
|
||||
|
||||
@@ -8,7 +8,7 @@ steps:
|
||||
displayName: 'Install vulkan-sdk'
|
||||
- script: python -m pip install --upgrade pip conan
|
||||
displayName: 'Install conan'
|
||||
- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 --config Release -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} .. && cd ..
|
||||
- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd ..
|
||||
displayName: 'Configure CMake'
|
||||
- task: MSBuild@1
|
||||
displayName: 'Build'
|
||||
|
||||
@@ -12,6 +12,9 @@ jobs:
|
||||
windows:
|
||||
BuildSuffix: 'windows-mingw'
|
||||
ScriptFolder: 'windows'
|
||||
clang:
|
||||
BuildSuffix: 'clang'
|
||||
ScriptFolder: 'clang'
|
||||
linux:
|
||||
BuildSuffix: 'linux'
|
||||
ScriptFolder: 'linux'
|
||||
@@ -24,4 +27,4 @@ jobs:
|
||||
parameters:
|
||||
artifactSource: 'false'
|
||||
cache: $(parameters.cache)
|
||||
version: $(parameters.version)
|
||||
version: $(parameters.version)
|
||||
|
||||
5
.gitmodules
vendored
@@ -27,7 +27,7 @@
|
||||
url = https://github.com/ReinUsesLisp/sirit
|
||||
[submodule "mbedtls"]
|
||||
path = externals/mbedtls
|
||||
url = https://github.com/DarkLordZach/mbedtls
|
||||
url = https://github.com/yuzu-emu/mbedtls
|
||||
[submodule "libzip"]
|
||||
path = externals/libzip/libzip
|
||||
url = https://github.com/nih-at/libzip.git
|
||||
@@ -40,3 +40,6 @@
|
||||
[submodule "ffmpeg"]
|
||||
path = externals/ffmpeg
|
||||
url = https://git.ffmpeg.org/ffmpeg.git
|
||||
[submodule "SDL"]
|
||||
path = externals/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
|
||||
153
CMakeLists.txt
@@ -11,14 +11,19 @@ project(yuzu)
|
||||
# Set bundled sdl2/qt as dependent options.
|
||||
# OFF by default, but if ENABLE_SDL2 and MSVC are true then ON
|
||||
option(ENABLE_SDL2 "Enable the SDL2 frontend" ON)
|
||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" ON "ENABLE_SDL2;MSVC" OFF)
|
||||
# On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion
|
||||
option(YUZU_ALLOW_SYSTEM_SDL2 "Try using system SDL2 before fallling back to one from externals" OFF)
|
||||
|
||||
option(ENABLE_QT "Enable the Qt frontend" ON)
|
||||
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" ON "ENABLE_QT;MSVC" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
|
||||
|
||||
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
|
||||
|
||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled yuzu" ON "WIN32" OFF)
|
||||
option(YUZU_USE_BUNDLED_BOOST "Download bundled Boost" OFF)
|
||||
|
||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" ON "WIN32" OFF)
|
||||
|
||||
option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF)
|
||||
|
||||
@@ -166,12 +171,12 @@ macro(yuzu_find_packages)
|
||||
# Cmake Pkg Prefix Version Conan Pkg
|
||||
"Catch2 2.13 catch2/2.13.0"
|
||||
"fmt 7.1 fmt/7.1.2"
|
||||
# can't use until https://github.com/bincrafters/community/issues/1173
|
||||
#"libzip 1.5 libzip/1.5.2@bincrafters/stable"
|
||||
"lz4 1.8 lz4/1.9.2"
|
||||
"nlohmann_json 3.8 nlohmann_json/3.8.0"
|
||||
"ZLIB 1.2 zlib/1.2.11"
|
||||
"zstd 1.4 zstd/1.4.8"
|
||||
"zstd 1.5 zstd/1.5.0"
|
||||
# can't use opus until AVX check is fixed: https://github.com/yuzu-emu/yuzu/pull/4068
|
||||
#"opus 1.3 opus/1.3.1"
|
||||
)
|
||||
|
||||
foreach(PACKAGE ${REQUIRED_LIBS})
|
||||
@@ -198,7 +203,9 @@ macro(yuzu_find_packages)
|
||||
unset(FN_FORCE_REQUIRED)
|
||||
endmacro()
|
||||
|
||||
find_package(Boost 1.73.0 COMPONENTS context headers QUIET)
|
||||
if (NOT YUZU_USE_BUNDLED_BOOST)
|
||||
find_package(Boost 1.73.0 CONFIG COMPONENTS context headers QUIET)
|
||||
endif()
|
||||
if (Boost_FOUND)
|
||||
set(Boost_LIBRARIES Boost::boost)
|
||||
# Conditionally add Boost::context only if the active version of the Conan or system Boost package provides it
|
||||
@@ -209,6 +216,20 @@ if (Boost_FOUND)
|
||||
if (TARGET Boost::context)
|
||||
list(APPEND Boost_LIBRARIES Boost::context)
|
||||
endif()
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR YUZU_USE_BUNDLED_BOOST)
|
||||
message(STATUS "Boost 1.73.0 or newer not found, falling back to externals")
|
||||
set(YUZU_USE_BUNDLED_BOOST ON CACHE BOOL "Download bundled Boost" FORCE)
|
||||
|
||||
# Use yuzu Boost binaries
|
||||
set(Boost_EXT_NAME "boost_1_75_0")
|
||||
set(Boost_PATH "${CMAKE_BINARY_DIR}/externals/${Boost_EXT_NAME}")
|
||||
download_bundled_external("boost/" ${Boost_EXT_NAME} "")
|
||||
set(Boost_USE_DEBUG_RUNTIME FALSE)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
find_package(Boost 1.75.0 CONFIG REQUIRED COMPONENTS context headers PATHS ${Boost_PATH} NO_DEFAULT_PATH)
|
||||
# Manually set the include dirs since the find_package sets it incorrectly
|
||||
set(Boost_INCLUDE_DIRS ${Boost_PATH}/include CACHE PATH "Path to Boost headers" FORCE)
|
||||
include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
|
||||
else()
|
||||
message(STATUS "Boost 1.73.0 or newer not found, falling back to Conan")
|
||||
list(APPEND CONAN_REQUIRED_LIBS "boost/1.73.0")
|
||||
@@ -219,6 +240,7 @@ yuzu_find_packages()
|
||||
|
||||
# Qt5 requires that we find components, so it doesn't fit our pretty little find package function
|
||||
if(ENABLE_QT)
|
||||
set(QT_VERSION 5.12)
|
||||
# We want to load the generated conan qt config so that we get the QT_ROOT var so that we can use the official
|
||||
# Qt5Config inside the root folder instead of the conan generated one.
|
||||
if(EXISTS ${CMAKE_BINARY_DIR}/qtConfig.cmake)
|
||||
@@ -226,22 +248,40 @@ if(ENABLE_QT)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
endif()
|
||||
|
||||
# Check for system Qt on Linux, fallback to bundled Qt
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if (NOT YUZU_USE_BUNDLED_QT)
|
||||
find_package(Qt5 ${QT_VERSION} COMPONENTS Widgets QUIET)
|
||||
if (NOT Qt5_FOUND)
|
||||
set(YUZU_USE_BUNDLED_QT ON CACHE BOOL "Download bundled Qt" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
if (YUZU_USE_BUNDLED_QT)
|
||||
# Binary package currently does not support Qt webengine, so make sure it's disabled
|
||||
set(YUZU_USE_QT_WEB_ENGINE OFF CACHE BOOL "Use Qt Webengine" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Workaround for an issue where conan tries to build Qt from scratch instead of download prebuilt binaries
|
||||
set(QT_PREFIX_HINT)
|
||||
|
||||
if(YUZU_USE_BUNDLED_QT)
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1930) AND ARCHITECTURE_x86_64)
|
||||
set(QT_VER qt-5.12.8-msvc2017_64)
|
||||
set(QT_BUILD qt-5.12.8-msvc2017_64)
|
||||
elseif ((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") AND NOT MINGW AND ARCHITECTURE_x86_64)
|
||||
set(QT_BUILD qt5_5_15_2)
|
||||
else()
|
||||
message(FATAL_ERROR "No bundled Qt binaries for your toolchain. Disable YUZU_USE_BUNDLED_QT and provide your own.")
|
||||
endif()
|
||||
|
||||
if (DEFINED QT_VER)
|
||||
download_bundled_external("qt/" ${QT_VER} QT_PREFIX)
|
||||
if (DEFINED QT_BUILD)
|
||||
download_bundled_external("qt/" ${QT_BUILD} QT_PREFIX)
|
||||
endif()
|
||||
|
||||
set(QT_PREFIX_HINT HINTS "${QT_PREFIX}")
|
||||
endif()
|
||||
find_package(Qt5 5.9 COMPONENTS Widgets ${QT_PREFIX_HINT})
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets ${QT_PREFIX_HINT} NO_CMAKE_SYSTEM_PATH)
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
find_package(Qt5 COMPONENTS WebEngineCore WebEngineWidgets)
|
||||
endif()
|
||||
@@ -249,21 +289,50 @@ if(ENABLE_QT)
|
||||
if (ENABLE_QT_TRANSLATION)
|
||||
find_package(Qt5 REQUIRED COMPONENTS LinguistTools ${QT_PREFIX_HINT})
|
||||
endif()
|
||||
if (NOT Qt5_FOUND)
|
||||
list(APPEND CONAN_REQUIRED_LIBS "qt/5.14.1@bincrafters/stable")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# find SDL2 exports a bunch of variables that are needed, so its easier to do this outside of the yuzu_find_package
|
||||
if(ENABLE_SDL2)
|
||||
if(EXISTS ${CMAKE_BINARY_DIR}/sdl2Config.cmake)
|
||||
include(${CMAKE_BINARY_DIR}/sdl2Config.cmake)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CONAN_SDL2_ROOT_RELEASE}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CONAN_SDL2_ROOT_RELEASE}")
|
||||
endif()
|
||||
find_package(SDL2)
|
||||
if (NOT SDL2_FOUND)
|
||||
# otherwise add this to the list of libraries to install
|
||||
list(APPEND CONAN_REQUIRED_LIBS "sdl2/2.0.14@bincrafters/stable")
|
||||
if (ENABLE_SDL2)
|
||||
if (YUZU_USE_BUNDLED_SDL2)
|
||||
# Detect toolchain and platform
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1930) AND ARCHITECTURE_x86_64)
|
||||
set(SDL2_VER "SDL2-2.0.15-prerelease")
|
||||
else()
|
||||
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.")
|
||||
endif()
|
||||
|
||||
if (DEFINED SDL2_VER)
|
||||
download_bundled_external("sdl2/" ${SDL2_VER} SDL2_PREFIX)
|
||||
endif()
|
||||
|
||||
set(SDL2_FOUND YES)
|
||||
set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include" CACHE PATH "Path to SDL2 headers")
|
||||
set(SDL2_LIBRARY "${SDL2_PREFIX}/lib/x64/SDL2.lib" CACHE PATH "Path to SDL2 library")
|
||||
set(SDL2_DLL_DIR "${SDL2_PREFIX}/lib/x64/" CACHE PATH "Path to SDL2.dll")
|
||||
|
||||
add_library(SDL2 INTERFACE)
|
||||
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}")
|
||||
target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
||||
else()
|
||||
if (YUZU_ALLOW_SYSTEM_SDL2)
|
||||
find_package(SDL2 2.0.15 QUIET)
|
||||
|
||||
if (SDL2_FOUND)
|
||||
# Some installations don't set SDL2_LIBRARIES
|
||||
if("${SDL2_LIBRARIES}" STREQUAL "")
|
||||
message(WARNING "SDL2_LIBRARIES wasn't set, manually setting to SDL2::SDL2")
|
||||
set(SDL2_LIBRARIES "SDL2::SDL2")
|
||||
endif()
|
||||
|
||||
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
|
||||
add_library(SDL2 INTERFACE)
|
||||
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARIES}")
|
||||
else()
|
||||
message(STATUS "SDL2 2.0.15 or newer not found, falling back to externals.")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "Using SDL2 from externals.")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -285,9 +354,6 @@ if (CONAN_REQUIRED_LIBS)
|
||||
)
|
||||
|
||||
conan_check(VERSION 1.24.0 REQUIRED)
|
||||
# Add the bincrafters remote
|
||||
conan_add_remote(NAME bincrafters
|
||||
URL https://api.bintray.com/conan/bincrafters/public-conan)
|
||||
|
||||
# Manually add iconv to fix a dep conflict between qt and sdl2
|
||||
# We don't need to add it through find_package or anything since the other two can find it just fine
|
||||
@@ -333,16 +399,11 @@ if (CONAN_REQUIRED_LIBS)
|
||||
if(ENABLE_QT)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
find_package(Qt5 5.9 REQUIRED COMPONENTS Widgets)
|
||||
find_package(Qt5 5.12 REQUIRED COMPONENTS Widgets)
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
find_package(Qt5 REQUIRED COMPONENTS WebEngineCore WebEngineWidgets)
|
||||
endif()
|
||||
endif()
|
||||
if(ENABLE_SDL2)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CONAN_SDL2_ROOT_RELEASE}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CONAN_SDL2_ROOT_RELEASE}")
|
||||
find_package(SDL2 REQUIRED)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
@@ -358,23 +419,6 @@ elseif (TARGET Boost::boost)
|
||||
add_library(boost ALIAS Boost::boost)
|
||||
endif()
|
||||
|
||||
if (TARGET sdl2::sdl2)
|
||||
# imported from the conan generated sdl2Config.cmake
|
||||
set_target_properties(sdl2::sdl2 PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||
add_library(SDL2 ALIAS sdl2::sdl2)
|
||||
elseif(SDL2_FOUND)
|
||||
# found through the system package manager
|
||||
# Some installations don't set SDL2_LIBRARIES
|
||||
if("${SDL2_LIBRARIES}" STREQUAL "")
|
||||
message(WARNING "SDL2_LIBRARIES wasn't set, manually setting to SDL2::SDL2")
|
||||
set(SDL2_LIBRARIES "SDL2::SDL2")
|
||||
endif()
|
||||
|
||||
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
|
||||
add_library(SDL2 INTERFACE)
|
||||
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARIES}")
|
||||
endif()
|
||||
|
||||
# Ensure libusb is properly configured (based on dolphin libusb include)
|
||||
if(NOT APPLE)
|
||||
include(FindPkgConfig)
|
||||
@@ -382,7 +426,7 @@ if(NOT APPLE)
|
||||
endif()
|
||||
if (NOT LIBUSB_FOUND)
|
||||
add_subdirectory(externals/libusb)
|
||||
set(LIBUSB_INCLUDE_DIR "")
|
||||
set(LIBUSB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/externals/libusb/libusb/libusb")
|
||||
set(LIBUSB_LIBRARIES usb)
|
||||
endif()
|
||||
|
||||
@@ -394,7 +438,7 @@ set(FFmpeg_COMPONENTS
|
||||
|
||||
if (NOT YUZU_USE_BUNDLED_FFMPEG)
|
||||
# Use system installed FFmpeg
|
||||
find_package(FFmpeg REQUIRED COMPONENTS ${FFmpeg_COMPONENTS})
|
||||
find_package(FFmpeg QUIET COMPONENTS ${FFmpeg_COMPONENTS})
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
# Overwrite aggregate defines from FFmpeg module to avoid over-linking libraries.
|
||||
@@ -433,6 +477,7 @@ if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
set(FFmpeg_FOUND YES)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_LIBRARIES CACHE)
|
||||
foreach(COMPONENT ${FFmpeg_COMPONENTS})
|
||||
set(FFmpeg_${COMPONENT}_PREFIX "${FFmpeg_BUILD_DIR}/lib${COMPONENT}")
|
||||
set(FFmpeg_${COMPONENT}_LIB_NAME "lib${COMPONENT}.a")
|
||||
@@ -445,7 +490,7 @@ if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
endforeach()
|
||||
|
||||
set(FFmpeg_INCLUDE_DIR
|
||||
${FFmpeg_PREFIX}
|
||||
"${FFmpeg_PREFIX};${FFmpeg_BUILD_DIR}"
|
||||
CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
|
||||
# `configure` parameters builds only exactly what yuzu needs from FFmpeg
|
||||
@@ -492,13 +537,11 @@ if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
|
||||
# ALL makes this custom target build every time
|
||||
# but it won't actually build if the DEPENDS parameter is up to date
|
||||
add_custom_target(ffmpeg-build ALL DEPENDS ${FFmpeg_LIBRARIES})
|
||||
add_custom_target(ffmpeg-configure ALL DEPENDS ${FFmpeg_MAKEFILE})
|
||||
add_custom_target(ffmpeg-build ALL DEPENDS ${FFmpeg_LIBRARIES} ffmpeg-configure)
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
message(STATUS "Found FFmpeg version ${FFmpeg_VERSION}")
|
||||
|
||||
add_dependencies(ffmpeg-build ffmpeg-configure)
|
||||
else()
|
||||
message(FATAL_ERROR "FFmpeg not found")
|
||||
endif()
|
||||
|
||||
@@ -1,52 +1,111 @@
|
||||
function(copy_yuzu_Qt5_deps target_dir)
|
||||
include(WindowsCopyFiles)
|
||||
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/")
|
||||
set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin")
|
||||
if (MSVC)
|
||||
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/")
|
||||
set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin")
|
||||
else()
|
||||
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/")
|
||||
set(Qt5_DLL_DIR "${Qt5_DIR}/../../../lib/")
|
||||
endif()
|
||||
set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/")
|
||||
set(Qt5_PLATFORMTHEMES_DIR "${Qt5_DIR}/../../../plugins/platformthemes/")
|
||||
set(Qt5_PLATFORMINPUTCONTEXTS_DIR "${Qt5_DIR}/../../../plugins/platforminputcontexts/")
|
||||
set(Qt5_XCBGLINTEGRATIONS_DIR "${Qt5_DIR}/../../../plugins/xcbglintegrations/")
|
||||
set(Qt5_STYLES_DIR "${Qt5_DIR}/../../../plugins/styles/")
|
||||
set(Qt5_IMAGEFORMATS_DIR "${Qt5_DIR}/../../../plugins/imageformats/")
|
||||
set(Qt5_RESOURCES_DIR "${Qt5_DIR}/../../../resources/")
|
||||
set(PLATFORMS ${DLL_DEST}plugins/platforms/)
|
||||
set(STYLES ${DLL_DEST}plugins/styles/)
|
||||
set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/)
|
||||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
||||
icudt*.dll
|
||||
icuin*.dll
|
||||
icuuc*.dll
|
||||
Qt5Core$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Gui$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Widgets$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
||||
Qt5Network$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Positioning$<$<CONFIG:Debug>:d>.*
|
||||
Qt5PrintSupport$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Qml$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Quick$<$<CONFIG:Debug>:d>.*
|
||||
Qt5QuickWidgets$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebChannel$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngine$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngineCore$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.*
|
||||
QtWebEngineProcess$<$<CONFIG:Debug>:d>.*
|
||||
if (MSVC)
|
||||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
||||
icudt*.dll
|
||||
icuin*.dll
|
||||
icuuc*.dll
|
||||
Qt5Core$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Gui$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Widgets$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
|
||||
windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST}
|
||||
qtwebengine_resources.pak
|
||||
qtwebengine_devtools_resources.pak
|
||||
qtwebengine_resources_100p.pak
|
||||
qtwebengine_resources_200p.pak
|
||||
icudtl.dat
|
||||
)
|
||||
endif ()
|
||||
windows_copy_files(yuzu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*)
|
||||
windows_copy_files(yuzu ${Qt5_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*)
|
||||
windows_copy_files(yuzu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS}
|
||||
qjpeg$<$<CONFIG:Debug>:d>.*
|
||||
qgif$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
||||
Qt5Network$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Positioning$<$<CONFIG:Debug>:d>.*
|
||||
Qt5PrintSupport$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Qml$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Quick$<$<CONFIG:Debug>:d>.*
|
||||
Qt5QuickWidgets$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebChannel$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngine$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngineCore$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.*
|
||||
QtWebEngineProcess$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
|
||||
windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST}
|
||||
qtwebengine_resources.pak
|
||||
qtwebengine_devtools_resources.pak
|
||||
qtwebengine_resources_100p.pak
|
||||
qtwebengine_resources_200p.pak
|
||||
icudtl.dat
|
||||
)
|
||||
endif ()
|
||||
windows_copy_files(yuzu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*)
|
||||
windows_copy_files(yuzu ${Qt5_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*)
|
||||
windows_copy_files(yuzu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS}
|
||||
qjpeg$<$<CONFIG:Debug>:d>.*
|
||||
qgif$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
else()
|
||||
set(Qt5_DLLS
|
||||
"${Qt5_DLL_DIR}libQt5Core.so.5"
|
||||
"${Qt5_DLL_DIR}libQt5DBus.so.5"
|
||||
"${Qt5_DLL_DIR}libQt5Gui.so.5"
|
||||
"${Qt5_DLL_DIR}libQt5Widgets.so.5"
|
||||
"${Qt5_DLL_DIR}libQt5XcbQpa.so.5"
|
||||
"${Qt5_DLL_DIR}libicudata.so.60"
|
||||
"${Qt5_DLL_DIR}libicui18n.so.60"
|
||||
"${Qt5_DLL_DIR}libicuuc.so.60"
|
||||
)
|
||||
set(Qt5_IMAGEFORMAT_DLLS
|
||||
"${Qt5_IMAGEFORMATS_DIR}libqjpeg.so"
|
||||
"${Qt5_IMAGEFORMATS_DIR}libqgif.so"
|
||||
"${Qt5_IMAGEFORMATS_DIR}libqico.so"
|
||||
)
|
||||
set(Qt5_PLATFORMTHEME_DLLS
|
||||
"${Qt5_PLATFORMTHEMES_DIR}libqgtk3.so"
|
||||
"${Qt5_PLATFORMTHEMES_DIR}libqxdgdesktopportal.so"
|
||||
)
|
||||
set(Qt5_PLATFORM_DLLS
|
||||
"${Qt5_PLATFORMS_DIR}libqxcb.so"
|
||||
)
|
||||
set(Qt5_PLATFORMINPUTCONTEXT_DLLS
|
||||
"${Qt5_PLATFORMINPUTCONTEXTS_DIR}libcomposeplatforminputcontextplugin.so"
|
||||
"${Qt5_PLATFORMINPUTCONTEXTS_DIR}libibusplatforminputcontextplugin.so"
|
||||
)
|
||||
set(Qt5_XCBGLINTEGRATION_DLLS
|
||||
"${Qt5_XCBGLINTEGRATIONS_DIR}libqxcb-glx-integration.so"
|
||||
)
|
||||
foreach(LIB ${Qt5_DLLS})
|
||||
file(COPY ${LIB} DESTINATION "${DLL_DEST}/lib" FOLLOW_SYMLINK_CHAIN)
|
||||
endforeach()
|
||||
foreach(LIB ${Qt5_IMAGEFORMAT_DLLS})
|
||||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/imageformats/" FOLLOW_SYMLINK_CHAIN)
|
||||
endforeach()
|
||||
foreach(LIB ${Qt5_PLATFORMTHEME_DLLS})
|
||||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platformthemes/" FOLLOW_SYMLINK_CHAIN)
|
||||
endforeach()
|
||||
foreach(LIB ${Qt5_PLATFORM_DLLS})
|
||||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforms/" FOLLOW_SYMLINK_CHAIN)
|
||||
endforeach()
|
||||
foreach(LIB ${Qt5_PLATFORMINPUTCONTEXT_DLLS})
|
||||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforminputcontexts/" FOLLOW_SYMLINK_CHAIN)
|
||||
endforeach()
|
||||
foreach(LIB ${Qt5_XCBGLINTEGRATION_DLLS})
|
||||
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/xcbglintegrations/" FOLLOW_SYMLINK_CHAIN)
|
||||
endforeach()
|
||||
|
||||
endif()
|
||||
# Create an empty qt.conf file. Qt will detect that this file exists, and use the folder that its in as the root folder.
|
||||
# This way it'll look for plugins in the root/plugins/ folder
|
||||
add_custom_command(TARGET yuzu POST_BUILD
|
||||
|
||||
@@ -4,15 +4,29 @@
|
||||
# remote_path: path to the file to download, relative to the remote repository root
|
||||
# prefix_var: name of a variable which will be set with the path to the extracted contents
|
||||
function(download_bundled_external remote_path lib_name prefix_var)
|
||||
|
||||
set(package_repo "no_platform")
|
||||
set(package_extension "no_platform")
|
||||
if (WIN32)
|
||||
set(package_repo "ext-windows-bin/raw/master/")
|
||||
set(package_extension ".7z")
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
set(package_repo "ext-linux-bin/raw/main/")
|
||||
set(package_extension ".tar.xz")
|
||||
else()
|
||||
message(FATAL_ERROR "No package available for this platform")
|
||||
endif()
|
||||
set(package_url "https://github.com/yuzu-emu/${package_repo}")
|
||||
|
||||
set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
|
||||
if (NOT EXISTS "${prefix}")
|
||||
message(STATUS "Downloading binaries for ${lib_name}...")
|
||||
file(DOWNLOAD
|
||||
https://github.com/yuzu-emu/ext-windows-bin/raw/master/${remote_path}${lib_name}.7z
|
||||
"${CMAKE_BINARY_DIR}/externals/${lib_name}.7z" SHOW_PROGRESS)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}.7z"
|
||||
${package_url}${remote_path}${lib_name}${package_extension}
|
||||
"${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" SHOW_PROGRESS)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}"
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")
|
||||
endif()
|
||||
message(STATUS "Using bundled binaries at ${prefix}")
|
||||
set(${prefix_var} "${prefix}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
endfunction()
|
||||
|
||||
BIN
dist/icons/overlay/arrow_left.png
vendored
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
dist/icons/overlay/arrow_left_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 712 B |
BIN
dist/icons/overlay/arrow_right.png
vendored
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
dist/icons/overlay/arrow_right_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 683 B |
BIN
dist/icons/overlay/button_A.png
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
dist/icons/overlay/button_A_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
dist/icons/overlay/button_B.png
vendored
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
dist/icons/overlay/button_B_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
dist/icons/overlay/button_L.png
vendored
Normal file
|
After Width: | Height: | Size: 796 B |
BIN
dist/icons/overlay/button_L_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 745 B |
BIN
dist/icons/overlay/button_R.png
vendored
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
dist/icons/overlay/button_R_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
dist/icons/overlay/button_X.png
vendored
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
dist/icons/overlay/button_X_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
dist/icons/overlay/button_Y.png
vendored
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
dist/icons/overlay/button_Y_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
dist/icons/overlay/button_minus.png
vendored
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
dist/icons/overlay/button_minus_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
dist/icons/overlay/button_plus.png
vendored
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
dist/icons/overlay/button_plus_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dist/icons/overlay/button_press_stick.png
vendored
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
dist/icons/overlay/button_press_stick_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
dist/icons/overlay/controller_dual_joycon.png
vendored
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
dist/icons/overlay/controller_dual_joycon_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
dist/icons/overlay/controller_handheld.png
vendored
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
dist/icons/overlay/controller_handheld_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
dist/icons/overlay/controller_pro.png
vendored
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
dist/icons/overlay/controller_pro_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left.png
vendored
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_a.png
vendored
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_a_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_b.png
vendored
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_b_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_x.png
vendored
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_x_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_y.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/controller_single_joycon_left_y_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/controller_single_joycon_right.png
vendored
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
dist/icons/overlay/controller_single_joycon_right_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
dist/icons/overlay/osk_button_B.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/osk_button_B_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
dist/icons/overlay/osk_button_B_dark_disabled.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/osk_button_B_disabled.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/osk_button_Y.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/osk_button_Y_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dist/icons/overlay/osk_button_Y_dark_disabled.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/osk_button_Y_disabled.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
dist/icons/overlay/osk_button_backspace.png
vendored
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
dist/icons/overlay/osk_button_backspace_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
dist/icons/overlay/osk_button_plus.png
vendored
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
dist/icons/overlay/osk_button_plus_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
dist/icons/overlay/osk_button_plus_dark_disabled.png
vendored
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
dist/icons/overlay/osk_button_plus_disabled.png
vendored
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
dist/icons/overlay/osk_button_shift.png
vendored
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
dist/icons/overlay/osk_button_shift_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dist/icons/overlay/osk_button_shift_lock_off.png
vendored
Normal file
|
After Width: | Height: | Size: 936 B |
BIN
dist/icons/overlay/osk_button_shift_lock_on.png
vendored
Normal file
|
After Width: | Height: | Size: 894 B |
BIN
dist/icons/overlay/osk_button_shift_on.png
vendored
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
dist/icons/overlay/osk_button_shift_on_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
64
dist/icons/overlay/overlay.qrc
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
<RCC>
|
||||
<qresource prefix="overlay">
|
||||
<file>arrow_left.png</file>
|
||||
<file>arrow_left_dark.png</file>
|
||||
<file>arrow_right.png</file>
|
||||
<file>arrow_right_dark.png</file>
|
||||
<file>button_minus.png</file>
|
||||
<file>button_minus_dark.png</file>
|
||||
<file>button_plus.png</file>
|
||||
<file>button_plus_dark.png</file>
|
||||
<file>button_A.png</file>
|
||||
<file>button_A_dark.png</file>
|
||||
<file>button_B.png</file>
|
||||
<file>button_B_dark.png</file>
|
||||
<file>button_X.png</file>
|
||||
<file>button_X_dark.png</file>
|
||||
<file>button_Y.png</file>
|
||||
<file>button_Y_dark.png</file>
|
||||
<file>button_L.png</file>
|
||||
<file>button_L_dark.png</file>
|
||||
<file>button_R.png</file>
|
||||
<file>button_R_dark.png</file>
|
||||
<file>button_press_stick.png</file>
|
||||
<file>button_press_stick_dark.png</file>
|
||||
<file>osk_button_B.png</file>
|
||||
<file>osk_button_B_disabled.png</file>
|
||||
<file>osk_button_B_dark.png</file>
|
||||
<file>osk_button_B_dark_disabled.png</file>
|
||||
<file>osk_button_Y.png</file>
|
||||
<file>osk_button_Y_disabled.png</file>
|
||||
<file>osk_button_Y_dark.png</file>
|
||||
<file>osk_button_Y_dark_disabled.png</file>
|
||||
<file>osk_button_backspace.png</file>
|
||||
<file>osk_button_backspace_dark.png</file>
|
||||
<file>osk_button_plus.png</file>
|
||||
<file>osk_button_plus_disabled.png</file>
|
||||
<file>osk_button_plus_dark.png</file>
|
||||
<file>osk_button_plus_dark_disabled.png</file>
|
||||
<file>osk_button_shift.png</file>
|
||||
<file>osk_button_shift_dark.png</file>
|
||||
<file>osk_button_shift_on.png</file>
|
||||
<file>osk_button_shift_on_dark.png</file>
|
||||
<file>osk_button_shift_lock_on.png</file>
|
||||
<file>osk_button_shift_lock_off.png</file>
|
||||
<file>controller_dual_joycon.png</file>
|
||||
<file>controller_dual_joycon_dark.png</file>
|
||||
<file>controller_pro.png</file>
|
||||
<file>controller_pro_dark.png</file>
|
||||
<file>controller_handheld.png</file>
|
||||
<file>controller_handheld_dark.png</file>
|
||||
<file>controller_single_joycon_left.png</file>
|
||||
<file>controller_single_joycon_left_dark.png</file>
|
||||
<file>controller_single_joycon_right.png</file>
|
||||
<file>controller_single_joycon_right_dark.png</file>
|
||||
<file>controller_single_joycon_left_a.png</file>
|
||||
<file>controller_single_joycon_left_a_dark.png</file>
|
||||
<file>controller_single_joycon_left_b.png</file>
|
||||
<file>controller_single_joycon_left_b_dark.png</file>
|
||||
<file>controller_single_joycon_left_x.png</file>
|
||||
<file>controller_single_joycon_left_x_dark.png</file>
|
||||
<file>controller_single_joycon_left_y.png</file>
|
||||
<file>controller_single_joycon_left_y_dark.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
3
dist/license.md
vendored
@@ -12,6 +12,7 @@ qt_themes/default/icons/48x48/chip.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/default/icons/48x48/folder.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/default/icons/48x48/plus.png | CC0 1.0 | Designed by BreadFish64 from the Citra team
|
||||
qt_themes/default/icons/48x48/sd_card.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/default/icons/48x48/star.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/qdarkstyle/icons/16x16/lock.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/qdarkstyle/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
|
||||
qt_themes/qdarkstyle/icons/256x256/plus_folder.png | CC BY-ND 3.0 | https://icons8.com
|
||||
@@ -20,6 +21,7 @@ qt_themes/qdarkstyle/icons/48x48/chip.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/qdarkstyle/icons/48x48/folder.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/qdarkstyle/icons/48x48/plus.png | CC0 1.0 | Designed by BreadFish64 from the Citra team
|
||||
qt_themes/qdarkstyle/icons/48x48/sd_card.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/qdarkstyle/icons/48x48/star.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/colorful/icons/16x16/lock.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/colorful/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
|
||||
qt_themes/colorful/icons/256x256/plus_folder.png | CC BY-ND 3.0 | https://icons8.com
|
||||
@@ -28,5 +30,6 @@ qt_themes/colorful/icons/48x48/chip.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/colorful/icons/48x48/folder.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/colorful/icons/48x48/plus.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/colorful/icons/48x48/sd_card.png | CC BY-ND 3.0 | https://icons8.com
|
||||
qt_themes/colorful/icons/48x48/star.png | CC BY-ND 3.0 | https://icons8.com
|
||||
|
||||
<!-- TODO: Add the license of the yuzu icon -->
|
||||
BIN
dist/qt_themes/colorful/icons/48x48/star.png
vendored
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
1
dist/qt_themes/colorful/style.qrc
vendored
@@ -7,6 +7,7 @@
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/plus.png">icons/48x48/plus.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="colorful">
|
||||
|
||||
1
dist/qt_themes/default/default.qrc
vendored
@@ -10,6 +10,7 @@
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/plus.png">icons/48x48/plus.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/yuzu.png">icons/256x256/yuzu.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
|
||||
BIN
dist/qt_themes/default/icons/48x48/star.png
vendored
Normal file
|
After Width: | Height: | Size: 686 B |
367
dist/qt_themes/default/style.qss
vendored
@@ -281,3 +281,370 @@ QWidget#controllerPlayer7,
|
||||
QWidget#controllerPlayer8 {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog,
|
||||
QStackedWidget#topOSK {
|
||||
background: rgba(51, 51, 51, .9);
|
||||
}
|
||||
|
||||
|
||||
QDialog#OverlayDialog,
|
||||
QStackedWidget#stackedDialog {
|
||||
background: rgba(51, 51, 51, .7);
|
||||
}
|
||||
|
||||
QWidget#boxOSK,
|
||||
QWidget#lineOSK,
|
||||
QWidget#richDialog,
|
||||
QWidget#lineDialog {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QStackedWidget#bottomOSK,
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
background: rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
margin: 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QWidget#buttonsDialog,
|
||||
QWidget#buttonsRichDialog {
|
||||
margin: 5px;
|
||||
border-top: 2px solid rgba(44, 44, 44, 1);
|
||||
}
|
||||
|
||||
QWidget#legendOSKnum {
|
||||
border-top: 1px solid rgba(44, 44, 44, 1);
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical {
|
||||
background: #cdcdcd;
|
||||
width: 15px;
|
||||
margin: 15px 3px 15px 3px;
|
||||
border: 1px transparent;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal {
|
||||
background: #cdcdcd;
|
||||
height: 15px;
|
||||
margin: 3px 15px 3px 15px;
|
||||
border: 1px transparent;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::handle {
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
min-height: 5px;
|
||||
min-width: 5px;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-page,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-page {
|
||||
background: none;
|
||||
}
|
||||
|
||||
QWidget#inputOSK {
|
||||
border-bottom: 3px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputOSK QLineEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK {
|
||||
border: 2px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK QTextEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#richDialog QTextBrowser {
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 35px 65px;
|
||||
}
|
||||
|
||||
|
||||
QWidget#lineOSK QLabel#label_header {
|
||||
color: #f0f0f0;
|
||||
}
|
||||
|
||||
QWidget#lineOSK QLabel#label_sub,
|
||||
QWidget#lineOSK QLabel#label_characters,
|
||||
QWidget#boxOSK QLabel#label_characters_box {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_dialog {
|
||||
padding: 20px 65px;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich {
|
||||
padding: 0px 65px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton {
|
||||
color: rgba(49, 79, 239, 1);
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:focus,
|
||||
QDialog#OverlayDialog QPushButton:hover {
|
||||
color: rgba(49, 79, 239, 1);
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(150, 150, 150, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton {
|
||||
background: rgba(232, 232, 232, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
background: rgba(218, 218, 218, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(44, 44, 44, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(49, 79, 239, 1);
|
||||
border: 2px solid rgba(240, 240, 240, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus,
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(150, 150, 150, 1);
|
||||
border: 5px solid rgba(148, 250, 202, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
image: url(:/overlay/osk_button_B.png);
|
||||
image-position: right;
|
||||
qproperty-icon: url(:/overlay/osk_button_backspace.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
image: url(:/overlay/osk_button_Y.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
image: url(:/overlay/osk_button_plus.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift_on.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis {
|
||||
padding-bottom: 7px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel {
|
||||
background: transparent;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num {
|
||||
image: url(:/overlay/button_L.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num {
|
||||
image: url(:/overlay/arrow_left.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num {
|
||||
image: url(:/overlay/button_R.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num {
|
||||
image: url(:/overlay/arrow_right.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift {
|
||||
image: url(:/overlay/button_press_stick.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num {
|
||||
image: url(:/overlay/button_X.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num {
|
||||
image: url(:/overlay/button_A.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
color: rgba(164, 164, 164, 1);
|
||||
background-color: rgba(218, 218, 218, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled {
|
||||
color: rgba(164, 164, 164, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled {
|
||||
image: url(:/overlay/osk_button_plus_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
image: url(:/overlay/osk_button_B_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled {
|
||||
image: url(:/overlay/osk_button_Y_disabled.png);
|
||||
}
|
||||
|
||||
BIN
dist/qt_themes/qdarkstyle/icons/48x48/star.png
vendored
Normal file
|
After Width: | Height: | Size: 725 B |
1
dist/qt_themes/qdarkstyle/style.qrc
vendored
@@ -8,6 +8,7 @@
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/plus.png">icons/48x48/plus.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qss_icons">
|
||||
|
||||
389
dist/qt_themes/qdarkstyle/style.qss
vendored
@@ -1560,7 +1560,390 @@ QWidget#controllerPlayer8 {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* touchscreen mapping widget */
|
||||
TouchScreenPreview {
|
||||
qproperty-dotHighlightColor: #3daee9;
|
||||
QDialog#QtSoftwareKeyboardDialog,
|
||||
QStackedWidget#topOSK {
|
||||
background: rgba(41, 41, 41, .9);
|
||||
}
|
||||
|
||||
|
||||
QDialog#OverlayDialog,
|
||||
QStackedWidget#stackedDialog {
|
||||
background: rgba(41, 41, 41, .7);
|
||||
}
|
||||
|
||||
QWidget#boxOSK,
|
||||
QWidget#lineOSK,
|
||||
QWidget#richDialog,
|
||||
QWidget#lineDialog {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QStackedWidget#bottomOSK,
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
background: rgba(71, 69, 71, 1);
|
||||
}
|
||||
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
margin: 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QWidget#buttonsDialog,
|
||||
QWidget#buttonsRichDialog {
|
||||
margin: 5px;
|
||||
border-top: 2px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#legendOSKnum {
|
||||
border-top: 1px solid rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QWidget {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar {
|
||||
background: #2a2929;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line {
|
||||
border-image: none;
|
||||
}
|
||||
|
||||
QWidget#inputOSK {
|
||||
border-bottom: 3px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputOSK QLineEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK {
|
||||
border: 2px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK QTextEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#richDialog QTextBrowser {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #fff;
|
||||
padding: 35px 65px;
|
||||
}
|
||||
|
||||
QWidget#lineOSK QLabel#label_header {
|
||||
color: #f0f0f0;
|
||||
}
|
||||
|
||||
QWidget#lineOSK QLabel#label_sub,
|
||||
QWidget#lineOSK QLabel#label_characters,
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich,
|
||||
QWidget#boxOSK QLabel#label_characters_box {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#buttonsDialog,
|
||||
QWidget#buttonsRichDialog,
|
||||
QWidget#mainOSK,
|
||||
QWidget#headerOSK,
|
||||
QWidget#normalOSK,
|
||||
QWidget#shiftOSK,
|
||||
QWidget#numOSK,
|
||||
QWidget#subOSK,
|
||||
QWidget#inputOSK,
|
||||
QWidget#inputBoxOSK,
|
||||
QWidget#charactersOSK,
|
||||
QWidget#charactersBoxOSK,
|
||||
QWidget#legendOSK,
|
||||
QWidget#legendOSK QWidget,
|
||||
QWidget#legendOSKshift,
|
||||
QWidget#legendOSKshift QWidget,
|
||||
QWidget#legendOSKnum,
|
||||
QWidget#legendOSKnum QWidget {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel,
|
||||
QWidget#legendOSK QLabel,
|
||||
QWidget#legendOSKshift QLabel,
|
||||
QWidget#legendOSKnum QLabel {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_dialog {
|
||||
padding: 20px 65px;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich {
|
||||
padding: 0px 65px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton {
|
||||
color: rgba(1, 253, 201, 1);
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:focus,
|
||||
QDialog#OverlayDialog QPushButton:hover {
|
||||
color: rgba(1, 253, 201, 1);
|
||||
background: rgba(58, 61, 66, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(150, 150, 150, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background: rgba(80, 79, 80, 1);
|
||||
border: 2px solid rgba(71, 69, 71, 1);
|
||||
padding: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
background: rgba(95, 94, 95, 1);
|
||||
border: 2px solid rgba(71, 69, 71, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 2px solid rgba(71, 69, 71, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
background: rgba(1, 253, 201, 1);
|
||||
border: 2px solid rgba(71, 69, 71, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus,
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background: rgba(58, 61, 66, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(150, 150, 150, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
image: url(:/overlay/osk_button_B_dark.png);
|
||||
image-position: right;
|
||||
qproperty-icon: url(:/overlay/osk_button_backspace_dark.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
image: url(:/overlay/osk_button_Y_dark.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
color: rgba(44, 44, 44, 1);
|
||||
image: url(:/overlay/osk_button_plus_dark.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift_dark.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift_on_dark.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis {
|
||||
padding-bottom: 7px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel {
|
||||
background: transparent;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num {
|
||||
image: url(:/overlay/button_L_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num {
|
||||
image: url(:/overlay/arrow_left_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num {
|
||||
image: url(:/overlay/button_R_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num {
|
||||
image: url(:/overlay/arrow_right_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift {
|
||||
image: url(:/overlay/button_press_stick_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num {
|
||||
image: url(:/overlay/button_X_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num {
|
||||
image: url(:/overlay/button_A_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
color: rgba(144, 144, 144, 1);
|
||||
background-color: rgba(95, 94, 95, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled {
|
||||
color: rgba(144, 144, 144, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled {
|
||||
image: url(:/overlay/osk_button_plus_dark_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
image: url(:/overlay/osk_button_B_dark_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled {
|
||||
image: url(:/overlay/osk_button_Y_dark_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QFrame,
|
||||
QDialog#QtSoftwareKeyboardDialog QFrame[frameShape="0"],
|
||||
QDialog#OverlayDialog QFrame,
|
||||
QDialog#OverlayDialog QFrame[frameShape="0"] {
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
BIN
dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png
vendored
Normal file
|
After Width: | Height: | Size: 725 B |
@@ -8,6 +8,7 @@
|
||||
<file alias="48x48/folder.png">icons/48x48/folder.png</file>
|
||||
<file alias="48x48/plus.png">icons/48x48/plus.png</file>
|
||||
<file alias="48x48/sd_card.png">icons/48x48/sd_card.png</file>
|
||||
<file alias="48x48/star.png">icons/48x48/star.png</file>
|
||||
<file alias="256x256/plus_folder.png">icons/256x256/plus_folder.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="qss_icons">
|
||||
|
||||
429
dist/qt_themes/qdarkstyle_midnight_blue/style.qss
vendored
@@ -1,10 +1,10 @@
|
||||
/* ---------------------------------------------------------------------------
|
||||
|
||||
Created by the qtsass compiler v0.1.1
|
||||
Created by the qtsass compiler v0.1.1
|
||||
|
||||
The definitions are in the "qdarkstyle.qss._styles.scss" module
|
||||
The definitions are in the "qdarkstyle.qss._styles.scss" module
|
||||
|
||||
WARNING! All changes made in this file will be lost!
|
||||
WARNING! All changes made in this file will be lost!
|
||||
|
||||
--------------------------------------------------------------------------- */
|
||||
/* QDarkStyleSheet -----------------------------------------------------------
|
||||
@@ -15,34 +15,34 @@ It is based on three selecting colors, three greyish (background) colors
|
||||
plus three whitish (foreground) colors. Each set of widgets of the same
|
||||
type have a header like this:
|
||||
|
||||
------------------
|
||||
GroupName --------
|
||||
------------------
|
||||
------------------
|
||||
GroupName --------
|
||||
------------------
|
||||
|
||||
And each widget is separated with a header like this:
|
||||
|
||||
QWidgetName ------
|
||||
QWidgetName ------
|
||||
|
||||
This makes more easy to find and change some css field. The basic
|
||||
configuration is described bellow.
|
||||
|
||||
BACKGROUND -----------
|
||||
BACKGROUND -----------
|
||||
|
||||
Light (unpressed)
|
||||
Normal (border, disabled, pressed, checked, toolbars, menus)
|
||||
Dark (background)
|
||||
Light (unpressed)
|
||||
Normal (border, disabled, pressed, checked, toolbars, menus)
|
||||
Dark (background)
|
||||
|
||||
FOREGROUND -----------
|
||||
FOREGROUND -----------
|
||||
|
||||
Light (texts/labels)
|
||||
Normal (not used yet)
|
||||
Dark (disabled texts)
|
||||
Light (texts/labels)
|
||||
Normal (not used yet)
|
||||
Dark (disabled texts)
|
||||
|
||||
SELECTION ------------
|
||||
SELECTION ------------
|
||||
|
||||
Light (selection/hover/active)
|
||||
Normal (selected)
|
||||
Dark (selected disabled)
|
||||
Light (selection/hover/active)
|
||||
Normal (selected)
|
||||
Dark (selected disabled)
|
||||
|
||||
If a stranger configuration is required because of a bugfix or anything
|
||||
else, keep the comment on the line above so nobody changes it, including the
|
||||
@@ -2483,3 +2483,394 @@ QWidget#controllerPlayer7,
|
||||
QWidget#controllerPlayer8 {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog,
|
||||
QStackedWidget#topOSK {
|
||||
background: rgba(15, 25, 34, .9);
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog,
|
||||
QStackedWidget#stackedDialog {
|
||||
background: rgba(15, 25, 34, .7);
|
||||
}
|
||||
|
||||
QWidget#boxOSK,
|
||||
QWidget#lineOSK,
|
||||
QWidget#richDialog,
|
||||
QWidget#lineDialog {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QStackedWidget#bottomOSK,
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
background: rgba(31, 41, 51, 1);
|
||||
}
|
||||
|
||||
QWidget#contentDialog,
|
||||
QWidget#contentRichDialog {
|
||||
margin: 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QWidget#buttonsDialog,
|
||||
QWidget#buttonsRichDialog {
|
||||
margin: 5px;
|
||||
border-top: 2px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#legendOSKnum {
|
||||
border-top: 1px solid rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QWidget {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar {
|
||||
background: #19232d;
|
||||
border: none;
|
||||
}
|
||||
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line,
|
||||
QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line {
|
||||
border-image: none;
|
||||
}
|
||||
|
||||
QWidget#mainOSK QStackedWidget,
|
||||
QDialog#OverlayDialog QStackedWidget {
|
||||
border: none;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
QWidget#inputOSK {
|
||||
border-bottom: 3px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputOSK QLineEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK {
|
||||
border: 2px solid rgba(255, 255, 255, .9);
|
||||
}
|
||||
|
||||
QWidget#inputBoxOSK QTextEdit {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#richDialog QTextBrowser {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #fff;
|
||||
padding: 35px 65px;
|
||||
}
|
||||
|
||||
QWidget#lineOSK QLabel#label_header {
|
||||
color: #f0f0f0;
|
||||
}
|
||||
|
||||
QWidget#lineOSK QLabel#label_sub,
|
||||
QWidget#lineOSK QLabel#label_characters,
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich,
|
||||
QWidget#boxOSK QLabel#label_characters_box {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QWidget#buttonsDialog,
|
||||
QWidget#buttonsRichDialog,
|
||||
QWidget#mainOSK,
|
||||
QWidget#headerOSK,
|
||||
QWidget#normalOSK,
|
||||
QWidget#shiftOSK,
|
||||
QWidget#numOSK,
|
||||
QWidget#subOSK,
|
||||
QWidget#inputOSK,
|
||||
QWidget#inputBoxOSK,
|
||||
QWidget#charactersOSK,
|
||||
QWidget#charactersBoxOSK,
|
||||
QWidget#legendOSK,
|
||||
QWidget#legendOSK QWidget,
|
||||
QWidget#legendOSKshift,
|
||||
QWidget#legendOSKshift QWidget,
|
||||
QWidget#legendOSKnum,
|
||||
QWidget#legendOSKnum QWidget {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel,
|
||||
QWidget#legendOSK QLabel,
|
||||
QWidget#legendOSKshift QLabel,
|
||||
QWidget#legendOSKnum QLabel {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_dialog {
|
||||
padding: 20px 65px;
|
||||
}
|
||||
|
||||
QWidget#contentDialog QLabel#label_title,
|
||||
QWidget#contentRichDialog QLabel#label_title_rich {
|
||||
padding: 0px 65px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton {
|
||||
color: rgba(1, 253, 201, 1);
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:focus,
|
||||
QDialog#OverlayDialog QPushButton:hover {
|
||||
color: rgba(1, 253, 201, 1);
|
||||
background: rgba(18, 33, 46, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#OverlayDialog QPushButton:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(110, 122, 130, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QLabel {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background: rgba(40, 51, 60, 1);
|
||||
border: 2px solid rgba(31, 41, 51, 1);
|
||||
border-radius: 0px;
|
||||
padding: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
background: rgba(55, 66, 75, 1);
|
||||
border: 2px solid rgba(31, 41, 51, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 2px solid rgba(31, 41, 51, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
background: rgba(1, 253, 201, 1);
|
||||
border: 2px solid rgba(31, 41, 51, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus,
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background: rgba(18, 33, 46, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed {
|
||||
color: rgba(240, 240, 240, 1);
|
||||
background: rgba(110, 122, 130, 1);
|
||||
border: 5px solid rgba(56, 189, 225, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num {
|
||||
image: url(:/overlay/osk_button_B_dark.png);
|
||||
image-position: right;
|
||||
qproperty-icon: url(:/overlay/osk_button_backspace_dark.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift {
|
||||
image: url(:/overlay/osk_button_Y_dark.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num {
|
||||
color: rgba(44, 44, 44, 1);
|
||||
image: url(:/overlay/osk_button_plus_dark.png);
|
||||
image-position: right;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift_dark.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift {
|
||||
image: url(:/overlay/osk_button_shift_lock_off.png);
|
||||
image-position: left;
|
||||
qproperty-icon: url(:/overlay/osk_button_shift_on_dark.png);
|
||||
qproperty-iconSize: 36px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis {
|
||||
padding-bottom: 7px;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel {
|
||||
background: transparent;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num {
|
||||
image: url(:/overlay/button_L_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num {
|
||||
image: url(:/overlay/arrow_left_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num {
|
||||
image: url(:/overlay/button_R_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num {
|
||||
image: url(:/overlay/arrow_right_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift {
|
||||
image: url(:/overlay/button_press_stick_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num {
|
||||
image: url(:/overlay/button_X_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift,
|
||||
QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num {
|
||||
image: url(:/overlay/button_A_dark.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
color: rgba(144, 144, 144, 1);
|
||||
background-color: rgba(55, 66, 75, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled {
|
||||
color: rgba(144, 144, 144, 1);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled {
|
||||
image: url(:/overlay/osk_button_plus_dark_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled {
|
||||
image: url(:/overlay/osk_button_B_dark_disabled.png);
|
||||
}
|
||||
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled,
|
||||
QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled {
|
||||
image: url(:/overlay/osk_button_Y_dark_disabled.png);
|
||||
}
|
||||
|
||||
32
externals/CMakeLists.txt
vendored
@@ -45,6 +45,28 @@ target_include_directories(microprofile INTERFACE ./microprofile)
|
||||
add_library(unicorn-headers INTERFACE)
|
||||
target_include_directories(unicorn-headers INTERFACE ./unicorn/include)
|
||||
|
||||
# SDL2
|
||||
if (NOT SDL2_FOUND AND ENABLE_SDL2)
|
||||
if (NOT WIN32)
|
||||
# Yuzu itself needs: Events Joystick Haptic Sensor Timers
|
||||
# Yuzu-cmd also needs: Video (depends on Loadso/Dlopen)
|
||||
set(SDL_UNUSED_SUBSYSTEMS
|
||||
Atomic Audio Render Power Threads
|
||||
File CPUinfo Filesystem Locale)
|
||||
foreach(_SUB ${SDL_UNUSED_SUBSYSTEMS})
|
||||
string(TOUPPER ${_SUB} _OPT)
|
||||
option(SDL_${_OPT} "" OFF)
|
||||
endforeach()
|
||||
|
||||
option(HIDAPI "" ON)
|
||||
endif()
|
||||
set(SDL_STATIC ON)
|
||||
set(SDL_SHARED OFF)
|
||||
|
||||
add_subdirectory(SDL EXCLUDE_FROM_ALL)
|
||||
add_library(SDL2 ALIAS SDL2-static)
|
||||
endif()
|
||||
|
||||
# SoundTouch
|
||||
add_subdirectory(soundtouch)
|
||||
|
||||
@@ -64,8 +86,8 @@ endif()
|
||||
add_subdirectory(sirit)
|
||||
|
||||
# libzip
|
||||
find_package(Libzip 1.5)
|
||||
if (NOT LIBZIP_FOUND)
|
||||
find_package(libzip 1.5)
|
||||
if (NOT libzip_FOUND)
|
||||
message(STATUS "libzip 1.5 or newer not found, falling back to externals")
|
||||
add_subdirectory(libzip EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
@@ -97,4 +119,8 @@ if (ENABLE_WEB_SERVICE)
|
||||
endif()
|
||||
|
||||
# Opus
|
||||
add_subdirectory(opus)
|
||||
find_package(opus 1.3)
|
||||
if (NOT opus_FOUND)
|
||||
message(STATUS "opus 1.3 or newer not found, falling back to externals")
|
||||
add_subdirectory(opus EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
1
externals/SDL
vendored
Submodule
2
externals/dynarmic
vendored
2
externals/ffmpeg
vendored
72
externals/find-modules/FindLibzip.cmake
vendored
@@ -1,72 +0,0 @@
|
||||
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_LIBZIP QUIET libzip)
|
||||
|
||||
find_path(LIBZIP_INCLUDE_DIR
|
||||
NAMES zip.h
|
||||
PATHS ${PC_LIBZIP_INCLUDE_DIRS}
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{INCLUDE}"
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
find_path(LIBZIP_INCLUDE_DIR_ZIPCONF
|
||||
NAMES zipconf.h
|
||||
HINTS ${PC_LIBZIP_INCLUDE_DIRS}
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{LIB_DIR}/lib/libzip/include"
|
||||
"$ENV{LIB}/lib/libzip/include"
|
||||
/usr/local/lib/libzip/include
|
||||
/usr/lib/libzip/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
"$ENV{INCLUDE}"
|
||||
)
|
||||
find_library(LIBZIP_LIBRARY
|
||||
NAMES zip
|
||||
PATHS ${PC_LIBZIP_LIBRARY_DIRS}
|
||||
"$ENV{LIB_DIR}/lib" "$ENV{LIB}" /usr/local/lib /usr/lib
|
||||
)
|
||||
|
||||
if (LIBZIP_INCLUDE_DIR_ZIPCONF)
|
||||
FILE(READ "${LIBZIP_INCLUDE_DIR_ZIPCONF}/zipconf.h" _LIBZIP_VERSION_CONTENTS)
|
||||
if (_LIBZIP_VERSION_CONTENTS)
|
||||
STRING(REGEX REPLACE ".*#define LIBZIP_VERSION \"([0-9.]+)\".*" "\\1" LIBZIP_VERSION "${_LIBZIP_VERSION_CONTENTS}")
|
||||
endif()
|
||||
unset(_LIBZIP_VERSION_CONTENTS)
|
||||
endif()
|
||||
|
||||
set(LIBZIP_VERSION ${LIBZIP_VERSION} CACHE STRING "Version number of libzip")
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Libzip
|
||||
FOUND_VAR LIBZIP_FOUND
|
||||
REQUIRED_VARS
|
||||
LIBZIP_LIBRARY
|
||||
LIBZIP_INCLUDE_DIR
|
||||
LIBZIP_INCLUDE_DIR_ZIPCONF
|
||||
LIBZIP_VERSION
|
||||
VERSION_VAR LIBZIP_VERSION
|
||||
)
|
||||
|
||||
if(LIBZIP_FOUND)
|
||||
set(LIBZIP_LIBRARIES ${LIBZIP_LIBRARY})
|
||||
set(LIBZIP_INCLUDE_DIRS ${LIBZIP_INCLUDE_DIR})
|
||||
set(LIBZIP_DEFINITIONS ${PC_LIBZIP_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
if(LIBZIP_FOUND AND NOT TARGET libzip::libzip)
|
||||
add_library(libzip::libzip UNKNOWN IMPORTED)
|
||||
set_target_properties(libzip::libzip PROPERTIES
|
||||
IMPORTED_LOCATION "${LIBZIP_LIBRARY}"
|
||||
INTERFACE_COMPILE_OPTIONS "${PC_LIBZIP_CFLAGS_OTHER}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${LIBZIP_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
LIBZIP_INCLUDE_DIR
|
||||
LIBZIP_INCLUDE_DIR_ZIPCONF
|
||||
LIBZIP_LIBRARY
|
||||
LIBZIP_VERSION
|
||||
)
|
||||
72
externals/find-modules/Findlibzip.cmake
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_libzip QUIET libzip)
|
||||
|
||||
find_path(libzip_INCLUDE_DIR
|
||||
NAMES zip.h
|
||||
PATHS ${PC_libzip_INCLUDE_DIRS}
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{INCLUDE}"
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
find_path(libzip_INCLUDE_DIR_ZIPCONF
|
||||
NAMES zipconf.h
|
||||
HINTS ${PC_libzip_INCLUDE_DIRS}
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{LIB_DIR}/lib/libzip/include"
|
||||
"$ENV{LIB}/lib/libzip/include"
|
||||
/usr/local/lib/libzip/include
|
||||
/usr/lib/libzip/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
"$ENV{INCLUDE}"
|
||||
)
|
||||
find_library(libzip_LIBRARY
|
||||
NAMES zip
|
||||
PATHS ${PC_libzip_LIBRARY_DIRS}
|
||||
"$ENV{LIB_DIR}/lib" "$ENV{LIB}" /usr/local/lib /usr/lib
|
||||
)
|
||||
|
||||
if (libzip_INCLUDE_DIR_ZIPCONF)
|
||||
FILE(READ "${libzip_INCLUDE_DIR_ZIPCONF}/zipconf.h" _libzip_VERSION_CONTENTS)
|
||||
if (_libzip_VERSION_CONTENTS)
|
||||
STRING(REGEX REPLACE ".*#define LIBZIP_VERSION \"([0-9.]+)\".*" "\\1" libzip_VERSION "${_libzip_VERSION_CONTENTS}")
|
||||
endif()
|
||||
unset(_libzip_VERSION_CONTENTS)
|
||||
endif()
|
||||
|
||||
set(libzip_VERSION ${libzip_VERSION} CACHE STRING "Version number of libzip")
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(libzip
|
||||
FOUND_VAR libzip_FOUND
|
||||
REQUIRED_VARS
|
||||
libzip_LIBRARY
|
||||
libzip_INCLUDE_DIR
|
||||
libzip_INCLUDE_DIR_ZIPCONF
|
||||
libzip_VERSION
|
||||
VERSION_VAR libzip_VERSION
|
||||
)
|
||||
|
||||
if(libzip_FOUND)
|
||||
set(libzip_LIBRARIES ${libzip_LIBRARY})
|
||||
set(libzip_INCLUDE_DIRS ${libzip_INCLUDE_DIR})
|
||||
set(libzip_DEFINITIONS ${PC_libzip_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
if(libzip_FOUND AND NOT TARGET libzip::libzip)
|
||||
add_library(libzip::libzip UNKNOWN IMPORTED)
|
||||
set_target_properties(libzip::libzip PROPERTIES
|
||||
IMPORTED_LOCATION "${libzip_LIBRARY}"
|
||||
INTERFACE_COMPILE_OPTIONS "${PC_libzip_CFLAGS_OTHER}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${libzip_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
libzip_INCLUDE_DIR
|
||||
libzip_INCLUDE_DIR_ZIPCONF
|
||||
libzip_LIBRARY
|
||||
libzip_VERSION
|
||||
)
|
||||
2
externals/find-modules/Findopus.cmake
vendored
@@ -28,7 +28,7 @@ if(opus_FOUND)
|
||||
endif()
|
||||
|
||||
if(opus_FOUND AND NOT TARGET Opus::Opus)
|
||||
add_library(Opus::Opus UNKNOWN IMPORTED)
|
||||
add_library(Opus::Opus UNKNOWN IMPORTED GLOBAL)
|
||||
set_target_properties(Opus::Opus PROPERTIES
|
||||
IMPORTED_LOCATION "${opus_LIBRARY}"
|
||||
INTERFACE_COMPILE_OPTIONS "${PC_opus_CFLAGS_OTHER}"
|
||||
|
||||
3
externals/glad/include/glad/glad.h
vendored
@@ -5156,6 +5156,9 @@ GLAPI PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv;
|
||||
typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLdouble n, GLdouble f);
|
||||
GLAPI PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed;
|
||||
#define glDepthRangeIndexed glad_glDepthRangeIndexed
|
||||
typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC)(GLuint index, GLdouble n, GLdouble f);
|
||||
GLAPI PFNGLDEPTHRANGEINDEXEDDNVPROC glad_glDepthRangeIndexeddNV;
|
||||
#define glDepthRangeIndexeddNV glad_glDepthRangeIndexeddNV
|
||||
typedef void (APIENTRYP PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat *data);
|
||||
GLAPI PFNGLGETFLOATI_VPROC glad_glGetFloati_v;
|
||||
#define glGetFloati_v glad_glGetFloati_v
|
||||
|
||||
2
externals/glad/src/glad.c
vendored
@@ -1044,6 +1044,7 @@ PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
|
||||
PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL;
|
||||
PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL;
|
||||
PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL;
|
||||
PFNGLDEPTHRANGEINDEXEDDNVPROC glad_glDepthRangeIndexeddNV = NULL;
|
||||
PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL;
|
||||
PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
|
||||
PFNGLDISABLEPROC glad_glDisable = NULL;
|
||||
@@ -7971,6 +7972,7 @@ static void load_GL_NV_depth_buffer_float(GLADloadproc load) {
|
||||
glad_glDepthRangedNV = (PFNGLDEPTHRANGEDNVPROC)load("glDepthRangedNV");
|
||||
glad_glClearDepthdNV = (PFNGLCLEARDEPTHDNVPROC)load("glClearDepthdNV");
|
||||
glad_glDepthBoundsdNV = (PFNGLDEPTHBOUNDSDNVPROC)load("glDepthBoundsdNV");
|
||||
glad_glDepthRangeIndexeddNV = (PFNGLDEPTHRANGEINDEXEDDNVPROC)load("glDepthRangeIndexeddNV");
|
||||
}
|
||||
static void load_GL_NV_draw_texture(GLADloadproc load) {
|
||||
if(!GLAD_GL_NV_draw_texture) return;
|
||||
|
||||
341
externals/libusb/CMakeLists.txt
vendored
@@ -1,150 +1,239 @@
|
||||
add_library(usb STATIC EXCLUDE_FROM_ALL
|
||||
libusb/libusb/core.c
|
||||
libusb/libusb/core.c
|
||||
libusb/libusb/descriptor.c
|
||||
libusb/libusb/hotplug.c
|
||||
libusb/libusb/io.c
|
||||
libusb/libusb/strerror.c
|
||||
libusb/libusb/sync.c
|
||||
)
|
||||
set_target_properties(usb PROPERTIES VERSION 1.0.23)
|
||||
if(WIN32)
|
||||
target_include_directories(usb
|
||||
BEFORE
|
||||
PUBLIC
|
||||
libusb/libusb
|
||||
if (MINGW)
|
||||
# The MinGW toolchain for some reason doesn't work with this CMakeLists file after updating to
|
||||
# 1.0.24, so we do it the old-fashioned way for now. We may want to move native Linux toolchains
|
||||
# to here, too (TODO lat9nq?).
|
||||
|
||||
PRIVATE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
set(LIBUSB_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/libusb")
|
||||
set(LIBUSB_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libusb")
|
||||
# Workarounds for MSYS/MinGW
|
||||
if (MSYS)
|
||||
# CMake on Windows passes `C:/`, but we need `/C/` or `/c/` to use `configure`
|
||||
string(REPLACE ":/" "/" LIBUSB_SRC_DIR "${LIBUSB_SRC_DIR}")
|
||||
set(LIBUSB_SRC_DIR "/${LIBUSB_SRC_DIR}")
|
||||
|
||||
if (NOT MINGW)
|
||||
target_include_directories(usb BEFORE PRIVATE libusb/msvc)
|
||||
# And now that we are using /C/ for srcdir but everything else is using C:/, we need to
|
||||
# compile everything in the source directory, else `configure` won't think the build
|
||||
# environment is sane.
|
||||
set(LIBUSB_PREFIX "${LIBUSB_SRC_DIR}")
|
||||
endif()
|
||||
|
||||
# Works around other libraries providing their own definition of USB GUIDs (e.g. SDL2)
|
||||
target_compile_definitions(usb PRIVATE "-DGUID_DEVINTERFACE_USB_DEVICE=(GUID){ 0xA5DCBF10, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}}")
|
||||
else()
|
||||
target_include_directories(usb
|
||||
# turns out other projects also have "config.h", so make sure the
|
||||
# LibUSB one comes first
|
||||
BEFORE
|
||||
set(LIBUSB_CONFIGURE "${LIBUSB_SRC_DIR}/configure")
|
||||
set(LIBUSB_MAKEFILE "${LIBUSB_PREFIX}/Makefile")
|
||||
set(LIBUSB_LIBRARY "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.dll.a")
|
||||
set(LIBUSB_SHARED_LIBRARY "${LIBUSB_PREFIX}/libusb/.libs/libusb-1.0.dll")
|
||||
set(LIBUSB_SHARED_LIBRARY_DEST "${CMAKE_BINARY_DIR}/bin/libusb-1.0.dll")
|
||||
|
||||
PUBLIC
|
||||
libusb/libusb
|
||||
# Causes "externals/libusb/libusb/libusb/os/windows_winusb.c:1427:2: error: conversion to non-scalar type requested", so cannot statically link it for now.
|
||||
# set(LIBUSB_CFLAGS "-DGUID_DEVINTERFACE_USB_DEVICE=\\(GUID\\){0xA5DCBF10,0x6530,0x11D2,{0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED}}")
|
||||
|
||||
PRIVATE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
endif()
|
||||
make_directory("${LIBUSB_PREFIX}")
|
||||
|
||||
if(WIN32 OR CYGWIN)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/threads_windows.c
|
||||
libusb/libusb/os/windows_winusb.c
|
||||
libusb/libusb/os/windows_usbdk.c
|
||||
libusb/libusb/os/windows_nt_common.c
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
"${LIBUSB_LIBRARY}"
|
||||
COMMAND
|
||||
make
|
||||
WORKING_DIRECTORY
|
||||
"${LIBUSB_PREFIX}"
|
||||
)
|
||||
set(OS_WINDOWS TRUE)
|
||||
elseif(APPLE)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/darwin_usb.c
|
||||
|
||||
# We may use this path for other GNU toolchains, so put all of the MinGW-specific stuff here
|
||||
if (MINGW)
|
||||
set(LIBUSB_CONFIGURE_ARGS --host=x86_64-w64-mingw32 --build=x86_64-windows)
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
"${LIBUSB_MAKEFILE}"
|
||||
COMMAND
|
||||
# /bin/env
|
||||
# CFLAGS="${LIBUSB_CFLAGS}"
|
||||
/bin/sh "${LIBUSB_CONFIGURE}"
|
||||
${LIBUSB_CONFIGURE_ARGS}
|
||||
--srcdir="${LIBUSB_SRC_DIR}"
|
||||
WORKING_DIRECTORY
|
||||
"${LIBUSB_PREFIX}"
|
||||
)
|
||||
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
||||
find_library(IOKIT_LIBRARY IOKit)
|
||||
find_library(OBJC_LIBRARY objc)
|
||||
target_link_libraries(usb PRIVATE
|
||||
${COREFOUNDATION_LIBRARY}
|
||||
${IOKIT_LIBRARY}
|
||||
${OBJC_LIBRARY}
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
"${LIBUSB_CONFIGURE}"
|
||||
COMMAND
|
||||
/bin/sh "${LIBUSB_SRC_DIR}/bootstrap.sh"
|
||||
WORKING_DIRECTORY
|
||||
"${LIBUSB_SRC_DIR}"
|
||||
)
|
||||
set(OS_DARWIN TRUE)
|
||||
elseif(ANDROID)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_usbfs.c
|
||||
libusb/libusb/os/linux_netlink.c
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
"${LIBUSB_SHARED_LIBRARY_DEST}"
|
||||
COMMAND
|
||||
/bin/cp "${LIBUSB_SHARED_LIBRARY}" "${LIBUSB_SHARED_LIBRARY_DEST}"
|
||||
)
|
||||
find_library(LOG_LIBRARY log)
|
||||
target_link_libraries(usb PRIVATE ${LOG_LIBRARY})
|
||||
set(OS_LINUX TRUE)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_usbfs.c
|
||||
|
||||
add_custom_target(usb-bootstrap ALL DEPENDS "${LIBUSB_CONFIGURE}")
|
||||
add_custom_target(usb-configure ALL DEPENDS "${LIBUSB_MAKEFILE}" usb-bootstrap)
|
||||
add_custom_target(usb-build ALL DEPENDS "${LIBUSB_LIBRARY}" usb-configure)
|
||||
# Workaround since static linking didn't work out -- We need to copy the DLL to the bin directory
|
||||
add_custom_target(usb-copy ALL DEPENDS "${LIBUSB_SHARED_LIBRARY_DEST}" usb-build)
|
||||
|
||||
# Make `usb` alias to LIBUSB_LIBRARY
|
||||
add_library(usb INTERFACE)
|
||||
target_link_libraries(usb INTERFACE "${LIBUSB_LIBRARY}")
|
||||
else() # MINGW
|
||||
# Ensure libusb compiles with UTF-8 encoding on MSVC
|
||||
if(MSVC)
|
||||
add_compile_options(/utf-8)
|
||||
endif()
|
||||
|
||||
add_library(usb STATIC EXCLUDE_FROM_ALL
|
||||
libusb/libusb/core.c
|
||||
libusb/libusb/core.c
|
||||
libusb/libusb/descriptor.c
|
||||
libusb/libusb/hotplug.c
|
||||
libusb/libusb/io.c
|
||||
libusb/libusb/strerror.c
|
||||
libusb/libusb/sync.c
|
||||
)
|
||||
find_package(Libudev)
|
||||
if(LIBUDEV_FOUND)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_udev.c
|
||||
set_target_properties(usb PROPERTIES VERSION 1.0.24)
|
||||
if(WIN32)
|
||||
target_include_directories(usb
|
||||
BEFORE
|
||||
PUBLIC
|
||||
libusb/libusb
|
||||
|
||||
PRIVATE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
target_link_libraries(usb PRIVATE "${LIBUDEV_LIBRARIES}")
|
||||
target_include_directories(usb PRIVATE "${LIBUDEV_INCLUDE_DIR}")
|
||||
set(HAVE_LIBUDEV TRUE)
|
||||
set(USE_UDEV TRUE)
|
||||
|
||||
if (NOT MINGW)
|
||||
target_include_directories(usb BEFORE PRIVATE libusb/msvc)
|
||||
endif()
|
||||
|
||||
# Works around other libraries providing their own definition of USB GUIDs (e.g. SDL2)
|
||||
target_compile_definitions(usb PRIVATE "-DGUID_DEVINTERFACE_USB_DEVICE=(GUID){ 0xA5DCBF10, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}}")
|
||||
else()
|
||||
target_include_directories(usb
|
||||
# turns out other projects also have "config.h", so make sure the
|
||||
# LibUSB one comes first
|
||||
BEFORE
|
||||
|
||||
PUBLIC
|
||||
libusb/libusb
|
||||
|
||||
PRIVATE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32 OR CYGWIN)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/threads_windows.c
|
||||
libusb/libusb/os/windows_winusb.c
|
||||
libusb/libusb/os/windows_usbdk.c
|
||||
libusb/libusb/os/windows_common.c
|
||||
)
|
||||
set(OS_WINDOWS TRUE)
|
||||
elseif(APPLE)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/darwin_usb.c
|
||||
)
|
||||
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
||||
find_library(IOKIT_LIBRARY IOKit)
|
||||
find_library(OBJC_LIBRARY objc)
|
||||
target_link_libraries(usb PRIVATE
|
||||
${COREFOUNDATION_LIBRARY}
|
||||
${IOKIT_LIBRARY}
|
||||
${OBJC_LIBRARY}
|
||||
)
|
||||
set(OS_DARWIN TRUE)
|
||||
elseif(ANDROID)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_usbfs.c
|
||||
libusb/libusb/os/linux_netlink.c
|
||||
)
|
||||
find_library(LOG_LIBRARY log)
|
||||
target_link_libraries(usb PRIVATE ${LOG_LIBRARY})
|
||||
set(OS_LINUX TRUE)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_usbfs.c
|
||||
)
|
||||
find_package(Libudev)
|
||||
if(LIBUDEV_FOUND)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_udev.c
|
||||
)
|
||||
target_link_libraries(usb PRIVATE "${LIBUDEV_LIBRARIES}")
|
||||
target_include_directories(usb PRIVATE "${LIBUDEV_INCLUDE_DIR}")
|
||||
set(HAVE_LIBUDEV TRUE)
|
||||
set(USE_UDEV TRUE)
|
||||
else()
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/linux_netlink.c
|
||||
)
|
||||
endif()
|
||||
set(OS_LINUX TRUE)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/netbsd_usb.c
|
||||
)
|
||||
set(OS_NETBSD TRUE)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/openbsd_usb.c
|
||||
)
|
||||
set(OS_OPENBSD TRUE)
|
||||
endif()
|
||||
set(OS_LINUX TRUE)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/netbsd_usb.c
|
||||
)
|
||||
set(OS_NETBSD TRUE)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/openbsd_usb.c
|
||||
)
|
||||
set(OS_OPENBSD TRUE)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/poll_posix.c
|
||||
libusb/libusb/os/threads_posix.c
|
||||
)
|
||||
find_package(Threads REQUIRED)
|
||||
if(THREADS_HAVE_PTHREAD_ARG)
|
||||
target_compile_options(usb PUBLIC "-pthread")
|
||||
if(UNIX)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/events_posix.c
|
||||
libusb/libusb/os/threads_posix.c
|
||||
)
|
||||
find_package(Threads REQUIRED)
|
||||
if(THREADS_HAVE_PTHREAD_ARG)
|
||||
target_compile_options(usb PUBLIC "-pthread")
|
||||
endif()
|
||||
if(CMAKE_THREAD_LIBS_INIT)
|
||||
target_link_libraries(usb PRIVATE "${CMAKE_THREAD_LIBS_INIT}")
|
||||
endif()
|
||||
set(THREADS_POSIX TRUE)
|
||||
elseif(WIN32)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/events_windows.c
|
||||
libusb/libusb/os/threads_windows.c
|
||||
)
|
||||
endif()
|
||||
if(CMAKE_THREAD_LIBS_INIT)
|
||||
target_link_libraries(usb PRIVATE "${CMAKE_THREAD_LIBS_INIT}")
|
||||
|
||||
include(CheckFunctionExists)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckTypeSize)
|
||||
check_include_files(asm/types.h HAVE_ASM_TYPES_H)
|
||||
check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
|
||||
check_include_files(linux/filter.h HAVE_LINUX_FILTER_H)
|
||||
check_include_files(linux/netlink.h HAVE_LINUX_NETLINK_H)
|
||||
check_include_files(poll.h HAVE_POLL_H)
|
||||
check_include_files(signal.h HAVE_SIGNAL_H)
|
||||
check_include_files(strings.h HAVE_STRINGS_H)
|
||||
check_type_size("struct timespec" STRUCT_TIMESPEC)
|
||||
check_function_exists(syslog HAVE_SYSLOG_FUNC)
|
||||
check_include_files(syslog.h HAVE_SYSLOG_H)
|
||||
check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
|
||||
check_include_files(sys/time.h HAVE_SYS_TIME_H)
|
||||
check_include_files(sys/types.h HAVE_SYS_TYPES_H)
|
||||
|
||||
set(CMAKE_EXTRA_INCLUDE_FILES poll.h)
|
||||
check_type_size("nfds_t" nfds_t)
|
||||
unset(CMAKE_EXTRA_INCLUDE_FILES)
|
||||
if(HAVE_NFDS_T)
|
||||
set(POLL_NFDS_TYPE "nfds_t")
|
||||
else()
|
||||
set(POLL_NFDS_TYPE "unsigned int")
|
||||
endif()
|
||||
set(THREADS_POSIX TRUE)
|
||||
elseif(WIN32)
|
||||
target_sources(usb PRIVATE
|
||||
libusb/libusb/os/poll_windows.c
|
||||
libusb/libusb/os/threads_windows.c
|
||||
)
|
||||
endif()
|
||||
|
||||
include(CheckFunctionExists)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckTypeSize)
|
||||
check_include_files(asm/types.h HAVE_ASM_TYPES_H)
|
||||
check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
|
||||
check_include_files(linux/filter.h HAVE_LINUX_FILTER_H)
|
||||
check_include_files(linux/netlink.h HAVE_LINUX_NETLINK_H)
|
||||
check_include_files(poll.h HAVE_POLL_H)
|
||||
check_include_files(signal.h HAVE_SIGNAL_H)
|
||||
check_include_files(strings.h HAVE_STRINGS_H)
|
||||
check_type_size("struct timespec" STRUCT_TIMESPEC)
|
||||
check_function_exists(syslog HAVE_SYSLOG_FUNC)
|
||||
check_include_files(syslog.h HAVE_SYSLOG_H)
|
||||
check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
|
||||
check_include_files(sys/time.h HAVE_SYS_TIME_H)
|
||||
check_include_files(sys/types.h HAVE_SYS_TYPES_H)
|
||||
|
||||
set(CMAKE_EXTRA_INCLUDE_FILES poll.h)
|
||||
check_type_size("nfds_t" nfds_t)
|
||||
unset(CMAKE_EXTRA_INCLUDE_FILES)
|
||||
if(HAVE_NFDS_T)
|
||||
set(POLL_NFDS_TYPE "nfds_t")
|
||||
else()
|
||||
set(POLL_NFDS_TYPE "unsigned int")
|
||||
endif()
|
||||
|
||||
check_include_files(sys/timerfd.h USBI_TIMERFD_AVAILABLE)
|
||||
check_include_files(sys/timerfd.h USBI_TIMERFD_AVAILABLE)
|
||||
|
||||
|
||||
configure_file(config.h.in config.h)
|
||||
configure_file(config.h.in config.h)
|
||||
endif() # MINGW
|
||||
|
||||
2
externals/libusb/libusb
vendored
2
externals/mbedtls
vendored
2
externals/opus/CMakeLists.txt
vendored
@@ -252,3 +252,5 @@ PRIVATE
|
||||
opus/silk/float
|
||||
opus/src
|
||||
)
|
||||
|
||||
add_library(Opus::Opus ALIAS opus)
|
||||
|
||||
@@ -358,6 +358,7 @@ chip.png (Colorful, Colorful Dark) | CC BY-ND 3.0 | https://icons8.com
|
||||
folder.png (Colorful, Colorful Dark) | CC BY-ND 3.0 | https://icons8.com
|
||||
plus.png (Colorful, Colorful Dark) | CC BY-ND 3.0 | https://icons8.com
|
||||
sd_card.png (Colorful, Colorful Dark) | CC BY-ND 3.0 | https://icons8.com
|
||||
star.png | CC BY-ND 3.0 | https://icons8.com
|
||||
|
||||
Note:
|
||||
Some icons are different in different themes, and they are separately listed
|
||||
|
||||
@@ -27,6 +27,7 @@ if (MSVC)
|
||||
# /Zo - Enhanced debug info for optimized builds
|
||||
# /permissive- - Enables stricter C++ standards conformance checks
|
||||
# /EHsc - C++-only exception handling semantics
|
||||
# /utf-8 - Set source and execution character sets to UTF-8
|
||||
# /volatile:iso - Use strict standards-compliant volatile semantics.
|
||||
# /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates
|
||||
# /Zc:inline - Let codegen omit inline functions in object files
|
||||
@@ -38,6 +39,7 @@ if (MSVC)
|
||||
/permissive-
|
||||
/EHsc
|
||||
/std:c++latest
|
||||
/utf-8
|
||||
/volatile:iso
|
||||
/Zc:externConstexpr
|
||||
/Zc:inline
|
||||
@@ -52,6 +54,7 @@ if (MSVC)
|
||||
/we4547 # 'operator' : operator before comma has no effect; expected operator with side-effect
|
||||
/we4549 # 'operator1': operator before comma has no effect; did you intend 'operator2'?
|
||||
/we4555 # Expression has no effect; expected expression with side-effect
|
||||
/we4715 # 'function': not all control paths return a value
|
||||
/we4834 # Discarding return value of function with 'nodiscard' attribute
|
||||
/we5038 # data member 'member1' will be initialized after data member 'member2'
|
||||
)
|
||||
|
||||