Minor UI tweaks and clean up project.
This commit is contained in:
parent
5fe8bafbf3
commit
75eb4c5b52
Binary file not shown.
Binary file not shown.
|
@ -1,219 +0,0 @@
|
||||||
<?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"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="1280"
|
|
||||||
height="960"
|
|
||||||
viewBox="0 0 338.66666 254.00001"
|
|
||||||
version="1.1"
|
|
||||||
id="svg4636"
|
|
||||||
inkscape:version="0.92.2 2405546, 2018-03-11"
|
|
||||||
sodipodi:docname="roompanel-dark.svg">
|
|
||||||
<defs
|
|
||||||
id="defs4630" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="574.88953"
|
|
||||||
inkscape:cy="546.35799"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
units="px"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1050"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="30"
|
|
||||||
inkscape:window-maximized="1" />
|
|
||||||
<metadata
|
|
||||||
id="metadata4633">
|
|
||||||
<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 />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-42.999983)">
|
|
||||||
<circle
|
|
||||||
id="path4638"
|
|
||||||
cx="274.10834"
|
|
||||||
cy="259.42917"
|
|
||||||
r="75.40625"
|
|
||||||
style="opacity:0.25;fill:#13100e;fill-opacity:1;stroke-width:0.26458335" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6"
|
|
||||||
cx="303.0802"
|
|
||||||
cy="169.86771"
|
|
||||||
r="48.286457"
|
|
||||||
style="opacity:0.25;fill:#13100e;fill-opacity:1;stroke-width:0.16942617" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-7"
|
|
||||||
cx="165.76144"
|
|
||||||
cy="82.290604"
|
|
||||||
r="25.135412"
|
|
||||||
style="opacity:0.25;fill:#13100e;fill-opacity:1;stroke-width:0.08819444" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-5"
|
|
||||||
cx="38.100006"
|
|
||||||
cy="195.3998"
|
|
||||||
r="76.332291"
|
|
||||||
style="opacity:0.25;fill:#13100e;fill-opacity:1;stroke-width:0.26783261" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-3"
|
|
||||||
cx="87.709373"
|
|
||||||
cy="148.70103"
|
|
||||||
r="41.01041"
|
|
||||||
style="opacity:0.25;fill:#13100e;fill-opacity:1;stroke-width:0.14389619" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-56"
|
|
||||||
cx="220.3979"
|
|
||||||
cy="100.94374"
|
|
||||||
r="48.286453"
|
|
||||||
style="opacity:0.25;fill:#13100e;fill-opacity:1;stroke-width:0.16942617" />
|
|
||||||
<g
|
|
||||||
id="g5310"
|
|
||||||
transform="matrix(0.18980272,0,0,0.18980272,163.39608,213.89968)"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero">
|
|
||||||
<path
|
|
||||||
id="path5231"
|
|
||||||
d="M 34.004,340.809 H 2 c -1.104,0 -2,-0.896 -2,-2 V 2 C 0,0.896 0.896,0 2,0 h 32.004 c 1.104,0 2,0.896 2,2 v 7.71 c 0,1.104 -0.896,2 -2,2 h -21.13 v 317.386 h 21.13 c 1.104,0 2,0.896 2,2.001 v 7.712 c 0,1.104 -0.896,2 -2,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5233"
|
|
||||||
d="m 10.875,9.711 v 321.386 h 23.13 v 7.711 H 1.999 V 2.001 h 32.006 v 7.71 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5235"
|
|
||||||
d="m 252.402,233.711 h -32.993 c -1.104,0 -2,-0.896 -2,-2 v -68.073 c 0,-3.949 -0.154,-7.722 -0.457,-11.213 -0.289,-3.282 -1.074,-6.153 -2.332,-8.53 -1.204,-2.276 -3.017,-4.119 -5.384,-5.476 -2.393,-1.362 -5.775,-2.056 -10.042,-2.056 -4.238,0 -7.674,0.798 -10.213,2.371 -2.565,1.596 -4.604,3.701 -6.053,6.258 -1.498,2.643 -2.51,5.694 -3.013,9.067 -0.526,3.513 -0.793,7.125 -0.793,10.741 v 66.91 c 0,1.104 -0.896,2 -2,2 h -32.991 c -1.104,0 -2,-0.896 -2,-2 v -67.373 c 0,-3.435 -0.078,-6.964 -0.228,-10.485 -0.148,-3.251 -0.767,-6.278 -1.841,-8.995 -1.018,-2.571 -2.667,-4.584 -5.047,-6.153 -2.372,-1.552 -6.029,-2.341 -10.865,-2.341 -1.372,0 -3.265,0.328 -5.629,0.976 -2.28,0.624 -4.536,1.826 -6.705,3.577 -2.152,1.732 -4.036,4.306 -5.605,7.655 -1.569,3.356 -2.367,7.877 -2.367,13.438 v 69.701 c 0,1.104 -0.895,2 -2,2 H 68.857 c -1.104,0 -2,-0.896 -2,-2 V 111.594 c 0,-1.104 0.896,-1.999 2,-1.999 h 31.13 c 1.104,0 2,0.896 2,1.999 v 11.007 c 3.834,-4.499 8.248,-8.152 13.173,-10.896 6.396,-3.559 13.799,-5.362 22.002,-5.362 7.846,0 15.127,1.548 21.642,4.604 5.794,2.722 10.424,7.26 13.791,13.52 3.449,-4.362 7.833,-8.306 13.071,-11.752 6.422,-4.228 14.102,-6.371 22.824,-6.371 6.499,0 12.625,0.807 18.209,2.399 5.686,1.628 10.635,4.271 14.712,7.857 4.088,3.605 7.318,8.357 9.601,14.123 2.25,5.719 3.391,12.649 3.391,20.604 v 80.384 c -0.001,1.104 -0.896,2 -2.001,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5237"
|
|
||||||
d="m 99.988,111.595 v 16.264 h 0.463 c 4.338,-6.191 9.563,-10.998 15.684,-14.406 6.117,-3.402 13.129,-5.11 21.027,-5.11 7.588,0 14.521,1.475 20.793,4.415 6.274,2.945 11.038,8.131 14.291,15.567 3.56,-5.265 8.4,-9.913 14.521,-13.94 6.117,-4.025 13.358,-6.042 21.724,-6.042 6.351,0 12.234,0.776 17.66,2.325 5.418,1.549 10.065,4.027 13.938,7.434 3.869,3.41 6.889,7.863 9.062,13.357 2.167,5.504 3.253,12.122 3.253,19.869 v 80.385 H 219.41 v -68.074 c 0,-4.025 -0.154,-7.82 -0.465,-11.385 -0.313,-3.56 -1.161,-6.656 -2.555,-9.293 -1.395,-2.631 -3.45,-4.724 -6.157,-6.274 -2.711,-1.543 -6.391,-2.322 -11.037,-2.322 -4.646,0 -8.403,0.896 -11.269,2.671 -2.868,1.784 -5.112,4.109 -6.737,6.971 -1.626,2.869 -2.711,6.12 -3.252,9.762 -0.545,3.638 -0.814,7.318 -0.814,11.035 v 66.91 h -32.991 v -67.375 c 0,-3.562 -0.081,-7.087 -0.23,-10.57 -0.158,-3.487 -0.814,-6.7 -1.978,-9.645 -1.162,-2.94 -3.099,-5.304 -5.809,-7.088 -2.711,-1.775 -6.699,-2.671 -11.965,-2.671 -1.551,0 -3.603,0.349 -6.156,1.048 -2.556,0.697 -5.036,2.016 -7.435,3.949 -2.404,1.938 -4.454,4.726 -6.158,8.363 -1.705,3.642 -2.556,8.402 -2.556,14.287 v 69.701 H 68.856 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5239"
|
|
||||||
d="m 304.909,236.733 c -5.883,0 -11.46,-0.729 -16.574,-2.163 -5.192,-1.464 -9.806,-3.774 -13.713,-6.871 -3.944,-3.117 -7.068,-7.111 -9.282,-11.871 -2.205,-4.733 -3.324,-10.412 -3.324,-16.876 0,-7.13 1.293,-13.117 3.846,-17.797 2.542,-4.674 5.877,-8.464 9.912,-11.263 3.97,-2.752 8.556,-4.842 13.63,-6.209 4.901,-1.322 9.937,-2.394 14.961,-3.184 4.986,-0.775 9.949,-1.404 14.754,-1.872 4.679,-0.452 8.88,-1.139 12.489,-2.039 3.412,-0.854 6.118,-2.09 8.042,-3.672 1.666,-1.37 2.416,-3.384 2.292,-6.151 -0.002,-3.289 -0.502,-5.816 -1.492,-7.595 -0.998,-1.798 -2.283,-3.15 -3.927,-4.138 -1.703,-1.02 -3.725,-1.713 -6.012,-2.062 -2.47,-0.37 -5.146,-0.557 -7.947,-0.557 -6.034,0 -10.789,1.271 -14.135,3.783 -3.233,2.424 -5.155,6.64 -5.714,12.527 -0.098,1.026 -0.961,1.812 -1.992,1.812 h -32.992 c -0.552,0 -1.079,-0.229 -1.457,-0.629 -0.376,-0.402 -0.572,-0.941 -0.54,-1.491 0.485,-8.073 2.55,-14.894 6.142,-20.272 3.548,-5.331 8.147,-9.682 13.661,-12.931 5.424,-3.191 11.612,-5.498 18.392,-6.857 6.684,-1.335 13.5,-2.013 20.26,-2.013 6.096,0 12.365,0.437 18.626,1.296 6.377,0.88 12.285,2.622 17.562,5.177 5.376,2.604 9.845,6.29 13.282,10.951 3.498,4.744 5.271,11.048 5.271,18.731 v 62.494 c 0,5.307 0.306,10.462 0.915,15.319 0.576,4.64 1.572,8.116 2.963,10.338 0.385,0.616 0.407,1.395 0.055,2.031 -0.353,0.635 -1.022,1.03 -1.75,1.03 h -33.457 c -0.861,0 -1.624,-0.55 -1.898,-1.367 -0.646,-1.941 -1.176,-3.939 -1.572,-5.936 -0.141,-0.696 -0.267,-1.402 -0.38,-2.12 -4.825,4.184 -10.349,7.24 -16.474,9.105 -7.299,2.218 -14.843,3.342 -22.423,3.342 z m 37.032,-60.072 c -0.809,0.409 -1.676,0.768 -2.596,1.074 -2.161,0.72 -4.511,1.326 -6.988,1.807 -2.442,0.475 -5.033,0.872 -7.699,1.186 -2.631,0.311 -5.251,0.697 -7.784,1.146 -2.329,0.433 -4.705,1.035 -7.051,1.792 -2.194,0.711 -4.114,1.667 -5.699,2.842 -1.531,1.128 -2.785,2.587 -3.731,4.335 -0.917,1.709 -1.385,3.97 -1.385,6.719 0,2.598 0.465,4.778 1.385,6.481 0.928,1.722 2.142,3.035 3.716,4.018 1.644,1.026 3.601,1.757 5.816,2.17 2.344,0.439 4.799,0.663 7.297,0.663 6.105,0 10.836,-0.996 14.063,-2.961 3.244,-1.973 5.666,-4.349 7.199,-7.062 1.568,-2.78 2.542,-5.62 2.892,-8.436 0.376,-3.019 0.565,-5.436 0.565,-7.187 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5241"
|
|
||||||
d="m 273.544,129.255 c 3.405,-5.113 7.744,-9.215 13.012,-12.316 5.264,-3.097 11.186,-5.303 17.771,-6.621 6.582,-1.315 13.205,-1.976 19.865,-1.976 6.042,0 12.158,0.428 18.354,1.277 6.195,0.855 11.85,2.522 16.962,4.997 5.111,2.477 9.292,5.926 12.546,10.338 3.253,4.414 4.879,10.262 4.879,17.543 v 62.494 c 0,5.428 0.31,10.611 0.931,15.567 0.615,4.959 1.701,8.676 3.251,11.153 H 347.66 c -0.621,-1.86 -1.126,-3.755 -1.511,-5.693 -0.39,-1.933 -0.661,-3.908 -0.813,-5.923 -5.267,5.422 -11.465,9.217 -18.585,11.386 -7.127,2.163 -14.407,3.251 -21.842,3.251 -5.733,0 -11.077,-0.698 -16.033,-2.09 -4.958,-1.395 -9.293,-3.562 -13.01,-6.51 -3.718,-2.938 -6.622,-6.656 -8.713,-11.147 -2.091,-4.491 -3.138,-9.84 -3.138,-16.033 0,-6.813 1.199,-12.43 3.604,-16.84 2.399,-4.417 5.495,-7.939 9.295,-10.575 3.793,-2.632 8.129,-4.607 13.01,-5.923 4.878,-1.315 9.795,-2.358 14.752,-3.137 4.957,-0.772 9.835,-1.393 14.638,-1.857 4.801,-0.466 9.062,-1.164 12.779,-2.093 3.718,-0.929 6.658,-2.282 8.829,-4.065 2.165,-1.781 3.172,-4.375 3.02,-7.785 0,-3.56 -0.58,-6.389 -1.742,-8.479 -1.161,-2.09 -2.711,-3.719 -4.646,-4.88 -1.937,-1.161 -4.183,-1.936 -6.737,-2.325 -2.557,-0.382 -5.309,-0.58 -8.248,-0.58 -6.506,0 -11.617,1.395 -15.335,4.183 -3.716,2.788 -5.889,7.437 -6.506,13.94 h -32.991 c 0.462,-7.742 2.395,-14.173 5.807,-19.281 z m 65.169,46.583 c -2.09,0.696 -4.337,1.275 -6.736,1.741 -2.402,0.465 -4.918,0.853 -7.551,1.161 -2.635,0.313 -5.268,0.698 -7.899,1.163 -2.48,0.461 -4.919,1.086 -7.317,1.857 -2.404,0.779 -4.495,1.822 -6.274,3.138 -1.784,1.317 -3.216,2.985 -4.3,4.994 -1.085,2.014 -1.626,4.571 -1.626,7.668 0,2.94 0.541,5.422 1.626,7.431 1.084,2.017 2.558,3.604 4.416,4.765 1.858,1.161 4.025,1.976 6.507,2.438 2.475,0.466 5.031,0.698 7.665,0.698 6.505,0 11.537,-1.082 15.103,-3.253 3.561,-2.166 6.192,-4.762 7.899,-7.785 1.702,-3.019 2.749,-6.072 3.137,-9.174 0.384,-3.097 0.58,-5.576 0.58,-7.434 V 172.93 c -1.396,1.243 -3.138,2.21 -5.23,2.908 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5243"
|
|
||||||
d="m 444.542,234.874 c -5.187,0 -10.173,-0.361 -14.823,-1.069 -4.802,-0.732 -9.104,-2.183 -12.779,-4.313 -3.789,-2.185 -6.821,-5.341 -9.006,-9.375 -2.163,-3.986 -3.26,-9.232 -3.26,-15.59 v -68.859 h -17.981 c -1.104,0 -2,-0.896 -2,-1.999 v -22.073 c 0,-1.104 0.896,-1.999 2,-1.999 h 17.981 V 75.582 c 0,-1.104 0.896,-2 2,-2 h 32.992 c 1.104,0 2,0.896 2,2 v 34.014 h 22.162 c 1.104,0 2,0.896 2,1.999 v 22.073 c 0,1.104 -0.896,1.999 -2,1.999 h -22.162 v 57.479 c 0,6.229 1.198,8.731 2.202,9.733 1.004,1.007 3.506,2.205 9.738,2.205 1.804,0 3.542,-0.076 5.161,-0.225 1.604,-0.144 3.174,-0.367 4.669,-0.665 0.13,-0.026 0.261,-0.039 0.391,-0.039 0.458,0 0.907,0.159 1.27,0.454 0.463,0.379 0.73,0.946 0.73,1.546 v 25.555 c 0,0.979 -0.707,1.813 -1.672,1.974 -2.834,0.472 -6.041,0.794 -9.527,0.957 -3.613,0.157 -6.91,0.233 -10.086,0.233 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5245"
|
|
||||||
d="m 463.825,111.595 v 22.072 h -24.161 v 59.479 c 0,5.573 0.928,9.292 2.788,11.149 1.856,1.859 5.576,2.788 11.152,2.788 1.859,0 3.638,-0.076 5.343,-0.232 1.703,-0.152 3.33,-0.388 4.878,-0.696 v 25.557 c -2.788,0.465 -5.887,0.773 -9.293,0.931 -3.407,0.149 -6.737,0.23 -9.99,0.23 -5.111,0 -9.953,-0.35 -14.521,-1.048 -4.571,-0.695 -8.597,-2.047 -12.081,-4.063 -3.486,-2.011 -6.236,-4.88 -8.248,-8.597 -2.016,-3.714 -3.021,-8.595 -3.021,-14.639 v -70.859 h -19.98 v -22.072 h 19.98 V 75.583 h 32.992 v 36.012 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5247"
|
|
||||||
d="m 512.613,233.711 h -32.991 c -1.104,0 -2,-0.896 -2,-2 V 111.594 c 0,-1.104 0.896,-1.999 2,-1.999 h 31.366 c 1.104,0 2,0.896 2,1.999 v 15.069 c 0.967,-1.516 2.034,-2.978 3.199,-4.382 2.754,-3.312 5.949,-6.182 9.496,-8.522 3.545,-2.332 7.385,-4.169 11.415,-5.462 4.056,-1.298 8.327,-1.954 12.691,-1.954 2.341,0 4.953,0.418 7.766,1.243 0.852,0.25 1.437,1.032 1.437,1.92 v 30.67 c 0,0.6 -0.269,1.167 -0.732,1.547 -0.361,0.296 -0.808,0.452 -1.265,0.452 -0.133,0 -0.265,-0.013 -0.398,-0.039 -1.484,-0.3 -3.299,-0.565 -5.392,-0.787 -2.098,-0.224 -4.136,-0.339 -6.062,-0.339 -5.706,0 -10.572,0.95 -14.467,2.823 -3.862,1.86 -7.012,4.428 -9.361,7.629 -2.389,3.263 -4.115,7.12 -5.127,11.47 -1.043,4.479 -1.574,9.409 -1.574,14.647 v 54.132 c -10e-4,1.104 -0.897,2 -2.001,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5249"
|
|
||||||
d="M 510.988,111.595 V 133.9 h 0.465 c 1.546,-3.72 3.636,-7.163 6.272,-10.341 2.634,-3.172 5.652,-5.885 9.06,-8.131 3.405,-2.242 7.047,-3.985 10.923,-5.228 3.868,-1.237 7.898,-1.859 12.081,-1.859 2.168,0 4.566,0.39 7.202,1.163 v 30.67 c -1.551,-0.312 -3.41,-0.584 -5.576,-0.814 -2.17,-0.233 -4.26,-0.35 -6.274,-0.35 -6.041,0 -11.152,1.01 -15.332,3.021 -4.182,2.014 -7.55,4.761 -10.107,8.247 -2.555,3.487 -4.379,7.55 -5.462,12.198 -1.083,4.645 -1.625,9.682 -1.625,15.102 v 54.133 H 479.624 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5251"
|
|
||||||
d="M 603.923,233.711 H 570.93 c -1.104,0 -2,-0.896 -2,-2 V 111.594 c 0,-1.104 0.896,-1.999 2,-1.999 h 32.994 c 1.104,0 2,0.896 2,1.999 v 120.117 c -10e-4,1.104 -0.897,2 -2.001,2 z m 0,-138.705 H 570.93 c -1.104,0 -2,-0.896 -2,-1.999 V 65.825 c 0,-1.104 0.896,-2 2,-2 h 32.994 c 1.104,0 2,0.896 2,2 v 27.182 c -10e-4,1.103 -0.897,1.999 -2.001,1.999 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5253"
|
|
||||||
d="M 570.93,93.007 V 65.824 h 32.994 v 27.183 z m 32.994,18.588 V 231.712 H 570.93 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5255"
|
|
||||||
d="m 742.163,233.711 h -37.64 c -0.671,0 -1.297,-0.335 -1.667,-0.896 l -23.426,-35.352 -23.426,35.352 c -0.369,0.561 -0.995,0.896 -1.667,0.896 h -36.938 c -0.741,0 -1.424,-0.411 -1.77,-1.067 -0.345,-0.654 -0.3,-1.449 0.118,-2.061 l 42.435,-62.055 -38.71,-55.793 c -0.424,-0.613 -0.474,-1.408 -0.128,-2.069 0.343,-0.658 1.028,-1.071 1.771,-1.071 h 37.636 c 0.665,0 1.287,0.33 1.658,0.882 l 19.477,28.893 19.255,-28.884 c 0.372,-0.556 0.996,-0.891 1.665,-0.891 h 36.475 c 0.746,0 1.43,0.415 1.776,1.078 0.343,0.66 0.289,1.46 -0.139,2.071 l -38.69,55.082 43.578,62.744 c 0.424,0.61 0.474,1.408 0.128,2.066 -0.343,0.662 -1.026,1.075 -1.771,1.075 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5257"
|
|
||||||
d="m 621.115,111.595 h 37.637 l 21.144,31.365 20.911,-31.365 h 36.476 l -39.496,56.226 44.377,63.892 h -37.64 l -25.093,-37.87 -25.094,37.87 h -36.938 l 43.213,-63.193 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5259"
|
|
||||||
d="m 791.322,340.809 h -32.008 c -1.105,0 -2,-0.896 -2,-2 v -7.712 c 0,-1.105 0.896,-2.001 2,-2.001 h 21.13 V 11.71 h -21.13 c -1.105,0 -2,-0.896 -2,-2 V 2 c 0,-1.104 0.896,-2 2,-2 h 32.008 c 1.104,0 2,0.896 2,2 v 336.809 c 0,1.104 -0.896,2 -2,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5261"
|
|
||||||
d="M 782.443,331.097 V 9.711 h -23.13 v -7.71 h 32.008 v 336.807 h -32.008 v -7.711 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5263"
|
|
||||||
d="m 10.875,9.711 v 321.386 h 23.13 v 7.711 H 1.999 V 2.001 h 32.006 v 7.71 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5265"
|
|
||||||
d="m 99.988,111.595 v 16.264 h 0.463 c 4.338,-6.191 9.563,-10.998 15.684,-14.406 6.117,-3.402 13.129,-5.11 21.027,-5.11 7.588,0 14.521,1.475 20.793,4.415 6.274,2.945 11.038,8.131 14.291,15.567 3.56,-5.265 8.4,-9.913 14.521,-13.94 6.117,-4.025 13.358,-6.042 21.724,-6.042 6.351,0 12.234,0.776 17.66,2.325 5.418,1.549 10.065,4.027 13.938,7.434 3.869,3.41 6.889,7.863 9.062,13.357 2.167,5.504 3.253,12.122 3.253,19.869 v 80.385 H 219.41 v -68.074 c 0,-4.025 -0.154,-7.82 -0.465,-11.385 -0.313,-3.56 -1.161,-6.656 -2.555,-9.293 -1.395,-2.631 -3.45,-4.724 -6.157,-6.274 -2.711,-1.543 -6.391,-2.322 -11.037,-2.322 -4.646,0 -8.403,0.896 -11.269,2.671 -2.868,1.784 -5.112,4.109 -6.737,6.971 -1.626,2.869 -2.711,6.12 -3.252,9.762 -0.545,3.638 -0.814,7.318 -0.814,11.035 v 66.91 h -32.991 v -67.375 c 0,-3.562 -0.081,-7.087 -0.23,-10.57 -0.158,-3.487 -0.814,-6.7 -1.978,-9.645 -1.162,-2.94 -3.099,-5.304 -5.809,-7.088 -2.711,-1.775 -6.699,-2.671 -11.965,-2.671 -1.551,0 -3.603,0.349 -6.156,1.048 -2.556,0.697 -5.036,2.016 -7.435,3.949 -2.404,1.938 -4.454,4.726 -6.158,8.363 -1.705,3.642 -2.556,8.402 -2.556,14.287 v 69.701 H 68.856 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5267"
|
|
||||||
d="m 273.544,129.255 c 3.405,-5.113 7.744,-9.215 13.012,-12.316 5.264,-3.097 11.186,-5.303 17.771,-6.621 6.582,-1.315 13.205,-1.976 19.865,-1.976 6.042,0 12.158,0.428 18.354,1.277 6.195,0.855 11.85,2.522 16.962,4.997 5.111,2.477 9.292,5.926 12.546,10.338 3.253,4.414 4.879,10.262 4.879,17.543 v 62.494 c 0,5.428 0.31,10.611 0.931,15.567 0.615,4.959 1.701,8.676 3.251,11.153 H 347.66 c -0.621,-1.86 -1.126,-3.755 -1.511,-5.693 -0.39,-1.933 -0.661,-3.908 -0.813,-5.923 -5.267,5.422 -11.465,9.217 -18.585,11.386 -7.127,2.163 -14.407,3.251 -21.842,3.251 -5.733,0 -11.077,-0.698 -16.033,-2.09 -4.958,-1.395 -9.293,-3.562 -13.01,-6.51 -3.718,-2.938 -6.622,-6.656 -8.713,-11.147 -2.091,-4.491 -3.138,-9.84 -3.138,-16.033 0,-6.813 1.199,-12.43 3.604,-16.84 2.399,-4.417 5.495,-7.939 9.295,-10.575 3.793,-2.632 8.129,-4.607 13.01,-5.923 4.878,-1.315 9.795,-2.358 14.752,-3.137 4.957,-0.772 9.835,-1.393 14.638,-1.857 4.801,-0.466 9.062,-1.164 12.779,-2.093 3.718,-0.929 6.658,-2.282 8.829,-4.065 2.165,-1.781 3.172,-4.375 3.02,-7.785 0,-3.56 -0.58,-6.389 -1.742,-8.479 -1.161,-2.09 -2.711,-3.719 -4.646,-4.88 -1.937,-1.161 -4.183,-1.936 -6.737,-2.325 -2.557,-0.382 -5.309,-0.58 -8.248,-0.58 -6.506,0 -11.617,1.395 -15.335,4.183 -3.716,2.788 -5.889,7.437 -6.506,13.94 h -32.991 c 0.462,-7.742 2.395,-14.173 5.807,-19.281 z m 65.169,46.583 c -2.09,0.696 -4.337,1.275 -6.736,1.741 -2.402,0.465 -4.918,0.853 -7.551,1.161 -2.635,0.313 -5.268,0.698 -7.899,1.163 -2.48,0.461 -4.919,1.086 -7.317,1.857 -2.404,0.779 -4.495,1.822 -6.274,3.138 -1.784,1.317 -3.216,2.985 -4.3,4.994 -1.085,2.014 -1.626,4.571 -1.626,7.668 0,2.94 0.541,5.422 1.626,7.431 1.084,2.017 2.558,3.604 4.416,4.765 1.858,1.161 4.025,1.976 6.507,2.438 2.475,0.466 5.031,0.698 7.665,0.698 6.505,0 11.537,-1.082 15.103,-3.253 3.561,-2.166 6.192,-4.762 7.899,-7.785 1.702,-3.019 2.749,-6.072 3.137,-9.174 0.384,-3.097 0.58,-5.576 0.58,-7.434 V 172.93 c -1.396,1.243 -3.138,2.21 -5.23,2.908 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5269"
|
|
||||||
d="m 463.825,111.595 v 22.072 h -24.161 v 59.479 c 0,5.573 0.928,9.292 2.788,11.149 1.856,1.859 5.576,2.788 11.152,2.788 1.859,0 3.638,-0.076 5.343,-0.232 1.703,-0.152 3.33,-0.388 4.878,-0.696 v 25.557 c -2.788,0.465 -5.887,0.773 -9.293,0.931 -3.407,0.149 -6.737,0.23 -9.99,0.23 -5.111,0 -9.953,-0.35 -14.521,-1.048 -4.571,-0.695 -8.597,-2.047 -12.081,-4.063 -3.486,-2.011 -6.236,-4.88 -8.248,-8.597 -2.016,-3.714 -3.021,-8.595 -3.021,-14.639 v -70.859 h -19.98 v -22.072 h 19.98 V 75.583 h 32.992 v 36.012 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5271"
|
|
||||||
d="M 510.988,111.595 V 133.9 h 0.465 c 1.546,-3.72 3.636,-7.163 6.272,-10.341 2.634,-3.172 5.652,-5.885 9.06,-8.131 3.405,-2.242 7.047,-3.985 10.923,-5.228 3.868,-1.237 7.898,-1.859 12.081,-1.859 2.168,0 4.566,0.39 7.202,1.163 v 30.67 c -1.551,-0.312 -3.41,-0.584 -5.576,-0.814 -2.17,-0.233 -4.26,-0.35 -6.274,-0.35 -6.041,0 -11.152,1.01 -15.332,3.021 -4.182,2.014 -7.55,4.761 -10.107,8.247 -2.555,3.487 -4.379,7.55 -5.462,12.198 -1.083,4.645 -1.625,9.682 -1.625,15.102 v 54.133 H 479.624 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5273"
|
|
||||||
d="M 570.93,93.007 V 65.824 h 32.994 v 27.183 z m 32.994,18.588 V 231.712 H 570.93 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5275"
|
|
||||||
d="m 621.115,111.595 h 37.637 l 21.144,31.365 20.911,-31.365 h 36.476 l -39.496,56.226 44.377,63.892 h -37.64 l -25.093,-37.87 -25.094,37.87 h -36.938 l 43.213,-63.193 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5277"
|
|
||||||
d="M 782.443,331.097 V 9.711 h -23.13 v -7.71 h 32.008 v 336.807 h -32.008 v -7.711 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#13100e;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 22 KiB |
|
@ -1,219 +0,0 @@
|
||||||
<?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"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="1280"
|
|
||||||
height="960"
|
|
||||||
viewBox="0 0 338.66666 254.00001"
|
|
||||||
version="1.1"
|
|
||||||
id="svg4636"
|
|
||||||
inkscape:version="0.92.2 2405546, 2018-03-11"
|
|
||||||
sodipodi:docname="drawing.svg">
|
|
||||||
<defs
|
|
||||||
id="defs4630" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="686.38953"
|
|
||||||
inkscape:cy="426.35799"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
units="px"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1050"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="30"
|
|
||||||
inkscape:window-maximized="1" />
|
|
||||||
<metadata
|
|
||||||
id="metadata4633">
|
|
||||||
<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>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-42.999983)">
|
|
||||||
<circle
|
|
||||||
id="path4638"
|
|
||||||
cx="274.10834"
|
|
||||||
cy="259.42917"
|
|
||||||
r="75.40625"
|
|
||||||
style="opacity:0.25;fill:#eceff1;fill-opacity:1;stroke-width:0.26458335" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6"
|
|
||||||
cx="303.0802"
|
|
||||||
cy="169.86771"
|
|
||||||
r="48.286457"
|
|
||||||
style="opacity:0.25;fill:#eceff1;fill-opacity:1;stroke-width:0.16942617" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-7"
|
|
||||||
cx="165.76144"
|
|
||||||
cy="82.290604"
|
|
||||||
r="25.135412"
|
|
||||||
style="opacity:0.25;fill:#eceff1;fill-opacity:1;stroke-width:0.08819444" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-5"
|
|
||||||
cx="38.100006"
|
|
||||||
cy="195.3998"
|
|
||||||
r="76.332291"
|
|
||||||
style="opacity:0.25;fill:#eceff1;fill-opacity:1;stroke-width:0.26783261" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-3"
|
|
||||||
cx="87.709373"
|
|
||||||
cy="148.70103"
|
|
||||||
r="41.01041"
|
|
||||||
style="opacity:0.25;fill:#eceff1;fill-opacity:1;stroke-width:0.14389619" />
|
|
||||||
<circle
|
|
||||||
id="path4638-6-56"
|
|
||||||
cx="220.3979"
|
|
||||||
cy="100.94374"
|
|
||||||
r="48.286453"
|
|
||||||
style="opacity:0.25;fill:#eceff1;fill-opacity:1;stroke-width:0.16942617" />
|
|
||||||
<g
|
|
||||||
id="g5310"
|
|
||||||
transform="matrix(0.18980272,0,0,0.18980272,163.39608,213.89968)"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero">
|
|
||||||
<path
|
|
||||||
id="path5231"
|
|
||||||
d="M 34.004,340.809 H 2 c -1.104,0 -2,-0.896 -2,-2 V 2 C 0,0.896 0.896,0 2,0 h 32.004 c 1.104,0 2,0.896 2,2 v 7.71 c 0,1.104 -0.896,2 -2,2 h -21.13 v 317.386 h 21.13 c 1.104,0 2,0.896 2,2.001 v 7.712 c 0,1.104 -0.896,2 -2,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5233"
|
|
||||||
d="m 10.875,9.711 v 321.386 h 23.13 v 7.711 H 1.999 V 2.001 h 32.006 v 7.71 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5235"
|
|
||||||
d="m 252.402,233.711 h -32.993 c -1.104,0 -2,-0.896 -2,-2 v -68.073 c 0,-3.949 -0.154,-7.722 -0.457,-11.213 -0.289,-3.282 -1.074,-6.153 -2.332,-8.53 -1.204,-2.276 -3.017,-4.119 -5.384,-5.476 -2.393,-1.362 -5.775,-2.056 -10.042,-2.056 -4.238,0 -7.674,0.798 -10.213,2.371 -2.565,1.596 -4.604,3.701 -6.053,6.258 -1.498,2.643 -2.51,5.694 -3.013,9.067 -0.526,3.513 -0.793,7.125 -0.793,10.741 v 66.91 c 0,1.104 -0.896,2 -2,2 h -32.991 c -1.104,0 -2,-0.896 -2,-2 v -67.373 c 0,-3.435 -0.078,-6.964 -0.228,-10.485 -0.148,-3.251 -0.767,-6.278 -1.841,-8.995 -1.018,-2.571 -2.667,-4.584 -5.047,-6.153 -2.372,-1.552 -6.029,-2.341 -10.865,-2.341 -1.372,0 -3.265,0.328 -5.629,0.976 -2.28,0.624 -4.536,1.826 -6.705,3.577 -2.152,1.732 -4.036,4.306 -5.605,7.655 -1.569,3.356 -2.367,7.877 -2.367,13.438 v 69.701 c 0,1.104 -0.895,2 -2,2 H 68.857 c -1.104,0 -2,-0.896 -2,-2 V 111.594 c 0,-1.104 0.896,-1.999 2,-1.999 h 31.13 c 1.104,0 2,0.896 2,1.999 v 11.007 c 3.834,-4.499 8.248,-8.152 13.173,-10.896 6.396,-3.559 13.799,-5.362 22.002,-5.362 7.846,0 15.127,1.548 21.642,4.604 5.794,2.722 10.424,7.26 13.791,13.52 3.449,-4.362 7.833,-8.306 13.071,-11.752 6.422,-4.228 14.102,-6.371 22.824,-6.371 6.499,0 12.625,0.807 18.209,2.399 5.686,1.628 10.635,4.271 14.712,7.857 4.088,3.605 7.318,8.357 9.601,14.123 2.25,5.719 3.391,12.649 3.391,20.604 v 80.384 c -0.001,1.104 -0.896,2 -2.001,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5237"
|
|
||||||
d="m 99.988,111.595 v 16.264 h 0.463 c 4.338,-6.191 9.563,-10.998 15.684,-14.406 6.117,-3.402 13.129,-5.11 21.027,-5.11 7.588,0 14.521,1.475 20.793,4.415 6.274,2.945 11.038,8.131 14.291,15.567 3.56,-5.265 8.4,-9.913 14.521,-13.94 6.117,-4.025 13.358,-6.042 21.724,-6.042 6.351,0 12.234,0.776 17.66,2.325 5.418,1.549 10.065,4.027 13.938,7.434 3.869,3.41 6.889,7.863 9.062,13.357 2.167,5.504 3.253,12.122 3.253,19.869 v 80.385 H 219.41 v -68.074 c 0,-4.025 -0.154,-7.82 -0.465,-11.385 -0.313,-3.56 -1.161,-6.656 -2.555,-9.293 -1.395,-2.631 -3.45,-4.724 -6.157,-6.274 -2.711,-1.543 -6.391,-2.322 -11.037,-2.322 -4.646,0 -8.403,0.896 -11.269,2.671 -2.868,1.784 -5.112,4.109 -6.737,6.971 -1.626,2.869 -2.711,6.12 -3.252,9.762 -0.545,3.638 -0.814,7.318 -0.814,11.035 v 66.91 h -32.991 v -67.375 c 0,-3.562 -0.081,-7.087 -0.23,-10.57 -0.158,-3.487 -0.814,-6.7 -1.978,-9.645 -1.162,-2.94 -3.099,-5.304 -5.809,-7.088 -2.711,-1.775 -6.699,-2.671 -11.965,-2.671 -1.551,0 -3.603,0.349 -6.156,1.048 -2.556,0.697 -5.036,2.016 -7.435,3.949 -2.404,1.938 -4.454,4.726 -6.158,8.363 -1.705,3.642 -2.556,8.402 -2.556,14.287 v 69.701 H 68.856 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5239"
|
|
||||||
d="m 304.909,236.733 c -5.883,0 -11.46,-0.729 -16.574,-2.163 -5.192,-1.464 -9.806,-3.774 -13.713,-6.871 -3.944,-3.117 -7.068,-7.111 -9.282,-11.871 -2.205,-4.733 -3.324,-10.412 -3.324,-16.876 0,-7.13 1.293,-13.117 3.846,-17.797 2.542,-4.674 5.877,-8.464 9.912,-11.263 3.97,-2.752 8.556,-4.842 13.63,-6.209 4.901,-1.322 9.937,-2.394 14.961,-3.184 4.986,-0.775 9.949,-1.404 14.754,-1.872 4.679,-0.452 8.88,-1.139 12.489,-2.039 3.412,-0.854 6.118,-2.09 8.042,-3.672 1.666,-1.37 2.416,-3.384 2.292,-6.151 -0.002,-3.289 -0.502,-5.816 -1.492,-7.595 -0.998,-1.798 -2.283,-3.15 -3.927,-4.138 -1.703,-1.02 -3.725,-1.713 -6.012,-2.062 -2.47,-0.37 -5.146,-0.557 -7.947,-0.557 -6.034,0 -10.789,1.271 -14.135,3.783 -3.233,2.424 -5.155,6.64 -5.714,12.527 -0.098,1.026 -0.961,1.812 -1.992,1.812 h -32.992 c -0.552,0 -1.079,-0.229 -1.457,-0.629 -0.376,-0.402 -0.572,-0.941 -0.54,-1.491 0.485,-8.073 2.55,-14.894 6.142,-20.272 3.548,-5.331 8.147,-9.682 13.661,-12.931 5.424,-3.191 11.612,-5.498 18.392,-6.857 6.684,-1.335 13.5,-2.013 20.26,-2.013 6.096,0 12.365,0.437 18.626,1.296 6.377,0.88 12.285,2.622 17.562,5.177 5.376,2.604 9.845,6.29 13.282,10.951 3.498,4.744 5.271,11.048 5.271,18.731 v 62.494 c 0,5.307 0.306,10.462 0.915,15.319 0.576,4.64 1.572,8.116 2.963,10.338 0.385,0.616 0.407,1.395 0.055,2.031 -0.353,0.635 -1.022,1.03 -1.75,1.03 h -33.457 c -0.861,0 -1.624,-0.55 -1.898,-1.367 -0.646,-1.941 -1.176,-3.939 -1.572,-5.936 -0.141,-0.696 -0.267,-1.402 -0.38,-2.12 -4.825,4.184 -10.349,7.24 -16.474,9.105 -7.299,2.218 -14.843,3.342 -22.423,3.342 z m 37.032,-60.072 c -0.809,0.409 -1.676,0.768 -2.596,1.074 -2.161,0.72 -4.511,1.326 -6.988,1.807 -2.442,0.475 -5.033,0.872 -7.699,1.186 -2.631,0.311 -5.251,0.697 -7.784,1.146 -2.329,0.433 -4.705,1.035 -7.051,1.792 -2.194,0.711 -4.114,1.667 -5.699,2.842 -1.531,1.128 -2.785,2.587 -3.731,4.335 -0.917,1.709 -1.385,3.97 -1.385,6.719 0,2.598 0.465,4.778 1.385,6.481 0.928,1.722 2.142,3.035 3.716,4.018 1.644,1.026 3.601,1.757 5.816,2.17 2.344,0.439 4.799,0.663 7.297,0.663 6.105,0 10.836,-0.996 14.063,-2.961 3.244,-1.973 5.666,-4.349 7.199,-7.062 1.568,-2.78 2.542,-5.62 2.892,-8.436 0.376,-3.019 0.565,-5.436 0.565,-7.187 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5241"
|
|
||||||
d="m 273.544,129.255 c 3.405,-5.113 7.744,-9.215 13.012,-12.316 5.264,-3.097 11.186,-5.303 17.771,-6.621 6.582,-1.315 13.205,-1.976 19.865,-1.976 6.042,0 12.158,0.428 18.354,1.277 6.195,0.855 11.85,2.522 16.962,4.997 5.111,2.477 9.292,5.926 12.546,10.338 3.253,4.414 4.879,10.262 4.879,17.543 v 62.494 c 0,5.428 0.31,10.611 0.931,15.567 0.615,4.959 1.701,8.676 3.251,11.153 H 347.66 c -0.621,-1.86 -1.126,-3.755 -1.511,-5.693 -0.39,-1.933 -0.661,-3.908 -0.813,-5.923 -5.267,5.422 -11.465,9.217 -18.585,11.386 -7.127,2.163 -14.407,3.251 -21.842,3.251 -5.733,0 -11.077,-0.698 -16.033,-2.09 -4.958,-1.395 -9.293,-3.562 -13.01,-6.51 -3.718,-2.938 -6.622,-6.656 -8.713,-11.147 -2.091,-4.491 -3.138,-9.84 -3.138,-16.033 0,-6.813 1.199,-12.43 3.604,-16.84 2.399,-4.417 5.495,-7.939 9.295,-10.575 3.793,-2.632 8.129,-4.607 13.01,-5.923 4.878,-1.315 9.795,-2.358 14.752,-3.137 4.957,-0.772 9.835,-1.393 14.638,-1.857 4.801,-0.466 9.062,-1.164 12.779,-2.093 3.718,-0.929 6.658,-2.282 8.829,-4.065 2.165,-1.781 3.172,-4.375 3.02,-7.785 0,-3.56 -0.58,-6.389 -1.742,-8.479 -1.161,-2.09 -2.711,-3.719 -4.646,-4.88 -1.937,-1.161 -4.183,-1.936 -6.737,-2.325 -2.557,-0.382 -5.309,-0.58 -8.248,-0.58 -6.506,0 -11.617,1.395 -15.335,4.183 -3.716,2.788 -5.889,7.437 -6.506,13.94 h -32.991 c 0.462,-7.742 2.395,-14.173 5.807,-19.281 z m 65.169,46.583 c -2.09,0.696 -4.337,1.275 -6.736,1.741 -2.402,0.465 -4.918,0.853 -7.551,1.161 -2.635,0.313 -5.268,0.698 -7.899,1.163 -2.48,0.461 -4.919,1.086 -7.317,1.857 -2.404,0.779 -4.495,1.822 -6.274,3.138 -1.784,1.317 -3.216,2.985 -4.3,4.994 -1.085,2.014 -1.626,4.571 -1.626,7.668 0,2.94 0.541,5.422 1.626,7.431 1.084,2.017 2.558,3.604 4.416,4.765 1.858,1.161 4.025,1.976 6.507,2.438 2.475,0.466 5.031,0.698 7.665,0.698 6.505,0 11.537,-1.082 15.103,-3.253 3.561,-2.166 6.192,-4.762 7.899,-7.785 1.702,-3.019 2.749,-6.072 3.137,-9.174 0.384,-3.097 0.58,-5.576 0.58,-7.434 V 172.93 c -1.396,1.243 -3.138,2.21 -5.23,2.908 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5243"
|
|
||||||
d="m 444.542,234.874 c -5.187,0 -10.173,-0.361 -14.823,-1.069 -4.802,-0.732 -9.104,-2.183 -12.779,-4.313 -3.789,-2.185 -6.821,-5.341 -9.006,-9.375 -2.163,-3.986 -3.26,-9.232 -3.26,-15.59 v -68.859 h -17.981 c -1.104,0 -2,-0.896 -2,-1.999 v -22.073 c 0,-1.104 0.896,-1.999 2,-1.999 h 17.981 V 75.582 c 0,-1.104 0.896,-2 2,-2 h 32.992 c 1.104,0 2,0.896 2,2 v 34.014 h 22.162 c 1.104,0 2,0.896 2,1.999 v 22.073 c 0,1.104 -0.896,1.999 -2,1.999 h -22.162 v 57.479 c 0,6.229 1.198,8.731 2.202,9.733 1.004,1.007 3.506,2.205 9.738,2.205 1.804,0 3.542,-0.076 5.161,-0.225 1.604,-0.144 3.174,-0.367 4.669,-0.665 0.13,-0.026 0.261,-0.039 0.391,-0.039 0.458,0 0.907,0.159 1.27,0.454 0.463,0.379 0.73,0.946 0.73,1.546 v 25.555 c 0,0.979 -0.707,1.813 -1.672,1.974 -2.834,0.472 -6.041,0.794 -9.527,0.957 -3.613,0.157 -6.91,0.233 -10.086,0.233 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5245"
|
|
||||||
d="m 463.825,111.595 v 22.072 h -24.161 v 59.479 c 0,5.573 0.928,9.292 2.788,11.149 1.856,1.859 5.576,2.788 11.152,2.788 1.859,0 3.638,-0.076 5.343,-0.232 1.703,-0.152 3.33,-0.388 4.878,-0.696 v 25.557 c -2.788,0.465 -5.887,0.773 -9.293,0.931 -3.407,0.149 -6.737,0.23 -9.99,0.23 -5.111,0 -9.953,-0.35 -14.521,-1.048 -4.571,-0.695 -8.597,-2.047 -12.081,-4.063 -3.486,-2.011 -6.236,-4.88 -8.248,-8.597 -2.016,-3.714 -3.021,-8.595 -3.021,-14.639 v -70.859 h -19.98 v -22.072 h 19.98 V 75.583 h 32.992 v 36.012 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5247"
|
|
||||||
d="m 512.613,233.711 h -32.991 c -1.104,0 -2,-0.896 -2,-2 V 111.594 c 0,-1.104 0.896,-1.999 2,-1.999 h 31.366 c 1.104,0 2,0.896 2,1.999 v 15.069 c 0.967,-1.516 2.034,-2.978 3.199,-4.382 2.754,-3.312 5.949,-6.182 9.496,-8.522 3.545,-2.332 7.385,-4.169 11.415,-5.462 4.056,-1.298 8.327,-1.954 12.691,-1.954 2.341,0 4.953,0.418 7.766,1.243 0.852,0.25 1.437,1.032 1.437,1.92 v 30.67 c 0,0.6 -0.269,1.167 -0.732,1.547 -0.361,0.296 -0.808,0.452 -1.265,0.452 -0.133,0 -0.265,-0.013 -0.398,-0.039 -1.484,-0.3 -3.299,-0.565 -5.392,-0.787 -2.098,-0.224 -4.136,-0.339 -6.062,-0.339 -5.706,0 -10.572,0.95 -14.467,2.823 -3.862,1.86 -7.012,4.428 -9.361,7.629 -2.389,3.263 -4.115,7.12 -5.127,11.47 -1.043,4.479 -1.574,9.409 -1.574,14.647 v 54.132 c -10e-4,1.104 -0.897,2 -2.001,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5249"
|
|
||||||
d="M 510.988,111.595 V 133.9 h 0.465 c 1.546,-3.72 3.636,-7.163 6.272,-10.341 2.634,-3.172 5.652,-5.885 9.06,-8.131 3.405,-2.242 7.047,-3.985 10.923,-5.228 3.868,-1.237 7.898,-1.859 12.081,-1.859 2.168,0 4.566,0.39 7.202,1.163 v 30.67 c -1.551,-0.312 -3.41,-0.584 -5.576,-0.814 -2.17,-0.233 -4.26,-0.35 -6.274,-0.35 -6.041,0 -11.152,1.01 -15.332,3.021 -4.182,2.014 -7.55,4.761 -10.107,8.247 -2.555,3.487 -4.379,7.55 -5.462,12.198 -1.083,4.645 -1.625,9.682 -1.625,15.102 v 54.133 H 479.624 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5251"
|
|
||||||
d="M 603.923,233.711 H 570.93 c -1.104,0 -2,-0.896 -2,-2 V 111.594 c 0,-1.104 0.896,-1.999 2,-1.999 h 32.994 c 1.104,0 2,0.896 2,1.999 v 120.117 c -10e-4,1.104 -0.897,2 -2.001,2 z m 0,-138.705 H 570.93 c -1.104,0 -2,-0.896 -2,-1.999 V 65.825 c 0,-1.104 0.896,-2 2,-2 h 32.994 c 1.104,0 2,0.896 2,2 v 27.182 c -10e-4,1.103 -0.897,1.999 -2.001,1.999 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5253"
|
|
||||||
d="M 570.93,93.007 V 65.824 h 32.994 v 27.183 z m 32.994,18.588 V 231.712 H 570.93 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5255"
|
|
||||||
d="m 742.163,233.711 h -37.64 c -0.671,0 -1.297,-0.335 -1.667,-0.896 l -23.426,-35.352 -23.426,35.352 c -0.369,0.561 -0.995,0.896 -1.667,0.896 h -36.938 c -0.741,0 -1.424,-0.411 -1.77,-1.067 -0.345,-0.654 -0.3,-1.449 0.118,-2.061 l 42.435,-62.055 -38.71,-55.793 c -0.424,-0.613 -0.474,-1.408 -0.128,-2.069 0.343,-0.658 1.028,-1.071 1.771,-1.071 h 37.636 c 0.665,0 1.287,0.33 1.658,0.882 l 19.477,28.893 19.255,-28.884 c 0.372,-0.556 0.996,-0.891 1.665,-0.891 h 36.475 c 0.746,0 1.43,0.415 1.776,1.078 0.343,0.66 0.289,1.46 -0.139,2.071 l -38.69,55.082 43.578,62.744 c 0.424,0.61 0.474,1.408 0.128,2.066 -0.343,0.662 -1.026,1.075 -1.771,1.075 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5257"
|
|
||||||
d="m 621.115,111.595 h 37.637 l 21.144,31.365 20.911,-31.365 h 36.476 l -39.496,56.226 44.377,63.892 h -37.64 l -25.093,-37.87 -25.094,37.87 h -36.938 l 43.213,-63.193 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5259"
|
|
||||||
d="m 791.322,340.809 h -32.008 c -1.105,0 -2,-0.896 -2,-2 v -7.712 c 0,-1.105 0.896,-2.001 2,-2.001 h 21.13 V 11.71 h -21.13 c -1.105,0 -2,-0.896 -2,-2 V 2 c 0,-1.104 0.896,-2 2,-2 h 32.008 c 1.104,0 2,0.896 2,2 v 336.809 c 0,1.104 -0.896,2 -2,2 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5261"
|
|
||||||
d="M 782.443,331.097 V 9.711 h -23.13 v -7.71 h 32.008 v 336.807 h -32.008 v -7.711 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="opacity:0.5;fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5263"
|
|
||||||
d="m 10.875,9.711 v 321.386 h 23.13 v 7.711 H 1.999 V 2.001 h 32.006 v 7.71 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5265"
|
|
||||||
d="m 99.988,111.595 v 16.264 h 0.463 c 4.338,-6.191 9.563,-10.998 15.684,-14.406 6.117,-3.402 13.129,-5.11 21.027,-5.11 7.588,0 14.521,1.475 20.793,4.415 6.274,2.945 11.038,8.131 14.291,15.567 3.56,-5.265 8.4,-9.913 14.521,-13.94 6.117,-4.025 13.358,-6.042 21.724,-6.042 6.351,0 12.234,0.776 17.66,2.325 5.418,1.549 10.065,4.027 13.938,7.434 3.869,3.41 6.889,7.863 9.062,13.357 2.167,5.504 3.253,12.122 3.253,19.869 v 80.385 H 219.41 v -68.074 c 0,-4.025 -0.154,-7.82 -0.465,-11.385 -0.313,-3.56 -1.161,-6.656 -2.555,-9.293 -1.395,-2.631 -3.45,-4.724 -6.157,-6.274 -2.711,-1.543 -6.391,-2.322 -11.037,-2.322 -4.646,0 -8.403,0.896 -11.269,2.671 -2.868,1.784 -5.112,4.109 -6.737,6.971 -1.626,2.869 -2.711,6.12 -3.252,9.762 -0.545,3.638 -0.814,7.318 -0.814,11.035 v 66.91 h -32.991 v -67.375 c 0,-3.562 -0.081,-7.087 -0.23,-10.57 -0.158,-3.487 -0.814,-6.7 -1.978,-9.645 -1.162,-2.94 -3.099,-5.304 -5.809,-7.088 -2.711,-1.775 -6.699,-2.671 -11.965,-2.671 -1.551,0 -3.603,0.349 -6.156,1.048 -2.556,0.697 -5.036,2.016 -7.435,3.949 -2.404,1.938 -4.454,4.726 -6.158,8.363 -1.705,3.642 -2.556,8.402 -2.556,14.287 v 69.701 H 68.856 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5267"
|
|
||||||
d="m 273.544,129.255 c 3.405,-5.113 7.744,-9.215 13.012,-12.316 5.264,-3.097 11.186,-5.303 17.771,-6.621 6.582,-1.315 13.205,-1.976 19.865,-1.976 6.042,0 12.158,0.428 18.354,1.277 6.195,0.855 11.85,2.522 16.962,4.997 5.111,2.477 9.292,5.926 12.546,10.338 3.253,4.414 4.879,10.262 4.879,17.543 v 62.494 c 0,5.428 0.31,10.611 0.931,15.567 0.615,4.959 1.701,8.676 3.251,11.153 H 347.66 c -0.621,-1.86 -1.126,-3.755 -1.511,-5.693 -0.39,-1.933 -0.661,-3.908 -0.813,-5.923 -5.267,5.422 -11.465,9.217 -18.585,11.386 -7.127,2.163 -14.407,3.251 -21.842,3.251 -5.733,0 -11.077,-0.698 -16.033,-2.09 -4.958,-1.395 -9.293,-3.562 -13.01,-6.51 -3.718,-2.938 -6.622,-6.656 -8.713,-11.147 -2.091,-4.491 -3.138,-9.84 -3.138,-16.033 0,-6.813 1.199,-12.43 3.604,-16.84 2.399,-4.417 5.495,-7.939 9.295,-10.575 3.793,-2.632 8.129,-4.607 13.01,-5.923 4.878,-1.315 9.795,-2.358 14.752,-3.137 4.957,-0.772 9.835,-1.393 14.638,-1.857 4.801,-0.466 9.062,-1.164 12.779,-2.093 3.718,-0.929 6.658,-2.282 8.829,-4.065 2.165,-1.781 3.172,-4.375 3.02,-7.785 0,-3.56 -0.58,-6.389 -1.742,-8.479 -1.161,-2.09 -2.711,-3.719 -4.646,-4.88 -1.937,-1.161 -4.183,-1.936 -6.737,-2.325 -2.557,-0.382 -5.309,-0.58 -8.248,-0.58 -6.506,0 -11.617,1.395 -15.335,4.183 -3.716,2.788 -5.889,7.437 -6.506,13.94 h -32.991 c 0.462,-7.742 2.395,-14.173 5.807,-19.281 z m 65.169,46.583 c -2.09,0.696 -4.337,1.275 -6.736,1.741 -2.402,0.465 -4.918,0.853 -7.551,1.161 -2.635,0.313 -5.268,0.698 -7.899,1.163 -2.48,0.461 -4.919,1.086 -7.317,1.857 -2.404,0.779 -4.495,1.822 -6.274,3.138 -1.784,1.317 -3.216,2.985 -4.3,4.994 -1.085,2.014 -1.626,4.571 -1.626,7.668 0,2.94 0.541,5.422 1.626,7.431 1.084,2.017 2.558,3.604 4.416,4.765 1.858,1.161 4.025,1.976 6.507,2.438 2.475,0.466 5.031,0.698 7.665,0.698 6.505,0 11.537,-1.082 15.103,-3.253 3.561,-2.166 6.192,-4.762 7.899,-7.785 1.702,-3.019 2.749,-6.072 3.137,-9.174 0.384,-3.097 0.58,-5.576 0.58,-7.434 V 172.93 c -1.396,1.243 -3.138,2.21 -5.23,2.908 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5269"
|
|
||||||
d="m 463.825,111.595 v 22.072 h -24.161 v 59.479 c 0,5.573 0.928,9.292 2.788,11.149 1.856,1.859 5.576,2.788 11.152,2.788 1.859,0 3.638,-0.076 5.343,-0.232 1.703,-0.152 3.33,-0.388 4.878,-0.696 v 25.557 c -2.788,0.465 -5.887,0.773 -9.293,0.931 -3.407,0.149 -6.737,0.23 -9.99,0.23 -5.111,0 -9.953,-0.35 -14.521,-1.048 -4.571,-0.695 -8.597,-2.047 -12.081,-4.063 -3.486,-2.011 -6.236,-4.88 -8.248,-8.597 -2.016,-3.714 -3.021,-8.595 -3.021,-14.639 v -70.859 h -19.98 v -22.072 h 19.98 V 75.583 h 32.992 v 36.012 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5271"
|
|
||||||
d="M 510.988,111.595 V 133.9 h 0.465 c 1.546,-3.72 3.636,-7.163 6.272,-10.341 2.634,-3.172 5.652,-5.885 9.06,-8.131 3.405,-2.242 7.047,-3.985 10.923,-5.228 3.868,-1.237 7.898,-1.859 12.081,-1.859 2.168,0 4.566,0.39 7.202,1.163 v 30.67 c -1.551,-0.312 -3.41,-0.584 -5.576,-0.814 -2.17,-0.233 -4.26,-0.35 -6.274,-0.35 -6.041,0 -11.152,1.01 -15.332,3.021 -4.182,2.014 -7.55,4.761 -10.107,8.247 -2.555,3.487 -4.379,7.55 -5.462,12.198 -1.083,4.645 -1.625,9.682 -1.625,15.102 v 54.133 H 479.624 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5273"
|
|
||||||
d="M 570.93,93.007 V 65.824 h 32.994 v 27.183 z m 32.994,18.588 V 231.712 H 570.93 V 111.595 Z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5275"
|
|
||||||
d="m 621.115,111.595 h 37.637 l 21.144,31.365 20.911,-31.365 h 36.476 l -39.496,56.226 44.377,63.892 h -37.64 l -25.093,-37.87 -25.094,37.87 h -36.938 l 43.213,-63.193 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
<path
|
|
||||||
id="path5277"
|
|
||||||
d="M 782.443,331.097 V 9.711 h -23.13 v -7.71 h 32.008 v 336.807 h -32.008 v -7.711 z"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#eceff1;fill-opacity:1;fill-rule:nonzero" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 22 KiB |
6
font.qrc
6
font.qrc
|
@ -1,6 +0,0 @@
|
||||||
<RCC>
|
|
||||||
<qresource prefix="/">
|
|
||||||
<file>assets/font/roboto.ttf</file>
|
|
||||||
<file>assets/font/twemoji.ttf</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
|
@ -6,8 +6,8 @@ MouseArea {
|
||||||
signal primaryClicked()
|
signal primaryClicked()
|
||||||
signal secondaryClicked()
|
signal secondaryClicked()
|
||||||
|
|
||||||
acceptedButtons: MSettings.pressAndHold ? Qt.LeftButton : (Qt.LeftButton | Qt.RightButton)
|
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||||
|
|
||||||
onClicked: mouse.button == Qt.RightButton ? secondaryClicked() : primaryClicked()
|
onClicked: mouse.button == Qt.RightButton ? secondaryClicked() : primaryClicked()
|
||||||
onPressAndHold: MSettings.pressAndHold ? secondaryClicked() : {}
|
onPressAndHold: secondaryClicked()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,535 +0,0 @@
|
||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
** Contact: https://www.qt.io/licensing/
|
|
||||||
**
|
|
||||||
** This file is part of the Qt Quick Controls module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:LGPL$
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms
|
|
||||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
||||||
** information use the contact form at https://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 3 as published by the Free Software
|
|
||||||
** Foundation and appearing in the file LICENSE.LGPL3 included in the
|
|
||||||
** packaging of this file. Please review the following information to
|
|
||||||
** ensure the GNU Lesser General Public License version 3 requirements
|
|
||||||
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
|
||||||
**
|
|
||||||
** GNU General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU
|
|
||||||
** General Public License version 2.0 or (at your option) the GNU General
|
|
||||||
** Public license version 3 or any later version approved by the KDE Free
|
|
||||||
** Qt Foundation. The licenses are as published by the Free Software
|
|
||||||
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
|
||||||
** included in the packaging of this file. Please review the following
|
|
||||||
** information to ensure the GNU General Public License requirements will
|
|
||||||
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
|
||||||
** https://www.gnu.org/licenses/gpl-3.0.html.
|
|
||||||
**
|
|
||||||
** $QT_END_LICENSE$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
import QtQuick 2.12
|
|
||||||
import QtQuick.Controls 2.12
|
|
||||||
import QtQuick.Layouts 1.12
|
|
||||||
import QtQuick.Window 2.1
|
|
||||||
import Spectral.Setting 0.1
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
property int orientation: Qt.Horizontal
|
|
||||||
|
|
||||||
/*!
|
|
||||||
This property holds the delegate that will be instantiated between each
|
|
||||||
child item. Inside the delegate the following properties are available:
|
|
||||||
|
|
||||||
\table
|
|
||||||
\row \li readonly property bool styleData.index \li Specifies the index of the splitter handle. The handle
|
|
||||||
between the first and the second item will get index 0,
|
|
||||||
the next handle index 1 etc.
|
|
||||||
\row \li readonly property bool styleData.hovered \li The handle is being hovered.
|
|
||||||
\row \li readonly property bool styleData.pressed \li The handle is being pressed.
|
|
||||||
\row \li readonly property bool styleData.resizing \li The handle is being dragged.
|
|
||||||
\endtable
|
|
||||||
|
|
||||||
*/
|
|
||||||
property Component handleDelegate: Rectangle {
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
color: MSettings.darkTheme ? "#424242" : "#E1E1E1"
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
This propery is \c true when the user is resizing any of the items by
|
|
||||||
dragging on the splitter handles.
|
|
||||||
*/
|
|
||||||
property bool resizing: false
|
|
||||||
|
|
||||||
/*! \internal */
|
|
||||||
default property alias __contents: contents.data
|
|
||||||
/*! \internal */
|
|
||||||
property alias __items: splitterItems.children
|
|
||||||
/*! \internal */
|
|
||||||
property alias __handles: splitterHandles.children
|
|
||||||
|
|
||||||
clip: true
|
|
||||||
Component.onCompleted: d.init()
|
|
||||||
onWidthChanged: d.updateLayout()
|
|
||||||
onHeightChanged: d.updateLayout()
|
|
||||||
onOrientationChanged: d.changeOrientation()
|
|
||||||
|
|
||||||
/*! \qmlmethod void SplitView::addItem(Item item)
|
|
||||||
Add an item to the end of the view.
|
|
||||||
\since QtQuick.Controls 1.12 */
|
|
||||||
function addItem(item) {
|
|
||||||
d.updateLayoutGuard = true
|
|
||||||
d.addItem_impl(item)
|
|
||||||
d.calculateImplicitSize()
|
|
||||||
d.updateLayoutGuard = false
|
|
||||||
d.updateFillIndex()
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! \qmlmethod void SplitView::removeItem(Item item)
|
|
||||||
Remove \a item from the view.
|
|
||||||
\since QtQuick.Controls 1.4 */
|
|
||||||
function removeItem(item) {
|
|
||||||
d.updateLayoutGuard = true
|
|
||||||
var result = d.removeItem_impl(item)
|
|
||||||
if (result !== null) {
|
|
||||||
d.calculateImplicitSize()
|
|
||||||
d.updateLayoutGuard = false
|
|
||||||
d.updateFillIndex()
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
d.updateLayoutGuard = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SystemPalette { id: pal }
|
|
||||||
|
|
||||||
QtObject {
|
|
||||||
id: d
|
|
||||||
|
|
||||||
readonly property string leftMargin: horizontal ? "leftMargin" : "topMargin"
|
|
||||||
readonly property string topMargin: horizontal ? "topMargin" : "leftMargin"
|
|
||||||
readonly property string rightMargin: horizontal ? "rightMargin" : "bottomMargin"
|
|
||||||
|
|
||||||
property bool horizontal: orientation == Qt.Horizontal
|
|
||||||
readonly property string minimum: horizontal ? "minimumWidth" : "minimumHeight"
|
|
||||||
readonly property string maximum: horizontal ? "maximumWidth" : "maximumHeight"
|
|
||||||
readonly property string otherMinimum: horizontal ? "minimumHeight" : "minimumWidth"
|
|
||||||
readonly property string otherMaximum: horizontal ? "maximumHeight" : "maximumWidth"
|
|
||||||
readonly property string offset: horizontal ? "x" : "y"
|
|
||||||
readonly property string otherOffset: horizontal ? "y" : "x"
|
|
||||||
readonly property string size: horizontal ? "width" : "height"
|
|
||||||
readonly property string otherSize: horizontal ? "height" : "width"
|
|
||||||
readonly property string implicitSize: horizontal ? "implicitWidth" : "implicitHeight"
|
|
||||||
readonly property string implicitOtherSize: horizontal ? "implicitHeight" : "implicitWidth"
|
|
||||||
|
|
||||||
property int fillIndex: -1
|
|
||||||
property bool updateLayoutGuard: true
|
|
||||||
|
|
||||||
function extraMarginSize(item, other) {
|
|
||||||
if (typeof(other) === 'undefined')
|
|
||||||
other = false;
|
|
||||||
if (other === horizontal)
|
|
||||||
// vertical
|
|
||||||
return item.Layout.topMargin + item.Layout.bottomMargin
|
|
||||||
return item.Layout.leftMargin + item.Layout.rightMargin
|
|
||||||
}
|
|
||||||
|
|
||||||
function addItem_impl(item)
|
|
||||||
{
|
|
||||||
// temporarily set fillIndex to new item
|
|
||||||
fillIndex = __items.length
|
|
||||||
if (splitterItems.children.length > 0)
|
|
||||||
handleLoader.createObject(splitterHandles, {"__handleIndex":splitterItems.children.length - 1})
|
|
||||||
|
|
||||||
item.parent = splitterItems
|
|
||||||
d.initItemConnections(item)
|
|
||||||
}
|
|
||||||
|
|
||||||
function initItemConnections(item)
|
|
||||||
{
|
|
||||||
// should match disconnections in terminateItemConnections
|
|
||||||
item.widthChanged.connect(d.updateLayout)
|
|
||||||
item.heightChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.maximumWidthChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.minimumWidthChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.maximumHeightChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.minimumHeightChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.leftMarginChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.topMarginChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.rightMarginChanged.connect(d.updateLayout)
|
|
||||||
item.Layout.bottomMarginChanged.connect(d.updateLayout)
|
|
||||||
item.visibleChanged.connect(d.updateFillIndex)
|
|
||||||
item.Layout.fillWidthChanged.connect(d.updateFillIndex)
|
|
||||||
item.Layout.fillHeightChanged.connect(d.updateFillIndex)
|
|
||||||
}
|
|
||||||
|
|
||||||
function terminateItemConnections(item)
|
|
||||||
{
|
|
||||||
// should match connections in initItemConnections
|
|
||||||
item.widthChanged.disconnect(d.updateLayout)
|
|
||||||
item.heightChanged.disconnect(d.updateLayout)
|
|
||||||
item.Layout.maximumWidthChanged.disconnect(d.updateLayout)
|
|
||||||
item.Layout.minimumWidthChanged.disconnect(d.updateLayout)
|
|
||||||
item.Layout.maximumHeightChanged.disconnect(d.updateLayout)
|
|
||||||
item.Layout.minimumHeightChanged.disconnect(d.updateLayout)
|
|
||||||
item.visibleChanged.disconnect(d.updateFillIndex)
|
|
||||||
item.Layout.fillWidthChanged.disconnect(d.updateFillIndex)
|
|
||||||
item.Layout.fillHeightChanged.disconnect(d.updateFillIndex)
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeItem_impl(item)
|
|
||||||
{
|
|
||||||
var pos = itemPos(item)
|
|
||||||
|
|
||||||
// Check pos range
|
|
||||||
if (pos < 0 || pos >= __items.length)
|
|
||||||
return null
|
|
||||||
|
|
||||||
// Temporary unset the fillIndex
|
|
||||||
fillIndex = __items.length - 1
|
|
||||||
|
|
||||||
// Remove the handle at the left/right of the item that
|
|
||||||
// is going to be removed
|
|
||||||
var handlePos = -1
|
|
||||||
var hasPrevious = pos > 0
|
|
||||||
var hasNext = (pos + 1) < __items.length
|
|
||||||
|
|
||||||
if (hasPrevious)
|
|
||||||
handlePos = pos-1
|
|
||||||
else if (hasNext)
|
|
||||||
handlePos = pos
|
|
||||||
if (handlePos >= 0) {
|
|
||||||
var handle = __handles[handlePos]
|
|
||||||
handle.visible = false
|
|
||||||
handle.parent = null
|
|
||||||
handle.destroy()
|
|
||||||
for (var i = handlePos; i < __handles.length; ++i)
|
|
||||||
__handles[i].__handleIndex = i
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove the item.
|
|
||||||
// Disconnect the item to be removed
|
|
||||||
terminateItemConnections(item)
|
|
||||||
item.parent = null
|
|
||||||
|
|
||||||
return item
|
|
||||||
}
|
|
||||||
|
|
||||||
function itemPos(item)
|
|
||||||
{
|
|
||||||
for (var i = 0; i < __items.length; ++i)
|
|
||||||
if (item === __items[i])
|
|
||||||
return i
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
|
|
||||||
function init()
|
|
||||||
{
|
|
||||||
for (var i=0; i<__contents.length; ++i) {
|
|
||||||
var item = __contents[i];
|
|
||||||
if (!item.hasOwnProperty("x"))
|
|
||||||
continue
|
|
||||||
addItem_impl(item)
|
|
||||||
i-- // item was removed from list
|
|
||||||
}
|
|
||||||
|
|
||||||
d.calculateImplicitSize()
|
|
||||||
d.updateLayoutGuard = false
|
|
||||||
d.updateFillIndex()
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateFillIndex()
|
|
||||||
{
|
|
||||||
if (lastItem.visible !== root.visible)
|
|
||||||
return
|
|
||||||
var policy = (root.orientation === Qt.Horizontal) ? "fillWidth" : "fillHeight"
|
|
||||||
for (var i=0; i<__items.length-1; ++i) {
|
|
||||||
if (__items[i].Layout[policy] === true)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
d.fillIndex = i
|
|
||||||
d.updateLayout()
|
|
||||||
}
|
|
||||||
|
|
||||||
function changeOrientation()
|
|
||||||
{
|
|
||||||
if (__items.length == 0)
|
|
||||||
return;
|
|
||||||
d.updateLayoutGuard = true
|
|
||||||
|
|
||||||
// Swap width/height for items and handles:
|
|
||||||
for (var i=0; i<__items.length; ++i) {
|
|
||||||
var item = __items[i]
|
|
||||||
var tmp = item.x
|
|
||||||
item.x = item.y
|
|
||||||
item.y = tmp
|
|
||||||
tmp = item.width
|
|
||||||
item.width = item.height
|
|
||||||
item.height = tmp
|
|
||||||
|
|
||||||
var handle = __handles[i]
|
|
||||||
if (handle) {
|
|
||||||
tmp = handle.x
|
|
||||||
handle.x = handle.y
|
|
||||||
handle.y = handle.x
|
|
||||||
tmp = handle.width
|
|
||||||
handle.width = handle.height
|
|
||||||
handle.height = tmp
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Change d.horizontal explicit, since the binding will change too late:
|
|
||||||
d.horizontal = orientation == Qt.Horizontal
|
|
||||||
d.updateLayoutGuard = false
|
|
||||||
d.updateFillIndex()
|
|
||||||
}
|
|
||||||
|
|
||||||
function calculateImplicitSize()
|
|
||||||
{
|
|
||||||
var implicitSize = 0
|
|
||||||
var implicitOtherSize = 0
|
|
||||||
|
|
||||||
for (var i=0; i<__items.length; ++i) {
|
|
||||||
var item = __items[i];
|
|
||||||
implicitSize += clampedMinMax(item[d.size], item.Layout[minimum], item.Layout[maximum]) + extraMarginSize(item)
|
|
||||||
var os = clampedMinMax(item[otherSize], item.Layout[otherMinimum], item.Layout[otherMaximum]) + extraMarginSize(item, true)
|
|
||||||
implicitOtherSize = Math.max(implicitOtherSize, os)
|
|
||||||
|
|
||||||
var handle = __handles[i]
|
|
||||||
if (handle)
|
|
||||||
implicitSize += handle[d.size] //### Can handles have margins??
|
|
||||||
}
|
|
||||||
|
|
||||||
root[d.implicitSize] = implicitSize
|
|
||||||
root[d.implicitOtherSize] = implicitOtherSize
|
|
||||||
}
|
|
||||||
|
|
||||||
function clampedMinMax(value, minimum, maximum)
|
|
||||||
{
|
|
||||||
if (value < minimum)
|
|
||||||
value = minimum
|
|
||||||
if (value > maximum)
|
|
||||||
value = maximum
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
|
|
||||||
function accumulatedSize(firstIndex, lastIndex, includeFillItemMinimum)
|
|
||||||
{
|
|
||||||
// Go through items and handles, and
|
|
||||||
// calculate their accummulated width.
|
|
||||||
var w = 0
|
|
||||||
for (var i=firstIndex; i<lastIndex; ++i) {
|
|
||||||
|
|
||||||
var item = __items[i]
|
|
||||||
if (item.visible || i == d.fillIndex) {
|
|
||||||
if (i !== d.fillIndex)
|
|
||||||
w += item[d.size] + extraMarginSize(item)
|
|
||||||
else if (includeFillItemMinimum && item.Layout[minimum] !== undefined)
|
|
||||||
w += item.Layout[minimum] + extraMarginSize(item)
|
|
||||||
}
|
|
||||||
|
|
||||||
var handle = __handles[i]
|
|
||||||
if (handle && handle.visible)
|
|
||||||
w += handle[d.size]
|
|
||||||
}
|
|
||||||
return w
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateLayout()
|
|
||||||
{
|
|
||||||
// This function will reposition both handles and
|
|
||||||
// items according to the their width/height:
|
|
||||||
if (__items.length === 0)
|
|
||||||
return;
|
|
||||||
if (!lastItem.visible)
|
|
||||||
return;
|
|
||||||
if (d.updateLayoutGuard === true)
|
|
||||||
return
|
|
||||||
d.updateLayoutGuard = true
|
|
||||||
|
|
||||||
// Ensure all items within their min/max:
|
|
||||||
for (var i=0; i<__items.length; ++i) {
|
|
||||||
if (i !== d.fillIndex) {
|
|
||||||
var item = __items[i];
|
|
||||||
var clampedSize = clampedMinMax(item[d.size], item.Layout[d.minimum], item.Layout[d.maximum])
|
|
||||||
if (clampedSize != item[d.size])
|
|
||||||
item[d.size] = clampedSize
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set size of fillItem to remaining available space.
|
|
||||||
// Special case: If SplitView size is zero, we leave fillItem with the size
|
|
||||||
// it already got, and assume that SplitView ends up with implicit size as size:
|
|
||||||
if (root[d.size] != 0) {
|
|
||||||
var fillItem = __items[fillIndex]
|
|
||||||
var superfluous = root[d.size] - d.accumulatedSize(0, __items.length, false)
|
|
||||||
fillItem[d.size] = clampedMinMax(superfluous - extraMarginSize(fillItem), fillItem.Layout[minimum], fillItem.Layout[maximum]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Position items and handles according to their width:
|
|
||||||
var lastVisibleItem, lastVisibleHandle, handle
|
|
||||||
var pos = 0;
|
|
||||||
for (i=0; i<__items.length; ++i) {
|
|
||||||
// Position item to the right of the previous visible handle:
|
|
||||||
item = __items[i];
|
|
||||||
if (item.visible || i == d.fillIndex) {
|
|
||||||
pos += item.Layout[leftMargin]
|
|
||||||
item[d.offset] = pos
|
|
||||||
item[d.otherOffset] = item.Layout[topMargin]
|
|
||||||
item[d.otherSize] = clampedMinMax(root[otherSize], item.Layout[otherMinimum], item.Layout[otherMaximum]) - extraMarginSize(item, true)
|
|
||||||
lastVisibleItem = item
|
|
||||||
pos += Math.max(0, item[d.size]) + item.Layout[rightMargin]
|
|
||||||
}
|
|
||||||
|
|
||||||
handle = __handles[i]
|
|
||||||
if (handle && handle.visible) {
|
|
||||||
handle[d.offset] = pos
|
|
||||||
handle[d.otherOffset] = 0 //### can handles have margins?
|
|
||||||
handle[d.otherSize] = root[d.otherSize]
|
|
||||||
lastVisibleHandle = handle
|
|
||||||
pos += handle[d.size]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
d.updateLayoutGuard = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component {
|
|
||||||
id: handleLoader
|
|
||||||
Loader {
|
|
||||||
id: itemHandle
|
|
||||||
|
|
||||||
property int __handleIndex: -1
|
|
||||||
property QtObject styleData: QtObject {
|
|
||||||
readonly property int index: __handleIndex
|
|
||||||
readonly property alias hovered: mouseArea.containsMouse
|
|
||||||
readonly property alias pressed: mouseArea.pressed
|
|
||||||
readonly property bool resizing: mouseArea.drag.active
|
|
||||||
onResizingChanged: root.resizing = resizing
|
|
||||||
}
|
|
||||||
property bool resizeLeftItem: (d.fillIndex > __handleIndex)
|
|
||||||
visible: __items[__handleIndex + (resizeLeftItem ? 0 : 1)].visible
|
|
||||||
sourceComponent: handleDelegate
|
|
||||||
onWidthChanged: d.updateLayout()
|
|
||||||
onHeightChanged: d.updateLayout()
|
|
||||||
onXChanged: moveHandle()
|
|
||||||
onYChanged: moveHandle()
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
id: mouseArea
|
|
||||||
anchors.fill: parent
|
|
||||||
property real defaultMargin: Screen.pixelDensity * 2
|
|
||||||
anchors.leftMargin: (parent.width <= 1) ? -defaultMargin : 0
|
|
||||||
anchors.rightMargin: (parent.width <= 1) ? -defaultMargin : 0
|
|
||||||
anchors.topMargin: (parent.height <= 1) ? -defaultMargin : 0
|
|
||||||
anchors.bottomMargin: (parent.height <= 1) ? -defaultMargin : 0
|
|
||||||
hoverEnabled: true
|
|
||||||
drag.threshold: 0
|
|
||||||
drag.target: parent
|
|
||||||
drag.axis: root.orientation === Qt.Horizontal ? Drag.XAxis : Drag.YAxis
|
|
||||||
cursorShape: root.orientation === Qt.Horizontal ? Qt.SplitHCursor : Qt.SplitVCursor
|
|
||||||
}
|
|
||||||
|
|
||||||
function moveHandle() {
|
|
||||||
// Moving the handle means resizing an item. Which one,
|
|
||||||
// left or right, depends on where the fillItem is.
|
|
||||||
// 'updateLayout' will be overridden in case new width violates max/min.
|
|
||||||
// 'updateLayout' will be triggered when an item changes width.
|
|
||||||
if (d.updateLayoutGuard)
|
|
||||||
return
|
|
||||||
|
|
||||||
var leftHandle, leftItem, rightItem, rightHandle
|
|
||||||
var leftEdge, rightEdge, newWidth, leftStopX, rightStopX
|
|
||||||
var i
|
|
||||||
|
|
||||||
if (resizeLeftItem) {
|
|
||||||
// Ensure that the handle is not crossing other handles. So
|
|
||||||
// find the first visible handle to the left to determine the left edge:
|
|
||||||
leftEdge = 0
|
|
||||||
for (i=__handleIndex-1; i>=0; --i) {
|
|
||||||
leftHandle = __handles[i]
|
|
||||||
if (leftHandle.visible) {
|
|
||||||
leftEdge = leftHandle[d.offset] + leftHandle[d.size]
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure: leftStopX >= itemHandle[d.offset] >= rightStopX
|
|
||||||
var min = d.accumulatedSize(__handleIndex+1, __items.length, true)
|
|
||||||
rightStopX = root[d.size] - min - itemHandle[d.size]
|
|
||||||
leftStopX = Math.max(leftEdge, itemHandle[d.offset])
|
|
||||||
itemHandle[d.offset] = Math.min(rightStopX, Math.max(leftStopX, itemHandle[d.offset]))
|
|
||||||
|
|
||||||
newWidth = itemHandle[d.offset] - leftEdge
|
|
||||||
leftItem = __items[__handleIndex]
|
|
||||||
// The next line will trigger 'updateLayout':
|
|
||||||
leftItem[d.size] = newWidth
|
|
||||||
} else {
|
|
||||||
// Resize item to the right.
|
|
||||||
// Ensure that the handle is not crossing other handles. So
|
|
||||||
// find the first visible handle to the right to determine the right edge:
|
|
||||||
rightEdge = root[d.size]
|
|
||||||
for (i=__handleIndex+1; i<__handles.length; ++i) {
|
|
||||||
rightHandle = __handles[i]
|
|
||||||
if (rightHandle.visible) {
|
|
||||||
rightEdge = rightHandle[d.offset]
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure: leftStopX <= itemHandle[d.offset] <= rightStopX
|
|
||||||
min = d.accumulatedSize(0, __handleIndex+1, true)
|
|
||||||
leftStopX = min - itemHandle[d.size]
|
|
||||||
rightStopX = Math.min((rightEdge - itemHandle[d.size]), itemHandle[d.offset])
|
|
||||||
itemHandle[d.offset] = Math.max(leftStopX, Math.min(itemHandle[d.offset], rightStopX))
|
|
||||||
|
|
||||||
newWidth = rightEdge - (itemHandle[d.offset] + itemHandle[d.size])
|
|
||||||
rightItem = __items[__handleIndex+1]
|
|
||||||
// The next line will trigger 'updateLayout':
|
|
||||||
rightItem[d.size] = newWidth
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: contents
|
|
||||||
visible: false
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
|
||||||
Item {
|
|
||||||
id: splitterItems
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
|
||||||
Item {
|
|
||||||
id: splitterHandles
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: lastItem
|
|
||||||
onVisibleChanged: d.updateFillIndex()
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onDestruction: {
|
|
||||||
for (var i=0; i<splitterItems.children.length; ++i) {
|
|
||||||
var item = splitterItems.children[i];
|
|
||||||
d.terminateItemConnections(item)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -111,7 +111,7 @@ ColumnLayout {
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
text: progressInfo.active ? (progressInfo.progress + "/" + progressInfo.total) : content.info.size
|
text: progressInfo.active ? (progressInfo.progress + "/" + progressInfo.total) : content.info ? content.info.size : "Unknown"
|
||||||
color: MPalette.lighter
|
color: MPalette.lighter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -152,6 +152,12 @@ ColumnLayout {
|
||||||
MessageSourceDialog {}
|
MessageSourceDialog {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: openFileDialog
|
||||||
|
|
||||||
|
OpenFileDialog {}
|
||||||
|
}
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: fileDelegateContextMenu
|
id: fileDelegateContextMenu
|
||||||
|
|
||||||
|
@ -162,7 +168,17 @@ ColumnLayout {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveFileAs() { currentRoom.saveFileAs(eventId) }
|
function saveFileAs() {
|
||||||
|
var fileDialog = openFileDialog.createObject(ApplicationWindow.overlay, {"selectFolder": true})
|
||||||
|
|
||||||
|
fileDialog.chosen.connect(function(path) {
|
||||||
|
if (!path) return
|
||||||
|
|
||||||
|
currentRoom.downloadFile(eventId, path + "/" + (content.filename || content.body))
|
||||||
|
})
|
||||||
|
|
||||||
|
fileDialog.open()
|
||||||
|
}
|
||||||
|
|
||||||
function downloadAndOpen()
|
function downloadAndOpen()
|
||||||
{
|
{
|
||||||
|
|
|
@ -170,6 +170,12 @@ ColumnLayout {
|
||||||
MessageSourceDialog {}
|
MessageSourceDialog {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: openFileDialog
|
||||||
|
|
||||||
|
OpenFileDialog {}
|
||||||
|
}
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: imageDelegateContextMenu
|
id: imageDelegateContextMenu
|
||||||
|
|
||||||
|
@ -179,7 +185,17 @@ ColumnLayout {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveFileAs() { currentRoom.saveFileAs(eventId) }
|
function saveFileAs() {
|
||||||
|
var fileDialog = openFileDialog.createObject(ApplicationWindow.overlay, {"selectFolder": true})
|
||||||
|
|
||||||
|
fileDialog.chosen.connect(function(path) {
|
||||||
|
if (!path) return
|
||||||
|
|
||||||
|
currentRoom.downloadFile(eventId, path + "/" + (content.filename || content.body))
|
||||||
|
})
|
||||||
|
|
||||||
|
fileDialog.open()
|
||||||
|
}
|
||||||
|
|
||||||
function downloadAndOpen()
|
function downloadAndOpen()
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,6 +5,5 @@ SideNavButton 2.0 SideNavButton.qml
|
||||||
ScrollHelper 2.0 ScrollHelper.qml
|
ScrollHelper 2.0 ScrollHelper.qml
|
||||||
AutoListView 2.0 AutoListView.qml
|
AutoListView 2.0 AutoListView.qml
|
||||||
AutoTextField 2.0 AutoTextField.qml
|
AutoTextField 2.0 AutoTextField.qml
|
||||||
SplitView 2.0 SplitView.qml
|
|
||||||
Avatar 2.0 Avatar.qml
|
Avatar 2.0 Avatar.qml
|
||||||
FullScreenImage 2.0 FullScreenImage.qml
|
FullScreenImage 2.0 FullScreenImage.qml
|
||||||
|
|
|
@ -0,0 +1,345 @@
|
||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Controls 2.12
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
|
||||||
|
import Spectral.Component 2.0
|
||||||
|
import Spectral.Effect 2.0
|
||||||
|
|
||||||
|
import Spectral 0.1
|
||||||
|
import Spectral.Setting 0.1
|
||||||
|
|
||||||
|
Dialog {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
|
||||||
|
width: 480
|
||||||
|
|
||||||
|
id: root
|
||||||
|
|
||||||
|
contentItem: Column {
|
||||||
|
id: detailColumn
|
||||||
|
|
||||||
|
spacing: 0
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: AccountListModel{
|
||||||
|
controller: spectralController
|
||||||
|
}
|
||||||
|
|
||||||
|
delegate: Item {
|
||||||
|
width: detailColumn.width
|
||||||
|
height: 72
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: 12
|
||||||
|
|
||||||
|
spacing: 12
|
||||||
|
|
||||||
|
Avatar {
|
||||||
|
Layout.preferredWidth: height
|
||||||
|
Layout.fillHeight: true
|
||||||
|
|
||||||
|
source: user.avatarMediaId
|
||||||
|
hint: user.displayName || "No Name"
|
||||||
|
}
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.alignment: Qt.AlignHCenter
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
text: user.displayName || "No Name"
|
||||||
|
color: MPalette.foreground
|
||||||
|
font.pixelSize: 16
|
||||||
|
font.bold: true
|
||||||
|
elide: Text.ElideRight
|
||||||
|
wrapMode: Text.NoWrap
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
text: connection === spectralController.connection ? "Active" : "Online"
|
||||||
|
color: MPalette.lighter
|
||||||
|
font.pixelSize: 13
|
||||||
|
elide: Text.ElideRight
|
||||||
|
wrapMode: Text.NoWrap
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
id: contextMenu
|
||||||
|
|
||||||
|
MenuItem {
|
||||||
|
text: "Logout"
|
||||||
|
|
||||||
|
onClicked: spectralController.logout(connection)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: spectralController.connection = connection
|
||||||
|
onSecondaryClicked: contextMenu.popup()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
MenuSeparator {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolButton {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
contentItem: MaterialIcon {
|
||||||
|
icon: "\ue145"
|
||||||
|
color: MPalette.lighter
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: loginDialog.createObject(ApplicationWindow.overlay).open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue7ff"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Start a Chat"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: joinRoomDialog.createObject(ApplicationWindow.overlay).open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue7fc"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Create a Room"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: createRoomDialog.createObject(ApplicationWindow.overlay).open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuSeparator {
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue3a9"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Night Mode"
|
||||||
|
}
|
||||||
|
|
||||||
|
Switch {
|
||||||
|
id: darkThemeSwitch
|
||||||
|
|
||||||
|
checked: MSettings.darkTheme
|
||||||
|
onCheckedChanged: MSettings.darkTheme = checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: darkThemeSwitch.checked = !darkThemeSwitch.checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue5d2"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Enable System Tray"
|
||||||
|
}
|
||||||
|
|
||||||
|
Switch {
|
||||||
|
id: trayIconSwitch
|
||||||
|
|
||||||
|
checked: MSettings.showTray
|
||||||
|
onCheckedChanged: MSettings.showTray = checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: trayIconSwitch.checked = !trayIconSwitch.checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue7f5"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Enable Notifications"
|
||||||
|
}
|
||||||
|
|
||||||
|
Switch {
|
||||||
|
id: notificationsSwitch
|
||||||
|
|
||||||
|
checked: MSettings.showNotification
|
||||||
|
onCheckedChanged: MSettings.showNotification = checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: notificationsSwitch.checked = !notificationsSwitch.checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuSeparator {
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue167"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Font Family"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: fontFamilyDialog.createObject(ApplicationWindow.overlay).open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Control {
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
MaterialIcon {
|
||||||
|
Layout.preferredWidth: 48
|
||||||
|
Layout.preferredHeight: 48
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
icon: "\ue8aa"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
color: MPalette.foreground
|
||||||
|
text: "Chat Background"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RippleEffect {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onPrimaryClicked: {
|
||||||
|
var fileDialog = chatBackgroundDialog.createObject(ApplicationWindow.overlay)
|
||||||
|
|
||||||
|
fileDialog.chosen.connect(function(path) {
|
||||||
|
if (!path) return
|
||||||
|
|
||||||
|
MSettings.timelineBackground = path
|
||||||
|
})
|
||||||
|
fileDialog.rejected.connect(function(path) {
|
||||||
|
MSettings.timelineBackground = ""
|
||||||
|
})
|
||||||
|
|
||||||
|
fileDialog.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onClosed: destroy()
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Controls 2.12
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
|
||||||
|
import Spectral.Component 2.0
|
||||||
|
import Spectral.Setting 0.1
|
||||||
|
|
||||||
|
Dialog {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
width: 360
|
||||||
|
|
||||||
|
id: root
|
||||||
|
|
||||||
|
title: "Enter Font Family"
|
||||||
|
|
||||||
|
contentItem: AutoTextField {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
id:fontFamilyField
|
||||||
|
|
||||||
|
text: MSettings.fontFamily
|
||||||
|
placeholderText: "Font Family"
|
||||||
|
}
|
||||||
|
|
||||||
|
standardButtons: Dialog.Ok | Dialog.Cancel
|
||||||
|
|
||||||
|
onAccepted: MSettings.fontFamily = fontFamilyField.text
|
||||||
|
|
||||||
|
onClosed: destroy()
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Dialogs 1.2
|
||||||
|
|
||||||
|
FileDialog {
|
||||||
|
signal chosen(string path)
|
||||||
|
|
||||||
|
id: root
|
||||||
|
|
||||||
|
title: "Please choose a file"
|
||||||
|
selectMultiple: false
|
||||||
|
|
||||||
|
onAccepted: chosen(selectFolder ? folder : fileUrl)
|
||||||
|
}
|
|
@ -7,3 +7,6 @@ CreateRoomDialog 2.0 CreateRoomDialog.qml
|
||||||
JoinRoomDialog 2.0 JoinRoomDialog.qml
|
JoinRoomDialog 2.0 JoinRoomDialog.qml
|
||||||
InviteUserDialog 2.0 InviteUserDialog.qml
|
InviteUserDialog 2.0 InviteUserDialog.qml
|
||||||
AcceptInvitationDialog 2.0 AcceptInvitationDialog.qml
|
AcceptInvitationDialog 2.0 AcceptInvitationDialog.qml
|
||||||
|
FontFamilyDialog 2.0 FontFamilyDialog.qml
|
||||||
|
AccountDetailDialog 2.0 AccountDetailDialog.qml
|
||||||
|
OpenFileDialog 2.0 OpenFileDialog.qml
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
module Spectral.Page
|
|
||||||
Login 2.0 Login.qml
|
|
||||||
Room 2.0 Room.qml
|
|
||||||
Setting 2.0 Setting.qml
|
|
|
@ -20,7 +20,6 @@ Item {
|
||||||
|
|
||||||
property int filter: 0
|
property int filter: 0
|
||||||
property var enteredRoom: null
|
property var enteredRoom: null
|
||||||
property alias errorControl: errorControl
|
|
||||||
|
|
||||||
signal enterRoom(var room)
|
signal enterRoom(var room)
|
||||||
signal leaveRoom(var room)
|
signal leaveRoom(var room)
|
||||||
|
@ -184,9 +183,12 @@ Item {
|
||||||
source: root.user ? root.user.avatarMediaId : null
|
source: root.user ? root.user.avatarMediaId : null
|
||||||
hint: root.user ? root.user.displayName : "?"
|
hint: root.user ? root.user.displayName : "?"
|
||||||
|
|
||||||
MouseArea {
|
RippleEffect {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onClicked: detailDialog.open()
|
|
||||||
|
circular: true
|
||||||
|
|
||||||
|
onClicked: accountDetailDialog.createObject(ApplicationWindow.overlay).open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -203,52 +205,6 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Control {
|
|
||||||
property string error: ""
|
|
||||||
property string detail: ""
|
|
||||||
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
id: errorControl
|
|
||||||
|
|
||||||
visible: false
|
|
||||||
|
|
||||||
topPadding: 16
|
|
||||||
bottomPadding: 16
|
|
||||||
leftPadding: 24
|
|
||||||
rightPadding: 24
|
|
||||||
|
|
||||||
contentItem: ColumnLayout {
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
text: errorControl.error
|
|
||||||
font.pixelSize: 16
|
|
||||||
color: "white"
|
|
||||||
wrapMode: Text.Wrap
|
|
||||||
}
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
text: errorControl.detail
|
|
||||||
font.pixelSize: 14
|
|
||||||
color: "white"
|
|
||||||
opacity: 0.6
|
|
||||||
wrapMode: Text.Wrap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
background: Rectangle {
|
|
||||||
color: "#273338"
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onClicked: errorControl.visible = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AutoListView {
|
AutoListView {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
|
|
|
@ -23,18 +23,42 @@ Item {
|
||||||
room: currentRoom
|
room: currentRoom
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
Column {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
|
||||||
|
spacing: 16
|
||||||
|
|
||||||
visible: !currentRoom
|
visible: !currentRoom
|
||||||
text: "Please choose a room."
|
|
||||||
|
Image {
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
|
||||||
|
width: 240
|
||||||
|
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
|
||||||
|
source: "qrc:/assets/img/matrix.svg"
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
|
||||||
|
text: "Welcome to Matrix, a new era of instant messaging."
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
|
||||||
|
text: "To start chatting, select a room from the room list."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
visible: currentRoom && MSettings.enableTimelineBackground
|
visible: currentRoom && MSettings.timelineBackground
|
||||||
|
|
||||||
source: MSettings.timelineBackground || MSettings.darkTheme ? "qrc:/assets/img/roompanel-dark.svg" : "qrc:/assets/img/roompanel.svg"
|
source: MSettings.timelineBackground
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,11 @@ import Qt.labs.settings 1.0
|
||||||
Settings {
|
Settings {
|
||||||
property bool showNotification: true
|
property bool showNotification: true
|
||||||
|
|
||||||
property bool pressAndHold
|
|
||||||
property bool showTray: true
|
property bool showTray: true
|
||||||
|
|
||||||
property bool darkTheme
|
property bool darkTheme
|
||||||
|
|
||||||
property bool enableTimelineBackground: true
|
|
||||||
property string timelineBackground
|
property string timelineBackground
|
||||||
|
|
||||||
|
property string fontFamily: "Roboto,Noto Sans,Noto Color Emoji"
|
||||||
}
|
}
|
||||||
|
|
287
qml/main.qml
287
qml/main.qml
|
@ -8,7 +8,6 @@ import Qt.labs.platform 1.0 as Platform
|
||||||
import Spectral.Panel 2.0
|
import Spectral.Panel 2.0
|
||||||
import Spectral.Component 2.0
|
import Spectral.Component 2.0
|
||||||
import Spectral.Dialog 2.0
|
import Spectral.Dialog 2.0
|
||||||
import Spectral.Page 2.0
|
|
||||||
import Spectral.Effect 2.0
|
import Spectral.Effect 2.0
|
||||||
|
|
||||||
import Spectral 0.1
|
import Spectral 0.1
|
||||||
|
@ -30,6 +29,8 @@ ApplicationWindow {
|
||||||
visible: true
|
visible: true
|
||||||
title: qsTr("Spectral")
|
title: qsTr("Spectral")
|
||||||
|
|
||||||
|
font.family: MSettings.fontFamily
|
||||||
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
color: MSettings.darkTheme ? "#303030" : "#FFFFFF"
|
color: MSettings.darkTheme ? "#303030" : "#FFFFFF"
|
||||||
}
|
}
|
||||||
|
@ -60,12 +61,7 @@ ApplicationWindow {
|
||||||
roomForm.goToEvent(eventId)
|
roomForm.goToEvent(eventId)
|
||||||
showWindow()
|
showWindow()
|
||||||
}
|
}
|
||||||
onErrorOccured: {
|
onErrorOccured: errorControl.show(error + ": " + detail, 3000)
|
||||||
roomListForm.errorControl.error = error
|
|
||||||
roomListForm.errorControl.detail = detail
|
|
||||||
roomListForm.errorControl.visible = true
|
|
||||||
}
|
|
||||||
onSyncDone: roomListForm.errorControl.visible = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Shortcut {
|
Shortcut {
|
||||||
|
@ -73,267 +69,18 @@ ApplicationWindow {
|
||||||
onActivated: Qt.quit()
|
onActivated: Qt.quit()
|
||||||
}
|
}
|
||||||
|
|
||||||
Dialog {
|
ToolTip {
|
||||||
anchors.centerIn: parent
|
id: errorControl
|
||||||
|
|
||||||
width: 480
|
parent: ApplicationWindow.overlay
|
||||||
|
|
||||||
id: detailDialog
|
font.pixelSize: 14
|
||||||
|
}
|
||||||
|
|
||||||
contentItem: Column {
|
Component {
|
||||||
id: detailColumn
|
id: accountDetailDialog
|
||||||
|
|
||||||
spacing: 0
|
AccountDetailDialog {}
|
||||||
|
|
||||||
Repeater {
|
|
||||||
model: AccountListModel{
|
|
||||||
controller: spectralController
|
|
||||||
}
|
|
||||||
|
|
||||||
delegate: Item {
|
|
||||||
width: detailColumn.width
|
|
||||||
height: 72
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: 12
|
|
||||||
|
|
||||||
spacing: 12
|
|
||||||
|
|
||||||
Avatar {
|
|
||||||
Layout.preferredWidth: height
|
|
||||||
Layout.fillHeight: true
|
|
||||||
|
|
||||||
source: user.avatarMediaId
|
|
||||||
hint: user.displayName || "No Name"
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.alignment: Qt.AlignHCenter
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
text: user.displayName || "No Name"
|
|
||||||
color: MPalette.foreground
|
|
||||||
font.pixelSize: 16
|
|
||||||
font.bold: true
|
|
||||||
elide: Text.ElideRight
|
|
||||||
wrapMode: Text.NoWrap
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
text: connection === spectralController.connection ? "Active" : "Online"
|
|
||||||
color: MPalette.lighter
|
|
||||||
font.pixelSize: 13
|
|
||||||
elide: Text.ElideRight
|
|
||||||
wrapMode: Text.NoWrap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Menu {
|
|
||||||
id: contextMenu
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: "Logout"
|
|
||||||
|
|
||||||
onClicked: spectralController.logout(connection)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onPrimaryClicked: spectralController.connection = connection
|
|
||||||
onSecondaryClicked: contextMenu.popup()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
MenuSeparator {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
}
|
|
||||||
|
|
||||||
ToolButton {
|
|
||||||
Layout.preferredWidth: 48
|
|
||||||
Layout.preferredHeight: 48
|
|
||||||
|
|
||||||
contentItem: MaterialIcon {
|
|
||||||
icon: "\ue145"
|
|
||||||
color: MPalette.lighter
|
|
||||||
}
|
|
||||||
|
|
||||||
onClicked: loginDialog.createObject(ApplicationWindow.overlay).open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Control {
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
contentItem: RowLayout {
|
|
||||||
MaterialIcon {
|
|
||||||
Layout.preferredWidth: 48
|
|
||||||
Layout.preferredHeight: 48
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
icon: "\ue7ff"
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
text: "Start a Chat"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onPrimaryClicked: joinRoomDialog.createObject(ApplicationWindow.overlay).open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Control {
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
contentItem: RowLayout {
|
|
||||||
MaterialIcon {
|
|
||||||
Layout.preferredWidth: 48
|
|
||||||
Layout.preferredHeight: 48
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
icon: "\ue7fc"
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
text: "Create a Room"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onPrimaryClicked: createRoomDialog.createObject(ApplicationWindow.overlay).open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MenuSeparator {
|
|
||||||
width: parent.width
|
|
||||||
}
|
|
||||||
|
|
||||||
Control {
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
contentItem: RowLayout {
|
|
||||||
MaterialIcon {
|
|
||||||
Layout.preferredWidth: 48
|
|
||||||
Layout.preferredHeight: 48
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
icon: "\ue3a9"
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
text: "Night Mode"
|
|
||||||
}
|
|
||||||
|
|
||||||
Switch {
|
|
||||||
id: darkThemeSwitch
|
|
||||||
|
|
||||||
checked: MSettings.darkTheme
|
|
||||||
onCheckedChanged: MSettings.darkTheme = checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onPrimaryClicked: darkThemeSwitch.checked = !darkThemeSwitch.checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Control {
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
contentItem: RowLayout {
|
|
||||||
MaterialIcon {
|
|
||||||
Layout.preferredWidth: 48
|
|
||||||
Layout.preferredHeight: 48
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
icon: "\ue5d2"
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
text: "Enable System Tray"
|
|
||||||
}
|
|
||||||
|
|
||||||
Switch {
|
|
||||||
id: trayIconSwitch
|
|
||||||
|
|
||||||
checked: MSettings.showTray
|
|
||||||
onCheckedChanged: MSettings.showTray = checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onPrimaryClicked: trayIconSwitch.checked = !trayIconSwitch.checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Control {
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
contentItem: RowLayout {
|
|
||||||
MaterialIcon {
|
|
||||||
Layout.preferredWidth: 48
|
|
||||||
Layout.preferredHeight: 48
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
icon: "\ue7f5"
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
color: MPalette.foreground
|
|
||||||
text: "Enable Notifications"
|
|
||||||
}
|
|
||||||
|
|
||||||
Switch {
|
|
||||||
id: notificationsSwitch
|
|
||||||
|
|
||||||
checked: MSettings.showNotification
|
|
||||||
onCheckedChanged: MSettings.showNotification = checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RippleEffect {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
onPrimaryClicked: notificationsSwitch.checked = !notificationsSwitch.checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
|
@ -354,6 +101,18 @@ ApplicationWindow {
|
||||||
CreateRoomDialog {}
|
CreateRoomDialog {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: fontFamilyDialog
|
||||||
|
|
||||||
|
FontFamilyDialog {}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: chatBackgroundDialog
|
||||||
|
|
||||||
|
OpenFileDialog {}
|
||||||
|
}
|
||||||
|
|
||||||
Drawer {
|
Drawer {
|
||||||
width: Math.min((inPortrait ? 0.67 : 0.3) * window.width, 360)
|
width: Math.min((inPortrait ? 0.67 : 0.3) * window.width, 360)
|
||||||
height: window.height
|
height: window.height
|
||||||
|
|
|
@ -10,4 +10,3 @@ Theme=Light
|
||||||
Variant=Dense
|
Variant=Dense
|
||||||
Primary=#344955
|
Primary=#344955
|
||||||
Accent=#673AB7
|
Accent=#673AB7
|
||||||
Font/Family="Roboto,Noto Sans,Noto Color Emoji"
|
|
||||||
|
|
7
res.qrc
7
res.qrc
|
@ -13,7 +13,6 @@
|
||||||
<file>imports/Spectral/Component/qmldir</file>
|
<file>imports/Spectral/Component/qmldir</file>
|
||||||
<file>imports/Spectral/Effect/ElevationEffect.qml</file>
|
<file>imports/Spectral/Effect/ElevationEffect.qml</file>
|
||||||
<file>imports/Spectral/Effect/qmldir</file>
|
<file>imports/Spectral/Effect/qmldir</file>
|
||||||
<file>imports/Spectral/Page/qmldir</file>
|
|
||||||
<file>assets/font/material.ttf</file>
|
<file>assets/font/material.ttf</file>
|
||||||
<file>assets/img/icon.icns</file>
|
<file>assets/img/icon.icns</file>
|
||||||
<file>assets/img/icon.ico</file>
|
<file>assets/img/icon.ico</file>
|
||||||
|
@ -31,14 +30,11 @@
|
||||||
<file>imports/Spectral/Component/AutoListView.qml</file>
|
<file>imports/Spectral/Component/AutoListView.qml</file>
|
||||||
<file>imports/Spectral/Component/AutoTextField.qml</file>
|
<file>imports/Spectral/Component/AutoTextField.qml</file>
|
||||||
<file>imports/Spectral/Panel/RoomPanelInput.qml</file>
|
<file>imports/Spectral/Panel/RoomPanelInput.qml</file>
|
||||||
<file>imports/Spectral/Component/SplitView.qml</file>
|
|
||||||
<file>imports/Spectral/Font/CommonFont.qml</file>
|
<file>imports/Spectral/Font/CommonFont.qml</file>
|
||||||
<file>imports/Spectral/Component/Timeline/SectionDelegate.qml</file>
|
<file>imports/Spectral/Component/Timeline/SectionDelegate.qml</file>
|
||||||
<file>assets/img/roompanel.svg</file>
|
|
||||||
<file>assets/img/matrix.svg</file>
|
<file>assets/img/matrix.svg</file>
|
||||||
<file>imports/Spectral/Effect/RippleEffect.qml</file>
|
<file>imports/Spectral/Effect/RippleEffect.qml</file>
|
||||||
<file>imports/Spectral/Effect/CircleMask.qml</file>
|
<file>imports/Spectral/Effect/CircleMask.qml</file>
|
||||||
<file>assets/img/roompanel-dark.svg</file>
|
|
||||||
<file>imports/Spectral/Component/Timeline/ImageDelegate.qml</file>
|
<file>imports/Spectral/Component/Timeline/ImageDelegate.qml</file>
|
||||||
<file>imports/Spectral/Component/Avatar.qml</file>
|
<file>imports/Spectral/Component/Avatar.qml</file>
|
||||||
<file>imports/Spectral/Setting/Palette.qml</file>
|
<file>imports/Spectral/Setting/Palette.qml</file>
|
||||||
|
@ -58,5 +54,8 @@
|
||||||
<file>imports/Spectral/Menu/Timeline/qmldir</file>
|
<file>imports/Spectral/Menu/Timeline/qmldir</file>
|
||||||
<file>imports/Spectral/Menu/Timeline/MessageDelegateContextMenu.qml</file>
|
<file>imports/Spectral/Menu/Timeline/MessageDelegateContextMenu.qml</file>
|
||||||
<file>imports/Spectral/Menu/Timeline/FileDelegateContextMenu.qml</file>
|
<file>imports/Spectral/Menu/Timeline/FileDelegateContextMenu.qml</file>
|
||||||
|
<file>imports/Spectral/Dialog/FontFamilyDialog.qml</file>
|
||||||
|
<file>imports/Spectral/Dialog/AccountDetailDialog.qml</file>
|
||||||
|
<file>imports/Spectral/Dialog/OpenFileDialog.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
10
spectral.pro
10
spectral.pro
|
@ -20,9 +20,6 @@ isEmpty(USE_SYSTEM_SORTFILTERPROXYMODEL) {
|
||||||
isEmpty(USE_SYSTEM_QMATRIXCLIENT) {
|
isEmpty(USE_SYSTEM_QMATRIXCLIENT) {
|
||||||
USE_SYSTEM_QMATRIXCLIENT = false
|
USE_SYSTEM_QMATRIXCLIENT = false
|
||||||
}
|
}
|
||||||
isEmpty(BUNDLE_FONT) {
|
|
||||||
BUNDLE_FONT = false
|
|
||||||
}
|
|
||||||
|
|
||||||
$$USE_SYSTEM_QMATRIXCLIENT {
|
$$USE_SYSTEM_QMATRIXCLIENT {
|
||||||
PKGCONFIG += QMatrixClient
|
PKGCONFIG += QMatrixClient
|
||||||
|
@ -70,13 +67,6 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
||||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
RESOURCES += res.qrc
|
RESOURCES += res.qrc
|
||||||
$$BUNDLE_FONT {
|
|
||||||
message("Bundling fonts.")
|
|
||||||
DEFINES += BUNDLE_FONT
|
|
||||||
RESOURCES += font.qrc
|
|
||||||
} else {
|
|
||||||
message("Using fonts from operating system.")
|
|
||||||
}
|
|
||||||
|
|
||||||
# Additional import path used to resolve QML modules in Qt Creator's code model
|
# Additional import path used to resolve QML modules in Qt Creator's code model
|
||||||
QML_IMPORT_PATH += imports/
|
QML_IMPORT_PATH += imports/
|
||||||
|
|
|
@ -67,11 +67,6 @@ int main(int argc, char* argv[]) {
|
||||||
qRegisterMetaType<SpectralRoom*>("SpectralRoom*");
|
qRegisterMetaType<SpectralRoom*>("SpectralRoom*");
|
||||||
qRegisterMetaType<SpectralUser*>("SpectralUser*");
|
qRegisterMetaType<SpectralUser*>("SpectralUser*");
|
||||||
|
|
||||||
#if defined(BUNDLE_FONT)
|
|
||||||
QFontDatabase::addApplicationFont(":/assets/font/roboto.ttf");
|
|
||||||
QFontDatabase::addApplicationFont(":/assets/font/twemoji.ttf");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
QQmlApplicationEngine engine;
|
QQmlApplicationEngine engine;
|
||||||
|
|
||||||
engine.addImportPath("qrc:/imports");
|
engine.addImportPath("qrc:/imports");
|
||||||
|
|
|
@ -72,13 +72,6 @@ void SpectralRoom::chooseAndUploadFile() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpectralRoom::saveFileAs(QString eventId) {
|
|
||||||
auto fileName = QFileDialog::getSaveFileName(Q_NULLPTR, tr("Save File as"),
|
|
||||||
fileNameToDownload(eventId));
|
|
||||||
if (!fileName.isEmpty())
|
|
||||||
downloadFile(eventId, QUrl::fromLocalFile(fileName));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SpectralRoom::acceptInvitation() {
|
void SpectralRoom::acceptInvitation() {
|
||||||
connection()->joinRoom(id());
|
connection()->joinRoom(id());
|
||||||
}
|
}
|
||||||
|
|
|
@ -251,7 +251,6 @@ class SpectralRoom : public Room {
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void chooseAndUploadFile();
|
void chooseAndUploadFile();
|
||||||
void saveFileAs(QString eventId);
|
|
||||||
void acceptInvitation();
|
void acceptInvitation();
|
||||||
void forget();
|
void forget();
|
||||||
void sendTypingNotification(bool isTyping);
|
void sendTypingNotification(bool isTyping);
|
||||||
|
|
Loading…
Reference in New Issue