Compare commits
1846 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
23b477da19 | ||
|
1131840a23 | ||
|
439730ee8a | ||
|
745bbb8afb | ||
|
6198d55940 | ||
|
9886a15760 | ||
|
ec6ec7833f | ||
|
0b4c3cde67 | ||
|
eb84ddc699 | ||
|
26f581dc97 | ||
|
cee26a77c3 | ||
|
d65de01847 | ||
|
c161d5dc3d | ||
|
1d9b76efbc | ||
|
6bb9ec7de3 | ||
|
53ba4aae93 | ||
|
952120a260 | ||
|
490f736a93 | ||
|
a4fee407a4 | ||
|
6378a1658d | ||
|
59003b88e9 | ||
|
c946bd9b8d | ||
|
02f8eac1b3 | ||
|
75a1fce2d8 | ||
|
a7152f83f4 | ||
|
6ab35323e8 | ||
|
b402347bee | ||
|
1252b6618d | ||
|
ff8e905599 | ||
|
cf93741079 | ||
|
45519110b9 | ||
|
33cca96f00 | ||
|
8e0dcc69ed | ||
|
7f8bb31e23 | ||
|
15704d8fbf | ||
|
1554b638f6 | ||
|
7219f1035a | ||
|
cb3889f37e | ||
|
6ad4a8ce76 | ||
|
fbc8803c37 | ||
|
0be198fc49 | ||
|
4998852e5a | ||
|
179dac3442 | ||
|
22aa75f4bb | ||
|
b0e352a5f5 | ||
|
d41a9d8dce | ||
|
f742066a7e | ||
|
419a3f1cd2 | ||
|
a381c5e3f1 | ||
|
04e5b338c4 | ||
|
7daebc655a | ||
|
546f54f196 | ||
|
cde07bc2b8 | ||
|
09026a33fe | ||
|
b4de7d6e90 | ||
|
be364d582a | ||
|
1b1b88551d | ||
|
8d80b1e113 | ||
|
9fa387e102 | ||
|
7b6987418c | ||
|
2dac747a90 | ||
|
402a7ed6d4 | ||
|
0403301c9a | ||
|
10712c7efb | ||
|
1c62ec3358 | ||
|
612d8874df | ||
|
56dd8e2572 | ||
|
3adeee4140 | ||
|
d829389e4e | ||
|
1ecfc8aa9e | ||
|
a4505930b5 | ||
|
a6f8dc1830 | ||
|
ec17293d3d | ||
|
00e8d25da6 | ||
|
483fa38f7b | ||
|
193d4b6a96 | ||
|
ef00f9c21a | ||
|
42c0199f53 | ||
|
61a99449f3 | ||
|
6ed0879c7c | ||
|
53ad9739ad | ||
|
8e48956c87 | ||
|
776b1c9f2e | ||
|
42c03fd9ba | ||
|
7a2d1cadec | ||
|
21beba0881 | ||
|
277edfe8ca | ||
|
e48b4096b9 | ||
|
0db80a9a61 | ||
|
e0bff794ab | ||
|
47fc81b8c0 | ||
|
c002eaf11c | ||
|
c21de815a6 | ||
|
97da93afd5 | ||
|
4002716159 | ||
|
ab882608d8 | ||
|
aad713d638 | ||
|
a5f1e63ae3 | ||
|
be67d85f91 | ||
|
3debc10943 | ||
|
68812eb3a5 | ||
|
257395a1fe | ||
|
a928833373 | ||
|
6b69e50731 | ||
|
8817aa65c4 | ||
|
e5b418ac24 | ||
|
63a3339ca5 | ||
|
8128f1ea48 | ||
|
e0a6331142 | ||
|
68448db757 | ||
|
eaf1b58df6 | ||
|
187602c424 | ||
|
426dd354eb | ||
|
cb5916b42a | ||
|
4b29d34278 | ||
|
67fc355f16 | ||
|
ace775d6a6 | ||
|
4d43577eda | ||
|
8f7e2f1f8a | ||
|
96f28f53ce | ||
|
c2b54683d3 | ||
|
5afc5b0909 | ||
|
54e8ee172b | ||
|
ceb856acb2 | ||
|
69c2d603b8 | ||
|
bd0c3e29eb | ||
|
bfd5690af7 | ||
|
6e91080311 | ||
|
ed5cb1d93d | ||
|
1a5406bd44 | ||
|
5bf09cced0 | ||
|
bf48967305 | ||
|
611b108eb9 | ||
|
7efa2fd781 | ||
|
70706c9eb1 | ||
|
aaf4ced6db | ||
|
34196ec001 | ||
|
3d33c68778 | ||
|
bf5fcbd0b6 | ||
|
2ee369393c | ||
|
8824466840 | ||
|
d62bd306be | ||
|
29ba51b32c | ||
|
f074d4dea7 | ||
|
53e03f90e7 | ||
|
feaaa6c7cd | ||
|
f79744fb72 | ||
|
18d38f5a46 | ||
|
df4aa8ce13 | ||
|
d6fd70f1f1 | ||
|
9d90c07b70 | ||
|
bb69caed62 | ||
|
5300ddae2c | ||
|
4be8717525 | ||
|
30447cee2b | ||
|
b2db38db09 | ||
|
74972ca5e1 | ||
|
36ae09b698 | ||
|
06dca3111f | ||
|
10cb39dd2e | ||
|
5678f61211 | ||
|
1d74242670 | ||
|
ff08efbdf8 | ||
|
d1e97b1dec | ||
|
4145bf14f8 | ||
|
1af86b3257 | ||
|
8f7671ae65 | ||
|
5b3c297306 | ||
|
c014650628 | ||
|
dd28657dbc | ||
|
9b53ffc952 | ||
|
508c7ffc80 | ||
|
088d7ed3ae | ||
|
4926fcb239 | ||
|
c66300aa67 | ||
|
5fa5532fd2 | ||
|
0be6ec1a40 | ||
|
776c919445 | ||
|
6bf5d70b5c | ||
|
e7eea28d84 | ||
|
60ad0a016f | ||
|
786a5f4cd5 | ||
|
2203c7afcb | ||
|
ac5774a486 | ||
|
3df5ab3a41 | ||
|
ea7a21518d | ||
|
82705f63f7 | ||
|
6e84706d3e | ||
|
0e5e4e96e5 | ||
|
d875b8dccf | ||
|
99eae3c542 | ||
|
2781fafdf4 | ||
|
1b9b706fce | ||
|
2066214aef | ||
|
0492bbded4 | ||
|
865b7db1b8 | ||
|
13c87e0acc | ||
|
42640ef259 | ||
|
aa5e0fcecb | ||
|
6166eac485 | ||
|
0aade324ad | ||
|
d302850d51 | ||
|
d2f9d2d79c | ||
|
ae8ddb2144 | ||
|
d833f5fef2 | ||
|
8c671568bb | ||
|
7a4e4410a1 | ||
|
df56877403 | ||
|
e27396be63 | ||
|
082d86a127 | ||
|
1e89558c78 | ||
|
af5fe4b965 | ||
|
bd4e19fa32 | ||
|
d8311c0e41 | ||
|
555d3587d7 | ||
|
0cf881359c | ||
|
63ee2cbd59 | ||
|
a59971a74a | ||
|
7723cade58 | ||
|
815ec7cbe2 | ||
|
022efd5503 | ||
|
81d2278857 | ||
|
8dc56abbf6 | ||
|
a95276d960 | ||
|
f4bd8959e1 | ||
|
2b6da82805 | ||
|
9cc6c1fb35 | ||
|
cc62a458f5 | ||
|
b2ac6acb6e | ||
|
a883c7135f | ||
|
ff007d8595 | ||
|
a0b7c6e504 | ||
|
da8fd58aaa | ||
|
3ef99fbb32 | ||
|
0f45146ada | ||
|
bcd33932d0 | ||
|
4ea22ba054 | ||
|
8ac833bf97 | ||
|
7b62c3ed14 | ||
|
5c2cebb423 | ||
|
e8a48aafe4 | ||
|
d2f8bc2784 | ||
|
447c6c0217 | ||
|
d098c1cba7 | ||
|
53bdd2de6b | ||
|
d590fa4faa | ||
|
95e6efd26d | ||
|
7f64f25e59 | ||
|
812ca58674 | ||
|
a2406e8595 | ||
|
88dfad3298 | ||
|
fc4e42befa | ||
|
db56757bc8 | ||
|
2d6b8de76b | ||
|
81a406d1b5 | ||
|
b3b47398bc | ||
|
ddb66a5cfe | ||
|
b3dc65997c | ||
|
d800323afe | ||
|
980f56dbcf | ||
|
587568e026 | ||
|
18d488b0f1 | ||
|
aafab2e016 | ||
|
0a4a281027 | ||
|
c248ebb9e0 | ||
|
251ed6e555 | ||
|
2555ab7766 | ||
|
d14afb5a8f | ||
|
ca025e41b0 | ||
|
ca307d6922 | ||
|
0d2dade6da | ||
|
241a3a075b | ||
|
1a88203247 | ||
|
d6bb90fc25 | ||
|
f5dc808d4c | ||
|
27879a814e | ||
|
cc9687c407 | ||
|
9f9d01618e | ||
|
ce10b501a8 | ||
|
d52333893f | ||
|
6216ab1a79 | ||
|
d3f32f73c9 | ||
|
c3eca392f2 | ||
|
0f82e54f2a | ||
|
482b0288e7 | ||
|
7597dd5554 | ||
|
a2b20fa49e | ||
|
1227d40c26 | ||
|
090cc66fc7 | ||
|
d13f3f3c45 | ||
|
f3b660f123 | ||
|
e0ad9d48d8 | ||
|
aca0f51342 | ||
|
252b809fe4 | ||
|
4e83dbac2e | ||
|
9d92e2689c | ||
|
edd3759126 | ||
|
51e7fb4c18 | ||
|
9a9fac59e5 | ||
|
408d4486d2 | ||
|
45cc595010 | ||
|
7cd6af4933 | ||
|
d7629ff626 | ||
|
b4ccf7d6ea | ||
|
c4f48abf77 | ||
|
6b36f3a737 | ||
|
ff0c3d4bef | ||
|
4939ffb6d3 | ||
|
8a4caa4118 | ||
|
6b7dbedc45 | ||
|
371b8cff0e | ||
|
ee67518d47 | ||
|
e9c4d8118b | ||
|
6b6475f767 | ||
|
ad40c8efa9 | ||
|
42cf9375a6 | ||
|
268537bdc6 | ||
|
797fa8d21c | ||
|
91df437e62 | ||
|
fe7c1b1d73 | ||
|
81a9da23da | ||
|
b48b0127f8 | ||
|
da47c00813 | ||
|
7ea790d40b | ||
|
6af1be8fa7 | ||
|
5350330141 | ||
|
b37e0d801e | ||
|
84faa1671c | ||
|
530d5402a1 | ||
|
3e06803162 | ||
|
3de4042d6e | ||
|
004d84f1b0 | ||
|
62db235b3c | ||
|
f1483bfe3f | ||
|
89202ae445 | ||
|
1e579bc238 | ||
|
e11b1515a9 | ||
|
25f2c2db66 | ||
|
df7fafced1 | ||
|
e9a33e3ed4 | ||
|
b5090d2873 | ||
|
86e201673f | ||
|
0f3cfb210c | ||
|
74fdd6500c | ||
|
2e1a1385e1 | ||
|
b15622f275 | ||
|
02da2cba8d | ||
|
00662c2d8d | ||
|
5fc1d68a3c | ||
|
0a815e06df | ||
|
3e678c55ee | ||
|
250c76b53c | ||
|
b070ed8f82 | ||
|
03a84c574e | ||
|
58ee8b35f4 | ||
|
6ef3dc30af | ||
|
1da4cb83ca | ||
|
27fcb1c43f | ||
|
8c0b982852 | ||
|
9a2594c644 | ||
|
f8b2d792df | ||
|
f199f08288 | ||
|
183d7be141 | ||
|
213edc6d12 | ||
|
4ffbb06baa | ||
|
c808b0989b | ||
|
aa104fce10 | ||
|
991bacd667 | ||
|
b6109b9bf9 | ||
|
ca08729d24 | ||
|
4c6ed3d368 | ||
|
b951f1f4bc | ||
|
20df5ded1f | ||
|
de5ddc925d | ||
|
cc104598db | ||
|
e84316c325 | ||
|
efddc70b7f | ||
|
f300b4f617 | ||
|
062addd7e8 | ||
|
cfb04bb1d7 | ||
|
830d2c9391 | ||
|
d4d45220d1 | ||
|
c79a671802 | ||
|
a6113204d2 | ||
|
701c5ff61c | ||
|
a0d988e63a | ||
|
ee4186c51d | ||
|
795e525889 | ||
|
8c10a0c821 | ||
|
9d0c8e1b03 | ||
|
606a86e016 | ||
|
bd33824202 | ||
|
cae5e75f2a | ||
|
2b1df0e664 | ||
|
cb4816d662 | ||
|
1bbfe1599a | ||
|
13f8ad5daa | ||
|
ba23f701f8 | ||
|
0c1a10ec6a | ||
|
af0504fe41 | ||
|
a87b0268d4 | ||
|
72b326a3be | ||
|
1637b325d7 | ||
|
91feefc433 | ||
|
c3a1ee84a1 | ||
|
d440061228 | ||
|
8215e5be00 | ||
|
5e3d14c950 | ||
|
e7be3ac8a2 | ||
|
3fd379e81c | ||
|
8b63388ead | ||
|
7b7dffbf0a | ||
|
e8286b2995 | ||
|
926f42ed1f | ||
|
b9b24e8161 | ||
|
b362e2a9bd | ||
|
008b7e32a6 | ||
|
baaddf22a4 | ||
|
cad21c1712 | ||
|
b3549ac945 | ||
|
9723d7b4ce | ||
|
26f8270372 | ||
|
652a506922 | ||
|
3de5670de7 | ||
|
9d89f8a12e | ||
|
e974c08883 | ||
|
bc3c65a027 | ||
|
08fb69abb9 | ||
|
945cf58e78 | ||
|
c5731c20d5 | ||
|
a861943222 | ||
|
09f47fe11c | ||
|
e2f9dad471 | ||
|
e38be974e4 | ||
|
6c9ec62e7e | ||
|
f1ad4922ab | ||
|
f34dc1b75f | ||
|
35da957765 | ||
|
9c1100d180 | ||
|
d8bc1cc11d | ||
|
11f2c24966 | ||
|
a0c69ac45a | ||
|
785b616e07 | ||
|
df0fbbc96e | ||
|
1d82d0b80b | ||
|
1c4baee0d4 | ||
|
6172d50710 | ||
|
85c7b16fa1 | ||
|
d3afba1a90 | ||
|
2c86361190 | ||
|
b9e42a03e9 | ||
|
8b7dba77aa | ||
|
2a721e89a5 | ||
|
c42054ea5c | ||
|
073f6f5b7a | ||
|
2438485433 | ||
|
812b4f6ee3 | ||
|
0807a3ce4e | ||
|
c41c475852 | ||
|
cba83e5225 | ||
|
1ba923fd21 | ||
|
5272cd5f9e | ||
|
04a1f4e595 | ||
|
9a6850def5 | ||
|
39da04b843 | ||
|
8e4ccbee6d | ||
|
4aed8bf75e | ||
|
3e00b5c0e6 | ||
|
f64436f9bb | ||
|
da2308db33 | ||
|
45b6340952 | ||
|
ec4ac5210b | ||
|
aa5e9ea4f2 | ||
|
4c85b1d92d | ||
|
8798f2103e | ||
|
4497849d07 | ||
|
9d42209e96 | ||
|
2185b3ae5a | ||
|
2dee4ccca3 | ||
|
25be3d4ad7 | ||
|
cb10c59215 | ||
|
af2336b32f | ||
|
e4ab92b81f | ||
|
6da9b2937c | ||
|
30a4019c65 | ||
|
b006c56876 | ||
|
3f7c08fdb8 | ||
|
2d8ca57fee | ||
|
7c417f1076 | ||
|
a88816168b | ||
|
b12aba360c | ||
|
c35b63da71 | ||
|
24ad7ac701 | ||
|
641d28c932 | ||
|
8b972ca62e | ||
|
748c3106ea | ||
|
29c8b0bea9 | ||
|
8e16445b49 | ||
|
a129a54d1b | ||
|
e790fab9ae | ||
|
812f8cb250 | ||
|
481b16be89 | ||
|
c723160883 | ||
|
17f0606139 | ||
|
1bd7c18715 | ||
|
4beee033ac | ||
|
3ded897d55 | ||
|
bf49d2bec5 | ||
|
7c963e4c37 | ||
|
e35b2bcf43 | ||
|
7ca0786f02 | ||
|
045e4df526 | ||
|
02dee0ec06 | ||
|
8c5ec2bc23 | ||
|
c3995a0cc8 | ||
|
c2f3cff83a | ||
|
e99439ecca | ||
|
97c8b93d3c | ||
|
050503e8b5 | ||
|
c53800f0d3 | ||
|
fcc6f5c966 | ||
|
2e3785f92b | ||
|
2156466762 | ||
|
266de41624 | ||
|
bbeeac9935 | ||
|
99ef263ba2 | ||
|
f3a50bedbd | ||
|
2841593a85 | ||
|
c47d52b144 | ||
|
d03cb674c9 | ||
|
17eeae9a8f | ||
|
64fd91c0ca | ||
|
145cb67390 | ||
|
2045dcfaf7 | ||
|
d09fe0a5d6 | ||
|
fd2d0a53ed | ||
|
23f47f825a | ||
|
b211263ced | ||
|
ecab5b41b0 | ||
|
914f8ccdbb | ||
|
daff8101a0 | ||
|
3a822f22e9 | ||
|
d025e8f512 | ||
|
6b6fd9a6e2 | ||
|
b2a7b23590 | ||
|
656f621868 | ||
|
bafcb1c07e | ||
|
ad88242d3a | ||
|
fd0ee87208 | ||
|
65eec14a48 | ||
|
2dd0efc310 | ||
|
729d745447 | ||
|
f0ea262091 | ||
|
8902bae463 | ||
|
6bb441281e | ||
|
a8e552c7ac | ||
|
ca9cf6b791 | ||
|
8cc7321eb3 | ||
|
1e1902cddd | ||
|
7a5b70505e | ||
|
1637436b4f | ||
|
a1cc970443 | ||
|
91d0a676ec | ||
|
968ac83906 | ||
|
583053661f | ||
|
a6459f2823 | ||
|
9eff981e66 | ||
|
939de0f480 | ||
|
d89c18d18b | ||
|
2280f7858e | ||
|
32665bd3bb | ||
|
15ec4cbad2 | ||
|
d0c63da0d6 | ||
|
92d58c46ce | ||
|
6e83cbc653 | ||
|
2364a31515 | ||
|
f949a49d5b | ||
|
e6030d501e | ||
|
e41e1ac1bb | ||
|
00324e0bbb | ||
|
42fa119b6b | ||
|
d6c4c32581 | ||
|
152c800ab2 | ||
|
d5b07b411f | ||
|
efa7d20821 | ||
|
b0b705a17a | ||
|
304a1bc73f | ||
|
b3ddab1320 | ||
|
8778cbd41d | ||
|
7a992b1f08 | ||
|
53ae795789 | ||
|
1879101c48 | ||
|
bc6194c14e | ||
|
18e6c0a197 | ||
|
d58eec71b7 | ||
|
8dca47d2ce | ||
|
c9bd8b573a | ||
|
67a2062a30 | ||
|
8e96396b4b | ||
|
5634f5a4ca | ||
|
6db92f0890 | ||
|
05f8c212a9 | ||
|
6ae936dc12 | ||
|
22ce38adbb | ||
|
a79b6633de | ||
|
54966422c4 | ||
|
b90c6f77b6 | ||
|
1185a7dcdd | ||
|
5e5bfe2bb5 | ||
|
98354d1693 | ||
|
0cd593e79d | ||
|
73ccd85a6c | ||
|
fca77f41d1 | ||
|
b9bdf2d050 | ||
|
5a0e7978ef | ||
|
c88eed0375 | ||
|
45c5713814 | ||
|
42e92318b7 | ||
|
1accdb1b23 | ||
|
01a5f20c9a | ||
|
e7c1dafcda | ||
|
c3039c3b4e | ||
|
658d1bd351 | ||
|
7130504777 | ||
|
91a57c5305 | ||
|
6c7bd96f30 | ||
|
7dbe504a0f | ||
|
992b6a1a76 | ||
|
d83c2c3c06 | ||
|
ebf774c3ac | ||
|
d3ce480480 | ||
|
b64da4eb18 | ||
|
4bd3ff8c18 | ||
|
f037e0823c | ||
|
2451a0a061 | ||
|
45b367677d | ||
|
9d532d6285 | ||
|
afface1311 | ||
|
5e40988547 | ||
|
d940d8436e | ||
|
e6f4c217bb | ||
|
3d1ecc53f3 | ||
|
c473efba4e | ||
|
f8ebb22c7b | ||
|
aeffe76b96 | ||
|
e650983b60 | ||
|
fc24175cca | ||
|
c81d1f2ede | ||
|
06417a2be0 | ||
|
a314d8b638 | ||
|
0041a9f850 | ||
|
f9738dba16 | ||
|
fbe434a4d5 | ||
|
16d2f33adc | ||
|
30ab94b2bf | ||
|
ad68b7fb04 | ||
|
eeab7332ad | ||
|
9e6263856d | ||
|
b5cce70b4d | ||
|
ce11d3aec3 | ||
|
c7dfe80c82 | ||
|
88742ba1d5 | ||
|
4a9ba6efa5 | ||
|
d3865cc306 | ||
|
619d8a4c6d | ||
|
7b654bdd24 | ||
|
bd84125c85 | ||
|
659907856e | ||
|
bd24819cbf | ||
|
2f570ef161 | ||
|
9d702e0189 | ||
|
a6370d7282 | ||
|
2304d2380a | ||
|
633350660e | ||
|
4d7efe82a2 | ||
|
04a2be8398 | ||
|
9cb31e4ec6 | ||
|
0b943598f3 | ||
|
9a0089b2a1 | ||
|
8b29b86bf4 | ||
|
60296e45f3 | ||
|
d54e695b91 | ||
|
13c9236328 | ||
|
402b6e1e5f | ||
|
e6b7a577e2 | ||
|
f22637dda2 | ||
|
a939777a94 | ||
|
efd21c5316 | ||
|
ef62c8f7ce | ||
|
6a3b03c064 | ||
|
93c696e2b4 | ||
|
7befdb9594 | ||
|
4873ebcb0b | ||
|
f7acb8d51c | ||
|
df8f654075 | ||
|
e51161e74b | ||
|
5d8eb1911c | ||
|
ecd1b0398d | ||
|
cdd75599e8 | ||
|
6a7d0dfd27 | ||
|
6d806e2fb1 | ||
|
6b4ac0a3c9 | ||
|
32952b6a6b | ||
|
43c3ced70f | ||
|
aded202c8b | ||
|
f842792331 | ||
|
c3c0208e55 | ||
|
305fcba693 | ||
|
f6ceac68b0 | ||
|
d6479d0f5e | ||
|
40035881b8 | ||
|
db96d8e460 | ||
|
e976774d52 | ||
|
f3b028d020 | ||
|
d6344ea707 | ||
|
ff641dfefc | ||
|
1e5fa4d716 | ||
|
542b178ece | ||
|
9038992758 | ||
|
13db6a6b90 | ||
|
a334c87e17 | ||
|
e79935c1ca | ||
|
5238105781 | ||
|
5ac69fe411 | ||
|
b4d45ca555 | ||
|
8adcb0a111 | ||
|
5d0cd075c3 | ||
|
7da87d238e | ||
|
baa1413041 | ||
|
2dbd92c50f | ||
|
e441577776 | ||
|
3417a0d5e7 | ||
|
98203a819e | ||
|
f3643eebba | ||
|
25a5c4a0dc | ||
|
112ef8bbd6 | ||
|
745ad28ae2 | ||
|
11d41419d9 | ||
|
b25cc538f7 | ||
|
8f91f7d18f | ||
|
1fdd485207 | ||
|
fc4ab3a262 | ||
|
e9eb1874e1 | ||
|
6ea6628ff0 | ||
|
357d9b13d5 | ||
|
e5bf528fa9 | ||
|
623f764ee4 | ||
|
a11c90c66b | ||
|
b93532dd64 | ||
|
b0959b4b68 | ||
|
86422655ef | ||
|
9d4280493e | ||
|
bcc17ded53 | ||
|
74a027a936 | ||
|
45d999c8d6 | ||
|
42863aac04 | ||
|
5cd4a25969 | ||
|
596da1628e | ||
|
201c5f3524 | ||
|
38154ea460 | ||
|
82ee774788 | ||
|
cdf8a59c42 | ||
|
16bd317919 | ||
|
5fdcd6c690 | ||
|
890f14a23c | ||
|
bb6af87b33 | ||
|
c00adfb347 | ||
|
be455fd7d2 | ||
|
b9cd71d919 | ||
|
b6cfe162aa | ||
|
e3302a1365 | ||
|
5e3bdd51c2 | ||
|
f669e142dc | ||
|
4cc3b850ff | ||
|
7c1ac3f75d | ||
|
d5eec1ae8f | ||
|
00eb60b41a | ||
|
fe1bd649bd | ||
|
3ab8a432d9 | ||
|
2bd3061516 | ||
|
ccf8141353 | ||
|
786862f5e5 | ||
|
fa35455b00 | ||
|
8bc4c8a6dc | ||
|
6ab30bd7af | ||
|
9500f5e593 | ||
|
580cb8032f | ||
|
063f0653ac | ||
|
71651f62b1 | ||
|
df7550d73b | ||
|
25d6f59cc3 | ||
|
f805b267fd | ||
|
051edb079c | ||
|
44580cdb3a | ||
|
02f65f4422 | ||
|
ec70b708d5 | ||
|
9578555042 | ||
|
4a25055eda | ||
|
e70efa5fd0 | ||
|
84193fdf2c | ||
|
29a2c1e904 | ||
|
29c08dede7 | ||
|
fc5a2fefc7 | ||
|
678ba4f403 | ||
|
8246d9903a | ||
|
7ee90244bd | ||
|
5b0493bd6c | ||
|
9e24fc7ddc | ||
|
2cbfcc7952 | ||
|
fcfdea2d14 | ||
|
1d3dd67bf3 | ||
|
0b453df15c | ||
|
91b03eff33 | ||
|
08b227bbc8 | ||
|
e06cb12630 | ||
|
a31f4c770a | ||
|
4c46425cbb | ||
|
073cbf8e03 | ||
|
3824034113 | ||
|
6c92168a48 | ||
|
b47761982e | ||
|
c85665fc8a | ||
|
9ef6ebf07c | ||
|
ae393edfb1 | ||
|
87ea3d3dbf | ||
|
a2328a237e | ||
|
074417517d | ||
|
e89ff88948 | ||
|
8ddc30867b | ||
|
2fb0c5fda8 | ||
|
00de575744 | ||
|
99e331d8cd | ||
|
80cc6b45dd | ||
|
cee71b9b08 | ||
|
a900048c8a | ||
|
b16a18cfbb | ||
|
e31d6ac0a7 | ||
|
55ad6c2a6a | ||
|
b89ca65c51 | ||
|
ae1d641903 | ||
|
bc72050fb0 | ||
|
a9ba1ee1e1 | ||
|
3397561af1 | ||
|
261d9b1203 | ||
|
6c69aa4822 | ||
|
72a54844d8 | ||
|
494e75bff1 | ||
|
26dbc9d1cc | ||
|
b6e0f77911 | ||
|
e193524cd3 | ||
|
b93e5c90c0 | ||
|
3c95e31ba0 | ||
|
13ae09218d | ||
|
9e89e4aa4c | ||
|
56632f10bd | ||
|
2e6ae760a1 | ||
|
21d4f2b83a | ||
|
b291788a2e | ||
|
412fb5b7bb | ||
|
4d64ddf317 | ||
|
99deba6710 | ||
|
c67532c588 | ||
|
aa7a69b6cc | ||
|
7557696d48 | ||
|
e5b4caee2f | ||
|
abf4314eaf | ||
|
02d3f7c55f | ||
|
aca501096f | ||
|
47a4d549af | ||
|
3383a93e4b | ||
|
3c0f65c6fa | ||
|
2bceddaa1c | ||
|
096331016e | ||
|
162610bae5 | ||
|
8b68e83827 | ||
|
3a8a5c7d79 | ||
|
bbe1e76470 | ||
|
47dcb9f170 | ||
|
533b99d838 | ||
|
2427382830 | ||
|
c2d9f1f441 | ||
|
cac24eacd3 | ||
|
7053c50067 | ||
|
725486a4e4 | ||
|
6748d37a8b | ||
|
a6be13b80c | ||
|
875d9f4d8f | ||
|
d6ae691edc | ||
|
e1a2b4baa0 | ||
|
fa0c502a44 | ||
|
18e1340de9 | ||
|
8610c156eb | ||
|
91fc20d0c8 | ||
|
b1f8993e9c | ||
|
bd054438ad | ||
|
6ab461a869 | ||
|
1188749e0a | ||
|
df9782822b | ||
|
bec4224048 | ||
|
83d49a6324 | ||
|
56eba6d054 | ||
|
0bb1dd6245 | ||
|
943741fc27 | ||
|
4947ebf53e | ||
|
82432968e9 | ||
|
8f70227bf8 | ||
|
9ddfc665af | ||
|
dee68de58a | ||
|
9832f50b27 | ||
|
b6de19522a | ||
|
44e0c538f7 | ||
|
bb450be0e7 | ||
|
ca6653b7e0 | ||
|
15f6ea8543 | ||
|
a63d94850b | ||
|
0e3eb7ee46 | ||
|
2db81074a8 | ||
|
a8980f7c32 | ||
|
d9028da6ae | ||
|
42880a3c97 | ||
|
7ba846aad3 | ||
|
5afed57070 | ||
|
67e30668dd | ||
|
ba44bf1030 | ||
|
bcd1069d92 | ||
|
8ebd3d67e8 | ||
|
63bd256bc4 | ||
|
90ba7eae5b | ||
|
f9b82b6815 | ||
|
991c206d1e | ||
|
40b86dfa99 | ||
|
8078727771 | ||
|
9bbc3c2d8c | ||
|
13775e9366 | ||
|
1ad80185a5 | ||
|
ed575aa033 | ||
|
d171ab4f69 | ||
|
839f1b720e | ||
|
a81d13a91f | ||
|
3ba9ee9779 | ||
|
6189326430 | ||
|
f66f3b94af | ||
|
c4ab018ae6 | ||
|
097a377500 | ||
|
0c7ebd8e88 | ||
|
332b701c56 | ||
|
f076ab9988 | ||
|
fab81d7958 | ||
|
39e630876e | ||
|
9b7dd0110b | ||
|
35c32575c1 | ||
|
e16028f164 | ||
|
3823bce04e | ||
|
e55b83914e | ||
|
dfc5eab62d | ||
|
21c027d8b1 | ||
|
89950c54f5 | ||
|
16d30a1072 | ||
|
527fb86608 | ||
|
0a01cd7b2e | ||
|
c7f356a62d | ||
|
08cd6cf6a9 | ||
|
11b4e1f743 | ||
|
89dd9a466d | ||
|
cf7bd1a9ae | ||
|
7799750a01 | ||
|
fb1d86872d | ||
|
d71a237533 | ||
|
03cdb474c1 | ||
|
374e05c5ca | ||
|
2839a000bd | ||
|
d7eea2cc8e | ||
|
152609e68d | ||
|
175c765253 | ||
|
724fff1b58 | ||
|
20d3f1ad72 | ||
|
5ea9bbe604 | ||
|
70ac653985 | ||
|
9b7730cd26 | ||
|
8a6cd62c59 | ||
|
18eda1d3a8 | ||
|
2bc6f05744 | ||
|
0a7e108346 | ||
|
612fd27564 | ||
|
c8384ec757 | ||
|
14af3aedd6 | ||
|
248a87ccce | ||
|
f226d9a7da | ||
|
f87f1dbaa0 | ||
|
3e8e815b37 | ||
|
4bbc171575 | ||
|
13f2430d36 | ||
|
18a2184e57 | ||
|
b6549b310d | ||
|
cc336e9d45 | ||
|
8460d8f522 | ||
|
c450ae63fa | ||
|
157880a752 | ||
|
5d8b3647a2 | ||
|
62b25991b6 | ||
|
30f82b7d2a | ||
|
f733b6126f | ||
|
c03c8b8223 | ||
|
966ab37b94 | ||
|
606bc1c51e | ||
|
23513f2510 | ||
|
2e6f5c07c1 | ||
|
3b2ea31ea9 | ||
|
cab5965605 | ||
|
bd197f40de | ||
|
98bebc4d9e | ||
|
5575eb9e8e | ||
|
89088dd32d | ||
|
54101c9177 | ||
|
849bb7e773 | ||
|
a0738ccd76 | ||
|
4a443bfb9f | ||
|
e11908ff91 | ||
|
9621943fd7 | ||
|
25aaa9d485 | ||
|
7f91aefb3a | ||
|
2cc476332b | ||
|
0295ce5c38 | ||
|
2bab13789a | ||
|
25a5a4b25d | ||
|
68aa51b6d5 | ||
|
2ec10fc80f | ||
|
26399d3603 | ||
|
315b41d1e9 | ||
|
06ca60dfca | ||
|
3225a97f9f | ||
|
4b2765682e | ||
|
818d44f2d0 | ||
|
c86edcd31a | ||
|
29c8e6ed97 | ||
|
75f99dca4f | ||
|
f47d8ddf74 | ||
|
7e947cc135 | ||
|
a28ffdaa8f | ||
|
fa2e52c810 | ||
|
4f19f85bde | ||
|
2d9519163c | ||
|
2351e87333 | ||
|
25a210a528 | ||
|
7b6c183bf7 | ||
|
9a18f6c607 | ||
|
6f25e618b5 | ||
|
0fa3b5c1b1 | ||
|
ec8f4a99a4 | ||
|
64e8e814a9 | ||
|
541ad42b86 | ||
|
3f25010cd9 | ||
|
e7259f619e | ||
|
abd2957e0e | ||
|
e468ad2687 | ||
|
7ad06f5ee2 | ||
|
6cd680c388 | ||
|
3490975de5 | ||
|
aaebfe39c5 | ||
|
a52998d766 | ||
|
74ec938037 | ||
|
7a1ef2eba7 | ||
|
f42a5f461c | ||
|
2704f1261d | ||
|
91b562a98e | ||
|
09c272a07c | ||
|
d08515746e | ||
|
f434b1937f | ||
|
bdce14b02e | ||
|
86cfc9b719 | ||
|
83cbd4ec02 | ||
|
cbb5ac2f2b | ||
|
a39a023f22 | ||
|
cce4cfbe4b | ||
|
d1ed3dd48d | ||
|
e33150f6ca | ||
|
5b267b0d78 | ||
|
93da4fa36e | ||
|
daa8a2c6ef | ||
|
9ef160826a | ||
|
f280d28a12 | ||
|
84c219105e | ||
|
1e1bdb29d4 | ||
|
611f887882 | ||
|
68a8503d93 | ||
|
262ee037a2 | ||
|
8e76ffcc5d | ||
|
fcedb57178 | ||
|
37216c9bbc | ||
|
9c63bc799d | ||
|
5acf94d9cd | ||
|
216d440206 | ||
|
dfcdc09cee | ||
|
06a46daa0b | ||
|
176056f97d | ||
|
d554dbc6fd | ||
|
d6462dc002 | ||
|
db5c7249b6 | ||
|
4b6064873f | ||
|
1c48491f41 | ||
|
624b369153 | ||
|
d3841baf40 | ||
|
5ddd730c4c | ||
|
85236c5c62 | ||
|
b7abc9d0f0 | ||
|
836bf17719 | ||
|
bd1caf276b | ||
|
fd3a6ad0ef | ||
|
32a03baaf3 | ||
|
f2d7e27033 | ||
|
a1a257d352 | ||
|
2bb384db91 | ||
|
2ba9318faf | ||
|
a79eb6e560 | ||
|
64cf40ce8f | ||
|
c04fde0727 | ||
|
25987e0ee8 | ||
|
6a909ef4c0 | ||
|
9bc8dbb792 | ||
|
039f87d8ef | ||
|
edf670de41 | ||
|
f9c88532bd | ||
|
4a44a979d4 | ||
|
79e6d9ec27 | ||
|
7e0213bc38 | ||
|
5c6b100de7 | ||
|
2558905891 | ||
|
b1b4bbec97 | ||
|
8525b6462b | ||
|
ca3b6411ec | ||
|
1098294b03 | ||
|
e5fcd077eb | ||
|
6b27e2ad4e | ||
|
f99cfb8e66 | ||
|
e6c2498fc6 | ||
|
4a221a79a4 | ||
|
55fd82bfd4 | ||
|
95e84be319 | ||
|
082cedda17 | ||
|
7276b805d5 | ||
|
98724c3457 | ||
|
2537daa0b6 | ||
|
d326290fd7 | ||
|
e02229e232 | ||
|
619a2df812 | ||
|
9b53dc5c4e | ||
|
ee2a71a09f | ||
|
8e3de08d87 | ||
|
fea0b9e9f2 | ||
|
d42d3ac326 | ||
|
8a8a25a351 | ||
|
4079ec0739 | ||
|
3b481590b1 | ||
|
dc542f3fde | ||
|
320ff82047 | ||
|
049b6ef8a5 | ||
|
499ba45c73 | ||
|
96de8e2969 | ||
|
279e044c64 | ||
|
fa64e12a55 | ||
|
511c1aef70 | ||
|
f4d3afbfd7 | ||
|
661d43c10d | ||
|
4ed267d477 | ||
|
d8c5c74258 | ||
|
5923a754dd | ||
|
d5e7ee7716 | ||
|
d5bde429c1 | ||
|
cd5d1eefd1 | ||
|
31f95e24cf | ||
|
f4a3db0c37 | ||
|
83d5b56386 | ||
|
69e19afbef | ||
|
7bcf3e2e15 | ||
|
a027f4f0b2 | ||
|
4aa85bce34 | ||
|
32651b5a13 | ||
|
13ab38ae8f | ||
|
5fe963fa50 | ||
|
cde8fe3c1f | ||
|
8d64785f0d | ||
|
7b4c025b2a | ||
|
5cdc8e40c6 | ||
|
9dbdffd0ef | ||
|
a0a906b891 | ||
|
6b6b331fa8 | ||
|
2a45a53283 | ||
|
bd7f7420a4 | ||
|
8c06c3ab6a | ||
|
8c4f6d7917 | ||
|
161e287877 | ||
|
59124fb270 | ||
|
208da545f4 | ||
|
859e2e4a7b | ||
|
a074af2c22 | ||
|
2b6081f4c7 | ||
|
9a1ed86d62 | ||
|
aef1dcec59 | ||
|
a39a981289 | ||
|
d85490da57 | ||
|
8b21d47667 | ||
|
3d974786d0 | ||
|
e1ab051d75 | ||
|
f024fb5fc8 | ||
|
efb00795e5 | ||
|
3131390e51 | ||
|
737b8e46ae | ||
|
babc3cf0d3 | ||
|
01e3c3b5b3 | ||
|
729291c589 | ||
|
6b5d30d936 | ||
|
59e6c7b83d | ||
|
f644ee25f1 | ||
|
37cb8b3dfb | ||
|
9459aa8d56 | ||
|
079c4e16ea | ||
|
8add6b05a0 | ||
|
384467a979 | ||
|
f97d1d4abe | ||
|
3edb583557 | ||
|
06ede10d38 | ||
|
f6b3600e69 | ||
|
c52469ff1f | ||
|
839197e902 | ||
|
d9a82109f5 | ||
|
ad314585b9 | ||
|
4b673d0c97 | ||
|
f7ad8cb799 | ||
|
024a1f74b3 | ||
|
f9edc04b04 | ||
|
866c8d4bec | ||
|
28dbf8bf55 | ||
|
fe81ce73eb | ||
|
ce95e6b761 | ||
|
b1a159a7cb | ||
|
f6b2e17792 | ||
|
75d02a982d | ||
|
4737197987 | ||
|
d0207152b6 | ||
|
334951e34c | ||
|
3dab38eade | ||
|
e905a4b617 | ||
|
0bde2a5521 | ||
|
9be6dfaad5 | ||
|
18f44f4e47 | ||
|
2c79831ef8 | ||
|
77fe7bc334 | ||
|
f0fdb47f4e | ||
|
e9fa70cc94 | ||
|
4f6a532f99 | ||
|
2213613cff | ||
|
715fb70abd | ||
|
cf1582b1c6 | ||
|
0800aa6ac7 | ||
|
14fb8a8533 | ||
|
cf6d37041b | ||
|
d888bb6815 | ||
|
0b061de7a2 | ||
|
182d0ba8ae | ||
|
1ec3a3bb70 | ||
|
344130cf60 | ||
|
6c19cf7bd1 | ||
|
1840902b26 | ||
|
9830b20ca1 | ||
|
618dff77e4 | ||
|
c0e41809e6 | ||
|
9554ce6199 | ||
|
0ce5f5873c | ||
|
5637de99d3 | ||
|
359321f19c | ||
|
65a598ef8b | ||
|
c4ef6b30d9 | ||
|
05d2fbdfae | ||
|
9a67ea2074 | ||
|
6a32f5e009 | ||
|
bfb83c6bbe | ||
|
108ad2aa96 | ||
|
2db0c13821 | ||
|
c92ce9d8a5 | ||
|
8b42dfcc7a | ||
|
fdf1ddc61a | ||
|
81dc2fe1fa | ||
|
b76f40e67b | ||
|
e6fd1c199e | ||
|
dea6a41d11 | ||
|
175b69a22a | ||
|
d7c03e03ce | ||
|
59a30573ee | ||
|
ebe9f6fb34 | ||
|
b6449fcd63 | ||
|
dbe8f7f499 | ||
|
072b4e13e6 | ||
|
cc927b2419 | ||
|
ecadb3a1a7 | ||
|
14c5b9d983 | ||
|
5c60f5d3cc | ||
|
997c7f6f68 | ||
|
a8a10cb9b5 | ||
|
bd46cc2f72 | ||
|
9753e3c71f | ||
|
a0d150489a | ||
|
6d874c8da8 | ||
|
a357007d11 | ||
|
bafd1d0529 | ||
|
dabfbfdabd | ||
|
cffacabe65 | ||
|
1e1177f3b4 | ||
|
1bdc87b4ba | ||
|
5fb6fadfe8 | ||
|
d0d2278e17 | ||
|
4fff01b56d | ||
|
6bd37a29aa | ||
|
8d5f643e2e | ||
|
db240b84bc | ||
|
938b136cb5 | ||
|
bd9ddf142b | ||
|
bf2067c414 | ||
|
fd60cf4a5b | ||
|
2dd5515392 | ||
|
69e226a906 | ||
|
143b332380 | ||
|
3847eae6cc | ||
|
04fc5f6f37 | ||
|
24d8788ee2 | ||
|
286358d5d2 | ||
|
b30be142a2 | ||
|
c4889850d2 | ||
|
8cc52bca75 | ||
|
2d57f6c140 | ||
|
7df5b853c6 | ||
|
69cba83e17 | ||
|
ae2ef735ed | ||
|
5530d58997 | ||
|
09273478e0 | ||
|
b3751525dd | ||
|
102633803a | ||
|
4a76b561c4 | ||
|
07af484e3e | ||
|
63a45db084 | ||
|
82579c65f1 | ||
|
478b60b2bf | ||
|
fdf115b3a8 | ||
|
e8d4fe5277 | ||
|
96c4bfd610 | ||
|
a47e1043fc | ||
|
3f48d1a3ad | ||
|
24b11f46c9 | ||
|
8e1bdf5f7b | ||
|
5b4d68e2cd | ||
|
3b3889e8ff | ||
|
be14446423 | ||
|
01e60f5c3d | ||
|
ab5205dfd6 | ||
|
5ae08d7144 | ||
|
94116cd7f2 | ||
|
bd6303a6e6 | ||
|
43d21cea7c | ||
|
f134be44b1 | ||
|
49be0e77cf | ||
|
100f08b0b8 | ||
|
5bed90dbb7 | ||
|
2679c776b2 | ||
|
86c88d9876 | ||
|
6f9f0d882f | ||
|
9087e93f72 | ||
|
4994c4e5cc | ||
|
5f32bdb277 | ||
|
d932aa6c2d | ||
|
b03eb6defb | ||
|
084a3cd2f3 | ||
|
3745cd247e | ||
|
d0631bf75e | ||
|
1cfe6ac158 | ||
|
d03a0a2c74 | ||
|
230a715de2 | ||
|
fbcfadf82d | ||
|
c2d11f4ece | ||
|
5b59ab56d4 | ||
|
119f67c8f8 | ||
|
46f1ae3ee4 | ||
|
8e37ecbd05 | ||
|
a26df54d9f | ||
|
32cbc09595 | ||
|
70fdf2b0ea | ||
|
a4689a1850 | ||
|
f32803e188 | ||
|
8b0c5c4eee | ||
|
da206ee3d9 | ||
|
64c833ac46 | ||
|
f25023879f | ||
|
8fb053b0a9 | ||
|
f3deacd4f0 | ||
|
c10f2fef86 | ||
|
4861b63849 | ||
|
242941f1df | ||
|
5fd44a97d8 | ||
|
df5fb61ab6 | ||
|
33fc2df655 | ||
|
8285857ac2 | ||
|
a0f0815f22 | ||
|
1cc63297b9 | ||
|
1ba2e094bc | ||
|
6c08a27b3a | ||
|
e82c56fff0 | ||
|
031597f9e1 | ||
|
e9ed6893c5 | ||
|
3fd81dc72f | ||
|
45563a6699 | ||
|
e29fa20cf4 | ||
|
6946b7d453 | ||
|
086a387f54 | ||
|
2782832204 | ||
|
c9387c552a | ||
|
fefc541e3e | ||
|
a7ead0c387 | ||
|
348e325a57 | ||
|
c5025df8e4 | ||
|
e6d80e5f89 | ||
|
6d159041b5 | ||
|
bc470b542a | ||
|
25b07561ec | ||
|
f3b04a01e2 | ||
|
7980118516 | ||
|
796df66885 | ||
|
cb0abd9118 | ||
|
1434ceed7c | ||
|
11c0fd6cd6 | ||
|
9f969021bd | ||
|
6f7e713d6f | ||
|
256ba3798b | ||
|
700ce6f18b | ||
|
572e4a4f60 | ||
|
4d2a9422a1 | ||
|
caa3a35510 | ||
|
3b4962d586 | ||
|
129be9dbbf | ||
|
918545eddc | ||
|
230fbdcef9 | ||
|
056562d782 | ||
|
20bfb48be7 | ||
|
709c6e1da2 | ||
|
118b0a1cbf | ||
|
70baca7711 | ||
|
3dd1db1aed | ||
|
2b63e6e5bb | ||
|
372ab8931a | ||
|
dbf340f557 | ||
|
5364dfaf40 | ||
|
7f82799a72 | ||
|
9d827819d8 | ||
|
c4fbcdfcbc | ||
|
b18fac950b | ||
|
7d0589ea0e | ||
|
b714481cd3 | ||
|
b947c25ff4 | ||
|
232c66736a | ||
|
d046077656 | ||
|
781a0149e0 | ||
|
45f268e040 | ||
|
b4eee71224 | ||
|
dacd294de3 | ||
|
971e84337f | ||
|
05e89b0323 | ||
|
1f4e010764 | ||
|
400f52d10d | ||
|
3142e85af6 | ||
|
689d97d689 | ||
|
73e00e26c4 | ||
|
6d788a00af | ||
|
2ec2e65d67 | ||
|
50376bcbff | ||
|
7ef99d3b9a | ||
|
4708c61a92 | ||
|
4c300f298d | ||
|
0a0b3717aa | ||
|
221a038568 | ||
|
6883787551 | ||
|
35a3511ee5 | ||
|
75537b9c20 | ||
|
6e3b374dcb | ||
|
10b84c863d | ||
|
7bfa6cc08a | ||
|
d7d15eda46 | ||
|
76044bd054 | ||
|
a5f2b0eccd | ||
|
3c95d5714c | ||
|
1002b5f291 | ||
|
55d8896ab9 | ||
|
74432a8712 | ||
|
d97a530ee5 | ||
|
13b5a3c911 | ||
|
b2b1ff1cba | ||
|
677bf098a5 | ||
|
684aa658c2 | ||
|
6f1a5d36a8 | ||
|
1bf5787d74 | ||
|
176a9c8ce0 | ||
|
78e0475b9e | ||
|
b6361abdd7 | ||
|
862f684768 | ||
|
006ae8b984 | ||
|
f25608f52c | ||
|
93b06e5d95 | ||
|
6a10b5e7e1 | ||
|
5565845f55 | ||
|
f236dc4403 | ||
|
6759f6c72f | ||
|
461f650dbd | ||
|
9f2149f1a3 | ||
|
f24e593ad4 | ||
|
4e5343a689 | ||
|
8bf7534370 | ||
|
115c8839e7 | ||
|
6bc1e3c8e2 | ||
|
b3280335d3 | ||
|
df4e9193ec | ||
|
caa1b65af2 | ||
|
cd6bdc9e8b | ||
|
0077ca5c8d | ||
|
615e2e4224 | ||
|
a4a0cb771f | ||
|
81af9b0e78 | ||
|
68d3dd6631 | ||
|
fffb00693a | ||
|
9a8f2e3306 | ||
|
91c866c701 | ||
|
cc577f9e4b | ||
|
1359ceb842 | ||
|
ec4fe9babe | ||
|
90774b48f4 | ||
|
63d18cee08 | ||
|
4aa8436b76 | ||
|
c9e7730716 | ||
|
7ad402bb75 | ||
|
05c04d046f | ||
|
6c5ad05d27 | ||
|
48c56e81f7 | ||
|
3da3969ad2 | ||
|
1c3941c16b | ||
|
0e566bc300 | ||
|
606ecb5865 | ||
|
1e8767f022 | ||
|
c6cb208e19 | ||
|
4777a64ce7 | ||
|
4a2fd14d70 | ||
|
9c5118c49a | ||
|
29cdcec3c6 | ||
|
7f73c073be | ||
|
ad1e057078 | ||
|
cb7c646c2f | ||
|
3a805cbe67 | ||
|
65741c3658 | ||
|
fb0de1d998 | ||
|
db60026a64 | ||
|
3ee8555db7 | ||
|
df5fa2c55f | ||
|
32780f79a0 | ||
|
3500195708 | ||
|
a767b7acc0 | ||
|
28e681329e | ||
|
e36d9294cc | ||
|
c705676ec1 | ||
|
43ae736d61 | ||
|
6138ea1605 | ||
|
9b4eef061f | ||
|
1c5671d128 | ||
|
cc05ececfe | ||
|
23fe2de9b1 | ||
|
c4b734fcf3 | ||
|
4ad22a82d4 | ||
|
279c885dfe | ||
|
c2aea47b6e | ||
|
a20ad44971 | ||
|
6b7e0e8180 | ||
|
e2ef8e5774 | ||
|
22985a1265 | ||
|
33429970f6 | ||
|
6b83da43ae | ||
|
fb4a22d305 | ||
|
03fd8cc6fd | ||
|
c0e77ac633 | ||
|
54d5207939 | ||
|
9c1673bdf8 | ||
|
9a1656b455 | ||
|
7cfce98840 | ||
|
6dc053a91f | ||
|
009c06f693 | ||
|
537336adac | ||
|
76b21e3742 | ||
|
78c2a2e733 | ||
|
9046079c95 | ||
|
d8f6378739 | ||
|
1032cb5e05 | ||
|
3b65d7b474 | ||
|
ca0162735e | ||
|
c706d7b983 | ||
|
6e88551e8a | ||
|
c6b42870af | ||
|
1fad16f9ee | ||
|
168c4f7ab7 | ||
|
643d71fd58 | ||
|
3c8f3b102d | ||
|
f3df5013fa | ||
|
5389a4c0a0 | ||
|
d4c7e8cc1b | ||
|
6635b084f7 | ||
|
835e64fe55 | ||
|
9e9459486a | ||
|
3941a61ca9 | ||
|
c5d8ca003b | ||
|
1ab26bba24 | ||
|
639ea4c397 | ||
|
cfe88c17f8 | ||
|
be2e147cd7 | ||
|
2853e05730 | ||
|
0fea002e64 | ||
|
6ba5c3c98b | ||
|
859a398da0 | ||
|
96c5e7ebca | ||
|
e345a42125 | ||
|
809330c877 | ||
|
e750ea45a3 | ||
|
724f92e776 | ||
|
b01544c763 | ||
|
05ffd9c713 | ||
|
61e83c8581 | ||
|
d3bd359e1a | ||
|
b5d1f8a8ba | ||
|
362bf64db2 | ||
|
712561a490 | ||
|
5599c9b995 | ||
|
563daab032 | ||
|
391f9951b7 | ||
|
28de1cd8c7 | ||
|
e6b3884003 | ||
|
73977f58d3 | ||
|
e724b144a4 | ||
|
e0b31b037a | ||
|
60239668a7 | ||
|
994f59440d | ||
|
da0664dfcb | ||
|
bce56f280e | ||
|
2f9b6077ac | ||
|
13bee7fad6 | ||
|
3737c251d4 | ||
|
c3fb3df840 | ||
|
8ef825aba7 | ||
|
bf9701eb01 | ||
|
f56c9d7da5 | ||
|
62f540f4aa | ||
|
7e7ee84d9a | ||
|
79fff5ce0e | ||
|
a30f1f94e2 | ||
|
22c305162c | ||
|
83e3ed2c50 | ||
|
bfe59af38b | ||
|
fe4c7543cd | ||
|
6314436492 | ||
|
b24d5e13cc | ||
|
8ea6d2dd96 | ||
|
a7f6a6e129 | ||
|
3bf144779b | ||
|
d8a47f7ef6 | ||
|
b0d1e3813b | ||
|
e7014caecb | ||
|
3d94dc13e7 | ||
|
8521f88cb9 | ||
|
09a177ec51 | ||
|
e20d8c955e | ||
|
0c68f55937 | ||
|
c1ea6d7ea1 | ||
|
acf324279a | ||
|
7d94df120f | ||
|
a80803769d | ||
|
e20e29c88c | ||
|
3c5edea2af | ||
|
dcd253fdf6 | ||
|
c07ac1cc74 | ||
|
fbeee55c16 | ||
|
6e0fb0d597 | ||
|
6736c69928 | ||
|
18ebcc1156 | ||
|
dffd614c38 | ||
|
2d94ece5c2 | ||
|
97a675dbf5 | ||
|
f292bb28d9 | ||
|
438cb1b39b | ||
|
0a6f2b164a | ||
|
550c10edcc | ||
|
a692b206a3 | ||
|
f2b9619dad | ||
|
f128055e0b | ||
|
8a43c70e54 | ||
|
e8af9d4c1f | ||
|
5298401f17 | ||
|
705b5c9e47 | ||
|
034515cc7e | ||
|
6eec99e5c7 | ||
|
f7d430d77c | ||
|
7966926d0c | ||
|
16ef203411 | ||
|
b75df83989 | ||
|
34244ebbd0 | ||
|
7968e2ee71 | ||
|
79e4647c1c | ||
|
811c0e618d | ||
|
4949e787a3 | ||
|
1098ede0e8 | ||
|
b5f5079dca | ||
|
420720ae52 | ||
|
0278f82c2a | ||
|
d8a7669df8 | ||
|
e4c0bd7f30 | ||
|
7ebd08c791 | ||
|
9b4cde3ab5 | ||
|
2d8abe99f7 | ||
|
dd1418f1a3 | ||
|
38211e166f | ||
|
d388b3608e | ||
|
e9d99f05c2 | ||
|
0b0592a398 | ||
|
f430738206 | ||
|
31c695e04a | ||
|
62df8a2edd | ||
|
37882d5bcf | ||
|
11569abdd7 | ||
|
b9ae0eec8e | ||
|
330eb81a0a | ||
|
80900a546d | ||
|
352dd7588d | ||
|
259f496985 | ||
|
07887a4ade | ||
|
54d0f23a44 | ||
|
cd3d42dc61 | ||
|
e5f207f0f5 | ||
|
cc6b87c882 | ||
|
d93f4f352c | ||
|
143078699b | ||
|
a973ea758a | ||
|
b6bed8203c | ||
|
1b466d7256 | ||
|
47439baa37 | ||
|
7c462f8ff0 | ||
|
175ef4f03a | ||
|
228f41c76d | ||
|
0e619addc4 | ||
|
346a24ed7f | ||
|
08369c0476 | ||
|
b16d418102 | ||
|
a70ece1523 | ||
|
1cf86ef96a | ||
|
969b662283 | ||
|
4b5023487f | ||
|
6f9fd2ce4b | ||
|
79efd35b9a | ||
|
65911fc133 | ||
|
2243e401e3 | ||
|
a52cb5c92d | ||
|
bdcfca8e71 | ||
|
3b373b5bb6 | ||
|
6301c84cb0 | ||
|
cbee90db4b | ||
|
7d94b0b575 | ||
|
29ee62b554 | ||
|
a8010e2bb4 | ||
|
41c688aa68 | ||
|
7c64dd8c6b | ||
|
93256dbea3 | ||
|
04e8132384 | ||
|
655a5d8ecf | ||
|
cc9aa4c6f7 | ||
|
ed5bf55b16 | ||
|
f8394a2ef2 | ||
|
de0684d42a | ||
|
7746070433 | ||
|
63049af4c4 | ||
|
23fe27ed5e | ||
|
c984e79669 | ||
|
453c0ab0c4 | ||
|
c832e63c59 | ||
|
dd79ffe7e7 | ||
|
ecec703191 | ||
|
d9dbc7f160 | ||
|
04175de726 | ||
|
34da802874 | ||
|
ee13c25607 | ||
|
ebcda30c96 | ||
|
ed151e1e3a | ||
|
ea9bc9a4a2 | ||
|
0a97127ea8 | ||
|
d2c83bf614 | ||
|
64a2854130 | ||
|
2e511318f5 | ||
|
fd0a80da1f | ||
|
d66afb9ba3 | ||
|
e32d6c0adf | ||
|
1f5533a2f9 | ||
|
852af5737a | ||
|
195e929c7c | ||
|
bd2f8b0f36 | ||
|
c389ca832f | ||
|
68a24914b9 | ||
|
66dae03798 | ||
|
7a04f2242f | ||
|
1e896eb554 | ||
|
66d5d0a403 | ||
|
e9eb4bea15 | ||
|
7fb494c780 | ||
|
f6f15223db | ||
|
d7ba7ead99 | ||
|
110fb0100d | ||
|
033e6a3059 | ||
|
61c347d21b | ||
|
fc4acddaae | ||
|
48278260c2 | ||
|
8261b840c2 | ||
|
6f116fadb6 | ||
|
8a373681b2 | ||
|
d829c09e9d | ||
|
069b3f9239 | ||
|
13eb29a93a | ||
|
a7cec4648f | ||
|
4d693cf4c9 | ||
|
248565fc6d | ||
|
e821e2ef21 | ||
|
6a7baca8aa | ||
|
82753732b9 | ||
|
d02b6232bf | ||
|
517a96cd86 | ||
|
d7645a33be | ||
|
7969f4ab51 | ||
|
45c6396b0a | ||
|
504c1aece2 | ||
|
74941e8aa4 | ||
|
587e0ad927 | ||
|
29e73ad47c | ||
|
a8bd444e6c | ||
|
0eaf9bf1e6 | ||
|
17a9ec4e20 | ||
|
c98803b531 | ||
|
929a98c21a | ||
|
623b5866ed | ||
|
df0563620d | ||
|
eb68bde21c | ||
|
f43fd2b383 | ||
|
2f591f89d2 |
2
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
src/accounts/tomahawk
|
||||
*-build/*
|
||||
build/*
|
||||
.directory
|
||||
@@ -20,3 +21,4 @@ win/
|
||||
gcc/
|
||||
tags
|
||||
.DS_Store
|
||||
*.autosave
|
||||
|
13
AUTHORS
@@ -4,15 +4,18 @@ Tomahawk is primarily authored by:
|
||||
|
||||
Contributors include:
|
||||
|
||||
* Leo Franchi <lfranchi@kde.org>
|
||||
* Leo Franchi <lfranchi@tomahawk-player.org>
|
||||
* Dominik Schmidt <domme@tomahawk-player.org>
|
||||
* Jeff Mitchell <mitchell@kde.org>
|
||||
* J Herskowitz <jherskow@gmail.com>
|
||||
* Jeff Mitchell <jeff@tomahawk-player.org>
|
||||
* J Herskowitz <j@tomahawk-player.org>
|
||||
* Alejandro Wainzinger <aikawarazuni@gmail.com>
|
||||
* Hugo Lindström <hugolm84@gmail.com>
|
||||
* Hugo Lindström <hugo@tomahawk-player.org>
|
||||
* Teo Mrnjavac <teo@kde.org>
|
||||
* Michael Zanetti <dreadhead@follefuder.org>
|
||||
* Christopher Reichert <christopher@tomahawk-player.org>
|
||||
* Uwe L. Korn <uwelk@xhochy.com>
|
||||
|
||||
Thanks to:
|
||||
|
||||
* Harald Sitter <sitter@kde.org>
|
||||
* Steve Robertson
|
||||
* Syd Lawrence <syd@tomahawk-player.org>
|
||||
|
228
CMakeLists.txt
@@ -11,9 +11,19 @@ SET( TOMAHAWK_ORGANIZATION_DOMAIN "tomahawk-player.org" )
|
||||
SET( TOMAHAWK_APPLICATION_NAME "Tomahawk" )
|
||||
SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" )
|
||||
|
||||
IF( WIN32 )
|
||||
SET( TOMAHAWK_SYSTEM "Windows" )
|
||||
ELSEIF( APPLE )
|
||||
SET( TOMAHAWK_SYSTEM "OS X" )
|
||||
ELSEIF( UNIX )
|
||||
SET( TOMAHAWK_SYSTEM "Linux")
|
||||
ELSE()
|
||||
SET( TOMAHAWK_SYSTEM "Uknown Platform, please let the Tomahawk team know, this actually happened" )
|
||||
ENDIF()
|
||||
|
||||
SET( TOMAHAWK_VERSION_MAJOR 0 )
|
||||
SET( TOMAHAWK_VERSION_MINOR 5 )
|
||||
SET( TOMAHAWK_VERSION_PATCH 99 )
|
||||
SET( TOMAHAWK_VERSION_MINOR 7 )
|
||||
SET( TOMAHAWK_VERSION_PATCH 100 )
|
||||
#SET( TOMAHAWK_VERSION_RC 0 )
|
||||
|
||||
SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg bn_IN ca cs de en el es fi fr hi_IN hu gl it ja lt pl pt_BR ru sv tr zh_CN zh_TW )
|
||||
@@ -26,10 +36,15 @@ add_definitions( "-DQT_STRICT_ITERATORS" )
|
||||
# build options
|
||||
option(BUILD_GUI "Build Tomahawk with GUI" ON)
|
||||
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
|
||||
option(BUILD_TESTS "Build Tomahawk with unit tests" ON)
|
||||
option(BUILD_HATCHET "Build the Hatchet plugin" OFF)
|
||||
|
||||
option(WITH_BREAKPAD "Build with breakpad integration" ON)
|
||||
option(WITH_CRASHREPORTER "Build with CrashReporter" ON)
|
||||
option(WITH_BINARY_ATTICA "Enable support for downloading binary resolvers automatically" ON)
|
||||
option(LEGACY_KDE_INTEGRATION "Install tomahawk.protocol file, deprecated since 4.6.0" OFF)
|
||||
option(WITH_UPOWER "Build with support for UPower events" OFF)
|
||||
option(WITH_GNOMESHORTCUTHANDLER "Build with shortcut handler for GNOME" OFF)
|
||||
|
||||
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" )
|
||||
message(STATUS "Build of breakpad library disabled on this platform.")
|
||||
@@ -50,15 +65,17 @@ ENDIF()
|
||||
|
||||
# base string used in release and unstable builds
|
||||
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION_MAJOR}.${TOMAHAWK_VERSION_MINOR}.${TOMAHAWK_VERSION_PATCH} )
|
||||
SET( TOMAHAWK_VERSION_SHORT "${TOMAHAWK_VERSION}" )
|
||||
IF( TOMAHAWK_VERSION_RC )
|
||||
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}rc${TOMAHAWK_VERSION_RC} )
|
||||
ENDIF()
|
||||
|
||||
|
||||
# additional info for non-release builds
|
||||
IF( NOT BUILD_RELEASE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" )
|
||||
INCLUDE( CMakeDateStamp )
|
||||
SET( TOMAHAWK_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
|
||||
IF( TOMAHAWK_VERSION_DATE GREATER 0)
|
||||
IF( TOMAHAWK_VERSION_DATE GREATER 0 )
|
||||
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}.${TOMAHAWK_VERSION_DATE} )
|
||||
ENDIF()
|
||||
|
||||
@@ -81,35 +98,111 @@ INCLUDE( GNUInstallDirs )
|
||||
# installer creation
|
||||
INCLUDE( TomahawkCPack.cmake )
|
||||
|
||||
#deps
|
||||
# deps
|
||||
INCLUDE( MacroOptionalFindPackage )
|
||||
INCLUDE( MacroLogFeature )
|
||||
|
||||
# Check if we need qtgui:
|
||||
SET(NEEDED_QT4_COMPONENTS QtCore QtXml QtNetwork )
|
||||
IF( NOT BUILD_GUI )
|
||||
ADD_DEFINITIONS( -DENABLE_HEADLESS )
|
||||
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" )
|
||||
ELSE()
|
||||
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" )
|
||||
LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" )
|
||||
ENDIF()
|
||||
# headless mode
|
||||
if( NOT BUILD_GUI )
|
||||
add_definitions( -DENABLE_HEADLESS )
|
||||
message( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" )
|
||||
else()
|
||||
message( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" )
|
||||
endif()
|
||||
|
||||
IF( BUILD_GUI AND UNIX AND NOT APPLE )
|
||||
FIND_PACKAGE( X11 )
|
||||
ENDIF()
|
||||
|
||||
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
|
||||
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
|
||||
if( NOT BUILD_WITH_QT4 )
|
||||
find_package(Qt5Core QUIET)
|
||||
if( Qt5Core_DIR )
|
||||
find_package(Qt5Widgets QUIET)
|
||||
message(STATUS "Found Qt5! Be aware that Qt5-support is still experimental and not officially supported!")
|
||||
|
||||
macro(qt_wrap_ui)
|
||||
qt5_wrap_ui(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt_add_resources)
|
||||
qt5_add_resources(${ARGN})
|
||||
endmacro()
|
||||
|
||||
find_package(Qt5LinguistTools REQUIRED)
|
||||
macro(qt_add_translation)
|
||||
qt5_add_translation(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(setup_qt)
|
||||
endmacro()
|
||||
|
||||
set(QT_RCC_EXECUTABLE "${Qt5Core_RCC_EXECUTABLE}")
|
||||
#FIXME: CrashReporter depends on deprecated QHttp
|
||||
set(WITH_CRASHREPORTER OFF)
|
||||
set(WITH_BREAKPAD OFF)
|
||||
endif()
|
||||
endif()
|
||||
if( NOT Qt5Core_DIR )
|
||||
message(STATUS "Could not find Qt5, searching for Qt4 instead...")
|
||||
|
||||
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
|
||||
if( BUILD_GUI )
|
||||
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg")
|
||||
endif()
|
||||
if( BUILD_TESTS )
|
||||
list(APPEND NEEDED_QT4_COMPONENTS "QtTest")
|
||||
endif()
|
||||
|
||||
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
|
||||
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
|
||||
|
||||
macro(qt5_use_modules)
|
||||
endmacro()
|
||||
|
||||
macro(qt_wrap_ui)
|
||||
qt4_wrap_ui(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt_add_resources)
|
||||
qt4_add_resources(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt_add_translation)
|
||||
qt4_add_translation(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(setup_qt)
|
||||
if( NOT BUILD_GUI )
|
||||
set(QT_DONT_USE_QTGUI TRUE)
|
||||
endif()
|
||||
if( UNIX AND NOT APPLE )
|
||||
set(QT_USE_QTDBUS TRUE)
|
||||
endif()
|
||||
set(QT_USE_QTSQL TRUE)
|
||||
set(QT_USE_QTNETWORK TRUE)
|
||||
set(QT_USE_QTXML TRUE)
|
||||
set(QT_USE_QTWEBKIT TRUE)
|
||||
set(QT_USE_QTDECLARATIVE TRUE)
|
||||
|
||||
include( ${QT_USE_FILE} )
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
if( BUILD_GUI AND UNIX AND NOT APPLE )
|
||||
find_package( X11 )
|
||||
endif()
|
||||
|
||||
IF( UNIX AND NOT APPLE AND QT_QTDBUS_FOUND )
|
||||
SET( WITH_UPOWER ON )
|
||||
SET( WITH_GNOMESHORTCUTHANDLER ON )
|
||||
ENDIF( UNIX AND NOT APPLE AND QT_QTDBUS_FOUND )
|
||||
|
||||
|
||||
macro_optional_find_package(Phonon 4.5.0)
|
||||
macro_log_feature(PHONON_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
|
||||
if(PHONON_FOUND)
|
||||
if( PHONON_FOUND )
|
||||
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
|
||||
endif()
|
||||
|
||||
macro_optional_find_package(Echonest 2.0.0)
|
||||
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.0.0 is needed for dynamic playlists and the infosystem")
|
||||
macro_optional_find_package(Echonest 2.1.0)
|
||||
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.1.0 is needed for dynamic playlists and the infosystem")
|
||||
|
||||
macro_optional_find_package(CLucene 0.9.23)
|
||||
macro_log_feature(CLucene_FOUND "CLucene" "The open-source, C++ search engine" "http://clucene.sf.net" TRUE "" "CLucene is used for indexing the collection")
|
||||
@@ -122,11 +215,11 @@ macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://develo
|
||||
include( CheckTagLibFileName )
|
||||
check_taglib_filename( COMPLEX_TAGLIB_FILENAME )
|
||||
|
||||
macro_optional_find_package(Boost)
|
||||
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explaination
|
||||
find_package(Boost REQUIRED)
|
||||
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explanation
|
||||
|
||||
macro_optional_find_package(QCA2)
|
||||
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions required for Grooveshark resolver" "http://delta.affinix.com/qca/" TRUE "" "")
|
||||
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions necessary for some resolvers and accounts" "http://delta.affinix.com/qca/" TRUE "" "")
|
||||
|
||||
macro_optional_find_package(LibAttica 0.4.0)
|
||||
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for installation of resolvers from the Tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "")
|
||||
@@ -136,7 +229,7 @@ macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloa
|
||||
|
||||
macro_optional_find_package(Jreen 1.0.5)
|
||||
macro_log_feature(JREEN_FOUND "Jreen" "Qt XMPP Library" "http://qutim.org/jreen / https://github.com/euroelessar/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin.\n")
|
||||
if(PC_JREEN_VERSION STREQUAL "1.1.0")
|
||||
if( PC_JREEN_VERSION STREQUAL "1.1.0" )
|
||||
message(FATAL_ERROR "Jreen 1.1.0 has a very annoying bug that breaks accepting auth requests in Tomahawk. Please upgrade to 1.1.1 or downgrade to 1.0.5.")
|
||||
endif()
|
||||
|
||||
@@ -144,12 +237,31 @@ macro_optional_find_package(QTweetLib)
|
||||
macro_log_feature(QTWEETLIB_FOUND "QTweetLib" "Qt Twitter Library" "https://github.com/minimoog/QTweetLib" FALSE "" "QTweetLib is needed for the Twitter SIP plugin.\n")
|
||||
|
||||
macro_optional_find_package(LibLastFm 1.0.0)
|
||||
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/eartle/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
|
||||
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/lastfm/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
|
||||
|
||||
IF( WIN32 )
|
||||
macro_optional_find_package(QtKeychain 0.1.0)
|
||||
macro_log_feature(QTKEYCHAIN_FOUND "QtKeychain" "Provides support for secure credentials storage" "https://github.com/frankosterfeld/qtkeychain" TRUE "" "")
|
||||
|
||||
# we need pthreads too
|
||||
macro_optional_find_package(Threads)
|
||||
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
|
||||
|
||||
### QtSparkle
|
||||
if( WIN32 )
|
||||
macro_optional_find_package(QtSparkle)
|
||||
macro_log_feature(QTSPARKLE_FOUND "qtsparkle" "Library for creating auto updaters written in Qt" "https://github.com/davidsansome/qtsparkle" FALSE "" "")
|
||||
ENDIF( WIN32 )
|
||||
endif( WIN32 )
|
||||
|
||||
#TODO: support external qxt
|
||||
set(QXTWEB_FOUND TRUE)
|
||||
set(QXTWEB_LIBRARIES qxtweb-standalone)
|
||||
set(QXTWEB_INCLUDE_DIRS ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/web ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/network ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/core ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
### libportfwd
|
||||
set(LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include)
|
||||
set(LIBPORTFWD_LIBRARY tomahawk_portfwd)
|
||||
set(LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY})
|
||||
add_subdirectory(${THIRDPARTY_DIR}/libportfwd)
|
||||
|
||||
#### submodules start
|
||||
# automatically init submodules here, don't delete this code we may add submodules again
|
||||
@@ -165,16 +277,6 @@ ENDIF( WIN32 )
|
||||
|
||||
#### submodules end
|
||||
|
||||
### libportfwd
|
||||
SET( LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include )
|
||||
SET( LIBPORTFWD_LIBRARY tomahawk_portfwd )
|
||||
SET( LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY} )
|
||||
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/libportfwd )
|
||||
|
||||
# we need pthreads too
|
||||
macro_optional_find_package(Threads)
|
||||
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
|
||||
|
||||
macro_optional_find_package(KDE4)
|
||||
macro_optional_find_package(KDE4Installed)
|
||||
|
||||
@@ -182,7 +284,7 @@ macro_optional_find_package(KDE4Installed)
|
||||
# for future kde integration
|
||||
|
||||
# macro_optional_find_package(KDE4)
|
||||
IF(KDE4_FOUND)
|
||||
IF( KDE4_FOUND )
|
||||
IF( CMAKE_C_FLAGS )
|
||||
# KDE4 adds and removes some compiler flags that we don't like
|
||||
# (only for gcc not for clang e.g.)
|
||||
@@ -218,5 +320,51 @@ SET( TOMAHAWK_LIBRARIES tomahawklib )
|
||||
|
||||
ADD_SUBDIRECTORY( thirdparty )
|
||||
ADD_SUBDIRECTORY( src )
|
||||
ADD_SUBDIRECTORY( src/libtomahawk )
|
||||
ADD_SUBDIRECTORY( admin )
|
||||
|
||||
if( BUILD_TESTS )
|
||||
enable_testing()
|
||||
add_subdirectory( tests )
|
||||
endif()
|
||||
|
||||
|
||||
# Add all targets to the build-tree export set
|
||||
set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Tomahawk" CACHE PATH "Installation directory for CMake files")
|
||||
set(CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}")
|
||||
export(TARGETS tomahawklib
|
||||
FILE "${PROJECT_BINARY_DIR}/TomahawkLibraryDepends.cmake")
|
||||
|
||||
# Export the package for use from the build-tree
|
||||
# (this registers the build-tree with a global CMake-registry)
|
||||
export(PACKAGE Tomahawk)
|
||||
|
||||
# Create a TomahawkBuildTreeSettings.cmake file for the use from the build tree
|
||||
configure_file(TomahawkBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/TomahawkBuildTreeSettings.cmake" @ONLY)
|
||||
|
||||
# Create the TomahawkConfig.cmake and TomahawkConfigVersion files
|
||||
file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_CMAKEDIR}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
||||
|
||||
configure_file(TomahawkConfig.cmake.in "${PROJECT_BINARY_DIR}/TomahawkConfig.cmake" @ONLY)
|
||||
configure_file(TomahawkConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake" @ONLY)
|
||||
file(COPY TomahawkUse.cmake DESTINATION "${PROJECT_BINARY_DIR}")
|
||||
file(COPY TomahawkAddPlugin.cmake DESTINATION "${PROJECT_BINARY_DIR}")
|
||||
|
||||
|
||||
# Install the cmake files
|
||||
install(
|
||||
FILES
|
||||
"${PROJECT_BINARY_DIR}/TomahawkConfig.cmake"
|
||||
"${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake"
|
||||
"${PROJECT_BINARY_DIR}/TomahawkUse.cmake"
|
||||
"${PROJECT_BINARY_DIR}/TomahawkAddPlugin.cmake"
|
||||
DESTINATION
|
||||
"${CMAKE_INSTALL_CMAKEDIR}"
|
||||
)
|
||||
|
||||
# Install the export set for use with the install-tree
|
||||
install(
|
||||
EXPORT
|
||||
TomahawkLibraryDepends
|
||||
DESTINATION
|
||||
"${CMAKE_INSTALL_CMAKEDIR}"
|
||||
)
|
||||
|
@@ -7,11 +7,6 @@
|
||||
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
|
||||
#
|
||||
|
||||
# Dependencies
|
||||
if(NOT QT4_FOUND)
|
||||
find_package(Qt4 REQUIRED)
|
||||
endif()
|
||||
|
||||
# Include dir
|
||||
find_path(LIBLASTFM_INCLUDE_DIR
|
||||
# Track.h doesn't exist in liblastfm-0.3.1, was called Track back then
|
||||
|
@@ -6,45 +6,24 @@
|
||||
# QJSON_INCLUDE_DIR - the include path of the qjson library
|
||||
#
|
||||
|
||||
if (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
|
||||
|
||||
# Already in cache
|
||||
set (QJSON_FOUND TRUE)
|
||||
|
||||
else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
|
||||
|
||||
if (NOT WIN32)
|
||||
# use pkg-config to get the values of QJSON_INCLUDE_DIRS
|
||||
# and QJSON_LIBRARY_DIRS to add as hints to the find commands.
|
||||
include (FindPkgConfig)
|
||||
pkg_check_modules (QJSON REQUIRED QJson>=0.5)
|
||||
endif (NOT WIN32)
|
||||
|
||||
find_library (QJSON_LIBRARIES
|
||||
find_library (QJSON_LIBRARIES
|
||||
NAMES
|
||||
qjson
|
||||
PATHS
|
||||
${QJSON_LIBRARY_DIRS}
|
||||
${LIB_INSTALL_DIR}
|
||||
${KDE4_LIB_DIR}
|
||||
)
|
||||
)
|
||||
|
||||
find_path (QJSON_INCLUDE_DIR
|
||||
find_path (QJSON_INCLUDE_DIR
|
||||
NAMES
|
||||
parser.h
|
||||
PATH_SUFFIXES
|
||||
qjson
|
||||
qjson/parser.h
|
||||
PATHS
|
||||
${QJSON_INCLUDE_DIRS}
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
${KDE4_INCLUDE_DIR}
|
||||
)
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
|
||||
|
||||
if ( UNIX AND NOT APPLE )
|
||||
set ( QJSON_LIBRARIES "${QJSON_LIBRARIES} ${QJSON_LDFLAGS}" CACHE INTERNAL "")
|
||||
endif ()
|
||||
|
||||
endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
|
||||
|
@@ -7,9 +7,6 @@
|
||||
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
|
||||
#
|
||||
|
||||
# Dependencies
|
||||
find_package(Qt4 REQUIRED)
|
||||
|
||||
# Include dir
|
||||
find_path(QTWEETLIB_INCLUDE_DIR
|
||||
NAMES QTweetLib/qtweetlib_global.h
|
||||
|
@@ -1,11 +1,10 @@
|
||||
find_package(Qt4)
|
||||
find_path(QuaZip_INCLUDE_DIR quazip.h ${CMAKE_INSTALL_PREFIX}/include/quazip ${CMAKE_INSTALL_PREFIX}/include /usr/include/quazip /usr/local/include/quazip ${QT_INCLUDE_DIR}/quazip ${QT_INCLUDE_DIR} ${QUAZIP_DIR}/include/quazip ${QUAZIP_DIR}/quazip ${QUAZIP_DIR}/include)
|
||||
find_path(QuaZip_INCLUDE_DIR quazip/quazip.h ${CMAKE_INSTALL_PREFIX}/include/quazip ${CMAKE_INSTALL_PREFIX}/include /usr/include/quazip /usr/local/include/quazip ${QT_INCLUDE_DIR}/quazip ${QT_INCLUDE_DIR} ${QUAZIP_DIR}/include/quazip ${QUAZIP_DIR}/quazip ${QUAZIP_DIR}/include)
|
||||
find_library(QuaZip_LIBRARY NAMES quazip PATHS ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/Library/Frameworks ${QUAZIP_DIR}/lib64 ${QUAZIP_DIR}/lib ${QUAZIP_DIR}/quazip ${QUAZIP_DIR})
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(quazip DEFAULT_MSG QuaZip_LIBRARY QuaZip_INCLUDE_DIR)
|
||||
set(QuaZip_LIBRARIES ${QuaZip_LIBRARY})
|
||||
mark_as_advanced(QuaZip_LIBRARY QuaZip_INCLUDE_DIR)
|
||||
|
||||
if(QuaZip_LIBRARY AND QuaZip_INCLUDE_DIR)
|
||||
set(QuaZip_FOUND TRUE)
|
||||
if(QuaZip_LIBRARY AND QuaZip_INCLUDE_DIR)
|
||||
set(QuaZip_FOUND TRUE)
|
||||
endif()
|
||||
|
@@ -274,11 +274,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${INSTALL_PATH}\bin\tomahawk.exe"
|
||||
|
||||
File "${INSTALL_PATH}\bin\tomahawk_crash_reporter.exe"
|
||||
File "${INSTALL_PATH}\bin\libtomahawk_breakpad.dll"
|
||||
|
||||
File "${INSTALL_PATH}\bin\libqxtweb-standalone.dll"
|
||||
File "${INSTALL_PATH}\bin\libtomahawk_portfwd.dll"
|
||||
File "${INSTALL_PATH}\bin\libtomahawklib.dll"
|
||||
File "${INSTALL_PATH}\bin\libtomahawk.dll"
|
||||
; plugins
|
||||
File "${INSTALL_PATH}\lib\libtomahawk_*_*.dll"
|
||||
!endif
|
||||
@@ -287,11 +284,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${BUILD_PATH}\tomahawk.exe"
|
||||
|
||||
File "${BUILD_PATH}\tomahawk_crash_reporter.exe"
|
||||
File "${BUILD_PATH}\libtomahawk_breakpad.dll"
|
||||
|
||||
File "${BUILD_PATH}\libtomahawklib.dll"
|
||||
File "${BUILD_PATH}\libqxtweb-standalone.dll"
|
||||
File "${BUILD_PATH}\libtomahawk_portfwd.dll"
|
||||
File "${BUILD_PATH}\libtomahawk.dll"
|
||||
; plugins
|
||||
File "${BUILD_PATH}\libtomahawk_*_*.dll"
|
||||
!endif
|
||||
@@ -354,6 +348,7 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${MING_BIN}\liblastfm.dll"
|
||||
File "${MING_BIN}\libQTweetLib.dll"
|
||||
File "${MING_BIN}\libquazip.dll"
|
||||
File "${MING_BIN}\libqtkeychain.dll"
|
||||
|
||||
; Jabber
|
||||
File "${MING_BIN}\libjreen.dll"
|
||||
@@ -364,8 +359,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${MING_BIN}\libssl-8.dll"
|
||||
File "${MING_BIN}\libcrypto-8.dll"
|
||||
|
||||
File "${MING_LIB}\libclucene-core.dll"
|
||||
File "${MING_LIB}\libclucene-shared.dll"
|
||||
File "${MING_BIN}\libclucene-core.dll"
|
||||
File "${MING_BIN}\libclucene-shared.dll"
|
||||
|
||||
File "${MING_BIN}\libqtsparkle.dll"
|
||||
File "${MING_BIN}\libattica.dll"
|
||||
|
50
ChangeLog
@@ -1,3 +1,42 @@
|
||||
Version 0.8.0:
|
||||
* Playback Queue now saves its state across sessions.
|
||||
* Added "Inbox" feature, showing incoming song recommendations. Dropping
|
||||
a track on a user in the sidebar sends a recommendation to them.
|
||||
* You will now be asked whether you want to trust invalid SSL certificates.
|
||||
* Improved connecting between Tomahawk peers and support having multiple IPs
|
||||
(including IPv6)
|
||||
* Added Network Activity showing you the most played tracks of your friends.
|
||||
|
||||
Version 0.7.1:
|
||||
* Heavily reduced memory footprint during and after indexing the database.
|
||||
|
||||
Version 0.7.0:
|
||||
* JavaScript Resolvers can now expose collections.
|
||||
* Introduced bundle system for JavaScript Resolvers, called "axes".
|
||||
* Fixed playback-loop caused by duplicate tracks in a playlist.
|
||||
* Improved peer handling and removed connection support through Twitter.
|
||||
* Taking an account offline now also disconnects associated peers.
|
||||
* Improved spotify protocol handling.
|
||||
* Added "Append to Playlist" context menu item.
|
||||
* User-friendlier collection handling: added info-buttons for artists and
|
||||
albums. Double-clicking an item expands it now.
|
||||
* Charts only load on-demand now.
|
||||
* Fixed Diagnostics information not correctly updating.
|
||||
* Fixed issue with hidden sidebar and panels.
|
||||
* Fixed issues with some color schemes.
|
||||
* Fixed playing files with special characters in the filename.
|
||||
* Improved stability.
|
||||
* Added translations for Catalan, Czech, Galician, Greek, Italian and
|
||||
Chinese.
|
||||
* (Windows) Smoother and more responsive audio playback.
|
||||
* (Linux) Fixed grid issues with GTK-styles.
|
||||
|
||||
Version 0.6.1:
|
||||
* Improved stability.
|
||||
* Improved UPnP detection and port-forwarding.
|
||||
* Fixed scrolling behaviour of grid-views.
|
||||
* Lots of small design tweaks and fixes.
|
||||
|
||||
Version 0.6.0:
|
||||
* Improved icon theme with vector graphics.
|
||||
* Higher resolution artist and album images.
|
||||
@@ -5,6 +44,8 @@ Version 0.6.0:
|
||||
biographies.
|
||||
* New AudioControl logic - only enable Prev/Skip buttons if available.
|
||||
* Added more options to right-click/context menus.
|
||||
* Resolver source icon in Audiocontrols now supports being a link-back URL
|
||||
to original source.
|
||||
* Make friends' currently playing song (in sidebar) clickable.
|
||||
* Improve MusicBrainz plugin to use normalized artist names and avoid
|
||||
duplicate tracks.
|
||||
@@ -22,8 +63,11 @@ Version 0.6.0:
|
||||
* Remove YouTube resolver from plug-in directory on request of YouTube.
|
||||
* Fixed iTunes m3u playlist support.
|
||||
* Support dropping of new Soundcloud user, track, set & likes URLs.
|
||||
* Add HotNewHipHop as available chart.
|
||||
* Add iTunes as available source for New Releases.
|
||||
* Added HotNewHipHop as available chart.
|
||||
* Added iTunes as available source for New Releases.
|
||||
* Updates and additions to translations including: Japanese, Bulgarian,
|
||||
Finnish, Russian, Arabic, Chinese, Swedish, Czech and more.
|
||||
* (Windows) Added thumb buttons to Windows 7's taskbar.
|
||||
* (Linux) Allow disabling of playback notifications.
|
||||
|
||||
Version 0.5.5:
|
||||
@@ -430,4 +474,4 @@ Version 0.0.2:
|
||||
* Tomahawk now asks you to authorize new contacts.
|
||||
|
||||
Version 0.0.1:
|
||||
* First public release.
|
||||
* First public release.
|
||||
|
24
README.md
@@ -13,6 +13,7 @@ Compile:
|
||||
Start the application on Linux:
|
||||
|
||||
$ ./tomahawk
|
||||
|
||||
Start the application on OS X:
|
||||
|
||||
$ open tomahawk.app
|
||||
@@ -20,11 +21,11 @@ Start the application on OS X:
|
||||
|
||||
Detailed building instructions for Ubuntu
|
||||
-----------------------------------------
|
||||
See: http://wiki.tomahawk-player.org/index.php/Building_Ubuntu_Binary_on_Precise_(12.04)
|
||||
See: http://wiki.tomahawk-player.org/index.php/Building_Binary_on_Ubuntu_Precise_(12.04)
|
||||
|
||||
Detailed building instructions for OS X
|
||||
---------------------------------------
|
||||
See: http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle_on_Snow_Leopard_(10.6)_and_Lion_(10.7)
|
||||
See: http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle
|
||||
|
||||
Doxygen Documentation
|
||||
---------------------
|
||||
@@ -36,31 +37,32 @@ Dependencies
|
||||
Required dependencies:
|
||||
|
||||
* CMake 2.8.6 - http://www.cmake.org/
|
||||
* Qt 4.7.0 - http://qt.nokia.com/
|
||||
* Qt 4.7.0 - http://qt-project.org/
|
||||
* Phonon 4.6.0 - http://phonon.kde.org/
|
||||
* QJson 0.7.1 - http://qjson.sourceforge.net/
|
||||
* SQLite 3.6.22 - http://www.sqlite.org/
|
||||
* TagLib 1.6.2 - http://developer.kde.org/~wheeler/taglib.html
|
||||
* Boost 1.3 - http://www.boost.org/
|
||||
* CLucene 0.9.23 (0.9.21 will fail) - http://clucene.sourceforge.net/download.shtml
|
||||
* libechonest 2.0.0 - http://projects.kde.org/projects/playground/libs/libechonest/
|
||||
* libechonest 2.0.3 - http://projects.kde.org/projects/playground/libs/libechonest/
|
||||
* Attica 0.4.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
|
||||
* QuaZip 0.4.3 - http://quazip.sourceforge.net/
|
||||
* liblastfm 1.0.1 - http://github.com/lastfm/liblastfm/
|
||||
* liblastfm 1.0.1 - https://github.com/lastfm/liblastfm/
|
||||
* QtKeychain 0.1 - https://github.com/frankosterfeld/qtkeychain/
|
||||
|
||||
The following dependencies are optional, but recommended:
|
||||
|
||||
* Jreen 1.0.5 (1.1.0 will fail, 1.1.1 is fine) - http://qutim.org/jreen / https://github.com/euroelessar/jreen
|
||||
* QTweetLib 0.5.0 - https://github.com/minimoog/QTweetLib
|
||||
* Jreen 1.0.5 (1.1.0 will fail, 1.1.1 is fine) - http://qutim.org/jreen/
|
||||
* QTweetLib 0.5.0 - https://github.com/minimoog/QTweetLib/
|
||||
|
||||
Third party libraries that we ship with our source:
|
||||
|
||||
* MiniUPnP 1.6 - http://miniupnp.free.fr/
|
||||
* Breakpad - http://code.google.com/p/google-breakpad/
|
||||
* Qocoa - http://github.com/mikemcquaid/Qocoa
|
||||
* Qocoa - https://github.com/mikemcquaid/Qocoa/
|
||||
* libqnetwm - http://code.google.com/p/libqnetwm/
|
||||
* libqxt (QxtWeb module) - http://libqxt.org
|
||||
* SPMediaKeyTap - https://github.com/nevyn/SPMediaKeyTap
|
||||
* kdsingleapplicationguard
|
||||
* libqxt (QxtWeb module) - http://libqxt.org/
|
||||
* SPMediaKeyTap - https://github.com/nevyn/SPMediaKeyTap/
|
||||
* kdSingleApplicationGuard - http://www.kdab.com/
|
||||
|
||||
Enjoy!
|
||||
|
@@ -38,10 +38,10 @@ MACRO(CDR var junk)
|
||||
ENDMACRO(CDR)
|
||||
|
||||
|
||||
macro(add_tomahawk_plugin)
|
||||
macro(tomahawk_add_plugin)
|
||||
parse_arguments(PLUGIN
|
||||
"SOURCES;UI;LINK_LIBRARIES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS"
|
||||
"NO_INSTALL"
|
||||
"NO_INSTALL;SHARED_LIB"
|
||||
${ARGN}
|
||||
)
|
||||
car(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
|
||||
@@ -59,18 +59,25 @@ macro(add_tomahawk_plugin)
|
||||
# qt stuff
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
if(PLUGIN_UI)
|
||||
qt4_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
|
||||
qt_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
|
||||
list(APPEND PLUGIN_SOURCES ${PLUGIN_UI_SOURCES})
|
||||
endif()
|
||||
|
||||
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
|
||||
qt4_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
|
||||
qt_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
|
||||
list(APPEND PLUGIN_SOURCES ${PLUGIN_RC_SOURCES})
|
||||
unset(PLUGIN_RC_SOURCES)
|
||||
endif()
|
||||
|
||||
# add target
|
||||
add_library(${target} MODULE ${PLUGIN_SOURCES})
|
||||
if(NOT ${PLUGIN_SHARED_LIB})
|
||||
add_library(${target} MODULE ${PLUGIN_SOURCES})
|
||||
else()
|
||||
add_library(${target} SHARED ${PLUGIN_SOURCES})
|
||||
endif()
|
||||
|
||||
# add qt modules
|
||||
qt5_use_modules(${target} Core Network Widgets Sql Xml DBus)
|
||||
|
||||
# definitions - can this be moved into set_target_properties below?
|
||||
add_definitions(${QT_DEFINITIONS})
|
||||
@@ -86,7 +93,7 @@ macro(add_tomahawk_plugin)
|
||||
endif()
|
||||
|
||||
# add link targets
|
||||
target_link_libraries(${target} tomahawklib)
|
||||
target_link_libraries(${target} ${TOMAHAWK_LIBRARIES})
|
||||
if(PLUGIN_LINK_LIBRARIES)
|
||||
target_link_libraries(${target} ${PLUGIN_LINK_LIBRARIES})
|
||||
endif()
|
4
TomahawkBuildTreeSettings.cmake.in
Normal file
@@ -0,0 +1,4 @@
|
||||
set(TOMAHAWK_INCLUDE_DIRS
|
||||
"@PROJECT_SOURCE_DIR@/src/libtomahawk"
|
||||
"@PROJECT_BINARY_DIR@/src/libtomahawk"
|
||||
)
|
21
TomahawkConfig.cmake.in
Normal file
@@ -0,0 +1,21 @@
|
||||
# - Config file for the Tomahawk package
|
||||
# It defines the following variables
|
||||
# TOMAHAWK_INCLUDE_DIRS - include directories for Tomahawk
|
||||
# TOMAHAWK_LIBRARIES - libraries to link against
|
||||
# TOMAHAWK_EXECUTABLE - the bar executable
|
||||
|
||||
# Compute paths
|
||||
get_filename_component(TOMAHAWK_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
if(EXISTS "${TOMAHAWK_CMAKE_DIR}/CMakeCache.txt")
|
||||
# In build tree
|
||||
include("${TOMAHAWK_CMAKE_DIR}/TomahawkBuildTreeSettings.cmake")
|
||||
else()
|
||||
set(TOMAHAWK_INCLUDE_DIRS "${TOMAHAWK_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@/libtomahawk")
|
||||
endif()
|
||||
|
||||
# Our library dependencies (contains definitions for IMPORTED targets)
|
||||
include("${TOMAHAWK_CMAKE_DIR}/TomahawkLibraryDepends.cmake")
|
||||
|
||||
# These are IMPORTED targets created by TomahawkLibraryDepends.cmake
|
||||
set(TOMAHAWK_LIBRARIES tomahawklib)
|
||||
set(TOMAHAWK_USE_FILE "${TOMAHAWK_CMAKE_DIR}/TomahawkUse.cmake")
|
12
TomahawkConfigVersion.cmake.in
Normal file
@@ -0,0 +1,12 @@
|
||||
set(PACKAGE_VERSION "@TOMAHAWK_VERSION@")
|
||||
|
||||
# Check whether the requested PACKAGE_FIND_VERSION is compatible
|
||||
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
34
TomahawkUse.cmake
Normal file
@@ -0,0 +1,34 @@
|
||||
#FIXME: this only handles qt4 and duplicates top level cmakelists: how can we reduce code duplication?
|
||||
|
||||
find_package(Qt4 COMPONENTS QtNetwork QtCore QtGui QtSql QtDeclarative REQUIRED)
|
||||
include( ${QT_USE_FILE} )
|
||||
|
||||
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
|
||||
if(BUILD_GUI OR NOT DEFINED BUILD_GUI)
|
||||
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg" "QtDeclarative")
|
||||
endif()
|
||||
|
||||
find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS})
|
||||
include( ${QT_USE_FILE} )
|
||||
|
||||
macro(qt5_use_modules)
|
||||
endmacro()
|
||||
|
||||
macro(qt_wrap_ui)
|
||||
qt4_wrap_ui(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt_add_resources)
|
||||
qt4_add_resources(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt_add_translation)
|
||||
qt4_add_translation(${ARGN})
|
||||
endmacro()
|
||||
|
||||
|
||||
if(NOT TOMAHAWK_CMAKE_DIR)
|
||||
set(TOMAHAWK_CMAKE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||
endif()
|
||||
|
||||
include( "${TOMAHAWK_CMAKE_DIR}/TomahawkAddPlugin.cmake" )
|
@@ -26,6 +26,8 @@
|
||||
<string>10.5.0</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true />
|
||||
<key>SUFeedURL</key>
|
||||
<string>http://download.tomahawk-player.org/sparkle/update.php</string>
|
||||
<key>SUPublicDSAKeyFile</key>
|
||||
|
@@ -5,11 +5,15 @@ Name=Tomahawk
|
||||
GenericName=Music Player
|
||||
GenericName[de]=Musik Player
|
||||
GenericName[fi]=Musiikkisoitin
|
||||
GenericName[pl]=Odtwarzacz Muzyki
|
||||
GenericName[se]=Musikspelare
|
||||
TryExec=tomahawk
|
||||
Exec=tomahawk %u
|
||||
Comment=Tomahawk - Social Music Player
|
||||
Comment=Tomahawk — Social Music Player
|
||||
Comment[fi]=Tomahawk – sosiaalinen musiikkisoitin
|
||||
Comment[pl]=Tomahawk – Społecznościowy Odtwarzacz Muzyki
|
||||
Comment[se]=Tomahawk — Den Sociala Musikspelaren
|
||||
Icon=tomahawk
|
||||
Terminal=false
|
||||
Categories=Qt;AudioVideo;Audio;Player;
|
||||
MimeType=x-scheme-handler/tomahawk;
|
||||
MimeType=x-scheme-handler/tomahawk;x-scheme-handler/spotify;
|
||||
|
@@ -5,11 +5,9 @@ SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
|
||||
# specify the cross compiler
|
||||
SET(CMAKE_C_COMPILER ccache ${MINGW_PREFIX}-gcc)
|
||||
SET(CMAKE_C_FLAGS "-fno-keep-inline-dllexport")
|
||||
SET(CMAKE_CXX_COMPILER ccache ${MINGW_PREFIX}-g++)
|
||||
SET(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
|
||||
SET(CMAKE_RC_COMPILER /usr/bin/${MINGW_PREFIX}-windres)
|
||||
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc)
|
||||
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++)
|
||||
SET(CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres)
|
||||
|
||||
# where is the target environment containing libraries
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/${MINGW_PREFIX}/sys-root/mingw)
|
||||
@@ -18,6 +16,19 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
|
||||
# configure qt variables
|
||||
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
|
||||
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins/)
|
||||
## configure qt variables
|
||||
# generic
|
||||
SET(QMAKESPEC win32-g++-cross)
|
||||
|
||||
# dirs
|
||||
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
|
||||
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins)
|
||||
SET(QT_MKSPECS_DIR ${CMAKE_FIND_ROOT_PATH}/share/qt4/mkspecs)
|
||||
SET(QT_QT_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
|
||||
|
||||
# qt tools
|
||||
SET(QT_QMAKE_EXECUTABLE ${MINGW_PREFIX}-qmake )
|
||||
SET(QT_MOC_EXECUTABLE ${MINGW_PREFIX}-moc)
|
||||
SET(QT_RCC_EXECUTABLE ${MINGW_PREFIX}-rcc)
|
||||
SET(QT_UIC_EXECUTABLE ${MINGW_PREFIX}-uic)
|
||||
SET(QT_LRELEASE_EXECUTABLE ${MINGW_PREFIX}-lrelease)
|
||||
|
@@ -75,7 +75,9 @@ rm -rvf \
|
||||
stream_filter/ \
|
||||
**/libtheora_plugin* \
|
||||
**/liblibbluray_plugin* \
|
||||
**/libdtv_plugin*
|
||||
**/libdtv_plugin* \
|
||||
**/*.dll.a \
|
||||
**/*.la
|
||||
|
||||
|
||||
echo "Downloaded and stripped VLC"
|
||||
|
BIN
data/fonts/FaunaOne-Regular.ttf
Normal file
92
data/fonts/OFL.txt
Normal file
@@ -0,0 +1,92 @@
|
||||
Copyright (c) 2009-2011 by Accademia di Belle Arti di Urbino and students of MA course of Visual design. Some rights reserved.
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
data/fonts/PathwayGothicOne-Regular.ttf
Normal file
BIN
data/fonts/TitilliumWeb-Black.ttf
Normal file
BIN
data/fonts/TitilliumWeb-Bold.ttf
Normal file
BIN
data/fonts/TitilliumWeb-BoldItalic.ttf
Normal file
BIN
data/fonts/TitilliumWeb-ExtraLight.ttf
Normal file
BIN
data/fonts/TitilliumWeb-ExtraLightItalic.ttf
Normal file
BIN
data/fonts/TitilliumWeb-Italic.ttf
Normal file
BIN
data/fonts/TitilliumWeb-Light.ttf
Normal file
BIN
data/fonts/TitilliumWeb-LightItalic.ttf
Normal file
BIN
data/fonts/TitilliumWeb-Regular.ttf
Normal file
BIN
data/fonts/TitilliumWeb-SemiBold.ttf
Normal file
BIN
data/fonts/TitilliumWeb-SemiBoldItalic.ttf
Normal file
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 888 B After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 10 KiB |
@@ -1,101 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="606.248px" height="595.5px" viewBox="0 0 606.248 595.5" enable-background="new 0 0 606.248 595.5" xml:space="preserve">
|
||||
<g id="Layer_3">
|
||||
<rect x="-20.376" y="-15.75" stroke="#E63E30" stroke-miterlimit="10" width="688" height="700"/>
|
||||
</g>
|
||||
<g id="Layer_2">
|
||||
<path id="path9_1_" inkscape:connector-curvature="0" fill="none" stroke="#E63E30" stroke-miterlimit="10" d="M429.977,493.576
|
||||
V154.483h-65.371h-6.949v115.065L194.409,156.07c-2.608-1.802-6.036-2.046-8.93-0.661c-2.895,1.493-4.692,4.437-4.692,7.56v266.003
|
||||
c0,3.123,1.798,6.037,4.692,7.488c1.234,0.695,2.608,0.977,3.953,0.977c1.725,0,3.522-0.561,4.977-1.529l163.248-113.472v201.091
|
||||
c-17.532,4.084-35.744,6.375-54.511,6.375c-130.896,0-237.345-104.598-237.345-233.146c0-128.547,106.442-233.117,237.345-233.117
|
||||
c130.858,0,237.344,104.562,237.344,233.116C540.482,379.515,496.305,452.197,429.977,493.576L429.977,493.576z"/>
|
||||
<ellipse fill="#FFFFFF" stroke="#E63E30" stroke-miterlimit="10" cx="318.624" cy="295.75" rx="286" ry="270.5"/>
|
||||
</g>
|
||||
<g id="Layer_1" sodipodi:docname="tomahawk-icon.svg" inkscape:version="0.48.2 r9819" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||
|
||||
<sodipodi:namedview fit-margin-bottom="0" fit-margin-right="0" inkscape:snap-page="false" inkscape:current-layer="Layer_1" inkscape:window-maximized="0" inkscape:window-y="0" inkscape:window-x="0" inkscape:window-height="794" inkscape:window-width="1440" inkscape:pageshadow="2" inkscape:pageopacity="0" fit-margin-left="0" fit-margin-top="0" inkscape:cy="336.94553" inkscape:cx="431.12548" inkscape:zoom="1" showgrid="false" guidetolerance="10" gridtolerance="10" objecttolerance="10" bordercolor="#666666" pagecolor="#ffffff" borderopacity="1" id="namedview11">
|
||||
<sodipodi:guide orientation="0,841.89001" position="-3.5728101e-05,-1.501866e-05" id="guide2994"></sodipodi:guide>
|
||||
<sodipodi:guide orientation="-595.28003,0" position="841.88997,-1.501866e-05" id="guide2996"></sodipodi:guide>
|
||||
<sodipodi:guide orientation="0,-841.89001" position="841.88997,595.28001" id="guide2998"></sodipodi:guide>
|
||||
<sodipodi:guide orientation="595.28003,0" position="-3.5728101e-05,595.28001" id="guide3000"></sodipodi:guide>
|
||||
</sodipodi:namedview>
|
||||
<g id="g3_1_" transform="matrix(7.3080643,0,0,7.1790074,-2773.1692,-1839.0104)">
|
||||
<g>
|
||||
<g enable-background="new ">
|
||||
<g>
|
||||
<polygon fill="#4C1410" points="430.355,293.516 429.444,293.909 429.416,279.061 430.323,277.603 "/>
|
||||
</g>
|
||||
<g>
|
||||
<polygon fill="#4C1410" points="430.428,328.913 429.507,326.921 429.457,300.757 430.371,300.856 "/>
|
||||
</g>
|
||||
<g enable-background="new ">
|
||||
<defs>
|
||||
<path id="SVGID_1_" enable-background="new " d="M440.229,324.595l-1.574-1.692c2.083-1.367,3.987-2.983,5.669-4.803
|
||||
c1.678-1.816,3.136-3.836,4.332-6.018c1.194-2.177,2.127-4.516,2.758-6.973c0.63-2.454,0.959-5.028,0.945-7.679
|
||||
c-0.022-4.114-0.867-8.035-2.377-11.605c-1.51-3.571-3.686-6.797-6.372-9.519c-2.69-2.726-5.895-4.949-9.458-6.505
|
||||
c-3.573-1.561-7.51-2.454-11.652-2.511c-4.16-0.058-8.14,0.731-11.777,2.212c-3.65,1.486-6.953,3.668-9.739,6.386
|
||||
c-2.795,2.728-5.069,5.995-6.649,9.637c-1.584,3.651-2.47,7.677-2.486,11.907c-0.016,4.236,0.842,8.276,2.405,11.95
|
||||
c1.563,3.673,3.829,6.974,6.627,9.736c2.794,2.757,6.114,4.973,9.791,6.483c3.666,1.506,7.683,2.31,11.88,2.251
|
||||
c0.601-0.008,1.197-0.036,1.787-0.08c0.59-0.045,1.176-0.107,1.756-0.186c0.58-0.079,1.154-0.174,1.723-0.286
|
||||
c0.569-0.111,1.132-0.238,1.689-0.379l0.921,1.992c-0.597,0.152-1.201,0.288-1.81,0.408c-0.61,0.12-1.226,0.223-1.847,0.308
|
||||
c-0.622,0.085-1.249,0.153-1.883,0.201c-0.634,0.049-1.272,0.078-1.917,0.088c-4.502,0.068-8.811-0.79-12.745-2.404
|
||||
c-3.946-1.618-7.511-3.994-10.51-6.951c-3.004-2.963-5.437-6.506-7.115-10.448c-1.678-3.944-2.599-8.28-2.58-12.827
|
||||
c0.018-4.54,0.971-8.86,2.673-12.777c1.698-3.907,4.139-7.409,7.141-10.333c2.99-2.913,6.534-5.249,10.45-6.838
|
||||
c3.9-1.583,8.167-2.424,12.626-2.357c4.439,0.066,8.656,1.027,12.483,2.703c3.815,1.671,7.247,4.055,10.127,6.976
|
||||
c2.875,2.916,5.205,6.373,6.822,10.198c1.616,3.824,2.522,8.023,2.548,12.43c0.016,2.84-0.335,5.597-1.008,8.226
|
||||
c-0.674,2.633-1.672,5.139-2.949,7.472c-1.279,2.338-2.839,4.504-4.636,6.452C444.498,321.393,442.46,323.127,440.229,324.595
|
||||
z"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" overflow="visible"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#SVGID_2_)" enable-background="new ">
|
||||
<path fill="#4D1510" d="M440.229,324.595l-1.574-1.692c2.083-1.367,3.987-2.983,5.669-4.803
|
||||
c1.678-1.816,3.136-3.836,4.332-6.018c1.194-2.177,2.127-4.516,2.758-6.973c0.63-2.454,0.959-5.028,0.945-7.679
|
||||
c-0.022-4.114-0.867-8.035-2.377-11.605c-1.51-3.571-3.686-6.797-6.372-9.519c-2.69-2.726-5.895-4.949-9.458-6.505
|
||||
c-3.573-1.561-7.51-2.454-11.652-2.511c-4.16-0.058-8.14,0.731-11.777,2.212c-3.65,1.486-6.953,3.668-9.739,6.386
|
||||
c-2.795,2.728-5.069,5.995-6.649,9.637c-1.584,3.651-2.47,7.677-2.486,11.907c-0.016,4.236,0.842,8.276,2.405,11.95
|
||||
c1.563,3.673,3.829,6.974,6.627,9.736c2.794,2.757,6.114,4.973,9.791,6.483c3.666,1.506,7.683,2.31,11.88,2.251
|
||||
c0.601-0.008,1.197-0.036,1.787-0.08c0.59-0.045,1.176-0.107,1.756-0.186c0.58-0.079,1.154-0.174,1.723-0.286
|
||||
c0.569-0.111,1.132-0.238,1.689-0.379l0.921,1.992c-0.597,0.152-1.201,0.288-1.81,0.408c-0.61,0.12-1.226,0.223-1.847,0.308
|
||||
c-0.622,0.085-1.249,0.153-1.883,0.201c-0.634,0.049-1.272,0.078-1.917,0.088c-4.502,0.068-8.811-0.79-12.745-2.404
|
||||
c-3.946-1.618-7.511-3.994-10.51-6.951c-3.004-2.963-5.437-6.506-7.115-10.448c-1.678-3.944-2.599-8.28-2.58-12.827
|
||||
c0.018-4.54,0.971-8.86,2.673-12.777c1.698-3.907,4.139-7.409,7.141-10.333c2.99-2.913,6.534-5.249,10.45-6.838
|
||||
c3.9-1.583,8.167-2.424,12.626-2.357c4.439,0.066,8.656,1.027,12.483,2.703c3.815,1.671,7.247,4.055,10.127,6.976
|
||||
c2.875,2.916,5.205,6.373,6.822,10.198c1.616,3.824,2.522,8.023,2.548,12.43c0.016,2.84-0.335,5.597-1.008,8.226
|
||||
c-0.674,2.633-1.672,5.139-2.949,7.472c-1.279,2.338-2.839,4.504-4.636,6.452C444.498,321.393,442.46,323.127,440.229,324.595
|
||||
"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#E53E30" d="M422.903,256.08c5.658,0.108,11.029,1.353,15.897,3.504c4.85,2.143,9.21,5.189,12.868,8.915
|
||||
c3.65,3.717,6.608,8.117,8.662,12.983c2.053,4.864,3.208,10.204,3.247,15.808c0.04,5.613-1.043,10.98-3.039,15.883
|
||||
c-2.002,4.92-4.927,9.381-8.565,13.159c-3.654,3.795-8.032,6.904-12.92,9.095c-4.913,2.202-10.344,3.478-16.073,3.588
|
||||
c-5.761,0.111-11.281-0.966-16.325-3.014c-5.064-2.056-9.641-5.088-13.494-8.871c-3.862-3.792-6.988-8.332-9.143-13.388
|
||||
c-2.155-5.058-3.333-10.622-3.302-16.455c0.032-5.822,1.266-11.358,3.463-16.374c2.19-4.998,5.333-9.474,9.191-13.203
|
||||
c3.84-3.711,8.385-6.68,13.4-8.69C411.761,257.022,417.213,255.972,422.903,256.08z M440.229,324.595
|
||||
c2.231-1.468,4.269-3.201,6.069-5.154c1.796-1.948,3.356-4.114,4.636-6.452c1.277-2.334,2.274-4.84,2.949-7.472
|
||||
c0.673-2.629,1.024-5.386,1.008-8.226c-0.025-4.407-0.931-8.606-2.548-12.43c-1.617-3.826-3.947-7.282-6.822-10.198
|
||||
c-2.88-2.922-6.312-5.305-10.127-6.976c-3.827-1.676-8.044-2.637-12.483-2.703c-4.458-0.067-8.726,0.775-12.626,2.357
|
||||
c-3.916,1.589-7.46,3.925-10.45,6.838c-3.001,2.924-5.443,6.426-7.141,10.333c-1.702,3.917-2.655,8.237-2.673,12.777
|
||||
c-0.018,4.547,0.902,8.884,2.58,12.827c1.678,3.942,4.111,7.485,7.115,10.448c2.999,2.957,6.563,5.333,10.51,6.951
|
||||
c3.934,1.613,8.243,2.471,12.745,2.404c0.644-0.01,1.283-0.039,1.917-0.088c0.633-0.049,1.261-0.116,1.883-0.201
|
||||
c0.622-0.085,1.237-0.188,1.847-0.308c0.609-0.12,1.213-0.256,1.81-0.408l-0.057-28.056l-22.413,16.004
|
||||
c-0.051,0.034-0.104,0.065-0.16,0.092c-0.056,0.027-0.113,0.05-0.172,0.069c-0.059,0.019-0.119,0.033-0.179,0.043
|
||||
c-0.06,0.01-0.121,0.016-0.18,0.016c-0.047,0.001-0.094-0.001-0.141-0.006c-0.047-0.005-0.094-0.012-0.14-0.023
|
||||
c-0.046-0.011-0.092-0.024-0.137-0.041c-0.045-0.017-0.089-0.037-0.132-0.061c-0.1-0.05-0.191-0.114-0.271-0.187
|
||||
c-0.08-0.074-0.149-0.157-0.205-0.249c-0.056-0.091-0.1-0.19-0.13-0.294s-0.045-0.212-0.045-0.322l0.06-37.332
|
||||
c0-0.109,0.016-0.216,0.046-0.319c0.03-0.103,0.074-0.201,0.13-0.292c0.056-0.091,0.125-0.175,0.205-0.249
|
||||
c0.08-0.074,0.17-0.138,0.27-0.189c0.043-0.02,0.087-0.038,0.131-0.053s0.09-0.028,0.135-0.037
|
||||
c0.046-0.01,0.091-0.017,0.137-0.022c0.046-0.005,0.092-0.007,0.138-0.006c0.061,0.001,0.122,0.006,0.183,0.015
|
||||
c0.06,0.01,0.12,0.024,0.178,0.042c0.058,0.018,0.116,0.042,0.171,0.069c0.055,0.027,0.109,0.059,0.161,0.095l22.346,15.897
|
||||
l-0.033-15.913l0.94,0.009l8.801,0.081L440.229,324.595"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="3100px" height="3100px" viewBox="0 0 3100 3100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>tomahawk-icon</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-1">
|
||||
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
|
||||
<feMerge>
|
||||
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<circle d="M1546,3051 C2374.42717,3051 3046,2379.42717 3046,1551 C3046,722.572834 2374.42717,51 1546,51 C717.572834,51 46,722.572834 46,1551 C46,2379.42717 717.572834,3051 1546,3051 Z M1546,3051" id="Oval 1" stroke="#979797" fill="#FFFFFF" sketch:type="MSShapeGroup" cx="1546" cy="1551" r="1500"></circle>
|
||||
<g id="Group" sketch:type="MSLayerGroup" transform="translate(46.000000, 48.000000)">
|
||||
<path d="M1500.00026,326.562245 C852.333832,326.562245 325.623384,853.409757 325.623384,1501.14467 C325.623384,2148.84339 852.297589,2675.87184 1500.00026,2675.87184 C1592.85982,2675.87184 1682.97119,2664.36909 1769.71967,2643.75096 L1769.71967,1630.53256 L961.97175,2202.26973 C954.812018,2207.15297 945.916593,2209.9744 937.346612,2209.9744 C930.693123,2209.9744 923.894994,2208.56369 917.783909,2205.05499 C903.464446,2197.74821 894.56902,2183.06231 894.56902,2167.32742 L894.56902,827.040286 C894.56902,811.305396 903.464445,796.474809 917.783909,788.951001 C932.103373,781.969774 949.026377,783.199628 961.97175,792.27884 L1769.71967,1364.0522 L1769.71967,784.284802 L1804.10807,784.284802 L2127.56161,784.284802 L2127.56161,2492.84071 C2455.75216,2284.34437 2674.34095,1918.13743 2674.34095,1501.10857 C2674.34087,853.446289 2147.48558,326.562245 1500.00026,326.562245 L1500.00026,326.562245 L1500.00026,326.562245" id="Shape" sketch:type="MSShapeGroup"></path>
|
||||
<path d="M1500.00026,0.904613118 C672.870406,0.904613118 0.0726019231,673.923876 0.0726019231,1501.14494 C0.0726019231,2328.4023 672.870475,3001.38527 1500.00026,3001.38527 C2326.94928,3001.38527 2999.78337,2328.40223 2999.78337,1501.14494 C2999.74681,673.923394 2326.94887,0.904613118 1500.00026,0.904613118 L1500.00026,0.904613118 L1500.00026,0.904613118 M2127.56146,2492.87708 L2127.56146,784.321176 L1804.10793,784.321176 L1769.71952,784.321176 L1769.71952,1364.08857 L961.971604,792.315213 C949.06239,783.236001 932.103228,782.006148 917.783763,788.987375 C903.464299,796.511184 894.568874,811.341769 894.568874,827.076659 L894.568874,2167.3638 C894.568874,2183.09869 903.464299,2197.78459 917.783763,2205.09136 C923.894847,2208.60006 930.692976,2210.01078 937.346465,2210.01078 C945.880287,2210.01078 954.775711,2207.18935 961.971604,2202.30611 L1769.71952,1630.56893 L1769.71952,2643.78733 C1682.97105,2664.36929 1592.85968,2675.90821 1500.00012,2675.90821 C852.333686,2675.90821 325.623237,2148.87983 325.623237,1501.18104 C325.623237,853.482317 852.297442,326.598618 1500.00012,326.598618 C2147.48578,326.598618 2674.377,853.44613 2674.377,1501.18104 C2674.34087,1918.17376 2455.75215,2284.38047 2127.56146,2492.87708 L2072.56159,399.051282" id="Shape" fill="#E63E30" filter="url(#filter-1)" sketch:type="MSShapeGroup"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 3.9 KiB |
@@ -1,21 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="400px" height="400px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<svg width="355px" height="355px" viewBox="0 0 355 355" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>album-placeholder-grid</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70.6690133%" id="radialGradient-1">
|
||||
<stop stop-color="rgb(187,190,185)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(213,211,209)" offset="0.923389476%"></stop>
|
||||
<stop stop-color="rgb(241,240,240)" offset="100%"></stop>
|
||||
</radialGradient>
|
||||
<path d="M201,260 C234.137087,260 261,233.137087 261,200 C261,166.862913 234.137087,140 201,140 C167.862913,140 141,166.862913 141,200 C141,233.137087 167.862913,260 201,260 Z M200.5,377 C102.469452,377 23,297.530548 23,199.5 C23,101.469452 102.469452,22 200.5,22 C298.530548,22 378,101.469452 378,199.5 C378,297.530548 298.530548,377 200.5,377 Z M200.5,377" id="path-2"></path>
|
||||
<path d="M177.5,219 C200.419818,219 219,200.419818 219,177.5 C219,154.580182 200.419818,136 177.5,136 C154.580182,136 136,154.580182 136,177.5 C136,200.419818 154.580182,219 177.5,219 Z M177.5,355 C79.4694521,355 0,275.530548 0,177.5 C0,79.4694521 79.4694521,0 177.5,0 C275.530548,0 355,79.4694521 355,177.5 C355,275.530548 275.530548,355 177.5,355 Z M177.5,355" id="path-1"></path>
|
||||
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner1" result="shadowBlurInner1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"></feColorMatrix>
|
||||
<feMerge>
|
||||
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||
<feMergeNode in="shadowMatrixInner1"></feMergeNode>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<path d="M0,0 L0,400 L400,400 L400,0 L0,0 Z M0,0" id="Rectangle 1" fill="rgb(0,0,0)"></path>
|
||||
<g id="Group">
|
||||
<use id="Oval 1" fill="url(#radialGradient-1)" xlink:href="#path-2"></use>
|
||||
<use id="Oval 1-1" stroke="none" fill="none" xlink:href="#path-2"></use>
|
||||
<path d="M201,260 C167.862913,260 141,233.137087 141,200 C141,166.862913 167.862913,140 201,140 C234.137087,140 261,166.862913 261,200 C261,233.137087 234.137087,260 201,260 Z M201.5,226 C216.135547,226 228,214.359404 228,200 C228,185.640596 216.135547,174 201.5,174 C186.864453,174 175,185.640596 175,200 C175,214.359404 186.864453,226 201.5,226 Z M201.5,226" id="Oval 2" stroke="rgb(150,150,150)" stroke-width="1" fill="rgb(137,137,137)"></path>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<rect d="M-23,-22 L-23,378 L377,378 L377,-22 L-23,-22 Z M-23,-22" id="Rectangle 1" sketch:type="MSShapeGroup" x="-23" y="-22" width="400" height="400"></rect>
|
||||
<g id="Oval 1">
|
||||
<use fill="#0B0A0A" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
|
||||
<use fill="none" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
<circle d="M177.5,191 C184.40356,191 190,185.40356 190,178.5 C190,171.59644 184.40356,166 177.5,166 C170.59644,166 165,171.59644 165,178.5 C165,185.40356 170.59644,191 177.5,191 Z M177.5,191" id="Oval 2" stroke="#979797" fill-opacity="0.496897978" fill="#898989" filter="url(#filter-2)" sketch:type="MSShapeGroup" cx="177.5" cy="178.5" r="12.5"></circle>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,11 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="42px" height="42px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>arrow-up-double</title>
|
||||
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>arrow-down-double</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
|
||||
<g id="Group" fill="rgb(0,0,0)">
|
||||
<path d="M2.35400391,38.0279541 L39.5150032,38.0279541 C40.6710032,38.0279541 41.7310033,37.3789541 42.2560031,36.3469541 C42.4830031,35.9079541 42.5930032,35.4279541 42.5930032,34.9499542 C42.5930032,34.3129541 42.3930032,33.6759541 42.0040032,33.1419542 L23.4220024,7.55995345 C22.8430024,6.76095343 21.9170024,6.2909534 20.9320024,6.2909534 C19.9470024,6.2909534 19.0210024,6.7629534 18.4430023,7.55995345 L-0.137997031,33.1419542 C-0.817997038,34.0769542 -0.912997007,35.3199542 -0.388997018,36.3469541 C0.135986328,37.3790283 1.19702148,38.0279541 2.35400391,38.0279541 C2.35400391,38.0279541 1.19702148,38.0279541 2.35400391,38.0279541 L2.35400391,38.0279541" id="Shape" fill="rgb(100,100,100)" transform="translate(-207.065652, -202.840546) rotate(-180) translate(207.065652, 202.840546)"></path>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 23.500000) rotate(-180.000000) translate(-22.000000, -23.500000)">
|
||||
<g id="Page 1" fill="rgb(222,223,222)">
|
||||
<g id="Group" fill="rgb(0,0,0)">
|
||||
<path d="M3.48530778,39.7090464 L40.6463071,39.7090464 C41.8023053,39.7090464 42.8623067,39.0600481 43.3873082,38.0280466 C43.6143056,37.5890474 43.7243062,37.1090479 43.7243062,36.6310472 C43.7243062,35.9940462 43.5243054,35.3570452 43.1353055,34.8230448 L24.5533067,9.24104548 C23.9743062,8.44204569 23.0483056,7.9720459 22.0633069,7.9720459 C21.0783063,7.9720459 20.1523057,8.44404554 19.5743066,9.24104548 L0.993306841,34.8230448 C0.313306834,35.7580462 0.218306865,37.0010462 0.742306854,38.0280466 C1.2672902,39.0601206 2.32832536,39.7090464 3.48530778,39.7090464 C3.48530778,39.7090464 2.32832536,39.7090464 3.48530778,39.7090464 L3.48530778,39.7090464" id="Shape" fill="rgb(99,100,99)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,11 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="42px" height="42px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>arrow-right-double</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
|
||||
<g id="Group" fill="rgb(0,0,0)">
|
||||
<path d="M7.32121281,41.8181084 L34.5477114,41.8181084 C35.3946701,41.8181084 36.1712932,40.932299 36.5559413,39.5237392 C36.7222559,38.9245553 36.8028488,38.2694112 36.8028488,37.616997 C36.8028488,36.7475662 36.6563162,35.8781353 36.3713102,35.1492876 L22.7569611,0.232836341 C22.3327491,-0.857705628 21.6543029,-1.49920092 20.9326296,-1.49920092 C20.2109563,-1.49920092 19.5325101,-0.854975896 19.1090307,0.232836341 L5.4954153,35.1492876 C4.99720429,36.4254537 4.9276013,38.1220039 5.31151684,39.5237392 C5.69615284,40.9324003 6.47353431,41.8181084 7.32121281,41.8181084 C7.32121281,41.8181084 6.47353431,41.8181084 7.32121281,41.8181084 L7.32121281,41.8181084" id="Shape" fill="rgb(100,100,100)" transform="translate(-213.065652, -198.840546) rotate(-270) translate(213.065652, 198.840546)"></path>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 22.500000) rotate(-270.000000) translate(-22.000000, -22.500000)">
|
||||
<g id="Page 1" fill="rgb(222,223,222)">
|
||||
<g id="Group" fill="rgb(0,0,0)">
|
||||
<path d="M3.76020197,38.3028483 L40.9212013,38.3028483 C42.0771995,38.3028483 43.1372009,37.65385 43.6622024,36.6218485 C43.8891998,36.1828494 43.9992004,35.7028498 43.9992004,35.2248492 C43.9992004,34.5878481 43.7991996,33.9508471 43.4101997,33.4168467 L24.8282009,7.83484741 C24.2492004,7.03584762 23.3231998,6.56584783 22.3382011,6.56584783 C21.3532005,6.56584783 20.4271999,7.03784748 19.8492008,7.83484741 L1.26820104,33.4168467 C0.588201029,34.3518481 0.49320106,35.5948481 1.01720105,36.6218485 C1.5421844,37.6539225 2.60321955,38.3028483 3.76020197,38.3028483 C3.76020197,38.3028483 2.60321955,38.3028483 3.76020197,38.3028483 L3.76020197,38.3028483" id="Shape" fill="rgb(99,100,99)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,13 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="200px" height="200px" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>artist-placeholder-grid</title>
|
||||
<title>Slice 1</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<g id="artist-placeholder" fill="rgb(0,0,0)">
|
||||
<g id="Page 1" fill="rgb(214,215,214)">
|
||||
<path d="M0,200 L200,200 L200,0 L0,0 L0,200 Z M0,200" id="Rectangle 4" fill="rgb(0,0,0)"></path>
|
||||
<path d="M187,78 C187,76 185,74 182,74 L125,73 L107,16 C106,14 104,13 102,13 C99,13 98,14 97,16 L78,73 L21,74 C19,74 17,76 16,78 C16,80 16,83 18,84 L63,120 L47,178 C46,180 47,182 49,184 C51,185 53,185 55,184 L102,149 L149,184 C149,184 150,185 152,185 C153,185 154,184 155,184 C156,182 157,180 156,178 L140,120 L185,84 C187,83 188,80 187,78 C187,78 188,80 187,78 L187,78 M131,114 C129,115 128,117 129,120 L142,166 L105,138 C103,137 101,137 99,138 L61,166 L74,120 C75,117 74,115 73,114 L36,85 L82,84 C84,84 86,82 87,80 L102,34 L117,80 C117,82 119,84 122,84 L167,85 L131,114" id="Shape" fill="rgb(254,254,254)"></path>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="artist-placeholder-grid" sketch:type="MSLayerGroup" transform="translate(-1.000000, 0.000000)">
|
||||
<g id="Page 1" sketch:type="MSShapeGroup">
|
||||
<g id="artist-placeholder">
|
||||
<g id="Page 1">
|
||||
<path d="M0,200 L200,200 L200,0 L0,0 L0,200 L0,200 Z M0,200" id="Rectangle 4"></path>
|
||||
<path d="M187,78 C187,76 185,74 182,74 L125,73 L107,16 C106,14 104,13 102,13 C99,13 98,14 97,16 L78,73 L21,74 C19,74 17,76 16,78 C16,80 16,83 18,84 L63,120 L47,178 C46,180 47,182 49,184 C51,185 53,185 55,184 L102,149 L149,184 C149,184 150,185 152,185 C153,185 154,184 155,184 C156,182 157,180 156,178 L140,120 L185,84 C187,83 188,80 187,78 C187,78 188,80 187,78 L187,78 M131,114 C129,115 128,117 129,120 L142,166 L105,138 C103,137 101,137 99,138 L61,166 L74,120 C75,117 74,115 73,114 L36,85 L82,84 C84,84 86,82 87,80 L102,34 L117,80 C117,82 119,84 122,84 L167,85 L131,114" id="Shape" fill="#9B9B9B"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
data/images/inbox-512x512.png
Normal file
After Width: | Height: | Size: 14 KiB |
14
data/images/inbox.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>inbox</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M4,50 L4,91 L97,91 L97,50 L4,50 Z M25.7265625,19 L4,50 L97,50 L75.3945312,19 L25.7265625,19 Z M25.7265625,19" id="Rectangle 8" fill="#FFFFFF"></path>
|
||||
<g id="Group" transform="translate(1.000000, 3.000000)">
|
||||
<path id="Shape" fill="#9B9B9B" d="M97.3548503,45.9181572 L75.6276213,17.2579381 C75.0275732,16.4663384 74.0902433,16 73.0940852,16 L57.5359773,16 L57.5359773,22.3523915 L71.5135665,22.3523915 L91.6426285,48.9023312 L91.6426285,87.6436897 L6.3554106,87.6436897 L6.3554106,48.9023312 L26.4844725,22.3523915 L41.0072035,22.3523915 L41.0072035,16 L24.901993,16 C23.9058348,16 22.9704658,16.464379 22.3684569,17.2579381 L0.643188731,45.9181572 C0.225508244,46.4667906 0,47.1427854 0,47.8344554 L0,90.8198855 C0,92.5755125 1.42364335,94 3.17868577,94 L94.8213142,94 C96.5783176,94 98,92.5735531 98,90.8198855 L98,47.8344554 C98,47.1427854 97.7744918,46.46875 97.3548503,45.9181572 L97.3548503,45.9181572 Z M97.3548503,45.9181572"></path>
|
||||
<path id="Shape" fill="#9B9B9B" d="M62.1778225,50.999412 L62.1778225,61.1512722 L35.8199786,61.1512722 L35.8199786,50.999412 C35.8199786,49.9353752 34.9614682,49.0770259 33.9060517,49.0770259 L17.7243125,49.0770259 L30.466103,31.8467501 L30.9150488,31.8467501 C30.5862157,30.5750481 30.6964831,29.2262134 31.2616035,28 L29.5052015,28 C28.8967618,28 28.3277033,28.2867757 27.9673653,28.7752833 L12.3783132,49.8542869 C11.9451199,50.4397049 11.8801409,51.216966 12.2030668,51.8656724 C12.5279618,52.5163566 13.1915352,52.9257537 13.9161495,52.9257537 L31.9901559,52.9257537 L31.9901559,63.0776139 C31.9901559,64.1396729 32.8486663,65 33.9080208,65 L64.0917493,65 C65.1530729,65 66.0076452,64.1396729 66.0076452,63.0776139 L66.0076452,52.9257537 L84.0836207,52.9257537 C84.810204,52.9257537 85.4718083,52.5163566 85.7967033,51.8656724 C86.1215983,51.2189438 86.0526812,50.4397049 85.6214569,49.8542869 L70.0304358,28.7752833 C69.6700977,28.2867757 69.0990702,28 68.4925996,28 L67.2895036,28 C67.8703764,29.2598354 67.9688295,30.6541586 67.6084914,31.9495938 L80.2774267,49.0770259 L64.0937184,49.0770259 C63.0323948,49.0790036 62.1778225,49.9353752 62.1778225,50.999412 L62.1778225,50.999412 Z M62.1778225,50.999412"></path>
|
||||
<path id="Shape" fill="#67ABFE" d="M34.2040126,28.7107082 C33.8839325,29.3487239 33.9440687,30.1159085 34.3592029,30.6952111 L34.5784093,31.0044334 L46.9722983,48.2152015 C47.3292361,48.7103487 47.893741,49 48.4989833,49 C49.1042257,49 49.6706704,48.7103487 50.0256683,48.2152015 L62.4195574,31.0044334 L62.6387637,30.6952111 C63.0577777,30.1159085 63.115974,29.3487239 62.7939541,28.7107082 C62.473874,28.0746495 61.8240144,27.6734433 61.1120787,27.6734433 L52.9025094,27.6734433 L52.9025094,27.1978672 L52.9025094,22.0839557 L52.9025094,15.7390262 L52.9025094,4.44262492 C52.9025094,1.99233135 50.931592,0 48.4989833,0 C46.0663746,0 44.0954572,1.99233135 44.0954572,4.44262492 L44.0954572,15.7390262 L44.0954572,22.0839557 L44.0954572,27.1978672 L44.0954572,27.6734433 L35.8839481,27.6734433 C35.1758921,27.6734433 34.5279724,28.0746495 34.2040126,28.7107082 L34.2040126,28.7107082 Z M34.2040126,28.7107082"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
@@ -1,9 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="71px" height="71px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<svg width="50px" height="50px" viewBox="0 0 50 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>info</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<path d="M35.5340004,11 C22.0050001,11 11,22.0059996 11,35.5349998 C11,49.0640001 22.0050001,60.0720005 35.5340004,60.0720005 C49.0630007,60.0720005 60.0699997,49.0640001 60.0699997,35.5349998 C60.0699997,22.0059996 49.0630531,11 35.5340004,11 L35.5340004,11 L35.5340004,11 M36.2140541,18.2849731 C39.2040541,18.2849731 41.636054,20.7189732 41.636054,23.7089729 C41.636054,26.6989727 39.2040541,29.1319728 36.2140541,29.1319728 C33.2240541,29.1319728 30.7900543,26.6989727 30.7900543,23.7089729 C30.7900543,20.7189732 33.2240028,18.2849731 36.2140541,18.2849731 C36.2140541,18.2849731 33.2240028,18.2849731 36.2140541,18.2849731 L36.2140541,18.2849731 M43.6360512,50.75 C43.2080512,51.206 42.7490512,51.303 42.4390512,51.303 L29.9860511,51.303 C29.6750511,51.303 29.2150511,51.206 28.7890511,50.75 C28.4580511,50.395 28.290051,49.932 28.290051,49.374 C28.290051,48.807 28.453051,48.3319999 28.7750511,47.9649999 C29.2050511,47.4789999 29.6710511,47.3769999 29.986051,47.3769999 L31.4000511,47.3769999 L31.4000511,36.9980002 L29.986051,36.9980002 C29.675051,36.9980002 29.215051,36.9020002 28.789051,36.4450002 C28.458051,36.0900002 28.290051,35.6270002 28.290051,35.0680003 C28.290051,34.5020003 28.453051,34.0290002 28.775051,33.6620002 C29.205051,33.1740002 29.671051,33.0720003 29.986051,33.0720003 L40.4180511,33.0720003 C40.7550511,33.0720003 41.0270512,33.3440003 41.0270512,33.6790003 L41.0270512,47.3759998 L42.4390511,47.3759998 C42.7540511,47.3759998 43.2210511,47.4779998 43.6480511,47.9639998 C43.9720511,48.3309998 44.1360511,48.8059998 44.1360511,49.3729998 C44.1360512,49.9329834 43.9680214,50.3950195 43.6360512,50.75 C43.6360512,50.75 43.9680214,50.3950195 43.6360512,50.75 L43.6360512,50.75" id="Shape" fill="rgb(80,81,80)"></path>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="info" sketch:type="MSLayerGroup" fill="#A1B8CC">
|
||||
<g id="Page 1" sketch:type="MSShapeGroup">
|
||||
<path d="M24.5340004,0 C11.0050001,0 0,11.0059996 0,24.5349998 C0,38.0640001 11.0050001,49.0720005 24.5340004,49.0720005 C38.0630007,49.0720005 49.0699997,38.0640001 49.0699997,24.5349998 C49.0699997,11.0059996 38.0630531,0 24.5340004,0 L24.5340004,0 M25.2140541,7.2849731 C28.2040541,7.2849731 30.636054,9.7189732 30.636054,12.7089729 C30.636054,15.6989727 28.2040541,18.1319728 25.2140541,18.1319728 C22.2240541,18.1319728 19.7900543,15.6989727 19.7900543,12.7089729 C19.7900543,9.7189732 22.2240028,7.2849731 25.2140541,7.2849731 C25.2140541,7.2849731 22.2240028,7.2849731 25.2140541,7.2849731 L25.2140541,7.2849731 M32.6360512,39.75 C32.2080512,40.206 31.7490512,40.303 31.4390512,40.303 L18.9860511,40.303 C18.6750511,40.303 18.2150511,40.206 17.7890511,39.75 C17.4580511,39.395 17.290051,38.932 17.290051,38.374 C17.290051,37.807 17.453051,37.3319999 17.7750511,36.9649999 C18.2050511,36.4789999 18.6710511,36.3769999 18.986051,36.3769999 L20.4000511,36.3769999 L20.4000511,25.9980002 L18.986051,25.9980002 C18.675051,25.9980002 18.215051,25.9020002 17.789051,25.4450002 C17.458051,25.0900002 17.290051,24.6270002 17.290051,24.0680003 C17.290051,23.5020003 17.453051,23.0290002 17.775051,22.6620002 C18.205051,22.1740002 18.671051,22.0720003 18.986051,22.0720003 L29.4180511,22.0720003 C29.7550511,22.0720003 30.0270512,22.3440003 30.0270512,22.6790003 L30.0270512,36.3759998 L31.4390511,36.3759998 C31.7540511,36.3759998 32.2210511,36.4779998 32.6480511,36.9639998 C32.9720511,37.3309998 33.1360511,37.8059998 33.1360511,38.3729998 C33.1360512,38.9329834 32.9680214,39.3950195 32.6360512,39.75 C32.6360512,39.75 32.9680214,39.3950195 32.6360512,39.75 L32.6360512,39.75" id="Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.3 KiB |
145
data/images/inputfield-border.svg
Normal file
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="32"
|
||||
version="1.1"
|
||||
viewBox="0 0 32 32"
|
||||
width="32"
|
||||
x="0px"
|
||||
y="0px"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="inputfield-border.svg">
|
||||
<metadata
|
||||
id="metadata18">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs16">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 22 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="44 : 22 : 1"
|
||||
inkscape:persp3d-origin="22 : 14.666667 : 1"
|
||||
id="perspective2836" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2880"
|
||||
inkscape:window-height="1720"
|
||||
id="namedview14"
|
||||
showgrid="true"
|
||||
inkscape:zoom="22.627417"
|
||||
inkscape:cx="27.047196"
|
||||
inkscape:cy="19.278199"
|
||||
inkscape:window-x="-12"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2990"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<g
|
||||
id="g4599">
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.65625,2.53125 C 0.01699841,4.4354339 3.6476695,11.37715 2.5,15.15625 c 0.9104726,4.415191 -1.74364624,10.215434 1.125,13.9375 7.922985,0.877493 16.321668,0.399451 24.3125,0.1875 C 31.683761,26.34472 28.403491,19.966164 29.5,15.84375 28.337107,11.830292 31.896487,5.0854716 27.625,2.59375 19.995242,2.3871025 12.300962,2.5260218 4.65625,2.53125 z"
|
||||
id="path4601"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.78125,2.15625 C -0.50384498,3.6307191 3.3089847,11.154694 2.15625,15 c 0.9229661,4.546013 -1.76090684,10.511754 1.125,14.3125 7.901377,1.296184 16.629903,0.28974 24.6875,0.375 C 32.275546,27.028776 28.653465,20.168522 29.84375,16 28.645472,11.822061 32.315037,4.9433197 27.90625,2.3125 20.331149,1.9143664 12.389796,2.2847244 4.78125,2.15625 z"
|
||||
id="path4605"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="m 4.71875,1.8125 c -5.60622152,1.4178135 -1.8407007,9.335986 -2.9375,13.3125 1.0422893,4.584739 -2.09676889,11.02483 1.5625,14.625 8.081978,0.980787 16.725347,0.518622 24.875,0.1875 4.402595,-2.83693 0.856871,-9.769091 2,-14.0625 -1.179633,-4.234007 2.610959,-11.6624143 -2.4375,-14 C 20.11261,1.665057 12.395997,1.8099213 4.71875,1.8125 z"
|
||||
id="path4609"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.34375,1.46875 C -1.4013281,3.6570978 2.6368879,11.554337 1.4375,16.09375 2.5716902,20.523565 -1.4013805,28.864524 4.59375,30.53125 12.624379,30.017378 21.200972,31.58868 28.96875,30 32.860269,25.890157 29.400879,19.01996 30.5625,13.90625 29.907854,10.034046 32.893088,1.9946986 26.90625,1.4375 19.397406,1.4612481 11.795029,1.3918794 4.34375,1.46875 z"
|
||||
id="path4613"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="m 4.625,1.09375 c -6.2068547,1.3257477 -2.6318919,9.686262 -3.5625,13.96875 1.1448342,4.811525 -2.4458629,11.943183 2.09375,15.40625 8.111337,1.130173 16.686474,0.284334 24.90625,0.3125 5.588519,-2.412228 1.736328,-10.285499 2.875,-14.84375 C 29.823429,11.396143 33.723745,3.1822192 27.75,1.125 20.050017,0.99409221 12.327794,1.0658584 4.625,1.09375 z"
|
||||
id="path4617"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.59375,0.75 C -0.61385497,1.3040672 0.78718888,7.8712117 0.71875,11.459821 1.1629644,17.279444 -0.11932148,23.455713 1.25,29.09375 c 2.821567,4.196632 8.916358,1.349939 13.066963,2.1875 C 19.332991,30.61559 25.044407,32.586609 29.6875,30.375 33.051694,26.90515 30.469139,21.267325 31.28125,16.968751 30.597411,12.179526 32.636881,6.6229625 30.3125,2.25 26.821643,-1.0138505 21.248342,1.5206042 16.968751,0.71875 12.844428,0.74314509 8.7159665,0.67222023 4.59375,0.75 z"
|
||||
id="path4621"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.53125,0.375 C 1.3894018,0.60024126 -0.18415805,3.9813327 0.34375,6.8169646 0.40966407,13.865499 0.21403433,20.929441 0.4375,27.96875 c 0.5865041,3.066072 3.9812099,4.147942 6.7366076,3.6875 6.9294814,-0.06599 13.8743884,0.129817 20.7946424,-0.09375 3.066072,-0.586504 4.147942,-3.98121 3.6875,-6.736608 C 31.590265,17.896411 31.786067,10.951504 31.5625,4.03125 30.975996,0.96517848 27.58129,-0.11669206 24.825892,0.34375 18.061449,0.36541598 11.293922,0.30095384 4.53125,0.375 z"
|
||||
id="path4625"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path4629"
|
||||
d="m 5,0 22,0 c 2.77,0 5,2.23 5,5 l 0,22 c 0,2.77 -2.23,5 -5,5 L 5,32 C 2.23,32 0,29.77 0,27 L 0,5 C 0,2.23 2.23,0 5,0 z"
|
||||
style="opacity:0.064667;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.46875,-0.3125 C 0.98344595,-0.12851319 -0.95137919,3.548349 -0.34375,6.7857146 -0.21552288,13.997692 -0.59536534,21.254525 -0.16338012,28.44023 0.58057677,31.627772 4.1300096,32.842509 7.1428576,32.34375 14.235767,32.215407 21.373601,32.595537 28.44023,32.16338 31.627772,31.419423 32.842509,27.86999 32.34375,24.857142 32.215407,17.764233 32.595537,10.626399 32.16338,3.5597705 31.419423,0.37222754 27.86999,-0.84250881 24.857142,-0.34375 18.061422,-0.32218456 11.26281,-0.38641136 4.46875,-0.3125 z"
|
||||
id="path4631"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="m 4.46875,-0.6875 c -4.88903887,0.31100674 -5.938444,6.0477797 -5.1875,9.9732151 0.41575444,6.5986889 -0.7714644,13.4654919 0.46875,19.9330349 2.5002101,5.615111 9.8337653,2.870216 14.535716,3.5 5.227227,-0.673134 11.102211,1.356807 15.964284,-1 4.618144,-3.665229 1.605796,-10.45511 2.46875,-15.433038 C 31.834965,11.207777 34.77447,4.6031 30.625,0.5625 26.002847,-2.3037853 19.99663,0.03815215 14.857141,-0.71875 11.394973,-0.69362162 7.9291701,-0.76635345 4.46875,-0.6875 z"
|
||||
id="path4635"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.4375,-1.03125 C -2.4288841,-0.40966905 -1.3119005,8.2085409 -1.0625,13 0.16788472,19.074593 -3.8317535,27.473817 1.59375,32.0625 8.5628736,34.728281 16.662641,32.170927 24,33.0625 29.022589,34.430248 34.293748,30.315663 33.0625,25 32.365371,17.457535 34.334575,9.3983493 32.34375,2.09375 28.430894,-3.9134302 19.817453,0.11168301 14,-1.0625 c -3.186531,0.031844 -6.3778449,-0.056838 -9.5625,0.03125 z"
|
||||
id="path4639"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.40625,-1.40625 C -2.6356932,-0.73578486 -1.8066321,7.9924057 -1.4375,13 -0.23753983,19.199171 -4.2465159,27.811194 1.46875,32.40625 8.5086357,35.093269 16.607199,32.562499 24,33.4375 29.206688,34.80078 34.643458,30.487912 33.4375,25 32.720722,17.386853 34.764131,9.2829251 32.65625,1.90625 28.669603,-4.2590766 19.946075,-0.32351915 14,-1.4375 c -3.196957,0.031744 -6.3986661,-0.056723 -9.59375,0.03125 z"
|
||||
id="path4643"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.375,-1.75 C -2.3899272,-1.2431511 -2.4446337,7.0084439 -1.78125,12 -0.57839019,18.49983 -4.4259935,26.910214 0.625,32.21875 6.6149095,35.870482 14.375511,32.750815 21,33.78125 26.00645,34.811355 33.908351,33.579761 33.78125,27 33.025646,18.677041 35.173733,9.8203103 32.96875,1.75 28.969659,-4.6437363 20.059663,-0.68188005 14,-1.78125 10.792617,-1.7496477 7.5805122,-1.8377839 4.375,-1.75 z"
|
||||
id="path4647"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.875,-2.125 C -1.8309464,-2.1825575 -3.2026722,5.8349656 -2.15625,11 -1.080826,17.712074 -4.3881621,25.748049 -0.375,31.6875 4.9763374,36.782756 13.437274,32.97527 20,34.15625 25.186853,34.907535 33.649994,34.582135 34.09375,27.625 33.532181,19.108316 35.431584,10.074869 33.375,1.78125 29.243722,-5.2757831 19.506448,-0.97339883 13,-2.15625 10.294719,-2.1339361 7.5677947,-2.1998142 4.875,-2.125 z"
|
||||
id="path4651"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
|
||||
d="M 4.34375,-2.46875 C -2.8099687,-2.0064215 -3.3295148,6.5980666 -2.5,12 -1.2963625,18.720406 -5.2816016,27.573393 0.3125,32.875 6.7337709,36.640288 14.932728,33.450664 22,34.5 27.257415,35.699243 34.692301,33.44159 34.5,27 33.751825,18.586732 35.895885,9.6625663 33.65625,1.5 29.388001,-5.6000779 19.620414,-1.344641 13,-2.5 c -2.884405,0.032599 -5.7737456,-0.058009 -8.65625,0.03125 z"
|
||||
id="path4655"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
49
data/images/network-activity.svg
Normal file
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="82px" height="82px" viewBox="0 0 82 82" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>Network Activity</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="100%" id="radialGradient-1">
|
||||
<stop stop-color="#FF374A" offset="0%"></stop>
|
||||
<stop stop-color="#B60000" offset="100%"></stop>
|
||||
</radialGradient>
|
||||
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner1" result="shadowBlurInner1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"></feColorMatrix>
|
||||
<feMerge>
|
||||
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||
<feMergeNode in="shadowMatrixInner1"></feMergeNode>
|
||||
</feMerge>
|
||||
</filter>
|
||||
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-3">
|
||||
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner1" result="shadowBlurInner1"></feGaussianBlur>
|
||||
<feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"></feColorMatrix>
|
||||
<feMerge>
|
||||
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||
<feMergeNode in="shadowMatrixInner1"></feMergeNode>
|
||||
</feMerge>
|
||||
</filter>
|
||||
<radialGradient cx="-93.3681184%" cy="64.1660344%" fx="-93.3681184%" fy="64.1660344%" r="100%" id="radialGradient-4">
|
||||
<stop stop-color="#FF374A" offset="0%"></stop>
|
||||
<stop stop-color="#B60000" offset="100%"></stop>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="Group" sketch:type="MSLayerGroup" transform="translate(29.000000, 10.000000)" fill="url(#radialGradient-1)">
|
||||
<path d="M6,4 C6,3.61624999 6.31125,3.30749997 6.69499999,3.30749997 C6.69624999,3.30749997 6.70124999,3.30749997 6.70499999,3.30874998 C6.84999999,1.48499999 8.37249998,0.048749925 10.2349998,0.048749925 C12.0937498,0.048749925 13.6187499,1.48499999 13.76125,3.30874998 C13.76625,3.30749997 13.76875,3.30749997 13.77375,3.30749997 C14.155,3.30749997 14.46375,3.61624997 14.46375,4 C14.46375,4.28124999 14.2975,4.52375 14.055,4.63124999 C14.195,5.04125001 14.27375,5.47874996 14.27375,5.93499997 C14.27375,8.16624993 12.46375,9.97374991 10.235,9.97374991 C8.00375006,9.97374976 6.1925,8.16624993 6.1925,5.93499997 C6.1925,5.47874996 6.27249999,5.04125001 6.41125,4.63124999 C6.17000001,4.52375 6,4.28124999 6,4" id="path932" filter="url(#filter-2)" sketch:type="MSShapeGroup"></path>
|
||||
<path d="M13.75,62 L12.45,62 L10.2162501,56.5512497 L7.97999978,62 L6.67750001,62 C3.06125015,62 0.534999967,58.6249999 0.534999967,53.8062502 C0.527499967,53.4325002 0.369999968,44.6300001 1.11374997,40.8412505 C1.65999997,38.0587505 2.65749998,37.2500007 3.39125,37.0575006 L4.36875001,12.8487499 C4.38250001,12.5437499 4.63125,12.3024999 4.93750002,12.3024999 L8.26124992,12.3024999 C8.56374992,12.3024999 8.81249994,12.5412499 8.82749993,12.8437499 L9.82749995,33.3787492 L10.2162499,33.8237492 L10.6024999,33.3787492 L11.6012499,12.8437499 C11.6174999,12.5412499 11.8649999,12.3024999 12.1675,12.3024999 L15.49375,12.3024999 C15.79625,12.3024999 16.05,12.5437499 16.0625,12.8487499 L17.03625,37.0537503 C17.75125,37.2300003 18.85125,37.9875003 19.3187499,40.8587502 C19.94,44.6562503 19.8974999,53.4275005 19.8949999,53.7950001 C19.8949999,58.6249999 17.3699999,62 13.75,62" id="path944" filter="url(#filter-3)" sketch:type="MSShapeGroup" transform="translate(10.206284, 37.151250) rotate(-180.000000) translate(-10.206284, -37.151250) "></path>
|
||||
</g>
|
||||
<g id="Group" sketch:type="MSLayerGroup" transform="translate(53.000000, 18.000000)" fill="url(#radialGradient-1)">
|
||||
<path d="M6.25,2.5 L6.25875,2.5 C6.3675,1.13374993 7.50875,0.0575000048 8.90250001,0.0575000048 C10.2975001,0.0575000048 11.4387501,1.13375001 11.5450001,2.5 L11.5537501,2.5 C11.8412501,2.5 12.0725001,2.73250001 12.0725001,3.01750001 C12.0725001,3.22875001 11.9450001,3.41000002 11.7662501,3.48999999 C11.8700001,3.7975 11.9262501,4.12500001 11.9262501,4.4675 C11.9262501,6.14000008 10.5737501,7.49375001 8.90250022,7.49375001 C7.2312502,7.49375001 5.87625021,6.14000008 5.87625021,4.4675 C5.87625021,4.12500001 5.93375021,3.79749998 6.04000021,3.48999999 C5.85875001,3.40999998 5.73375002,3.22875001 5.73375002,3.01750001 C5.73375002,2.73250001 5.96375,2.5 6.25,2.5" id="path940" sketch:type="MSShapeGroup"></path>
|
||||
<path d="M10.9140107,46.8300004 L9.93776063,46.8300004 L8.26401065,42.7487503 L6.59026067,46.8300004 L5.61651069,46.8300004 C2.90651071,46.8300004 1.01276058,44.3037506 1.01276058,40.6912507 C1.00901058,40.4125007 0.889010577,33.8187505 1.44651058,30.9812506 C1.85651059,28.8962506 2.60401058,28.2912506 3.15526056,28.1462507 L3.88526055,10.0112502 C3.89526055,9.78375024 4.08401054,9.60375023 4.31026055,9.60375023 L6.80151059,9.60375023 C7.02776058,9.60375023 7.21276059,9.78125023 7.22526058,10.0087502 L7.9752606,25.3912499 L8.26401061,25.7249999 L8.55651061,25.3912499 L9.30526058,10.0087502 C9.31401058,9.78125023 9.50276059,9.60375023 9.72776058,9.60375023 L12.2190106,9.60375023 C12.4477606,9.60375023 12.6352606,9.78375022 12.6452606,10.0112502 L13.3752606,28.1437497 C13.9102606,28.2762497 14.7315106,28.8424997 15.0852606,30.9949996 C15.5515106,33.8400008 15.5165106,40.4087507 15.5165106,40.6837507 C15.5165106,44.3037506 13.6240105,46.8300004 10.9140107,46.8300004 Z M10.9140107,46.8300004" id="path952" sketch:type="MSShapeGroup" transform="translate(8.258255, 28.216875) rotate(-180.000000) translate(-8.258255, -28.216875) "></path>
|
||||
</g>
|
||||
<g id="Group" sketch:type="MSLayerGroup" transform="translate(12.000000, 18.000000)" fill="url(#radialGradient-4)">
|
||||
<path d="M13.4598564,24.1621039 L11.2636064,33.4007741 C11.3666619,33.8297424 11.4755508,34.2372622 11.6223564,34.77254 C11.9062453,35.8207145 12.3369397,37.4032345 13.1108286,40.6932344 C13.510412,43.199901 12.7793008,44.6369448 12.0948564,45.4006946 C11.4522175,46.1196827 10.5781898,46.5318653 9.70124543,46.5318653 L9.2715232,46.5318653 L6.82346776,40.8032739 L4.37443993,46.5309328 L4.04291216,46.5309328 C3.12805106,46.5309328 2.22971771,46.1206153 1.58416212,45.408155 C0.907495469,44.6602582 0.176384383,43.2362701 0.554578768,40.6661907 C1.36443988,37.1216073 1.83110651,35.4905953 2.14027325,34.4125797 C2.24235658,34.0516869 2.32693992,33.7579368 2.39985658,33.4735123 L0.167634351,24.0819051 C0.135551018,23.9532146 0.168606573,23.8198614 0.252217682,23.7182146 C0.337773237,23.6165678 0.467078794,23.5568852 0.602217696,23.5568852 L2.52138434,23.5568852 L3.11930102,9.37575449 C3.12805102,9.1454172 3.3244399,8.96357195 3.56360656,8.96357195 L5.29027325,8.96357195 C5.5284677,8.96357195 5.72388437,9.14355211 5.73749548,9.37202433 L6.45596772,23.5568859 L7.20360661,23.5568859 L7.92207885,9.37202433 C7.93471774,9.1435521 8.13110663,8.96357195 8.36930108,8.96357195 L10.0940233,8.96357195 C10.3341622,8.96357195 10.5324956,9.14541718 10.5422178,9.37575449 L11.1362456,23.5568852 L13.0437456,23.5568852 L13.0524956,23.5568852 C13.29944,23.5568852 13.4987456,23.7489884 13.4987456,23.9858535 C13.4987453,24.048334 13.4851342,24.1089491 13.4598564,24.1621039" id="path1076" sketch:type="MSShapeGroup" transform="translate(6.827150, 27.747719) rotate(-180.000000) translate(-6.827150, -27.747719) "></path>
|
||||
<path d="M2.93902801,0.78146832 L2.94097246,0.78146832 C3.4105558,0.78146832 4.0561113,0.878452449 4.44305575,1.33632946 C4.53152797,1.44170644 4.60638908,1.53775803 4.67347242,1.63007946 C5.13527797,0.745099296 6.04333357,0.136150886 6.72000022,0.136150886 C7.4550002,0.136150886 8.33000023,0.742301658 8.77041685,1.62168665 C8.836528,1.53123024 8.9104171,1.43797625 8.99791678,1.33632946 C9.38291669,0.877519908 10.0275001,0.78146832 10.5000002,0.78146832 C10.9413891,0.78146832 11.76875,0.901765933 11.76875,1.13210323 C11.76875,1.15541673 11.7609728,1.23281752 11.6511118,1.26172624 C11.5898611,1.27664691 11.529584,1.27944449 11.309861,1.26359135 C11.0463889,1.26359135 10.7897223,1.61236115 10.5563892,2.14111113 C10.5884725,2.1383136 10.6186115,2.12619057 10.6536113,2.12619057 C10.9686112,2.12619057 11.2408331,2.26793656 11.3750003,2.35279763 C11.4595835,2.40408738 11.7279169,2.58686514 11.7279169,2.75938503 C11.7279169,2.87128969 11.6190285,2.97013885 11.3390283,2.89087316 C11.326389,2.88621036 11.3118062,2.88527788 11.2952783,2.88527788 C10.8500003,2.88527788 10.1869446,4.5797024 9.84083355,5.83863089 C9.83500017,5.86474233 9.82625034,5.88992085 9.81847267,5.91603185 C9.8165279,5.92162713 9.8145836,5.92815488 9.81263929,5.93375016 L9.81069453,5.9356151 C9.48305574,7.28500004 8.22694481,8.29214283 6.72000018,8.29214283 C5.21402793,8.29214283 3.95597246,7.28500004 3.62736135,5.9356151 L3.62541687,5.93375016 C3.62347246,5.92815488 3.62152804,5.92162713 3.61958356,5.91603185 C3.61375024,5.88992085 3.60402803,5.86474233 3.59819466,5.83863089 C3.25402802,4.5797024 2.59000024,2.88527788 2.14375022,2.88527788 C2.12819466,2.88527788 2.11361133,2.88621042 2.10000022,2.89087312 C1.82291689,2.970139 1.71111132,2.87128979 1.71111132,2.75938502 C1.71111132,2.53837312 2.26527798,2.12619056 2.78638905,2.12619056 C2.81944461,2.12619056 2.84472238,2.13738104 2.87583349,2.14017866 C2.63763912,1.61236115 2.37513914,1.26545641 2.10291689,1.26545641 C2.03291689,1.27105165 1.97361133,1.27384927 1.92597245,1.27384927 C1.86472245,1.27384927 1.67027799,1.27384927 1.67027799,1.13210324 C1.67027807,0.901765933 2.49763913,0.78146832 2.93902801,0.78146832" id="path1080" sketch:type="MSShapeGroup" transform="translate(6.719514, 4.214147) rotate(-180.000000) translate(-6.719514, -4.214147) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 10 KiB |
23
data/images/new-inbox.svg
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>new-inbox</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
|
||||
<stop stop-color="#039EFF" offset="0%"></stop>
|
||||
<stop stop-color="#67ABFE" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-2">
|
||||
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
|
||||
<feMerge>
|
||||
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<circle d="M49,73 C62.8071194,73 74,61.8071194 74,48 C74,34.1928806 62.8071194,23 49,23 C35.1928806,23 24,34.1928806 24,48 C24,61.8071194 35.1928806,73 49,73 Z M49,73" id="Oval 2" fill="url(#linearGradient-1)" filter="url(#filter-2)" sketch:type="MSShapeGroup" cx="49" cy="48" r="25"></circle>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
18
data/images/outbox.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>outbox</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="inbox" sketch:type="MSLayerGroup" transform="translate(1.000000, 2.000000)">
|
||||
<g id="Page 1" sketch:type="MSShapeGroup">
|
||||
<path d="M3,50 L3,91 L96,91 L96,50 L3,50 L3,50 Z M24.7265625,19 L3,50 L96,50 L74.3945312,19 L24.7265625,19 L24.7265625,19 Z M24.7265625,19" id="Rectangle 8" fill="#FFFFFF"></path>
|
||||
<g id="Group">
|
||||
<path d="M75.6276213,20.2579381 C75.0275732,19.4663384 74.0902433,19 73.0940852,19 L70.2802734,20.2579381 L71.5135665,25.3523915 L91.6426285,51.9023312 L91.6426285,90.6436897 L6.3554106,90.6436897 L6.3554106,51.9023312 L26.4844725,25.3523915 L26.4844723,20.2579381 L24.901993,19 C23.9058348,19 22.9704658,19.464379 22.3684569,20.2579381 L0.643188731,48.9181572 C0.225508244,49.4667906 0,50.1427854 0,50.8344554 L0,93.8198855 C0,95.5755125 1.42364335,97 3.17868577,97 L94.8213142,97 C96.5783176,97 98,95.5735531 98,93.8198855 L98,50.8344554 C98,50.1427854 97.7744918,49.46875 97.3548503,48.9181572 L75.6276213,20.2579381 Z M75.6276213,20.2579381" id="Shape" fill="#9B9B9B"></path>
|
||||
<path d="M62.1778225,53.999412 L62.1778225,64.1512722 L35.8199786,64.1512722 L35.8199786,53.999412 C35.8199786,52.9353752 34.9614682,52.0770259 33.9060517,52.0770259 L17.7243125,52.0770259 L30.466103,34.8467501 L30.9150488,34.8467501 C30.5862157,33.5750481 30.6964831,32.2262134 31.2616035,31 L29.5052015,31 C28.8967618,31 28.3277033,31.2867757 27.9673653,31.7752833 L12.3783132,52.8542869 C11.9451199,53.4397049 11.8801409,54.216966 12.2030668,54.8656724 C12.5279618,55.5163566 13.1915352,55.9257537 13.9161495,55.9257537 L31.9901559,55.9257537 L31.9901559,66.0776139 C31.9901559,67.1396729 32.8486663,68 33.9080208,68 L64.0917493,68 C65.1530729,68 66.0076452,67.1396729 66.0076452,66.0776139 L66.0076452,55.9257537 L84.0836207,55.9257537 C84.810204,55.9257537 85.4718083,55.5163566 85.7967033,54.8656724 C86.1215983,54.2189438 86.0526812,53.4397049 85.6214569,52.8542869 L70.0304358,31.7752833 C69.6700977,31.2867757 69.0990702,31 68.4925996,31 L67.2895036,31 C67.8703764,32.2598354 67.9688295,33.6541586 67.6084914,34.9495938 L80.2774267,52.0770259 L64.0937184,52.0770259 C63.0323948,52.0790036 62.1778225,52.9353752 62.1778225,53.999412 L62.1778225,53.999412 L62.1778225,53.999412 Z M62.1778225,53.999412" id="Shape" fill="#9B9B9B"></path>
|
||||
<path d="M34.7040126,29.2107082 C34.3839325,29.8487239 34.4440687,30.6159085 34.8592029,31.1952111 L35.0784093,31.5044334 L47.4722983,48.7152015 C47.8292361,49.2103487 48.393741,49.5 48.9989833,49.5 C49.6042257,49.5 50.1706704,49.2103487 50.5256683,48.7152015 L62.9195574,31.5044334 L63.1387637,31.1952111 C63.5577777,30.6159085 63.615974,29.8487239 63.2939541,29.2107082 C62.973874,28.5746495 62.3240144,28.1734433 61.6120787,28.1734433 L53.4025094,28.1734433 L53.4025094,27.6978672 L53.4025094,22.5839557 L53.4025094,16.2390262 L53.4025094,4.94262492 C53.4025094,2.49233135 51.431592,0.5 48.9989833,0.5 C46.5663746,0.5 44.5954572,2.49233135 44.5954572,4.94262492 L44.5954572,16.2390262 L44.5954572,22.5839557 L44.5954572,27.6978672 L44.5954572,28.1734433 L36.3839481,28.1734433 C35.6758921,28.1734433 35.0279724,28.5746495 34.7040126,29.2107082 L34.7040126,29.2107082 L34.7040126,29.2107082 Z M34.7040126,29.2107082" id="Shape" fill="#99CC00" transform="translate(49.000000, 25.000000) rotate(-180.000000) translate(-49.000000, -25.000000) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
13
data/images/refresh.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="44px" height="44px" viewBox="0 0 44 44" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>refresh</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="refresh" transform="translate(0.000000, 1.000000)" fill="#FFFFFF">
|
||||
<g id="Page 1">
|
||||
<path d="M43.8927655,25.3359998 L37.0097656,15.8609994 C36.8167656,15.5939995 36.5067655,15.4359994 36.1767656,15.4359994 C35.8477656,15.4359994 35.5367656,15.5939994 35.3437656,15.8609994 L28.4607657,25.3349994 C28.2317657,25.6489994 28.2007657,26.0639994 28.3767657,26.4079994 C28.5517657,26.7539994 28.9057656,26.9699994 29.2937657,26.9699994 L33.1067656,26.9699994 C32.2747656,28.3759994 31.2177656,29.6569994 29.9327656,30.7409993 C26.9367655,33.2659994 23.1357657,34.4739993 19.2317654,34.1419993 C15.3277653,33.8089993 11.7867652,31.9769993 9.26076567,28.9809995 C6.73476612,25.9849997 5.52876555,22.1849995 5.86076557,18.2809997 C6.19276556,14.3759997 8.0247656,10.8349996 11.0207654,8.30899958 C14.0167652,5.78299955 17.8147656,4.57699946 21.7207652,4.90899948 C25.5477651,5.23499949 29.0417653,7.01299957 31.5577651,9.91299967 C32.4277651,10.9149996 33.9457651,11.0219996 34.9487652,10.1539997 C35.9507651,9.28399966 36.0577651,7.76599965 35.1887651,6.76399956 C31.8467651,2.91299949 27.2097651,0.552999593 22.1277653,0.118999578 C16.9457651,-0.319000416 11.900765,1.28299961 7.92276535,4.63499937 C3.94576536,7.98899946 1.51276551,12.6899997 1.07176552,17.8729993 C0.630765507,23.0569993 2.23276553,28.0999995 5.58676539,32.0769998 C8.94076524,36.054 13.6417657,38.4869996 18.8247653,38.929 C19.3877653,38.977 19.9497653,39 20.5087653,39 C25.0917655,39 29.4847652,37.402 33.0287658,34.414 C35.4547659,32.369 37.3017655,29.8200002 38.4777657,26.9689999 L43.0587655,26.9689999 C43.4467655,26.9689999 43.7997655,26.7519999 43.9757655,26.4069999 C44.15276,26.0630506 44.1197705,25.6489881 43.8927655,25.3359998 C43.8927655,25.3359998 44.1197705,25.6489881 43.8927655,25.3359998 L43.8927655,25.3359998" id="Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 373 KiB |
@@ -1,43 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="47px" height="47px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>spotify-logo</title>
|
||||
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>Slice 1</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="62.2222222%" y1="-109.879447%" x2="62.2222222%" y2="100.079007%" id="linearGradient-1">
|
||||
<stop stop-color="rgb(211,224,107)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(133,163,46)" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="132.472281%" y1="113.795168%" x2="-9.02630224%" y2="19.3853017%" id="linearGradient-2">
|
||||
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="114.177516%" y1="87.9933558%" x2="2.46797803%" y2="25.4018941%" id="linearGradient-3">
|
||||
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="149.680203%" y1="114.783395%" x2="-1.23068876%" y2="20.5175511%" id="linearGradient-4">
|
||||
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="65.1692878%" y1="-1.15412394%" x2="65.1692878%" y2="100.967712%" id="linearGradient-5">
|
||||
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(254,255,254)" stop-opacity="0" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<radialGradient cx="47.4050141%" cy="100.000123%" fx="47.4050141%" fy="100.000123%" r="50%" id="radialGradient-6">
|
||||
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
|
||||
<radialGradient cx="50.8262172%" cy="19.7598471%" fx="50.8262172%" fy="19.7598471%" r="50%" id="radialGradient-1">
|
||||
<stop stop-color="#A9D03F" offset="0%"></stop>
|
||||
<stop stop-color="#A9D03F" offset="7.105015%"></stop>
|
||||
<stop stop-color="#A1CC3E" offset="24.677444%"></stop>
|
||||
<stop stop-color="#94C93D" offset="45.569649%"></stop>
|
||||
<stop stop-color="#8DC540" offset="59.65941%"></stop>
|
||||
<stop stop-color="#84BC41" offset="79.657596%"></stop>
|
||||
<stop stop-color="#79B641" offset="100%"></stop>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<g id="svg2" fill="rgb(0,0,0)">
|
||||
<g id="layer1">
|
||||
<path d="M46,23.4999996 C46,35.9264065 35.9264069,45.9999996 23.5,45.9999996 C11.0735931,45.9999996 1,35.9264065 1,23.4999996 C1,11.0735927 11.0735931,0.999999617 23.5,0.999999617 C35.9264069,0.999999617 46,11.0735927 46,23.4999996 C46,23.4999996 46,11.0735927 46,23.4999996 L46,23.4999996" id="path5513" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M10.3002453,11.6195555 C8.24102688,12.012805 7.94257736,15.3554049 10.7654648,15.3130732 C21.9770622,13.2014904 31.0487232,15.4988899 39.6700478,19.8260403 C40.8082466,20.3789711 42.6476097,18.0287037 41.0204697,16.7585106 C31.3168354,11.6140623 19.9609756,9.87804699 10.3002453,11.6195555 C10.3002453,11.6195555 19.9609756,9.87804699 10.3002453,11.6195555 L10.3002453,11.6195555" id="path7661" fill="url(#linearGradient-2)"></path>
|
||||
<path d="M12.3035316,19.1448269 C10.172718,19.3810368 9.82939053,22.9693108 12.5619602,22.6482792 C21.9036541,21.5098209 27.8536301,22.6287899 35.6833229,25.8085918 C37.6471901,26.8732643 38.7249985,23.4825859 36.9293365,22.6049614 C28.1335659,18.8897991 21.4121304,18.7261505 12.3035316,19.1448269 C12.3035316,19.1448269 21.4121304,18.7261505 12.3035316,19.1448269 L12.3035316,19.1448269" id="path7666" opacity="0.8" fill="url(#linearGradient-3)"></path>
|
||||
<path d="M14.4476528,25.7030106 C12.7541599,26.3083305 13.0538054,29.1486492 14.8631124,29.0521393 C17.8708324,28.7223721 20.1539478,28.7061386 23.6155319,29.0975533 C27.1264324,29.494545 29.2332573,30.4359741 32.1573563,31.4530487 C33.3504066,31.9618759 34.4471741,29.7644825 33.1875381,28.5280266 C29.9664268,27.2747231 27.415802,26.1748791 23.3885059,25.7194977 C20.0840149,25.3480473 17.7555847,25.3715115 14.4476528,25.7030106 C14.4476528,25.7030106 17.7555847,25.3715115 14.4476528,25.7030106 L14.4476528,25.7030106" id="path7668" opacity="0.6" fill="url(#linearGradient-4)"></path>
|
||||
<path d="M23.4999995,44.9999992 C11.6258773,44.9999992 1.9999994,35.3741214 1.9999994,23.4999993 C1.9999994,11.6258773 11.6258773,1.99999946 23.4999995,1.99999946 C35.3741217,1.99999946 44.9999996,11.6258773 44.9999996,23.4999993 C44.9999996,35.3741214 35.3741217,44.9999992 23.4999995,44.9999992 Z M23.4999995,44.9999992" id="path3894" stroke="rgb(0,0,0)" stroke-width="0.955555555" opacity="0.2"></path>
|
||||
<path d="M7.34768963,38.6745071 C7.87801963,38.6745071 11.00822,31.347157 22.94065,32.7613673 C34.8730803,34.1755773 36.25068,42.033257 36.25068,42.033257 C34.2001801,43.433877 32.01899,44.6602271 29.2680001,45.126857 C29.2680001,45.126857 26.2690802,39.5798371 20.8773904,39.933387 C15.4857006,40.286937 13.6232605,43.4474771 13.6232605,43.4474771 C10.8516705,42.4523971 8.70550013,40.8477371 7.34769011,38.6745069 C7.34769011,38.6745069 8.70550013,40.8477371 7.34769011,38.6745069 L7.34768963,38.6745071" id="path5529" fill="url(#radialGradient-6)"></path>
|
||||
<path d="M23.4999995,45.9999993 C11.0735926,46.0000012 0.9999995,35.9264062 0.9999995,23.4999993 C0.99999895,11.0735925 11.0735926,0.999999335 23.4999995,0.999999335 C35.9264064,0.999999335 45.9999995,11.0735925 45.9999995,23.4999993 C45.9999995,35.9264062 35.9264064,45.9999993 23.4999995,45.9999993 Z M23.4999995,45.9999993" id="path3892" stroke="rgb(117,143,56)" stroke-width="1"></path>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="svg2" sketch:type="MSLayerGroup" transform="translate(-3578.000000, -1.000000)">
|
||||
<g id="layer1" transform="translate(0.205880, 0.260670)" sketch:type="MSShapeGroup">
|
||||
<g id="g3128" transform="translate(3577.939315, 0.777349)">
|
||||
<g id="g3099" transform="translate(0.354801, 0.209030)">
|
||||
<path d="M193.437643,632.659533 L195.123066,649.176693 L207.876102,655.075649 C208.61026,635.537611 220.760227,623.670557 236.809201,620.805363 C287.667189,609.746278 350.224972,599.175766 423.104651,599.175766 C537.69697,599.175766 636.546844,627.589457 716.536846,676.368177 C728.346469,683.54526 732.213989,692.48324 733.896707,704.34618 L778.335699,675.581658 L767.09954,631.311187 L435.408243,542.320795 L125.290361,581.872088 L193.437643,632.659533 Z M193.437643,632.659533" id="path3103" stroke="#008080" stroke-width="0.60321335" fill="#7A9F3F"></path>
|
||||
<path d="M172.482213,509.286544 L187.538661,503.607354 C188.063083,484.734552 198.241386,469.043304 220.011149,463.105899 C276.33546,446.55852 342.484544,436.195362 414.733719,436.195362 C553.337209,436.195362 680.365755,472.505672 773.168293,528.463296 C788.018896,537.582595 793.722856,544.317514 796.523759,568.200359 L864.776004,530.687943 L578.11458,396.57358 L98.8624405,424.540587 L172.482213,509.286544 Z M172.482213,509.286544" id="path3105" stroke="#000080" stroke-width="0.60321335" fill="#82A73E"></path>
|
||||
<path d="M153.605473,350.070232 C152.076157,321.873002 166.872726,301.582443 188.549915,295.350126 C259.810578,274.652277 336.233219,264.506862 426.53168,264.506862 C576.724736,264.506862 727.614818,295.943186 838.000808,359.708052 C859.696193,371.514802 865.964969,387.375427 867.14592,411.606877 L935.646849,366.381993 L730.026064,192.541832 L100.769276,259.916791 L153.605473,350.070232 Z M153.605473,350.070232" id="path3107" stroke="#000000" stroke-width="0.60321335" fill="#81A83E"></path>
|
||||
<path d="M499.499987,0.252954078 C223.636558,0.252954078 0,223.868339 0,499.731895 C0,775.595316 223.636558,999.231882 499.499987,999.231882 C775.363415,999.231882 998.999974,775.595316 998.999974,499.731895 C998.999974,223.868339 775.363415,0.252954078 499.499987,0.252954078 L499.499987,0.252954078 Z M426.206543,260.943245 C572.876178,260.943245 727.193376,291.113719 839.912938,357.318749 C855.106318,365.924044 865.651016,378.898295 865.651016,402.681847 C865.651016,429.910701 843.765436,449.478352 818.538319,449.478352 C808.368472,449.478352 802.334438,447.003989 792.800241,441.784298 C702.388396,387.571922 562.085689,357.719226 426.396258,357.719226 C358.663817,357.719226 289.87104,364.607334 226.857649,381.707704 C219.600156,383.534168 210.428242,387.16733 201.246049,387.16733 C174.600109,387.16733 154.154431,366.087014 154.154431,339.443328 C154.154431,312.298387 170.977823,297.060501 189.125333,291.698212 C260.328459,270.721438 339.807595,260.943245 426.206543,260.943245 L426.206543,260.943245 Z M416.025141,432.57252 C546.769259,432.57252 673.250636,465.135467 772.690392,524.647805 C789.361104,534.207108 795.498418,546.34634 795.498418,564.129754 C795.498418,585.758205 778.279496,603.232205 756.564569,603.232205 C745.726425,603.232205 738.908806,598.852727 731.543195,594.568562 C650.290675,546.350185 537.6778,514.318914 414.35986,514.318914 C351.11133,514.318914 296.518727,523.175342 251.330956,535.208671 C241.595233,537.888096 236.137204,540.773661 227.026285,540.773661 C205.543773,540.773661 188.008119,523.267822 188.008119,501.607938 C188.008119,480.36762 198.309807,465.742557 219.079311,459.89156 C275.228953,444.470603 332.567773,432.57252 416.025141,432.57252 L416.025141,432.57252 Z M422.875981,595.685809 C532.179064,595.685809 629.593366,620.760574 713.414819,671.002852 C725.890454,678.286513 733.208476,685.729501 733.208476,704.203109 C733.208476,722.209932 718.564432,735.44287 702.137283,735.44287 C694.05938,735.44287 688.548347,732.640611 680.994538,728.043997 C608.602224,684.246044 518.339022,661.221961 422.538709,661.221961 C369.09223,661.221961 315.300392,668.07641 264.990477,678.549316 C256.809701,680.322827 246.514832,683.48192 240.369613,683.48192 C221.400881,683.48192 208.750353,668.414491 208.750353,652.094569 C208.750353,631.105451 220.860397,620.6544 235.921837,617.777132 C297.616561,603.71727 359.058918,595.685809 422.875981,595.685809 L422.875981,595.685809 Z M422.875981,595.685809" id="path3101" fill="url(#radialGradient-1)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 373 KiB |
@@ -1,92 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
width="194.88251"
|
||||
height="194.88251"
|
||||
id="svg3252"
|
||||
xml:space="preserve"><metadata
|
||||
id="metadata3258"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs3256"><clipPath
|
||||
id="clipPath3266"><path
|
||||
d="m 0,155.906 155.906,0 L 155.906,0 0,0 0,155.906 z"
|
||||
id="path3268" /></clipPath></defs><g
|
||||
transform="matrix(1.25,0,0,-1.25,0,194.8825)"
|
||||
id="g3260"><g
|
||||
id="g3262"><g
|
||||
clip-path="url(#clipPath3266)"
|
||||
id="g3264"><g
|
||||
transform="translate(0,3.7119)"
|
||||
id="g3270"><path
|
||||
d="m 0,0 c 0,-2.051 1.661,-3.712 3.711,-3.712 l 148.482,0 c 2.051,0 3.712,1.661 3.712,3.712 l 0,148.481 c 0,2.051 -1.661,3.712 -3.712,3.712 l -148.482,0 C 1.661,152.193 0,150.532 0,148.481 L 0,0 z"
|
||||
id="path3272"
|
||||
style="fill:#84b82d;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><path
|
||||
d="m 104.527,43.722 -1.413,0 0,-8.581 1.413,0 0,8.581 z m -9.569,0 -3.632,0 0,-8.581 3.632,0 0,8.581 z m 26.71,0.309 c 0.384,-1.071 0.562,-1.567 1.121,-3.13 0.482,1.522 0.636,2.005 0.966,3.05 -0.546,0.282 -0.938,0.774 -1.104,1.377 -0.151,-0.556 -0.502,-1.007 -0.983,-1.297 M 73.945,40.634 c 0.77,0.721 1.244,2.129 1.3,3.861 0.062,1.88 -0.288,3.327 -0.986,4.07 -0.251,0.27 -0.697,0.627 -1.662,0.661 -2.568,0.083 -2.885,-3.516 -2.919,-4.622 -0.057,-1.69 0.327,-3.098 1.048,-3.87 0.411,-0.438 0.924,-0.661 1.572,-0.681 0.669,-0.023 1.206,0.168 1.647,0.581 M 54.063,34.827 c 1.646,0 2.482,1.549 2.482,4.605 0,1.377 -0.229,4.573 -2.343,4.573 -0.725,0 -1.34,-0.323 -1.824,-0.963 -0.607,-0.804 -0.94,-2.011 -0.94,-3.397 0,-2.33 0.688,-4.818 2.625,-4.818 m -10.977,8.859 -2.489,0 c 1.007,-0.572 1.829,-1.273 2.489,-2.048 0.004,2.343 0,0.773 0,2.048 m -8.9,-10.275 c 1.034,0 2.768,0.238 2.768,1.846 0,0.947 -0.584,1.431 -4.082,1.786 -1.598,0.158 -3.003,0.313 -4.398,0.768 0.233,-0.174 0.466,-0.35 0.616,-0.608 l 0.071,-0.117 c 1.19,-2.011 2.387,-3.675 5.025,-3.675 m 2.494,11.677 c -0.425,0.926 -0.593,1.133 -0.901,1.462 -0.889,0.912 -2.008,1.416 -3.149,1.416 -1.627,0 -2.626,-0.747 -2.626,-1.282 0,-0.214 0.231,-0.364 0.444,-0.458 0.62,-0.288 1.275,-0.464 3.311,-0.694 1.22,-0.137 2.106,-0.269 2.921,-0.444 m 104.654,3.791 0,-2.929 c 0,-1.227 -0.995,-2.264 -2.222,-2.264 l -7.338,0 c -0.859,-2.594 -6.047,-18.247 -6.047,-18.247 -1.262,-3.657 -4.042,-4.15 -6.594,-4.15 l -2.69,0 c -1.226,0 -2.22,0.995 -2.22,2.222 l 0,3.115 c 0,0.59 0.299,1.153 0.717,1.569 0.418,0.417 1.051,0.649 1.641,0.647 l 1.227,-0.002 0.547,0.007 c 0.161,0 0.249,0.006 0.334,0.011 0.048,0.116 0.112,0.286 0.194,0.541 0.005,0.015 0.024,0.087 0.036,0.13 -0.43,1.136 -4.494,11.878 -5.355,14.157 l -0.877,0 0,-8.541 0.147,0 c 1.228,0 2.222,-0.998 2.222,-2.222 l 0,-3.008 c 0,-1.227 -0.994,-2.222 -2.222,-2.222 l -22.032,0 c -4.758,0 -7.598,2.611 -7.598,7.103 l 0,6.342 0,0.002 c -0.581,-2.292 -1.709,-4.281 -3.298,-5.77 -2.108,-1.975 -4.848,-2.967 -7.924,-2.867 -2.969,0.094 -5.497,1.222 -7.35,3.101 l 0.002,0 c -1.195,-4.994 -4.801,-8.334 -9.44,-8.334 -0.561,0 -1.083,0.04 -1.57,0.115 0.048,-0.18 0.111,-0.353 0.111,-0.547 l 0,-3.008 c 0,-1.226 -0.995,-2.222 -2.222,-2.222 l -8.243,0 c -1.228,0 -2.221,0.996 -2.221,2.222 l 0,3.386 C 39.366,26.059 37.309,25.394 35,25.394 c -2.422,0 -4.249,0.657 -5.719,1.58 -0.135,-0.484 -0.385,-1.031 -0.845,-1.521 -0.489,-0.519 -1.373,-1.138 -2.81,-1.138 -1.434,0 -2.318,0.617 -2.806,1.134 -1.045,1.108 -1.023,2.516 -1.007,2.786 -0.002,-0.043 -0.003,-0.084 -0.003,-0.127 l 0,7.961 c 0,1.228 0.996,2.221 2.222,2.221 l 3.149,0 c 0.004,0 0.007,-0.002 0.01,-0.002 -0.905,0.396 -1.96,0.973 -2.757,1.847 -1.623,1.719 -2.517,3.958 -2.517,6.303 0,2.615 1.08,5.01 3.044,6.747 1.889,1.668 4.462,2.586 7.244,2.586 2.012,0 3.609,-0.526 4.891,-1.217 0.406,0.437 0.973,0.719 1.619,0.719 l 3.148,0 c 1.227,0 2.221,-0.993 2.221,-2.22 l 0,-1.918 5.164,0 c 0.606,0 1.151,-0.245 1.553,-0.638 1.166,0.631 2.596,1.065 4.428,1.065 2.639,0 4.914,-1.048 6.609,-2.87 l 0,-10e-4 c 1.469,5.004 5.679,8.259 10.967,8.087 4.246,-0.136 7.58,-2.242 9.38,-5.643 l 1.019,0 0,3.334 c 0,1.226 0.994,2.221 2.222,2.221 l 3.678,0 c 1.228,0 2.222,-0.995 2.222,-2.221 l 0,-3.334 3.632,0 0,3.334 c 0,1.226 0.994,2.221 2.222,2.221 l 3.713,0 c 1.228,0 2.221,-0.995 2.221,-2.221 l 0,-3.334 1.413,0 0,1.885 c 0,2.469 1.136,3.81 2.089,4.498 1.191,0.859 2.785,1.259 5.015,1.259 l 2.723,0 c 1.228,0 2.223,-0.994 2.223,-2.22 l 0,-2.937 c 0,-1.227 -0.995,-2.222 -2.223,-2.222 l -1.667,0 0,-0.263 7.86,0 c 1.021,0 1.846,-0.703 2.104,-1.642 0.261,0.939 1.084,1.642 2.105,1.642 l 14.356,0 c 1.227,0 2.222,-1.029 2.222,-2.256"
|
||||
id="path3274"
|
||||
style="fill:#5e9536;fill-opacity:1;fill-rule:nonzero;stroke:none" /><g
|
||||
transform="translate(27.1812,36.0693)"
|
||||
id="g3276"><path
|
||||
d="m 0,0 c 1.027,-1.732 2.794,-4.881 7.005,-4.881 3.042,0 4.99,1.59 4.99,4.068 0,3.398 -3.645,3.751 -6.087,3.998 -1.803,0.177 -3.114,0.317 -4.387,0.814 -0.743,0.282 -1.912,0.777 -2.654,1.592 -1.203,1.273 -1.91,2.972 -1.91,4.777 0,4.069 3.433,7.111 8.067,7.111 3.29,0 5.201,-1.769 6.51,-2.972 l 0,2.476 3.148,0 0,-7.147 -3.113,0 c -0.532,1.167 -0.815,1.593 -1.38,2.196 -1.309,1.342 -3.006,2.086 -4.74,2.086 -2.761,0 -4.847,-1.522 -4.847,-3.504 0,-1.061 0.635,-1.979 1.732,-2.474 0.921,-0.426 1.805,-0.638 3.999,-0.887 2.229,-0.248 3.184,-0.459 4.564,-0.92 3.997,-1.38 5.023,-4.812 5.023,-6.934 0,-4.528 -3.431,-7.853 -8.101,-7.853 -3.963,0 -5.874,2.121 -7.785,4.175 l 0,-3.682 c 0,0 0.094,-1.572 -1.589,-1.572 -1.682,0 -1.594,1.572 -1.594,1.572 L -3.149,0 0,0 z"
|
||||
id="path3278"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(54.0635,32.6055)"
|
||||
id="g3280"><path
|
||||
d="m 0,0 c 3.006,0 4.702,2.441 4.702,6.826 0,4.246 -1.696,6.794 -4.564,6.794 -2.935,0 -4.988,-2.723 -4.988,-6.581 C -4.85,2.722 -2.938,0 0,0 m -4.815,13.584 c 1.487,1.946 3.113,3.149 5.981,3.149 4.493,0 7.607,-4.104 7.607,-10.013 0,-5.696 -3.221,-9.834 -7.642,-9.834 -3.397,0 -4.883,1.839 -5.946,3.148 l 0,-5.802 2.265,0 0,-3.007 -8.244,0 0,3.007 2.264,0 0,19.068 -2.264,0 0,3.008 5.979,0 0,-2.724 z"
|
||||
id="path3282"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(77.4663,44.4209)"
|
||||
id="g3284"><path
|
||||
d="M 0,0 C 0.14,4.351 -1.58,6.922 -4.799,7.025 -7.875,7.124 -9.872,4.5 -10.01,0.256 -10.142,-3.775 -8.282,-6.49 -5.241,-6.59 -2.165,-6.688 -0.133,-4.137 0,0 m -13.962,0.667 c 0.186,5.693 4.031,9.64 9.229,9.472 5.375,-0.175 8.888,-4.254 8.696,-10.125 -0.192,-5.943 -4,-9.887 -9.375,-9.712 -5.269,0.171 -8.744,4.388 -8.55,10.365"
|
||||
id="path3286"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(85.4258,54.4688)"
|
||||
id="g3288"><path
|
||||
d="m 0,0 3.679,0 0,-5.556 4.246,0 0,-3.007 -4.246,0 0,-10.93 c 0,-2.411 1.92,-2.053 4.246,-2.053 l 0,-3.078 -2.549,0 c -3.21,0 -5.376,1.359 -5.376,4.951 l 0,11.11 -2.433,0 c 0,0 -0.054,0.777 -0.157,1.47 -0.101,0.695 -0.333,1.537 -0.333,1.537 L 0,-5.556 0,0 z"
|
||||
id="path3290"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(94.9492,48.9131)"
|
||||
id="g3292"><path
|
||||
d="m 0,0 5.943,0 0,-15.99 2.124,0 0,-3.008 -8.101,0 0,3.008 2.264,0 0,13.018 -2.23,0 L 0,0 z"
|
||||
id="path3294"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><path
|
||||
d="m 97.18,54.469 3.713,0 0,-3.325 -3.713,0 0,3.325 z"
|
||||
id="path3296"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /><g
|
||||
transform="translate(110.4639,45.9053)"
|
||||
id="g3298"><path
|
||||
d="m 0,0 0,-12.982 2.37,0 0,-3.008 -8.278,0 0,3.008 2.192,0 0,12.982 -2.972,0 0,3.008 2.972,0 0,4.106 c 0,2.476 1.487,3.537 4.883,3.537 l 2.724,0 0,-2.936 -2.157,0 C 0.426,7.715 0,7.29 0,6.087 l 0,-3.079 10.083,0 L 10.083,0 8.172,0 12.455,-11.956 16.24,0 l -1.948,0 0,3.008 7.184,0 0,-3.008 -1.769,0 -6.546,-19.74 c -0.706,-2.053 -1.875,-2.655 -4.492,-2.655 l -2.69,0 0,3.116 c 0.566,-0.036 1.451,0 1.913,0 1.662,0 2.086,0.352 2.652,2.122 l 0.247,0.884 L 4.635,0 0,0 z"
|
||||
id="path3300"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(133.2666,48.8789)"
|
||||
id="g3302"><path
|
||||
d="m 0,0 2.194,0 0,-1.11 -0.37,0 0,0.726 -0.493,0 0,-2.162 0.331,0 0,-0.383 -1.135,0 0,0.383 0.338,0 0,2.162 -0.495,0 0,-0.713 -0.37,0 L 0,0 z"
|
||||
id="path3304"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(135.7598,48.8789)"
|
||||
id="g3306"><path
|
||||
d="M 0,0 1.014,0 1.678,-2.214 2.352,0 l 1.001,0 0,-0.384 -0.295,0 0,-2.162 0.295,0 0,-0.383 -0.724,0 0,2.624 -0.788,-2.624 -0.312,0 -0.797,2.617 0,-2.617 -0.732,0 0,0.383 0.303,0 0,2.162 L 0,-0.384 0,0 z"
|
||||
id="path3308"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(79.1582,58.2109)"
|
||||
id="g3310"><path
|
||||
d="m 0,0 c -2.762,1.688 -6.185,2.082 -10.174,1.169 -0.352,-0.08 -0.571,-0.43 -0.491,-0.781 0.079,-0.352 0.431,-0.571 0.782,-0.492 3.646,0.833 6.742,0.494 9.202,-1.009 0.306,-0.188 0.71,-0.091 0.899,0.217 C 0.404,-0.587 0.309,-0.186 0,0"
|
||||
id="path3312"
|
||||
style="fill:#5e9536;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(80.3877,61.29)"
|
||||
id="g3314"><path
|
||||
d="m 0,0 c -3.233,1.986 -7.963,2.547 -11.768,1.392 -0.431,-0.13 -0.675,-0.586 -0.544,-1.018 0.132,-0.432 0.588,-0.676 1.02,-0.544 3.329,1.01 7.623,0.51 10.438,-1.223 0.383,-0.234 0.886,-0.114 1.124,0.27 C 0.504,-0.739 0.384,-0.237 0,0"
|
||||
id="path3316"
|
||||
style="fill:#538434;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||
transform="translate(81.7666,64.8672)"
|
||||
id="g3318"><path
|
||||
d="m 0,0 c -3.885,2.307 -10.037,2.524 -13.738,1.399 -0.518,-0.157 -0.81,-0.704 -0.652,-1.221 0.156,-0.518 0.702,-0.811 1.222,-0.654 3.221,0.98 8.792,0.794 12.169,-1.211 0.464,-0.276 1.065,-0.124 1.341,0.342 C 0.618,-0.878 0.466,-0.278 0,0"
|
||||
id="path3320"
|
||||
style="fill:#467232;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g></svg>
|
||||
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>Slice 1</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<radialGradient cx="50.8262172%" cy="19.7598471%" fx="50.8262172%" fy="19.7598471%" r="50%" id="radialGradient-1">
|
||||
<stop stop-color="#A9D03F" offset="0%"></stop>
|
||||
<stop stop-color="#A9D03F" offset="7.105015%"></stop>
|
||||
<stop stop-color="#A1CC3E" offset="24.677444%"></stop>
|
||||
<stop stop-color="#94C93D" offset="45.569649%"></stop>
|
||||
<stop stop-color="#8DC540" offset="59.65941%"></stop>
|
||||
<stop stop-color="#84BC41" offset="79.657596%"></stop>
|
||||
<stop stop-color="#79B641" offset="100%"></stop>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="svg2" sketch:type="MSLayerGroup" transform="translate(-3578.000000, -1.000000)">
|
||||
<g id="layer1" transform="translate(0.205880, 0.260670)" sketch:type="MSShapeGroup">
|
||||
<g id="g3128" transform="translate(3577.939315, 0.777349)">
|
||||
<g id="g3099" transform="translate(0.354801, 0.209030)">
|
||||
<path d="M193.437643,632.659533 L195.123066,649.176693 L207.876102,655.075649 C208.61026,635.537611 220.760227,623.670557 236.809201,620.805363 C287.667189,609.746278 350.224972,599.175766 423.104651,599.175766 C537.69697,599.175766 636.546844,627.589457 716.536846,676.368177 C728.346469,683.54526 732.213989,692.48324 733.896707,704.34618 L778.335699,675.581658 L767.09954,631.311187 L435.408243,542.320795 L125.290361,581.872088 L193.437643,632.659533 Z M193.437643,632.659533" id="path3103" stroke="#008080" stroke-width="0.60321335" fill="#7A9F3F"></path>
|
||||
<path d="M172.482213,509.286544 L187.538661,503.607354 C188.063083,484.734552 198.241386,469.043304 220.011149,463.105899 C276.33546,446.55852 342.484544,436.195362 414.733719,436.195362 C553.337209,436.195362 680.365755,472.505672 773.168293,528.463296 C788.018896,537.582595 793.722856,544.317514 796.523759,568.200359 L864.776004,530.687943 L578.11458,396.57358 L98.8624405,424.540587 L172.482213,509.286544 Z M172.482213,509.286544" id="path3105" stroke="#000080" stroke-width="0.60321335" fill="#82A73E"></path>
|
||||
<path d="M153.605473,350.070232 C152.076157,321.873002 166.872726,301.582443 188.549915,295.350126 C259.810578,274.652277 336.233219,264.506862 426.53168,264.506862 C576.724736,264.506862 727.614818,295.943186 838.000808,359.708052 C859.696193,371.514802 865.964969,387.375427 867.14592,411.606877 L935.646849,366.381993 L730.026064,192.541832 L100.769276,259.916791 L153.605473,350.070232 Z M153.605473,350.070232" id="path3107" stroke="#000000" stroke-width="0.60321335" fill="#81A83E"></path>
|
||||
<path d="M499.499987,0.252954078 C223.636558,0.252954078 0,223.868339 0,499.731895 C0,775.595316 223.636558,999.231882 499.499987,999.231882 C775.363415,999.231882 998.999974,775.595316 998.999974,499.731895 C998.999974,223.868339 775.363415,0.252954078 499.499987,0.252954078 L499.499987,0.252954078 Z M426.206543,260.943245 C572.876178,260.943245 727.193376,291.113719 839.912938,357.318749 C855.106318,365.924044 865.651016,378.898295 865.651016,402.681847 C865.651016,429.910701 843.765436,449.478352 818.538319,449.478352 C808.368472,449.478352 802.334438,447.003989 792.800241,441.784298 C702.388396,387.571922 562.085689,357.719226 426.396258,357.719226 C358.663817,357.719226 289.87104,364.607334 226.857649,381.707704 C219.600156,383.534168 210.428242,387.16733 201.246049,387.16733 C174.600109,387.16733 154.154431,366.087014 154.154431,339.443328 C154.154431,312.298387 170.977823,297.060501 189.125333,291.698212 C260.328459,270.721438 339.807595,260.943245 426.206543,260.943245 L426.206543,260.943245 Z M416.025141,432.57252 C546.769259,432.57252 673.250636,465.135467 772.690392,524.647805 C789.361104,534.207108 795.498418,546.34634 795.498418,564.129754 C795.498418,585.758205 778.279496,603.232205 756.564569,603.232205 C745.726425,603.232205 738.908806,598.852727 731.543195,594.568562 C650.290675,546.350185 537.6778,514.318914 414.35986,514.318914 C351.11133,514.318914 296.518727,523.175342 251.330956,535.208671 C241.595233,537.888096 236.137204,540.773661 227.026285,540.773661 C205.543773,540.773661 188.008119,523.267822 188.008119,501.607938 C188.008119,480.36762 198.309807,465.742557 219.079311,459.89156 C275.228953,444.470603 332.567773,432.57252 416.025141,432.57252 L416.025141,432.57252 Z M422.875981,595.685809 C532.179064,595.685809 629.593366,620.760574 713.414819,671.002852 C725.890454,678.286513 733.208476,685.729501 733.208476,704.203109 C733.208476,722.209932 718.564432,735.44287 702.137283,735.44287 C694.05938,735.44287 688.548347,732.640611 680.994538,728.043997 C608.602224,684.246044 518.339022,661.221961 422.538709,661.221961 C369.09223,661.221961 315.300392,668.07641 264.990477,678.549316 C256.809701,680.322827 246.514832,683.48192 240.369613,683.48192 C221.400881,683.48192 208.750353,668.414491 208.750353,652.094569 C208.750353,631.105451 220.860397,620.6544 235.921837,617.777132 C297.616561,603.71727 359.058918,595.685809 422.875981,595.685809 L422.875981,595.685809 Z M422.875981,595.685809" id="path3101" fill="url(#radialGradient-1)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 5.6 KiB |
14
data/images/station-artist.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="500px" height="500px" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>station-artist</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="50%" x2="50%" y2="170.589844%" id="linearGradient-1">
|
||||
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<path d="M245.48466,91 C161.807243,91 94,158.187218 94,241.021267 C94,323.885705 161.807243,391 245.48466,391 C329.137526,391 397,323.885699 397,241.021267 C397.006157,158.188001 329.137415,91 245.48466,91 L245.48466,91 L245.48466,91 M328.597284,221.910531 L283.447689,255.452489 L299.857913,308.566669 C300.496157,310.61443 299.741311,312.856636 297.986141,314.126613 C297.090145,314.776792 296.034589,315.10492 294.966758,315.10492 C293.960297,315.10492 292.947699,314.807174 292.076251,314.211683 L245.496742,282.462275 L198.929509,314.211683 C197.155929,315.433048 194.774789,315.390513 193.019619,314.126613 C191.264449,312.856637 190.515741,310.620506 191.147847,308.566669 L207.551935,255.452489 L162.408476,221.910531 C160.671717,220.616248 159.947556,218.374041 160.610347,216.320204 C161.279276,214.254214 163.187869,212.850556 165.378763,212.801944 L222.071977,211.671726 L240.673094,159.213801 C241.397255,157.190346 243.32426,155.8353 245.490606,155.8353 C247.656952,155.8353 249.602368,157.190346 250.320392,159.213801 L268.92151,211.671726 L325.614723,212.801944 C327.793343,212.850556 329.708074,214.254214 330.377002,216.320204 C331.052217,218.375335 330.334166,220.616913 328.597284,221.910531 C328.597284,221.910531 330.334166,220.616913 328.597284,221.910531 L328.597284,221.910531" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
18
data/images/station-genre.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="500px" height="500px" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>station-genre</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="50%" x2="50%" y2="170.589844%" id="linearGradient-1">
|
||||
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<g id="Group" fill="rgb(0,0,0)">
|
||||
<path d="M389.045442,230.429716 C383.570272,224.959128 241.528204,83.1885389 241.528204,83.1885389 L179.981162,84.9885389 L160.691354,104.235598 C166.349226,110.976775 171.677056,117.782657 175.749546,123.859127 C179.185524,122.035598 183.098886,121.000304 187.259779,121.000304 C200.856353,121.000304 211.871525,132.006186 211.871525,145.576774 C211.871525,159.14148 200.850461,170.141481 187.259779,170.141481 C173.669099,170.141481 162.648034,159.141481 162.648034,145.576774 C162.648034,142.612068 163.19614,139.788539 164.1568,137.159127 C158.104056,132.623833 151.208523,126.559127 144.560523,120.34148 L129.631991,135.24148 L129.631991,198.565012 L276.789714,345.447361 C276.789714,345.447361 281.192246,351.47089 287.22731,345.447361 C293.262374,339.423831 389.045432,243.817946 389.045432,243.817946 C389.045432,243.817946 394.514592,235.894158 389.045442,230.429716 C389.045442,230.429716 394.514592,235.894158 389.045442,230.429716 L389.045442,230.429716" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M178.83767,140.964384 C179.008585,140.964384 179.309159,140.952619 179.427032,140.82909 C182.916053,137.346737 161.374883,108.893797 132.325244,78.5584992 C131.523712,78.4114404 129.867605,78.1349698 127.975755,78.1349698 C125.512223,78.1349698 122.20001,78.5996757 120.437818,80.8290875 C118.940839,82.7173229 118.622584,85.7232053 119.506627,89.7761465 C138.165813,109.723719 170.456964,140.964384 178.83767,140.964384 C178.83767,140.964384 170.456964,140.964384 178.83767,140.964384 L178.83767,140.964384" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M141.000749,228.394014 L196.30056,367.023423 C196.30056,367.023423 197.726815,373.270482 204.551624,370.576364 C207.793113,369.288128 233.895943,358.911658 260.440793,348.358717 L260.423112,348.364599 L141.000749,228.394014 L141.000749,228.394014 L141.000749,228.394014" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.8 KiB |
19
data/images/station-year.svg
Normal file
After Width: | Height: | Size: 11 KiB |
@@ -1,9 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<svg width="150px" height="150px" viewBox="0 0 150 150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>track-placeholder-grid</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs></defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<path d="M0,0 L80,0 L80,80 L0,80 Z M16.875,15.9537457 C15.7162501,17.6713457 15.575625,19.9684456 16.485,22.2560456 C17.29875,24.300446 18.87375,26.2080454 20.9343749,27.6330454 C23.0231251,29.0789457 25.3874999,29.8769459 27.5925002,29.8769459 C28.0031249,29.8769459 28.3912504,29.8389459 28.7737504,29.7857461 C28.7681249,33.8346462 28.7606254,37.8778449 28.7493749,41.911547 C28.7381249,46.8477471 28.7287499,51.7725466 28.7287499,56.6897468 C28.7287499,57.5618467 29.2893749,58.3332468 30.1124999,58.5897468 L57.8568758,67.2727463 C58.4587507,67.4589463 59.1018758,67.3506463 59.6025008,66.9744463 C60.1012507,66.6001462 60.3975008,66.0054463 60.3975008,65.3746463 L60.3975008,64.4037463 C60.4087508,64.3372463 60.4087508,64.2707463 60.4087508,64.2004463 L60.4087508,33.9334457 C60.9262508,32.7060457 60.9450008,31.2582456 60.5531258,29.7781457 C60.4612508,29.1549458 60.2962508,28.5241457 60.0450008,27.8914457 C59.2312507,25.8470458 57.6506256,23.9375459 55.5937506,22.5144459 C53.5050009,21.0666459 51.1368757,20.2705459 48.9375007,20.2705459 C46.5149993,20.2705459 44.5406252,21.2148458 43.3818752,22.9324459 C42.2268748,24.650046 42.0825005,26.9471453 42.9918748,29.2328454 C43.8037509,31.2772449 45.3843749,33.1886459 47.4450016,34.6117452 C49.5300007,36.0576464 51.8981266,36.8537457 54.1012502,36.8537457 C54.3318737,36.8537457 54.5550013,36.838545 54.7743738,36.8195464 C54.9356246,36.8423466 55.0968754,36.8708454 55.258125,36.8803447 L55.258125,56.9747451 L33.93,50.301945 L33.93,26.3657458 C35.0531249,23.7000456 33.9131249,20.0083456 31.0199999,17.1545457 C30.9168749,17.0519457 30.8099999,16.9626457 30.7049999,16.8657457 C30.5793749,16.7479457 30.4518749,16.6320457 30.3206249,16.5180457 C30.1949999,16.4116457 30.0599999,16.3109457 29.9343749,16.2083457 C29.6531249,15.9822457 29.3906249,15.7428457 29.0887499,15.5357457 C26.9943751,14.0879457 24.6318749,13.2918457 22.4268749,13.2918457 C20.0043751,13.2918457 18.031875,14.2361458 16.875,15.9537457 Z M16.875,15.9537457" id="Rectangle 1" fill="rgb(0,0,0)" transform="translate(40.000000, 40.000000) scale(1, -1) translate(-40.000000, -40.000000)"></path>
|
||||
<defs>
|
||||
<path d="M368.5,17 C391.419818,17 410,-1.58018175 410,-24.5 C410,-47.4198183 391.419818,-66 368.5,-66 C345.580182,-66 327,-47.4198183 327,-24.5 C327,-1.58018175 345.580182,17 368.5,17 Z M368.5,153 C270.469452,153 191,73.5305479 191,-24.5 C191,-122.530548 270.469452,-202 368.5,-202 C466.530548,-202 546,-122.530548 546,-24.5 C546,73.5305479 466.530548,153 368.5,153 Z M368.5,153" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="Oval 1">
|
||||
<use fill="#0B0A0A" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
|
||||
<use fill="none" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
<path d="M38.4021158,37.7907545 C40.0517338,35.3447574 42.8643728,34 46.3186782,34 C49.4628449,34 52.8315951,35.1337089 55.8180184,37.1954897 C56.2484698,37.4904163 56.6227753,37.8313407 57.023817,38.1533248 C57.202949,38.2994353 57.395449,38.44284 57.5745809,38.5943619 C57.7617337,38.7567069 57.9435392,38.9217576 58.1226712,39.089514 C58.2723934,39.2275072 58.4247892,39.3546774 58.5718378,39.5007879 C62.6972197,43.5648229 64.3227754,48.8220933 62.7212824,52.6182596 L62.7212824,86.7052854 L93.1336088,96.2078764 L93.1336088,67.5918735 C92.9036789,67.5783457 92.6737472,67.5377611 92.4438154,67.5052919 C92.1310065,67.5323474 91.812843,67.5539945 91.483991,67.5539945 C88.3425,67.5539945 84.9657279,66.4202865 81.9926736,64.3612097 C79.0543725,62.3346047 76.8005198,59.6126198 75.6428447,56.7012345 C74.3461442,53.4462181 74.5520114,50.1749685 76.1989563,47.7289712 C77.851248,45.2829739 80.6665592,43.9382166 84.1208668,43.9382166 C87.2570126,43.9382166 90.6337838,45.0719255 93.6121861,47.1337063 C96.5451375,49.1603124 98.7989918,51.8795901 99.9593391,54.790976 C100.317603,55.6919905 100.552881,56.5902992 100.683888,57.4777848 C101.242672,59.5855633 101.215936,61.6473441 100.47802,63.3952581 L100.47802,106.497842 C100.47802,106.597955 100.47802,106.692656 100.461978,106.787357 L100.461978,108.169995 C100.461978,109.068303 100.039547,109.915203 99.3283669,110.448235 C98.6145127,110.983974 97.6974641,111.138201 96.8392349,110.873038 L57.2778101,98.5077654 C56.1040948,98.1424893 55.3046851,97.0439551 55.3046851,95.8020163 C55.3046851,88.7995375 55.3180532,81.7862365 55.3340949,74.7567003 C55.3501372,69.012392 55.3608309,63.2545598 55.3688524,57.4886084 C54.8234358,57.5643691 54.2699976,57.618484 53.6844771,57.618484 C50.5403101,57.618484 47.1688867,56.4820692 44.1904837,54.4229937 C41.2521852,52.3936819 39.0063519,49.6771106 37.8460047,46.765724 C36.5493032,43.5080021 36.7498242,40.2367517 38.4021158,37.7907545" id="path1534" fill="#9B9B9B" sketch:type="MSShapeGroup" transform="translate(69.035570, 72.500000) scale(1, -1) translate(-69.035570, -72.500000) "></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.2 KiB |
@@ -1,14 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>view-toggle-inactive-centre</title>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>Slice 1</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
|
||||
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="321.977796%" id="linearGradient-1">
|
||||
<stop stop-color="#FEFFFE" offset="0%"></stop>
|
||||
<stop stop-color="#000000" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<path d="M0,0 L0,38 L38,38 L38,0 L0,0 Z M0,0" id="Rectangle 1" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" transform="translate(19.000000, 19.000000) scale(-1, 1) translate(-19.000000, -19.000000)"></path>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="view-toggle-inactive-centre" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" stroke="#969696" fill="url(#linearGradient-1)">
|
||||
<g id="Page 1" sketch:type="MSShapeGroup">
|
||||
<path d="M0,0 L0,38 L38,38 L38,0 L0,0 L0,0 Z M0,0" id="Rectangle 1" transform="translate(19.000000, 19.000000) scale(-1, 1) translate(-19.000000, -19.000000) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 985 B After Width: | Height: | Size: 1.2 KiB |
@@ -1,14 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="38px" height="38px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>view-toggle-inactive-right</title>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>Slice 1</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
|
||||
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="321.977796%" id="linearGradient-1">
|
||||
<stop stop-color="#FEFFFE" offset="0%"></stop>
|
||||
<stop stop-color="#000000" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<path d="M0,0 L0,38 L26.0026482,38 C32.6286026,38 38,32.636124 38,26.0026482 L38,11.9973518 C38,5.37139735 32.636124,0 26.0026482,0 L0,0 Z M0,0" id="Rectangle 2" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="view-toggle-inactive-right" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" stroke="#969696" fill="url(#linearGradient-1)">
|
||||
<g id="Page 1" sketch:type="MSShapeGroup">
|
||||
<path d="M0,0 L0,38 L26.0026482,38 C32.6286026,38 38,32.636124 38,26.0026482 L38,11.9973518 C38,5.37139735 32.636124,0 26.0026482,0 L0,0 L0,0 Z M0,0" id="Rectangle 2"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 972 B After Width: | Height: | Size: 1.2 KiB |
@@ -1,16 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>view-toggle-pressed-left</title>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<title>Slice 1</title>
|
||||
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="50%" x2="50%" y2="0%" id="linearGradient-1">
|
||||
<stop stop-color="rgb(37,41,44)" offset="0%"></stop>
|
||||
<stop stop-color="rgb(0,0,0)" stop-opacity="0.5" offset="100%"></stop>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="321.977796%" id="linearGradient-1">
|
||||
<stop stop-color="#FEFFFE" offset="0%"></stop>
|
||||
<stop stop-color="#000000" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<path d="M11.9973518,0 C5.37139735,0 0,5.36387601 0,11.9973518 L0,26.0026482 C0,32.6286026 5.36387601,38 11.9973518,38 L38,38 L38,0 L11.9973518,0 Z M11.9973518,0" id="path-2"></path>
|
||||
</defs>
|
||||
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
|
||||
<use id="Rectangle 2" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
|
||||
<use id="Rectangle 2-1" stroke="none" fill="none" xlink:href="#path-2"></use>
|
||||
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="view-toggle-inactive-left" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" stroke="#969696" fill="url(#linearGradient-1)">
|
||||
<g id="Page 1" sketch:type="MSShapeGroup">
|
||||
<path d="M11.9973518,0 C5.37139735,0 0,5.36387601 0,11.9973518 L0,26.0026482 C0,32.6286026 5.36387601,38 11.9973518,38 L38,38 L38,0 L11.9973518,0 L11.9973518,0 Z M11.9973518,0" id="Rectangle 2"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +1,22 @@
|
||||
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
|
||||
*
|
||||
* Copyright 2011, Dominik Schmidt <domme@tomahawk-player.org>
|
||||
* Copyright 2011-2012, Leo Franchi <lfranchi@kde.org>
|
||||
* Copyright 2013, Teo Mrnjavac <teo@kde.org>
|
||||
*
|
||||
* Tomahawk is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Tomahawk is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// if run in phantomjs add fake Tomahawk environment
|
||||
if(window.Tomahawk === undefined)
|
||||
@@ -60,6 +79,14 @@ Tomahawk.extend = function(object, members) {
|
||||
};
|
||||
|
||||
|
||||
var TomahawkResolverCapability = {
|
||||
NullCapability: 0,
|
||||
Browsable: 1,
|
||||
PlaylistSync: 2,
|
||||
AccountFactory: 4
|
||||
};
|
||||
|
||||
|
||||
// Resolver BaseObject, inherit it to implement your own resolver
|
||||
var TomahawkResolver = {
|
||||
init: function()
|
||||
@@ -106,6 +133,28 @@ var TomahawkResolver = {
|
||||
search: function( qid, searchString )
|
||||
{
|
||||
return this.resolve( qid, "", "", searchString );
|
||||
},
|
||||
artists: function( qid )
|
||||
{
|
||||
return {
|
||||
qid: qid
|
||||
};
|
||||
},
|
||||
albums: function( qid, artist )
|
||||
{
|
||||
return {
|
||||
qid: qid
|
||||
};
|
||||
},
|
||||
tracks: function( qid, artist, album )
|
||||
{
|
||||
return {
|
||||
qid: qid
|
||||
};
|
||||
},
|
||||
collection: function()
|
||||
{
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
||||
|
21
data/qml/DeclarativeHeader.qml
Normal file
@@ -0,0 +1,21 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "tomahawkimports"
|
||||
|
||||
// Only to be used together with DeclarativeHeader C++ class
|
||||
// If you want to use the header in QML, use FlexibleHeader
|
||||
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
|
||||
FlexibleHeader {
|
||||
anchors.fill: parent
|
||||
icon: iconSource
|
||||
title: caption
|
||||
subtitle: description
|
||||
buttonModel: buttonList
|
||||
|
||||
onSearchTextChanged: mainView.setFilterText(searchText)
|
||||
onCurrentButtonIndexChanged: mainView.viewModeSelected(currentButtonIndex)
|
||||
}
|
||||
}
|
65
data/qml/QmlGridView.qml
Normal file
@@ -0,0 +1,65 @@
|
||||
import QtQuick 1.1
|
||||
//import tomahawk 1.0
|
||||
import "tomahawkimports"
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: "black"
|
||||
|
||||
Text {
|
||||
id: fontMetrics
|
||||
text: "Here's some sample text"
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
GridView {
|
||||
id: gridView
|
||||
anchors.fill: parent
|
||||
//anchors.rightMargin: scrollBar.width
|
||||
|
||||
cellHeight: cellWidth
|
||||
cellWidth: calculateCoverSize(gridView.width - 3)
|
||||
|
||||
cacheBuffer: cellHeight * 5
|
||||
|
||||
function calculateCoverSize(rectWidth) {
|
||||
var itemWidth = fontMetrics.width;
|
||||
var itemsPerRow = Math.max( 1, Math.floor( rectWidth / itemWidth ) );
|
||||
|
||||
var remSpace = rectWidth - ( itemsPerRow * itemWidth );
|
||||
var extraSpace = remSpace / itemsPerRow;
|
||||
return itemWidth + extraSpace;
|
||||
|
||||
}
|
||||
|
||||
model: mainModel
|
||||
|
||||
delegate: CoverImage {
|
||||
height: gridView.cellHeight// * 0.95
|
||||
width: gridView.cellWidth// * 0.95
|
||||
|
||||
showLabels: true
|
||||
showMirror: false
|
||||
artistName: model.artistName
|
||||
trackName: model.trackName
|
||||
artworkId: model.coverID
|
||||
showPlayButton: true
|
||||
currentlyPlaying: isPlaying
|
||||
smooth: !gridView.moving
|
||||
|
||||
onClicked: {
|
||||
rootView.onItemClicked(index)
|
||||
}
|
||||
onPlayClicked: {
|
||||
rootView.onItemPlayClicked(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScrollBar {
|
||||
id: scrollBar
|
||||
listView: gridView
|
||||
orientation: Qt.Vertical
|
||||
margin: -width
|
||||
}
|
||||
}
|
35
data/qml/SpinnerTest.qml
Normal file
@@ -0,0 +1,35 @@
|
||||
import QtQuick 1.1
|
||||
import "tomahawkimports"
|
||||
|
||||
Rectangle {
|
||||
width: 1400
|
||||
height: 900
|
||||
color: "black"
|
||||
|
||||
BusyIndicator {
|
||||
anchors.centerIn: parent
|
||||
anchors.horizontalCenterOffset: 200
|
||||
height: 200
|
||||
width: 200
|
||||
count: 11
|
||||
}
|
||||
|
||||
Image {
|
||||
id: svgSpinner
|
||||
source: "../images/loading-animation.svg"
|
||||
smooth: true
|
||||
height: 200
|
||||
width: 200
|
||||
anchors.centerIn: parent
|
||||
anchors.horizontalCenterOffset: -200
|
||||
|
||||
Timer {
|
||||
running: true
|
||||
repeat: true
|
||||
interval: 200
|
||||
onTriggered: svgSpinner.rotation += 360 / 12
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
165
data/qml/StationView.qml
Normal file
@@ -0,0 +1,165 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "tomahawkimports"
|
||||
import "stations"
|
||||
|
||||
Rectangle {
|
||||
id: scene
|
||||
color: "black"
|
||||
anchors.fill: parent
|
||||
state: "list"
|
||||
|
||||
FlexibleHeader {
|
||||
id: header
|
||||
anchors {
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
}
|
||||
height: defaultFontHeight * 4
|
||||
width: parent.width
|
||||
icon: "../images/station.svg"
|
||||
title: mainView.title
|
||||
subtitle: generator.summary
|
||||
showSearchField: false
|
||||
showBackButton: stationListView.currentIndex > 0
|
||||
showNextButton: mainView.configured && stationListView.currentIndex == 2
|
||||
nextButtonText: "Save"
|
||||
backButtonText: "Back"
|
||||
|
||||
z: 1 //cover albumcovers that may leave their area
|
||||
|
||||
onBackPressed: {
|
||||
inputBubble.opacity = 0
|
||||
stationListView.decrementCurrentIndex()
|
||||
switch (stationListView.currentIndex) {
|
||||
case 0:
|
||||
subtitle = ""
|
||||
break;
|
||||
case 1:
|
||||
subtitle = modeModel.get(stationCreator.modeIndex).headerSubtitle + "..."
|
||||
break;
|
||||
}
|
||||
}
|
||||
// In our case the next button is the save button
|
||||
onNextPressed: {
|
||||
inputBubble.opacity = 1
|
||||
inputBubble.forceActiveFocus();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ListModel {
|
||||
id: modeModel
|
||||
ListElement { label: "By Artist"; image: "../../images/station-artist.svg"; creatorContent: "stations/CreateByArtist.qml"; headerSubtitle: "Songs from" }
|
||||
ListElement { label: "By Genre"; image: "../../images/station-genre.svg"; creatorContent: "stations/CreateByGenre.qml"; headerSubtitle: "Songs of genre" }
|
||||
ListElement { label: "By Year"; image: "../../images/station-year.svg"; creatorContent: "stations/CreateByYear.qml"; headerSubtitle: "Songs from" }
|
||||
}
|
||||
|
||||
VisualItemModel {
|
||||
id: stationVisualModel
|
||||
|
||||
StationCreatorPage1 {
|
||||
height: scene.height - header.height
|
||||
width: scene.width
|
||||
model: modeModel
|
||||
|
||||
onItemClicked: {
|
||||
stationCreator.modeIndex = index
|
||||
|
||||
// FIXME: This is a workaround for the ListView scrolling too slow on the first time
|
||||
// Lets reinitialize the current index to something invalid and back to 0 (what it already is) before scrolling over to page 1
|
||||
stationListView.currentIndex = -1
|
||||
stationListView.currentIndex = 0
|
||||
|
||||
stationListView.incrementCurrentIndex()
|
||||
header.subtitle = modeModel.get(index).headerSubtitle + "..."
|
||||
}
|
||||
}
|
||||
|
||||
StationCreatorPage2 {
|
||||
id: stationCreator
|
||||
height: stationListView.height
|
||||
width: stationListView.width
|
||||
|
||||
property int modeIndex
|
||||
|
||||
content: modeModel.get(modeIndex).creatorContent
|
||||
|
||||
onNext: {
|
||||
stationListView.incrementCurrentIndex()
|
||||
header.subtitle = modeModel.get(modeIndex).headerSubtitle + " " + text
|
||||
}
|
||||
}
|
||||
|
||||
StationItem {
|
||||
id: stationItem
|
||||
height: stationListView.height
|
||||
width: stationListView.width
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VisualItemModel {
|
||||
id: configuredStationVisualModel
|
||||
|
||||
|
||||
StationItem {
|
||||
id: cfgstationItem
|
||||
height: stationListView.height
|
||||
width: stationListView.width
|
||||
}
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: stationListView
|
||||
anchors {
|
||||
left: parent.left
|
||||
top: header.bottom
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
|
||||
contentHeight: height
|
||||
contentWidth: width
|
||||
orientation: ListView.Horizontal
|
||||
//model: mainView.configured ? configuredStationVisualModel : stationVisualModel
|
||||
interactive: false
|
||||
highlightMoveDuration: 300
|
||||
|
||||
onHeightChanged: {
|
||||
contentHeight = scene.height
|
||||
}
|
||||
onWidthChanged: {
|
||||
contentWidth = scene.width
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
model = mainView.configured ? configuredStationVisualModel : stationVisualModel
|
||||
}
|
||||
onModelChanged: print("ccccccccccccc", mainView.configured)
|
||||
}
|
||||
|
||||
InputBubble {
|
||||
id: inputBubble
|
||||
text: "Station name:"
|
||||
width: defaultFontHeight * 18
|
||||
anchors.top: header.bottom
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: defaultFontHeight / 2
|
||||
anchors.topMargin: -defaultFontHeight / 2
|
||||
z: 2
|
||||
opacity: 0
|
||||
arrowPosition: 0.95
|
||||
|
||||
onAccepted: {
|
||||
mainView.title = inputBubble.inputText
|
||||
inputBubble.opacity = 0
|
||||
header.showNextButton = false
|
||||
header.showBackButton = false
|
||||
inputBubble.opacity = 0
|
||||
}
|
||||
|
||||
onRejected: inputBubble.opacity = 0
|
||||
}
|
||||
}
|
74
data/qml/stations/CreateByArtist.qml
Normal file
@@ -0,0 +1,74 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "../tomahawkimports"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
anchors.fill: parent
|
||||
|
||||
signal done(string text)
|
||||
|
||||
function createStation(artist) {
|
||||
mainView.startStationFromArtist(artist)
|
||||
root.done(artist)
|
||||
}
|
||||
|
||||
Column {
|
||||
id: upperColumn
|
||||
anchors.fill: parent
|
||||
anchors.margins: defaultFontHeight
|
||||
spacing: defaultFontHeight
|
||||
|
||||
HeaderLabel {
|
||||
id: headerText
|
||||
text: "Pick one of your top artists,"
|
||||
}
|
||||
|
||||
Item {
|
||||
height: parent.height - headerText.height*2 - artistInputField.height - parent.spacing * 3
|
||||
width: parent.width
|
||||
ArtistView {
|
||||
id: artistView
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
model: artistChartsModel
|
||||
clip: true
|
||||
cellWidth: defaultFontHeight * 12
|
||||
cellHeight: defaultFontHeight * 12
|
||||
spacing: defaultFontHeight / 2
|
||||
|
||||
onItemClicked: {
|
||||
createStation(artistChartsModel.itemFromIndex(index).artistName);
|
||||
}
|
||||
}
|
||||
ScrollBar {
|
||||
listView: artistView
|
||||
}
|
||||
}
|
||||
|
||||
HeaderLabel {
|
||||
text: "Or enter an artist name"
|
||||
}
|
||||
|
||||
Row {
|
||||
height: artistInputField.height
|
||||
width: Math.min(defaultFontHeight * 30, parent.width)
|
||||
spacing: defaultFontHeight * 0.5
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
InputField {
|
||||
id: artistInputField
|
||||
width: parent.width - createFromInputButton.width - parent.spacing
|
||||
|
||||
onAccepted: createStation(text)
|
||||
}
|
||||
|
||||
PushButton {
|
||||
id: createFromInputButton
|
||||
text: "Create station"
|
||||
enabled: artistInputField.text.length > 2
|
||||
onClicked: createStation(artistInputField.text)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
94
data/qml/stations/CreateByGenre.qml
Normal file
@@ -0,0 +1,94 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "../tomahawkimports"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
anchors.fill: parent
|
||||
|
||||
signal done(string text)
|
||||
|
||||
function createStation(genre) {
|
||||
mainView.startStationFromGenre(genre)
|
||||
root.done(genre)
|
||||
}
|
||||
|
||||
ListModel {
|
||||
id: styleModel
|
||||
ListElement { modelData: "acoustic" }
|
||||
ListElement { modelData: "alternative" }
|
||||
ListElement { modelData: "alternative rock" }
|
||||
ListElement { modelData: "classic" }
|
||||
ListElement { modelData: "folk" }
|
||||
ListElement { modelData: "indie" }
|
||||
ListElement { modelData: "pop" }
|
||||
ListElement { modelData: "rock" }
|
||||
ListElement { modelData: "hip-hop" }
|
||||
ListElement { modelData: "punk" }
|
||||
ListElement { modelData: "grunge" }
|
||||
ListElement { modelData: "indie" }
|
||||
ListElement { modelData: "electronic" }
|
||||
ListElement { modelData: "country" }
|
||||
ListElement { modelData: "jazz" }
|
||||
ListElement { modelData: "psychodelic" }
|
||||
ListElement { modelData: "soundtrack" }
|
||||
ListElement { modelData: "reggae" }
|
||||
ListElement { modelData: "house" }
|
||||
ListElement { modelData: "drum and base" }
|
||||
}
|
||||
|
||||
Column {
|
||||
id: upperColumn
|
||||
anchors.fill: parent
|
||||
anchors.bottomMargin: defaultFontHeight
|
||||
spacing: defaultFontHeight
|
||||
|
||||
HeaderLabel {
|
||||
id: headerText
|
||||
text: "Enter a genre,"
|
||||
}
|
||||
|
||||
Row {
|
||||
width: Math.min(defaultFontHeight * 30, parent.width)
|
||||
height: parent.height * 0.2
|
||||
spacing: defaultFontHeight * 0.5
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
z: 2
|
||||
|
||||
InputField {
|
||||
id: genreInputField
|
||||
width: parent.width - createFromInputButton.width - parent.spacing
|
||||
completionModel: allGenres
|
||||
|
||||
onAccepted: createStation(text);
|
||||
}
|
||||
|
||||
PushButton {
|
||||
id: createFromInputButton
|
||||
text: "Create station"
|
||||
height: genreInputField.height
|
||||
enabled: genreInputField.text.length > 2
|
||||
onClicked: createStation(genreInputField.text)
|
||||
}
|
||||
}
|
||||
|
||||
HeaderLabel {
|
||||
text: "Or, pick one of your most listened genres"
|
||||
}
|
||||
|
||||
Item {
|
||||
height: parent.height - y
|
||||
width: parent.width
|
||||
clip: true
|
||||
TagCloud {
|
||||
anchors.fill: parent
|
||||
anchors.margins: parent.width / 6
|
||||
model: styleModel
|
||||
|
||||
onTagClicked: {
|
||||
root.createStation(tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
89
data/qml/stations/CreateByYear.qml
Normal file
@@ -0,0 +1,89 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "../tomahawkimports"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
anchors.fill: parent
|
||||
|
||||
signal done(string text)
|
||||
|
||||
function createStationFromYear(year) {
|
||||
mainView.startStationFromYear(year)
|
||||
root.done(year)
|
||||
}
|
||||
|
||||
function createStationFromTo(yearFrom, yearTo) {
|
||||
mainView.startStationFromTo(yearFrom, yearTo)
|
||||
root.done(yearFrom + " to " + yearTo)
|
||||
}
|
||||
|
||||
Column {
|
||||
id: upperColumn
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
height: parent.height
|
||||
width: defaultFontHeight * 30
|
||||
anchors.bottomMargin: defaultFontHeight
|
||||
spacing: defaultFontHeight
|
||||
|
||||
HeaderLabel {
|
||||
id: headerText
|
||||
text: "Enter a year or pick a range"
|
||||
}
|
||||
|
||||
Row {
|
||||
height: yearInputField.height
|
||||
width: parent.width
|
||||
spacing: defaultFontHeight * 0.5
|
||||
|
||||
Text {
|
||||
text: "Year:"
|
||||
color: "white"
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
InputField {
|
||||
id: yearInputField
|
||||
width: parent.width - createFromInputButton.width - parent.spacing
|
||||
|
||||
onAccepted: createStation(text)
|
||||
}
|
||||
}
|
||||
|
||||
DoubleSlider {
|
||||
id: yearSlider
|
||||
width: parent.width
|
||||
height: defaultFontHeight * 4
|
||||
min: 1960
|
||||
max: new Date().getFullYear()
|
||||
lowerSliderPos: 1990
|
||||
upperSliderPos: 2010
|
||||
minMaxLabelsVisible: false
|
||||
opacity: yearInputField.text.length > 0 ? 0.3 : 1
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
}
|
||||
|
||||
PushButton {
|
||||
id: createFromInputButton
|
||||
text: "Go!"
|
||||
enabled: yearInputField.text.length == 0 || (yearInputField.text >= yearSlider.min && yearInputField.text <= yearSlider.max)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
onClicked: {
|
||||
if (yearInputField.text.length > 0) {
|
||||
createStationFromYear(yearInputField.text)
|
||||
} else {
|
||||
createStationFromTo(yearSlider.lowerSliderPos, yearSlider.upperSliderPos)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: move some disabled look/animation to the button itself
|
||||
opacity: enabled ? 1 : 0.3
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
79
data/qml/stations/StationConfig.qml
Normal file
@@ -0,0 +1,79 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "tomahawkimports"
|
||||
|
||||
Item {
|
||||
id: fineTuneView
|
||||
|
||||
property color textColor: "white"
|
||||
|
||||
signal done();
|
||||
|
||||
Grid {
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.margins: 50
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: scene.width / 2
|
||||
spacing: 50
|
||||
columns: 2
|
||||
|
||||
Text {
|
||||
color: fineTuneView.textColor
|
||||
text: "Name:"
|
||||
|
||||
}
|
||||
InputField {
|
||||
text: echonestStation.name
|
||||
|
||||
onAccepted: {
|
||||
print("text changed!!!")
|
||||
echonestStation.name = text;
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: tempoText
|
||||
text: "Tempo:"
|
||||
color: "white"
|
||||
}
|
||||
DoubleSlider {
|
||||
width: 500
|
||||
height: tempoText.height
|
||||
min: 0
|
||||
max: 500
|
||||
lowerSliderPos: echonestStation.minTempo
|
||||
upperSliderPos: echonestStation.maxTempo
|
||||
onValueChanged: echonestStation.setTempo( lowerSliderPos, upperSliderPos )
|
||||
}
|
||||
|
||||
Text {
|
||||
id: hotnessText
|
||||
text: "Hotness:"
|
||||
color: "white"
|
||||
}
|
||||
DoubleSlider {
|
||||
width: 500
|
||||
height: hotnessText.height
|
||||
min: 0
|
||||
max: 100
|
||||
minLabel: "Less"
|
||||
maxLabel: "More"
|
||||
showFloatingLabel: false
|
||||
lowerSliderPos: echonestStation.minHotttness * 100
|
||||
upperSliderPos: echonestStation.maxHotttness * 100
|
||||
onValueChanged: echonestStation.setHotttness( 1.0 * lowerSliderPos / 100, 1.0 * upperSliderPos / 100 )
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Button {
|
||||
id: configureButton
|
||||
onClicked: fineTuneView.done();
|
||||
text: "configure"
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 20
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
}
|
65
data/qml/stations/StationCreatorPage1.qml
Normal file
@@ -0,0 +1,65 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "../tomahawkimports"
|
||||
|
||||
|
||||
Item {
|
||||
id: root
|
||||
property alias model: gridView.model
|
||||
property int spacing: 10
|
||||
|
||||
signal itemClicked(int index)
|
||||
|
||||
GridView {
|
||||
id: gridView
|
||||
anchors.centerIn: parent
|
||||
width: root.width * 9 / 10
|
||||
height: cellHeight
|
||||
interactive: false
|
||||
|
||||
cellWidth: (width - 1) / 3
|
||||
cellHeight: cellWidth //* 10 / 16
|
||||
|
||||
delegate: Image {
|
||||
width: gridView.cellWidth - root.spacing
|
||||
height: gridView.cellHeight - root.spacing
|
||||
source: image
|
||||
smooth: true
|
||||
|
||||
Rectangle {
|
||||
id: textBackground
|
||||
anchors {
|
||||
left: parent.left
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
}
|
||||
height: parent.height / 5
|
||||
color: "black"
|
||||
opacity: .5
|
||||
|
||||
}
|
||||
Text {
|
||||
anchors.centerIn: textBackground
|
||||
text: label
|
||||
color: "white"
|
||||
font.bold: true
|
||||
}
|
||||
Rectangle {
|
||||
id: hoverShade
|
||||
anchors.fill: parent
|
||||
color: "white"
|
||||
opacity: mouseArea.containsMouse ? .2 : 0
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { easing.type: Easing.Linear; duration: 300 }
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: root.itemClicked(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
25
data/qml/stations/StationCreatorPage2.qml
Normal file
@@ -0,0 +1,25 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "../tomahawkimports"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property int margins: defaultFontHeight * 2
|
||||
property alias content: contentLoader.source
|
||||
|
||||
signal next(string text)
|
||||
|
||||
Loader {
|
||||
id: contentLoader
|
||||
anchors.fill: parent
|
||||
anchors.margins: root.margins
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: contentLoader.item
|
||||
|
||||
onDone: root.next(text)
|
||||
}
|
||||
|
||||
}
|
37
data/qml/stations/StationItem.qml
Normal file
@@ -0,0 +1,37 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
import "../tomahawkimports"
|
||||
|
||||
Item {
|
||||
id: stationItem
|
||||
|
||||
CoverFlow {
|
||||
id: coverView
|
||||
interactive: false
|
||||
anchors.fill: parent
|
||||
|
||||
backgroundColor: scene.color
|
||||
|
||||
model: dynamicModel
|
||||
currentIndex: currentlyPlayedIndex
|
||||
|
||||
onItemPlayPauseClicked: {
|
||||
mainView.playItem(index)
|
||||
}
|
||||
|
||||
onItemClicked: {
|
||||
mainView.playItem(index)
|
||||
}
|
||||
}
|
||||
BusyIndicator {
|
||||
id: busyIndicator
|
||||
anchors.centerIn: parent
|
||||
height: defaultFontHeight * 4
|
||||
width: height
|
||||
// count: 12
|
||||
|
||||
opacity: mainView.loading ? 1 : 0
|
||||
running: mainView.loading
|
||||
}
|
||||
|
||||
}
|
58
data/qml/tomahawkimports/ArtistView.qml
Normal file
@@ -0,0 +1,58 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
GridView {
|
||||
id: root
|
||||
signal itemClicked(int index)
|
||||
property int spacing
|
||||
|
||||
delegate: Item {
|
||||
width: root.cellWidth - root.spacing / 2
|
||||
height: root.cellHeight - root.spacing / 2
|
||||
|
||||
Rectangle {
|
||||
id: background
|
||||
anchors.fill: parent
|
||||
radius: defaultFontHeight / 2
|
||||
opacity: 0.5
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#00FFFFFF" }
|
||||
GradientStop { position: 1.0; color: "#AAFFFFFF" }
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"; when: mouseArea.containsMouse
|
||||
PropertyChanges { target: background; opacity: 1 }
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
from: "*"; to: "hovered"
|
||||
NumberAnimation { properties: "opacity"; duration: 100 }
|
||||
},
|
||||
Transition {
|
||||
from: "hovered"; to: "*"
|
||||
NumberAnimation { properties: "opacity"; duration: 600 }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
CoverImage {
|
||||
id: coverImage
|
||||
height: parent.height
|
||||
width: height
|
||||
showLabels: true
|
||||
artworkId: model.coverID
|
||||
artistName: model.artistName
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
onClicked: root.itemClicked(index)
|
||||
hoverEnabled: true
|
||||
}
|
||||
}
|
||||
}
|
52
data/qml/tomahawkimports/BusyIndicator.qml
Normal file
@@ -0,0 +1,52 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Item {
|
||||
id: busyIndicator
|
||||
width: 100
|
||||
height: width
|
||||
property int barWidth: width / 10
|
||||
property int barHeight: height / 4
|
||||
property int count: 12
|
||||
property color color: "white"
|
||||
property int currentHighlight: 0
|
||||
property bool running: true
|
||||
property int interval: 200
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 500 }
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: busyIndicator.count
|
||||
|
||||
|
||||
Item {
|
||||
height: parent.height
|
||||
width: busyIndicator.barWidth
|
||||
anchors.centerIn: parent
|
||||
Rectangle {
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
height: busyIndicator.barHeight
|
||||
radius: width / 2
|
||||
|
||||
color: busyIndicator.color
|
||||
}
|
||||
rotation: 360 / busyIndicator.count * index
|
||||
opacity: 1 - ((index > busyIndicator.currentHighlight ? busyIndicator.currentHighlight + busyIndicator.count : busyIndicator.currentHighlight) - index) / busyIndicator.count
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: busyIndicator.interval }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: busyIndicator.interval
|
||||
running: busyIndicator.running
|
||||
repeat: true
|
||||
onTriggered: parent.currentHighlight = (parent.currentHighlight + 1) % busyIndicator.count
|
||||
}
|
||||
}
|
44
data/qml/tomahawkimports/Button.qml
Normal file
@@ -0,0 +1,44 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
height: contentRow.height + defaultFontHeight / 2
|
||||
width: contentRow.width + defaultFontHeight / 2
|
||||
|
||||
property alias text: buttonText.text
|
||||
property alias imageSource: image.source
|
||||
property bool enabled: true
|
||||
|
||||
color: "transparent"
|
||||
border.width: defaultFontHeight / 16
|
||||
border.color: buttonMouseArea.containsMouse ? "lightblue" : "transparent"
|
||||
radius: defaultFontHeight / 4
|
||||
|
||||
signal clicked()
|
||||
|
||||
Row {
|
||||
id: contentRow
|
||||
spacing: defaultFontHeight / 4
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
anchors.centerIn: parent
|
||||
Image {
|
||||
id: image
|
||||
height: defaultFontHeight
|
||||
width: source.length == 0 ? 0 : height
|
||||
}
|
||||
|
||||
Text {
|
||||
id: buttonText
|
||||
color: root.enabled ? "black" : "grey"
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: buttonMouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: root.enabled
|
||||
enabled: root.enabled
|
||||
onClicked: root.clicked();
|
||||
}
|
||||
}
|
135
data/qml/tomahawkimports/CoverFlip.qml
Normal file
@@ -0,0 +1,135 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
PathView {
|
||||
id: coverView
|
||||
|
||||
// The start coordinates for the covers
|
||||
// Default is left, centered in height
|
||||
property int pathStartX: 0
|
||||
property int pathStartY: height
|
||||
|
||||
// The size of the covers in the path
|
||||
property int coverSize: height
|
||||
|
||||
property color backgroundColor: "black"
|
||||
|
||||
// emitted when a cover is clicked
|
||||
signal itemClicked(int index)
|
||||
|
||||
// emitted when a cover is clicked
|
||||
signal itemPlayPauseClicked(int index)
|
||||
|
||||
preferredHighlightBegin: 0.2 // scene.width / 11000
|
||||
preferredHighlightEnd: preferredHighlightBegin
|
||||
pathItemCount: 5
|
||||
//highlightMoveDuration: 500
|
||||
|
||||
property bool itemHovered: false
|
||||
|
||||
delegate: Item {
|
||||
id: delegateItem
|
||||
height: coverView.coverSize
|
||||
width: coverView.coverSize
|
||||
|
||||
scale: PathView.itemScale
|
||||
// itemBrightness: PathView.itemBrightness - ((coverView.itemHovered && !coverDelegate.containsMouse) ? .4 : 0)
|
||||
property double itemBrightness: PathView.itemBrightness
|
||||
property double itemOpacity: PathView.itemOpacity
|
||||
property int _origZ
|
||||
|
||||
z: coverView.width - x
|
||||
|
||||
CoverImage {
|
||||
id: coverDelegate
|
||||
height: coverView.coverSize
|
||||
width: coverView.coverSize
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
showLabels: true
|
||||
showMirror: true
|
||||
artistName: model.artistName
|
||||
trackName: model.trackName
|
||||
artworkId: model.coverID
|
||||
showPlayButton: true
|
||||
currentlyPlaying: isPlaying
|
||||
smooth: true
|
||||
|
||||
// itemBrightness: PathView.itemBrightness - ((coverView.itemHovered && !coverDelegate.containsMouse) ? .4 : 0)
|
||||
itemBrightness: coverDelegate.containsMouse ? 1 : parent.itemBrightness * (coverView.itemHovered ? .5 : 1)
|
||||
opacity: parent.itemOpacity
|
||||
z: coverView.width - x
|
||||
|
||||
onPlayClicked: {
|
||||
console.log("***************")
|
||||
coverView.itemPlayPauseClicked(index)
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
coverView.itemClicked(index)
|
||||
}
|
||||
|
||||
onContainsMouseChanged: {
|
||||
if (containsMouse) {
|
||||
delegateItem._origZ = delegateItem.z;
|
||||
coverView.itemHovered = true
|
||||
} else {
|
||||
coverView.itemHovered = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"; when: coverDelegate.containsMouse && !coverView.moving && index !== currentIndex
|
||||
PropertyChanges {
|
||||
target: delegateItem
|
||||
width: coverView.coverSize * 2
|
||||
z: delegateItem._origZ
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: [
|
||||
Transition {
|
||||
NumberAnimation {
|
||||
properties: "width"
|
||||
duration: 300
|
||||
easing.type: Easing.InOutSine
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
path: Path {
|
||||
startX: coverView.pathStartX
|
||||
startY: coverView.pathStartY
|
||||
|
||||
PathAttribute { name: "itemOpacity"; value: 0 }
|
||||
PathAttribute { name: "itemBrightness"; value: 0 }
|
||||
PathAttribute { name: "itemScale"; value: 1.3 }
|
||||
|
||||
PathLine { x: coverView.width / 4; y: coverView.height / 4 * 3}
|
||||
PathPercent { value: 0.1 }
|
||||
PathAttribute { name: "itemOpacity"; value: 0 }
|
||||
PathAttribute { name: "itemBrightness"; value: 1 }
|
||||
PathAttribute { name: "itemScale"; value: 1.0 }
|
||||
|
||||
PathLine { x: coverView.width / 2; y: coverView.height / 2}
|
||||
PathPercent { value: 0.2 }
|
||||
PathAttribute { name: "itemOpacity"; value: 1 }
|
||||
PathAttribute { name: "itemBrightness"; value: 1 }
|
||||
PathAttribute { name: "itemScale"; value: 0.5 }
|
||||
|
||||
PathLine { x: coverView.width; y: 0 }
|
||||
PathPercent { value: 1 }
|
||||
PathAttribute { name: "itemOpacity"; value: 1 }
|
||||
PathAttribute { name: "itemBrightness"; value: 0 }
|
||||
PathAttribute { name: "itemScale"; value: 0.1 }
|
||||
}
|
||||
|
||||
}
|
84
data/qml/tomahawkimports/CoverFlow.qml
Normal file
@@ -0,0 +1,84 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
ListView {
|
||||
id: coverView
|
||||
|
||||
property color backgroundColor: "black"
|
||||
property int coverSize: height / 2
|
||||
|
||||
// emitted when a cover is clicked
|
||||
signal itemClicked(int index)
|
||||
|
||||
// emitted when a cover is clicked
|
||||
signal itemPlayPauseClicked(int index)
|
||||
|
||||
preferredHighlightBegin: (width / 2) - (coverSize / 4)
|
||||
preferredHighlightEnd: preferredHighlightBegin + coverSize / 2
|
||||
snapMode: ListView.SnapToItem
|
||||
highlightRangeMode: ListView.StrictlyEnforceRange
|
||||
highlightMoveDuration: 200
|
||||
|
||||
property bool itemHovered: false
|
||||
orientation: ListView.Horizontal
|
||||
|
||||
delegate: Item {
|
||||
id: delegateItem
|
||||
height: parent.height
|
||||
width: coverView.coverSize / 2
|
||||
anchors.verticalCenter: ListView.view.verticalCenter
|
||||
|
||||
property real distanceFromLeftEdge: -coverView.contentX + index*width
|
||||
property real distanceFromRightEdge: coverView.contentX + coverView.width - (index+1)*width
|
||||
property real distanceFromEdge: Math.max(distanceFromLeftEdge, distanceFromRightEdge)
|
||||
|
||||
scale: 2 - (distanceFromEdge / (coverView.width))
|
||||
|
||||
property double itemBrightness: (1.3 - (distanceFromEdge / (coverView.width))) - ((coverView.itemHovered && !coverDelegate.containsMouse) ? .4 : 0)
|
||||
property double itemOpacity: coverView.itemHovered && !coverDelegate.containsMouse ? 0.4 : 1
|
||||
property int _origZ
|
||||
|
||||
z: -Math.abs(currentIndex - index)
|
||||
|
||||
CoverImage {
|
||||
id: coverDelegate
|
||||
height: coverView.coverSize / 2
|
||||
width: parent.width
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
showLabels: true
|
||||
showMirror: false
|
||||
artistName: model.artistName
|
||||
trackName: model.trackName
|
||||
artworkId: model.coverID
|
||||
showPlayButton: true
|
||||
currentlyPlaying: isPlaying
|
||||
smooth: true
|
||||
|
||||
itemBrightness: coverDelegate.containsMouse ? 1 : parent.itemBrightness * (coverView.itemHovered ? .5 : 1)
|
||||
opacity: parent.itemOpacity
|
||||
z: coverView.width - x
|
||||
|
||||
onPlayClicked: {
|
||||
console.log("***************")
|
||||
coverView.itemPlayPauseClicked(index)
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
coverView.itemClicked(index)
|
||||
}
|
||||
|
||||
onContainsMouseChanged: {
|
||||
if (containsMouse) {
|
||||
delegateItem._origZ = delegateItem.z;
|
||||
coverView.itemHovered = true
|
||||
} else {
|
||||
coverView.itemHovered = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
194
data/qml/tomahawkimports/CoverImage.qml
Normal file
@@ -0,0 +1,194 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
// Should the artist + track labels be painted
|
||||
property bool showLabels: true
|
||||
|
||||
// Should the play button be painted on mouse hover?
|
||||
property bool showPlayButton: false
|
||||
|
||||
// if this is true, the play button will be swapped by a pause button
|
||||
property bool currentlyPlaying: false
|
||||
|
||||
// Should the mirror be painted?
|
||||
property bool showMirror: false
|
||||
|
||||
// Labels & Cover
|
||||
property string artistName
|
||||
property string trackName
|
||||
property string artworkId
|
||||
|
||||
// The border color for the cover image
|
||||
property color borderColor: "black"
|
||||
// The border width for the cover image
|
||||
property int borderWidth: 2
|
||||
|
||||
// sets the brightness for the item and its mirror (1: brightest, 0: darkest)
|
||||
property double itemBrightness: 1
|
||||
property double mirrorBrightness: .5
|
||||
|
||||
// set this to true if you want to smoothly scale the cover (be aware of performance impacts)
|
||||
property bool smooth: false
|
||||
|
||||
// will be emitted when the on hower play button is clicked
|
||||
signal playClicked()
|
||||
// will be emitted when the cover is clicked
|
||||
signal clicked()
|
||||
// will be emitted when the cover is hovered by the mouse
|
||||
property alias containsMouse: mouseArea.containsMouse
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
|
||||
onClicked: {
|
||||
print("Cover clicked");
|
||||
root.clicked();
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: itemShadow
|
||||
color: "black"
|
||||
anchors.fill: parent
|
||||
|
||||
//opacity: 1 - itemBrightness
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { easing.type: Easing.Linear; duration: 300 }
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: coverImage
|
||||
|
||||
Item {
|
||||
property bool isMirror: false
|
||||
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
source: "image://albumart/" + artworkId + (isMirror ? "-mirror" : "") + (showLabels ? "-labels" : "")
|
||||
smooth: root.smooth
|
||||
opacity: itemBrightness
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 300 }
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: itemGlow
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: isMirror ? parent.height / 2 : 0
|
||||
|
||||
opacity: (mouseArea.containsMouse ? .2 : 0)
|
||||
|
||||
Gradient {
|
||||
id: glowGradient
|
||||
GradientStop { position: 0.0; color: "white" }
|
||||
GradientStop { position: 0.7; color: "white" }
|
||||
GradientStop { position: 0.8; color: "#00000000" }
|
||||
GradientStop { position: 1.0; color: "#00000000" }
|
||||
}
|
||||
Gradient {
|
||||
id: mirrorGlowGradient
|
||||
GradientStop { position: 0.0; color: "#00000000" }
|
||||
GradientStop { position: 0.5; color: "#00000000" }
|
||||
GradientStop { position: 1.0; color: "#44FFFFFF" }
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "mirrored"; when: isMirror
|
||||
PropertyChanges {
|
||||
target: itemGlow
|
||||
gradient: mirrorGlowGradient
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "normal"; when: !isMirror
|
||||
PropertyChanges {
|
||||
target: itemGlow
|
||||
gradient: glowGradient
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { easing.type: Easing.Linear; duration: 300 }
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: trackText
|
||||
color: "white"
|
||||
font.bold: true
|
||||
text: trackName
|
||||
anchors { left: parent.left; right: parent.right; bottom: artistText.top }
|
||||
anchors.margins: 2
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
elide: Text.ElideRight
|
||||
opacity: showLabels ? itemBrightness * (isMirror ? 0.5 : 1): 0
|
||||
font.pixelSize: root.height / 15
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 300 }
|
||||
}
|
||||
}
|
||||
Text {
|
||||
id: artistText
|
||||
color: "white"
|
||||
font.bold: trackText.text.length == 0
|
||||
text: artistName
|
||||
anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
|
||||
anchors.margins: root.height / 20
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
elide: Text.ElideRight
|
||||
opacity: showLabels ? itemBrightness * (isMirror ? 0.5 : 1) : 0
|
||||
font.pixelSize: trackText.text.length == 0 ? root.height / 10 : root.height / 15
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 300 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loader {
|
||||
sourceComponent: coverImage
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: mirroredCover
|
||||
sourceComponent: parent.showMirror ? coverImage : undefined
|
||||
anchors.fill: parent
|
||||
onLoaded: {
|
||||
item.isMirror = true
|
||||
}
|
||||
transform : [
|
||||
Rotation {
|
||||
angle: 180; origin.y: root.height
|
||||
axis.x: 1; axis.y: 0; axis.z: 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Image {
|
||||
id: playButton
|
||||
visible: showPlayButton ? (mouseArea.containsMouse || currentlyPlaying) : false
|
||||
source: currentlyPlaying ? "../../images/pause-rest.svg" : "../../images/play-rest.svg"
|
||||
anchors.centerIn: parent
|
||||
height: mirroredCover.height / 5
|
||||
width: height
|
||||
smooth: root.smooth
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
print("Play button clicked");
|
||||
root.playClicked();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
225
data/qml/tomahawkimports/DoubleSlider.qml
Normal file
@@ -0,0 +1,225 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property int min: 0
|
||||
property int max: 100
|
||||
|
||||
/** The labels next to the slider
|
||||
* if empty, min and max values are used
|
||||
*/
|
||||
property string minLabel: ""
|
||||
property string maxLabel: ""
|
||||
|
||||
/** Should the floating label indicating the current position be shown? */
|
||||
property bool showFloatingLabel: true
|
||||
property bool minMaxLabelsVisible: true
|
||||
|
||||
property int lowerSliderPos: 25
|
||||
property int upperSliderPos: 75
|
||||
|
||||
onUpperSliderPosChanged: print("fooooooooo", upperSliderPos)
|
||||
|
||||
signal valueChanged()
|
||||
|
||||
QtObject {
|
||||
id: priv
|
||||
|
||||
property int steps: root.max - root.min + 1
|
||||
|
||||
property int sliderHeight: root.height / 3
|
||||
property int sliderWidth: sliderHeight / 2
|
||||
}
|
||||
|
||||
Row {
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: defaultFontHeight * 1.2
|
||||
anchors.bottomMargin: defaultFontHeight * 1.2
|
||||
spacing: 10
|
||||
|
||||
Text {
|
||||
id: minText
|
||||
text: root.minLabel.length > 0 ? root.minLabel : min
|
||||
color: "white"
|
||||
visible: root.minMaxLabelsVisible
|
||||
}
|
||||
|
||||
Item {
|
||||
id: sliderRect
|
||||
height: root.height / 4
|
||||
property int maxWidth: parent.width - (minText.visible ? minText.width : 0) - (maxText.visible ? maxText.width : 0) - parent.spacing * 2
|
||||
width: maxWidth - (maxWidth % priv.steps)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
function sliderPosToValue( sliderPos ) {
|
||||
var percent = sliderPos * 100 / (sliderRect.width - priv.sliderWidth/2);
|
||||
return Math.floor(percent * (priv.steps-1) / 100) + root.min
|
||||
}
|
||||
|
||||
function valueToSloderPos( value ) {
|
||||
var percent = (value - root.min) * 100 / (priv.steps-1)
|
||||
return percent * (sliderRect.width - priv.sliderWidth/2) / 100
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: sliderBase
|
||||
height: parent.height
|
||||
width: parent.width + defaultFontHeight * 1.5
|
||||
color: "white"
|
||||
radius: height / 2
|
||||
anchors.centerIn: parent
|
||||
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#ffffffff" }
|
||||
GradientStop { position: 1.0; color: "#aaffffff" }
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: sliderBase
|
||||
anchors.leftMargin: lowerSlider.x + priv.sliderWidth
|
||||
anchors.rightMargin: sliderBase.width - upperSlider.x - priv.sliderWidth
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#aa962c26" }
|
||||
GradientStop { position: 1.0; color: "#962c26" }
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
id: stepRow
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: defaultFontHeight - lineWidth/2
|
||||
anchors.rightMargin: defaultFontHeight - lineWidth/2
|
||||
property int stepCount: root.max - root.min + 1
|
||||
property int lineHeight: height
|
||||
property int lineWidth: lineHeight / 15
|
||||
spacing: (width - (stepCount * lineWidth)) / stepCount
|
||||
|
||||
Repeater {
|
||||
model: stepRow.stepCount
|
||||
|
||||
Rectangle {
|
||||
id: marker
|
||||
height: stepRow.lineHeight * (isHighlight ? 1.2 : 1)
|
||||
width: stepRow.lineWidth
|
||||
color: "black"
|
||||
|
||||
property bool isHighlight: index % 10 === 0
|
||||
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: marker.isHighlight ? "white" : "black" }
|
||||
GradientStop { position: 1.0; color: marker.isHighlight ? "#aaffffff" : "black" }
|
||||
}
|
||||
|
||||
Text {
|
||||
text: root.min + index
|
||||
visible: marker.isHighlight
|
||||
anchors.horizontalCenter: marker.horizontalCenter
|
||||
anchors.top: marker.bottom
|
||||
anchors.topMargin: defaultFontHeight / 2
|
||||
color: "white"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: lowerSlider
|
||||
height: priv.sliderHeight
|
||||
width: priv.sliderWidth
|
||||
anchors.verticalCenter: sliderBase.verticalCenter
|
||||
radius: height/4
|
||||
border.color: "black"
|
||||
border.width: 2
|
||||
x: sliderRect.valueToSloderPos(root.lowerSliderPos) - priv.sliderWidth/2
|
||||
|
||||
Rectangle {
|
||||
id: lowerFloatingRect
|
||||
color: "white"
|
||||
anchors.bottom: lowerSlider.top
|
||||
anchors.bottomMargin: 10
|
||||
// visible: root.showFloatingLabel && lowerSliderMouseArea.pressed
|
||||
width: lowerFloatingText.width * 1.2
|
||||
height: lowerFloatingText.height + height * 1.2
|
||||
x: -(width - priv.sliderWidth) / 2
|
||||
radius: height / 8
|
||||
|
||||
Text {
|
||||
id: lowerFloatingText
|
||||
anchors.centerIn: parent
|
||||
text: sliderRect.sliderPosToValue(lowerSlider.x + priv.sliderWidth/2)
|
||||
}
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
id: lowerSliderMouseArea
|
||||
anchors.fill: lowerSlider
|
||||
drag.target: lowerSlider
|
||||
drag.axis: "XAxis"
|
||||
drag.minimumX: -priv.sliderWidth / 2
|
||||
drag.maximumX: upperSlider.x - priv.sliderWidth
|
||||
onReleased: {
|
||||
root.lowerSliderPos = sliderRect.sliderPosToValue( lowerSlider.x + priv.sliderWidth/2 );
|
||||
root.valueChanged();
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: upperSlider
|
||||
height: priv.sliderHeight
|
||||
width: priv.sliderWidth
|
||||
anchors.verticalCenter: sliderBase.verticalCenter
|
||||
radius: height / 4
|
||||
border.color: "black"
|
||||
border.width: 2
|
||||
x: sliderRect.valueToSloderPos(root.upperSliderPos)
|
||||
Rectangle {
|
||||
id: upperFloatingRect
|
||||
color: "white"
|
||||
anchors.bottom: upperSlider.top
|
||||
anchors.bottomMargin: 10
|
||||
// visible: root.showFloatingLabel && upperSliderMouseArea.pressed
|
||||
width: upperFloatingText.width * 1.2
|
||||
height: upperFloatingText.height + height * 1.2
|
||||
radius: height / 4
|
||||
x: -(width - priv.sliderWidth) / 2
|
||||
|
||||
Text {
|
||||
id: upperFloatingText
|
||||
anchors.centerIn: parent
|
||||
text: sliderRect.sliderPosToValue(upperSlider.x + priv.sliderWidth/2)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
MouseArea {
|
||||
id: upperSliderMouseArea
|
||||
anchors.fill: upperSlider
|
||||
onClicked: print("button pressed")
|
||||
drag.target: upperSlider
|
||||
drag.axis: "XAxis"
|
||||
drag.minimumX: lowerSlider.x + priv.sliderWidth
|
||||
drag.maximumX: parent.width - priv.sliderWidth
|
||||
onReleased: {
|
||||
root.upperSliderPos = sliderRect.sliderPosToValue( upperSlider.x + priv.sliderWidth/2 );
|
||||
root.valueChanged();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Text {
|
||||
id: maxText
|
||||
text: root.maxLabel.length > 0 ? root.maxLabel : max
|
||||
color: "white"
|
||||
visible: root.minMaxLabelsVisible
|
||||
}
|
||||
}
|
||||
}
|
223
data/qml/tomahawkimports/FlexibleHeader.qml
Normal file
@@ -0,0 +1,223 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
|
||||
// The icon
|
||||
property alias icon: iconImage.source
|
||||
|
||||
// The title
|
||||
property alias title: titleItem.titleText
|
||||
|
||||
// The subtitle/description
|
||||
property alias subtitle: subtitleText.text
|
||||
|
||||
// The model for the ToggleViewButtons.
|
||||
// "modelData" role name holds the iconSource
|
||||
// => You can use a QStringList or StandardListModel here
|
||||
property alias buttonModel: toggleViewButtons.model
|
||||
|
||||
// The index of the currently selected item
|
||||
property alias currentButtonIndex: toggleViewButtons.currentIndex
|
||||
|
||||
// Should we show the searchfield?
|
||||
property bool showSearchField: true
|
||||
|
||||
// The SearchFields text
|
||||
property alias searchText: searchField.text
|
||||
|
||||
property bool showBackButton: false
|
||||
property bool showNextButton: false
|
||||
|
||||
property string backButtonText: "Back"
|
||||
property string nextButtonText: "Next"
|
||||
|
||||
// Layout spacing
|
||||
property int spacing: defaultFontHeight * 0.5
|
||||
|
||||
signal backPressed()
|
||||
signal nextPressed()
|
||||
signal savePressed()
|
||||
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "#615858" }
|
||||
GradientStop { position: 1.0; color: "#231F1F" }
|
||||
}
|
||||
|
||||
Row {
|
||||
id: leftRow
|
||||
anchors {
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
right: rightRow.left
|
||||
}
|
||||
|
||||
anchors.margins: root.spacing
|
||||
spacing: root.spacing
|
||||
|
||||
Image {
|
||||
id: iconImage
|
||||
height: parent.height * 0.8
|
||||
width: height
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
smooth: true
|
||||
}
|
||||
|
||||
Column {
|
||||
height: childrenRect.height
|
||||
width: parent.width - iconImage.width - parent.spacing
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Item {
|
||||
id: titleItem
|
||||
height: captionText1.height
|
||||
width: parent.width
|
||||
clip: true
|
||||
|
||||
property string titleText
|
||||
|
||||
onTitleTextChanged: {
|
||||
if(captionText1.text.length > 0) {
|
||||
captionText2.text = titleText;
|
||||
renewTitleAnimation.start();
|
||||
} else {
|
||||
captionText1.text = titleText;
|
||||
}
|
||||
}
|
||||
|
||||
ParallelAnimation {
|
||||
id: renewTitleAnimation
|
||||
property int duration: 500
|
||||
property variant easingType: Easing.OutBounce;
|
||||
|
||||
NumberAnimation { target: captionText2; property: "anchors.topMargin"; to: 0; duration: renewTitleAnimation.duration; easing.type: renewTitleAnimation.easingType }
|
||||
NumberAnimation { target: captionText1; property: "anchors.topMargin"; to: captionText1.height * 2; duration: renewTitleAnimation.duration; easing.type: renewTitleAnimation.easingType }
|
||||
|
||||
onCompleted: {
|
||||
captionText1.text = titleItem.titleText
|
||||
captionText2.anchors.topMargin = -captionText2.height * 2
|
||||
captionText1.anchors.topMargin = 0
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: captionText1
|
||||
color: "white"
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
|
||||
font.pointSize: defaultFontSize * 1.5
|
||||
font.bold: true
|
||||
width: parent.width
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
Text {
|
||||
id: captionText2
|
||||
color: "white"
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: -height * 2
|
||||
font.pointSize: defaultFontSize * 1.5
|
||||
font.bold: true
|
||||
width: parent.width
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
}
|
||||
Text {
|
||||
id: subtitleText
|
||||
color: "white"
|
||||
font.pointSize: defaultFontSize * 1.2
|
||||
width: parent.width
|
||||
elide: Text.ElideRight
|
||||
height: text.length > 0 ? defaultFontHeight : 0
|
||||
opacity: text.length > 0 ? 1 : 0
|
||||
Behavior on height {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
|
||||
onTextChanged: {
|
||||
if (text.length > 0) {
|
||||
animationText.text = text
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: animationText
|
||||
color: parent.color
|
||||
font: parent.font
|
||||
elide: parent.elide
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Row {
|
||||
id: rightRow
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
rightMargin: -backButton.width - root.spacing - nextButton.width
|
||||
bottom: parent.bottom
|
||||
margins: root.spacing
|
||||
}
|
||||
width: childrenRect.width
|
||||
spacing: root.spacing
|
||||
layoutDirection: Qt.RightToLeft
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "oneVisible"; when: root.showBackButton && !root.showNextButton
|
||||
PropertyChanges {
|
||||
target: rightRow
|
||||
anchors.rightMargin: -nextButton.width
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "bothVisible"; when: root.showBackButton && root.showNextButton
|
||||
PropertyChanges {
|
||||
target: rightRow
|
||||
anchors.rightMargin: root.spacing
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
Behavior on anchors.rightMargin {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
|
||||
PushButton {
|
||||
id: nextButton
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: root.nextButtonText
|
||||
onClicked: root.nextPressed();
|
||||
}
|
||||
PushButton {
|
||||
id: backButton
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: root.backButtonText
|
||||
onClicked: root.backPressed();
|
||||
}
|
||||
InputField {
|
||||
id: searchField
|
||||
visible: root.showSearchField
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
placeholderText: "Search..."
|
||||
showSearchIcon: true
|
||||
}
|
||||
ToggleViewButtons {
|
||||
id: toggleViewButtons
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
height: defaultFontHeight * 1.5
|
||||
}
|
||||
}
|
||||
}
|
7
data/qml/tomahawkimports/HeaderLabel.qml
Normal file
@@ -0,0 +1,7 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Text {
|
||||
color: "white"
|
||||
font.pointSize: defaultFontSize + 5
|
||||
font.bold: true
|
||||
}
|
114
data/qml/tomahawkimports/InputBubble.qml
Normal file
@@ -0,0 +1,114 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
FocusScope {
|
||||
id: root
|
||||
|
||||
property alias text: messageText.text
|
||||
property alias inputText: inputField.text
|
||||
|
||||
property real arrowPosition: 1
|
||||
|
||||
height: contentColumn.height + defaultFontHeight * 2
|
||||
|
||||
signal accepted()
|
||||
signal rejected()
|
||||
|
||||
onFocusChanged: {
|
||||
if (focus) {
|
||||
inputField.forceActiveFocus()
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
anchors.margins: -999999999
|
||||
hoverEnabled: root.opacity > 0
|
||||
enabled: root.opacity > 0
|
||||
onClicked: root.rejected();
|
||||
}
|
||||
|
||||
Item {
|
||||
id: backgroundItem
|
||||
anchors.fill: parent
|
||||
opacity: 0.9
|
||||
|
||||
Rectangle {
|
||||
id: background
|
||||
anchors.fill: parent
|
||||
color: "white"
|
||||
border.color: "black"
|
||||
border.width: defaultFontHeight / 10
|
||||
radius: defaultFontHeight / 2
|
||||
anchors.topMargin: defaultFontHeight / 4
|
||||
}
|
||||
|
||||
Item {
|
||||
clip: true
|
||||
anchors.bottom: backgroundItem.top
|
||||
anchors.bottomMargin: -background.border.width*3
|
||||
height: defaultFontHeight
|
||||
width: height
|
||||
x: defaultFontHeight - arrowRect.width/2 + (root.width - defaultFontHeight*2) * arrowPosition
|
||||
Rectangle {
|
||||
id: arrowRect
|
||||
height: defaultFontHeight / 1.8
|
||||
width: height
|
||||
rotation: 45
|
||||
color: "white"
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: parent.height/2
|
||||
border.color: "black"
|
||||
border.width: defaultFontHeight / 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
id: contentColumn
|
||||
width: parent.width - defaultFontHeight
|
||||
height: childrenRect.height
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: defaultFontHeight / 4
|
||||
spacing: defaultFontHeight / 2
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
spacing: defaultFontHeight / 2
|
||||
Text {
|
||||
id: messageText
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
InputField {
|
||||
id: inputField
|
||||
width: parent.width - x
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
Row {
|
||||
height: childrenRect.height
|
||||
anchors.right: parent.right
|
||||
spacing: defaultFontHeight
|
||||
Button {
|
||||
text: "OK"
|
||||
imageSource: "qrc:///data/images/ok.svg"
|
||||
enabled: inputField.text.length > 0
|
||||
onClicked: root.accepted()
|
||||
}
|
||||
Button {
|
||||
text: "Cancel"
|
||||
imageSource: "qrc:///data/images/cancel.svg"
|
||||
onClicked: {
|
||||
inputField.text = ""
|
||||
root.rejected()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
162
data/qml/tomahawkimports/InputField.qml
Normal file
@@ -0,0 +1,162 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
color: "white"
|
||||
border.color: "black"
|
||||
border.width: defaultFontHeight * 0.1
|
||||
radius: defaultFontHeight * 0.25
|
||||
|
||||
height: textInput.height * 1.4
|
||||
width: 300
|
||||
|
||||
property bool showSearchIcon: false
|
||||
property string text: ""
|
||||
property string placeholderText: ""
|
||||
property variant completionModel
|
||||
|
||||
property int spacing: defaultFontHeight * 0.2
|
||||
signal accepted( string text )
|
||||
|
||||
onFocusChanged: {
|
||||
if(focus) {
|
||||
textInput.forceActiveFocus();
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: searchIcon
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: root.spacing
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
height: parent.height * 0.6
|
||||
width: root.showSearchIcon ? height : 1
|
||||
opacity: root.showSearchIcon ? 1 : 0
|
||||
smooth: true
|
||||
source: "../../images/search-icon.svg"
|
||||
}
|
||||
|
||||
Item {
|
||||
id: textItem
|
||||
anchors.left: searchIcon.right
|
||||
anchors.leftMargin: root.spacing
|
||||
anchors.right: clearIcon.right
|
||||
anchors.rightMargin: root.spacing
|
||||
height: textInput.height
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
TextInput {
|
||||
id: textInput
|
||||
width: parent.width
|
||||
anchors.centerIn: parent
|
||||
text: root.text
|
||||
font.pointSize: defaultFontSize
|
||||
|
||||
onAccepted: root.accepted( text );
|
||||
onTextChanged: {
|
||||
root.text = text;
|
||||
realCompletionListModel.clear();
|
||||
for (var i in completionModel) {
|
||||
if (completionModel[i].indexOf(text) == 0) {
|
||||
realCompletionListModel.append({modelData: completionModel[i]})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Text {
|
||||
width: parent.width
|
||||
anchors.centerIn: parent
|
||||
text: root.text.length === 0 ? root.placeholderText : ""
|
||||
color: "lightgray"
|
||||
font.pointSize: defaultFontSize
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: clearIcon
|
||||
anchors {
|
||||
right: parent.right
|
||||
rightMargin: root.spacing
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
height: parent.height * 0.8
|
||||
width: (root.showSearchIcon && root.text.length > 0) ? height : 1
|
||||
opacity: (root.showSearchIcon && root.text.length > 0) ? 1 : 0
|
||||
smooth: true
|
||||
source: "../../images/search-box-dismiss-x.svg"
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: textInput.text = ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Image {
|
||||
// source: "../../images/inputfield-border.svg"
|
||||
anchors.fill: parent
|
||||
anchors.margins: root.radius * 0.1
|
||||
clip: true
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors {
|
||||
top: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
height: Math.min(completionListView.count, 10) * completionListView.delegateHeight
|
||||
color: "white"
|
||||
ListView {
|
||||
id: completionListView
|
||||
anchors.fill: parent
|
||||
anchors.rightMargin: scrollBar.width + scrollBar.margin
|
||||
clip: true
|
||||
model: ListModel {
|
||||
id: realCompletionListModel
|
||||
}
|
||||
|
||||
property int delegateHeight: defaultFontHeight * 1.25
|
||||
delegate: Rectangle {
|
||||
height: completionListView.delegateHeight
|
||||
color: delegateMouseArea.containsMouse ? "lightblue" : "transparent"
|
||||
width: parent.width
|
||||
Text {
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
verticalCenter: parent.verticalCenter
|
||||
margins: defaultFontHeight / 4
|
||||
}
|
||||
text: modelData
|
||||
}
|
||||
MouseArea {
|
||||
id: delegateMouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: {
|
||||
textInput.text = modelData
|
||||
realCompletionListModel.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ScrollBar {
|
||||
id: scrollBar
|
||||
listView: completionListView
|
||||
color: "black"
|
||||
margin: 0
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
anchors.margins: -99999999
|
||||
z: -1
|
||||
enabled: completionListView.count > 0
|
||||
onClicked: {
|
||||
realCompletionListModel.clear();
|
||||
}
|
||||
}
|
||||
}
|
35
data/qml/tomahawkimports/PushButton.qml
Normal file
@@ -0,0 +1,35 @@
|
||||
import QtQuick 1.1
|
||||
//import tomahawk 1.0
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
height: buttonText.height * 1.4
|
||||
width: buttonText.width + (spacing * 2)
|
||||
radius: defaultFontHeight * 0.25
|
||||
// border.width: defaultFontHeight * 0.05
|
||||
// border.color: "#a7a7a7"
|
||||
|
||||
color: "white"
|
||||
/* gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: mouseArea.pressed ? "#040404" : "#fbfbfb" }
|
||||
GradientStop { position: 1.0; color: mouseArea.pressed ? "#8e8f8e" : "#787878" }
|
||||
}*/
|
||||
|
||||
property int spacing: defaultFontHeight * 0.5
|
||||
property alias text: buttonText.text
|
||||
|
||||
signal clicked()
|
||||
|
||||
Text {
|
||||
id: buttonText
|
||||
anchors.centerIn: root
|
||||
font.pointSize: defaultFontSize
|
||||
color: mouseArea.pressed ? "grey" : "black"
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
onClicked: root.clicked()
|
||||
}
|
||||
}
|
43
data/qml/tomahawkimports/RoundedButton.qml
Normal file
@@ -0,0 +1,43 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
border.width: 4
|
||||
border.color: enabled ? "white" : "grey"
|
||||
radius: height / 2
|
||||
color: (buttonMouseArea.containsMouse && enabled) ? "#22ffffff" : "black"
|
||||
opacity: hidden ? 0 : 1
|
||||
|
||||
height: defaultFontHeight * 2
|
||||
width: height
|
||||
|
||||
property string text
|
||||
property bool enabled: true
|
||||
property bool hidden: false
|
||||
|
||||
signal clicked()
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 200 }
|
||||
}
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation { duration: 200 }
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: parent.text
|
||||
color: root.border.color
|
||||
font.pixelSize: parent.height * .75
|
||||
font.bold: true
|
||||
}
|
||||
MouseArea {
|
||||
id: buttonMouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
enabled: root.enabled
|
||||
onClicked: parent.clicked()
|
||||
}
|
||||
}
|
71
data/qml/tomahawkimports/ScrollBar.qml
Normal file
@@ -0,0 +1,71 @@
|
||||
import QtQuick 1.1
|
||||
|
||||
Item {
|
||||
id: scrollBar
|
||||
width: defaultFontHeight / 2
|
||||
|
||||
// the ListView where to attach this scrollbar
|
||||
property variant listView
|
||||
// the orientation of the scrollbar
|
||||
property variant orientation : Qt.Vertical
|
||||
|
||||
property int margin: defaultFontHeight * 0.25
|
||||
|
||||
property color color: "white"
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "hidden"; when: !listView.moving
|
||||
PropertyChanges { target: scrollBar; opacity: 0 }
|
||||
},
|
||||
State {
|
||||
name: "visible"; when: listView.moving
|
||||
PropertyChanges { target: scrollBar; opacity: 1 }
|
||||
}
|
||||
]
|
||||
transitions: [
|
||||
Transition {
|
||||
from: "hidden"
|
||||
to: "visible"
|
||||
NumberAnimation { properties: "opacity"; duration: 200 }
|
||||
},
|
||||
Transition {
|
||||
from: "visible"
|
||||
to: "hidden"
|
||||
NumberAnimation { properties: "opacity"; duration: 2000 }
|
||||
}
|
||||
]
|
||||
|
||||
anchors {
|
||||
left: orientation == Qt.Vertical ? listView.right : listView.left
|
||||
leftMargin: orientation == Qt.Vertical ? scrollBar.margin : 0
|
||||
top: orientation == Qt.Vertical ? listView.top : listView.bottom
|
||||
topMargin: orientation == Qt.Vertical ? 0 : scrollBar.margin
|
||||
bottom: orientation == Qt.Vertical ? listView.bottom : undefined
|
||||
right: orientation == Qt.Vertical ? undefined : listView.right
|
||||
}
|
||||
|
||||
// A light, semi-transparent background
|
||||
Rectangle {
|
||||
id: background
|
||||
anchors.fill: parent
|
||||
radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
|
||||
color: scrollBar.color
|
||||
opacity: 0.2
|
||||
clip: true
|
||||
// Size the bar to the required size, depending upon the orientation.
|
||||
Rectangle {
|
||||
property real position: orientation == Qt.Vertical ? (listView.contentY / listView.contentHeight) : (listView.contentX / listView.contentWidth)
|
||||
property real pageSize: orientation == Qt.Vertical ? (listView.height / listView.contentHeight) : (listView.width / listView.contentWidth)
|
||||
|
||||
x: orientation == Qt.Vertical ? 1 : (position * (scrollBar.width-2) + 1)
|
||||
y: orientation == Qt.Vertical ? (position * (scrollBar.height-2) + 1) : 1
|
||||
width: orientation == Qt.Vertical ? (parent.width-2) : (pageSize * (scrollBar.width-2))
|
||||
height: orientation == Qt.Vertical ? (pageSize * (scrollBar.height-2)) : (parent.height-2)
|
||||
radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
|
||||
color: scrollBar.color
|
||||
opacity: 1
|
||||
}
|
||||
}
|
||||
|
||||
}
|
80
data/qml/tomahawkimports/TagCloud.qml
Normal file
@@ -0,0 +1,80 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
Item {
|
||||
id: tagCloud
|
||||
|
||||
property variant model: 10
|
||||
|
||||
signal tagClicked( string tag )
|
||||
|
||||
function randomNumber(min, max) {
|
||||
var date = new Date();
|
||||
return (max - min) * Math.random(date.getSeconds()) + min
|
||||
}
|
||||
|
||||
Flow {
|
||||
anchors.centerIn: parent
|
||||
width: parent.width
|
||||
spacing: defaultFontSize
|
||||
|
||||
Repeater {
|
||||
id: cloudRepeater
|
||||
model: tagCloud.model
|
||||
|
||||
delegate: Item {
|
||||
id: cloudItem
|
||||
width: delegateText.width * 1.1
|
||||
height: delegateText.height
|
||||
property double itemScale: tagCloud.randomNumber(0.5, 1.2)
|
||||
scale: itemScale
|
||||
Text {
|
||||
id: delegateText
|
||||
color: "gray"
|
||||
//text: controlModel.controlAt( index ).summary
|
||||
text: modelData
|
||||
font.pixelSize: defaultFontHeight * 1.8
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
//anchors.verticalCenterOffset: tagCloud.randomNumber(0, 15)
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"; when: cloudItemMouseArea.containsMouse
|
||||
PropertyChanges {
|
||||
target: delegateText
|
||||
color: "white"
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: [
|
||||
Transition {
|
||||
from: "*"
|
||||
to: "hovered"
|
||||
ColorAnimation {
|
||||
duration: 200
|
||||
}
|
||||
},
|
||||
Transition {
|
||||
from: "hovered"
|
||||
to: "*"
|
||||
ColorAnimation {
|
||||
duration: 1000
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
MouseArea {
|
||||
id: cloudItemMouseArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onClicked: tagCloud.tagClicked( modelData )
|
||||
}
|
||||
|
||||
Behavior on scale {
|
||||
NumberAnimation { easing: Easing.Linear; duration: 1000 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
34
data/qml/tomahawkimports/ToggleViewButtons.qml
Normal file
@@ -0,0 +1,34 @@
|
||||
import QtQuick 1.1
|
||||
import tomahawk 1.0
|
||||
|
||||
Row {
|
||||
id: root
|
||||
width: repeater.width
|
||||
|
||||
property alias model: repeater.model
|
||||
property int currentIndex: 0
|
||||
|
||||
Repeater {
|
||||
id: repeater
|
||||
height: root.height
|
||||
width: count * height
|
||||
|
||||
|
||||
delegate: Image {
|
||||
height: repeater.height
|
||||
width: height
|
||||
|
||||
source: "../../images/view-toggle-" + (index === root.currentIndex ? "active-" : "inactive-" ) + (index === 0 ? "left" : ( index === repeater.count - 1 ? "right" : "centre" )) + ".svg"
|
||||
smooth: true
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
source: "../../images/" + modelData + (index === root.currentIndex ? "-active.svg" : "-inactive.svg")
|
||||
}
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
onClicked: root.currentIndex = index
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|