Initial QML interface code

openvr-qml-windows
dsc 3 years ago
parent d58c7e7c13
commit 8c1902f85d

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M5,8.6l5.3,3.4L5,15.4V8.6 M3,5v14l11-7L3,5z"/>
<path class="st1" d="M14,19h2.3V5H14V19z M18.7,5v14H21V5H18.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 598 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="white" d="M6 18l8.5-6L6 6v12zm2-8.14L11.03 12 8 14.14V9.86zM16 6h2v12h-2z"/></svg>

After

Width:  |  Height:  |  Size: 216 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="white" d="M6 6h2v12H6zm3.5 6l8.5 6V6l-8.5 6zm6.5 2.14L12.97 12 16 9.86v4.28z"/></svg>

After

Width:  |  Height:  |  Size: 219 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path fill="white" d="M16 8v8H8V8h8m2-2H6v12h12V6z"/></svg>

After

Width:  |  Height:  |  Size: 181 B

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 22 22"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="mic_off.svg">
<metadata
id="metadata20">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview18"
showgrid="false"
inkscape:zoom="10.727273"
inkscape:cx="-0.51271186"
inkscape:cy="11"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4">
<clipPath
id="clipPath6">
<path
d="m69.63 12.145h-.052c-22.727-.292-46.47 4.077-46.709 4.122-2.424.451-4.946 2.974-5.397 5.397-.044.237-4.414 23.983-4.122 46.71-.292 22.777 4.078 46.523 4.122 46.761.451 2.423 2.974 4.945 5.398 5.398.237.044 23.982 4.413 46.709 4.121 22.779.292 46.524-4.077 46.761-4.121 2.423-.452 4.946-2.976 5.398-5.399.044-.236 4.413-23.981 4.121-46.709.292-22.777-4.077-46.523-4.121-46.761-.453-2.423-2.976-4.946-5.398-5.397-.238-.045-23.984-4.414-46.71-4.122"
id="path8" />
</clipPath>
</defs>
<g
transform="matrix(0.1327649,0,0,0.1327649,3.5653647,1.971854)"
id="g10"
style="fill:#ffffff">
<path
d="M 20.722,77.21 C 19.907,73.951 19.5,70.883 19.5,68.004 l 0,-10.43 c 0,-1.412 -0.516,-2.634 -1.548,-3.666 -1.032,-1.032 -2.254,-1.548 -3.666,-1.548 -1.413,0 -2.635,0.516 -3.667,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 l 0,10.429 c 0,6.03 1.141,11.841 3.422,17.437 l 8.229,-8.23"
id="path12"
style="fill:#ffffff"
inkscape:connector-curvature="0" />
<path
d="m 56,94.07 c 7.17,0 13.309,-2.553 18.412,-7.657 C 79.517,81.309 82.07,75.17 82.07,68 l 0,-10.429 29.412,-29.412 c 0.543,-0.543 0.815,-1.168 0.815,-1.874 0,-0.706 -0.271,-1.331 -0.815,-1.874 l -6.68,-6.681 c -0.544,-0.544 -1.168,-0.815 -1.875,-0.815 -0.705,0 -1.33,0.271 -1.873,0.815 L 0.514,118.27 c -0.543,0.543 -0.814,1.168 -0.814,1.873 0,0.707 0.271,1.332 0.814,1.875 l 6.681,6.681 c 0.543,0.543 1.168,0.814 1.874,0.814 0.706,0 1.331,-0.271 1.874,-0.814 l 20.694,-20.694 c 5.974,3.695 12.356,5.895 19.15,6.6 l 0,10.756 -20.857,0 c -1.412,0 -2.635,0.516 -3.666,1.548 -1.032,1.032 -1.549,2.254 -1.549,3.666 0,1.411 0.517,2.635 1.549,3.666 1.031,1.032 2.254,1.549 3.666,1.549 l 52.14,0 c 1.412,0 2.635,-0.517 3.666,-1.549 1.033,-1.031 1.549,-2.255 1.549,-3.666 0,-1.412 -0.516,-2.634 -1.549,-3.666 -1.031,-1.032 -2.254,-1.548 -3.666,-1.548 l -20.856,0 0,-10.756 C 73,113.302 82.899,108.21 90.911,99.33 98.921,90.45 102.931,80.008 102.931,68 l 0,-10.431 c 0,-1.412 -0.516,-2.634 -1.547,-3.666 -1.033,-1.032 -2.255,-1.548 -3.667,-1.548 -1.412,0 -2.634,0.516 -3.666,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 l 0,10.429 c 0,10.05 -3.572,18.643 -10.714,25.785 -7.142,7.142 -15.738,10.714 -25.786,10.714 -5.866,0 -11.433,-1.384 -16.702,-4.155 l 7.821,-7.82 c 2.934,1.031 5.894,1.546 8.881,1.546"
id="path14"
style="fill:#ffffff"
inkscape:connector-curvature="0" />
<path
d="M 71.03,5.02 C 66.549,1.815 61.538,0.212 56,0.212 c -7.17,0 -13.308,2.554 -18.413,7.659 -5.105,5.105 -7.658,11.243 -7.658,18.413 l 0,41.714 50.594,-50.595 C 78.676,12.353 75.513,8.224 71.032,5.02"
id="path16"
style="fill:#ffffff"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 22 22"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="mic_on.svg">
<metadata
id="metadata18">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview16"
showgrid="false"
inkscape:zoom="10.727273"
inkscape:cx="-0.51271186"
inkscape:cy="11"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4">
<clipPath
id="clipPath6">
<path
d="m69.63 12.145h-.052c-22.727-.292-46.47 4.077-46.709 4.122-2.424.451-4.946 2.974-5.397 5.397-.044.237-4.414 23.983-4.122 46.71-.292 22.777 4.078 46.523 4.122 46.761.451 2.423 2.974 4.945 5.398 5.398.237.044 23.982 4.413 46.709 4.121 22.779.292 46.524-4.077 46.761-4.121 2.423-.452 4.946-2.976 5.398-5.399.044-.236 4.413-23.981 4.121-46.709.292-22.777-4.077-46.523-4.121-46.761-.453-2.423-2.976-4.946-5.398-5.397-.238-.045-23.984-4.414-46.71-4.122"
id="path8" />
</clipPath>
</defs>
<g
transform="matrix(0.13276686,0,0,0.13276686,4.7597584,1.971588)"
id="g10"
style="fill:#ffffff">
<path
d="m 47,94.07 c 7.17,0 13.307,-2.553 18.412,-7.657 C 70.517,81.309 73.07,75.17 73.07,68 l 0,-41.714 C 73.07,19.116 70.519,12.979 65.412,7.873 60.307,2.768 54.17,0.214 47,0.214 c -7.17,0 -13.307,2.554 -18.413,7.659 -5.106,5.105 -7.659,11.243 -7.659,18.413 l 0,41.714 c 0,7.17 2.554,13.309 7.659,18.413 C 33.692,91.517 39.83,94.07 47,94.07"
id="path12"
style="fill:#ffffff"
inkscape:connector-curvature="0" />
<path
d="m 92.38,53.905 c -1.03,-1.032 -2.254,-1.548 -3.666,-1.548 -1.412,0 -2.634,0.516 -3.666,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 L 83.5,68 C 83.5,78.05 79.928,86.643 72.786,93.786 65.645,100.929 57.049,104.5 47,104.5 36.95,104.5 28.356,100.929 21.213,93.786 14.071,86.645 10.5,78.049 10.5,68 l 0,-10.429 C 10.5,56.159 9.984,54.937 8.952,53.905 7.92,52.873 6.699,52.357 5.286,52.357 c -1.413,0 -2.635,0.516 -3.667,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 l 0,10.429 c 0,12 4.01,22.446 12.02,31.33 8.01,8.88 17.91,13.972 29.697,15.275 l 0,10.756 -20.857,0 c -1.412,0 -2.634,0.516 -3.666,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 0,1.411 0.516,2.635 1.548,3.666 1.032,1.032 2.254,1.549 3.666,1.549 l 52.14,0 c 1.412,0 2.636,-0.517 3.666,-1.549 1.033,-1.031 1.55,-2.255 1.55,-3.666 0,-1.412 -0.517,-2.634 -1.55,-3.666 -1.03,-1.032 -2.254,-1.548 -3.666,-1.548 l -20.855,0 0,-10.756 C 64.001,113.302 73.9,108.21 81.912,99.33 89.922,90.45 93.932,80.008 93.932,68 l 0,-10.429 c 0,-1.412 -0.517,-2.633 -1.55,-3.666"
id="path14"
style="fill:#ffffff"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 16 22"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="ptt_notification.dvg.svg"
width="16"
height="22">
<metadata
id="metadata18">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#1b2939"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview16"
showgrid="false"
inkscape:zoom="10.727273"
inkscape:cx="-5.3865047"
inkscape:cy="11"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4">
<clipPath
id="clipPath6">
<path
d="m 69.63,12.145 -0.052,0 c -22.727,-0.292 -46.47,4.077 -46.709,4.122 -2.424,0.451 -4.946,2.974 -5.397,5.397 -0.044,0.237 -4.414,23.983 -4.122,46.71 -0.292,22.777 4.078,46.523 4.122,46.761 0.451,2.423 2.974,4.945 5.398,5.398 0.237,0.044 23.982,4.413 46.709,4.121 22.779,0.292 46.524,-4.077 46.761,-4.121 2.423,-0.452 4.946,-2.976 5.398,-5.399 0.044,-0.236 4.413,-23.981 4.121,-46.709 0.292,-22.777 -4.077,-46.523 -4.121,-46.761 -0.453,-2.423 -2.976,-4.946 -5.398,-5.397 -0.238,-0.045 -23.984,-4.414 -46.71,-4.122"
id="path8"
inkscape:connector-curvature="0" />
</clipPath>
</defs>
<g
transform="matrix(0.12612852,0,0,0.12612852,2.0717705,2.4230086)"
id="g10"
style="fill:#ffffff">
<g
id="g4141"
transform="matrix(1.1111111,0,0,1.1111111,-5.2223894,-7.5557786)">
<path
inkscape:connector-curvature="0"
style="fill:#ffffff"
id="path12"
d="m 47,94.07 c 7.17,0 13.307,-2.553 18.412,-7.657 C 70.517,81.309 73.07,75.17 73.07,68 l 0,-41.714 C 73.07,19.116 70.519,12.979 65.412,7.873 60.307,2.768 54.17,0.214 47,0.214 c -7.17,0 -13.307,2.554 -18.413,7.659 -5.106,5.105 -7.659,11.243 -7.659,18.413 l 0,41.714 c 0,7.17 2.554,13.309 7.659,18.413 C 33.692,91.517 39.83,94.07 47,94.07" />
<path
inkscape:connector-curvature="0"
style="fill:#ffffff"
id="path14"
d="m 92.38,53.905 c -1.03,-1.032 -2.254,-1.548 -3.666,-1.548 -1.412,0 -2.634,0.516 -3.666,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 L 83.5,68 C 83.5,78.05 79.928,86.643 72.786,93.786 65.645,100.929 57.049,104.5 47,104.5 36.95,104.5 28.356,100.929 21.213,93.786 14.071,86.645 10.5,78.049 10.5,68 l 0,-10.429 C 10.5,56.159 9.984,54.937 8.952,53.905 7.92,52.873 6.699,52.357 5.286,52.357 c -1.413,0 -2.635,0.516 -3.667,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 l 0,10.429 c 0,12 4.01,22.446 12.02,31.33 8.01,8.88 17.91,13.972 29.697,15.275 l 0,10.756 -20.857,0 c -1.412,0 -2.634,0.516 -3.666,1.548 -1.032,1.032 -1.548,2.254 -1.548,3.666 0,1.411 0.516,2.635 1.548,3.666 1.032,1.032 2.254,1.549 3.666,1.549 l 52.14,0 c 1.412,0 2.636,-0.517 3.666,-1.549 1.033,-1.031 1.55,-2.255 1.55,-3.666 0,-1.412 -0.517,-2.634 -1.55,-3.666 -1.03,-1.032 -2.254,-1.548 -3.666,-1.548 l -20.855,0 0,-10.756 C 64.001,113.302 73.9,108.21 81.912,99.33 89.922,90.45 93.932,80.008 93.932,68 l 0,-10.429 c 0,-1.412 -0.517,-2.633 -1.55,-3.666" />
</g>
</g>
<rect
style="fill:none;stroke:#3b607a;stroke-width:0.29646081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3337"
width="15.012013"
height="21.071335"
x="0.49399328"
y="0.46433258" />
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><g transform="matrix(.13811 0 0 .13811 4.955 5.808)" fill-opacity=".8"><g transform="matrix(6.5167 0 0 6.5167-28.01-34.23)"><g transform="matrix(1.17633 0 0 1.17633 1 1.589)" stroke-opacity=".85" fill="#000" stroke="none" fill-opacity="0" stroke-width=".73"><path d="m11.243 12.993c-.192 0-.384-.073-.53-.22-.293-.293-.293-.768 0-1.061 2.047-2.047 2.047-5.378 0-7.425-.293-.293-.293-.768 0-1.061.293-.293.768-.293 1.061 0 1.275 1.275 1.977 2.97 1.977 4.773 0 1.803-.702 3.498-1.977 4.773-.146.146-.338.22-.53.22z"/><path d="m8.578 11.578c-.192 0-.384-.073-.53-.22-.293-.293-.293-.768 0-1.061 1.267-1.267 1.267-3.329 0-4.596-.293-.293-.293-.768 0-1.061.293-.293.768-.293 1.061 0 1.852 1.852 1.852 4.865 0 6.718-.146.146-.338.22-.53.22z"/></g><g transform="translate(16 4)"><g fill="#f2f2f2" fill-opacity="0"><path d="m-1.773 12.874c-.226 0-.452-.086-.623-.259-.345-.345-.345-.903 0-1.248 2.408-2.408 2.408-6.326 0-8.734-.345-.345-.345-.903 0-1.248.345-.345.903-.345 1.248 0 1.5 1.5 2.326 3.494 2.326 5.615 0 2.121-.826 4.115-2.326 5.615-.172.172-.398.259-.623.259z"/><path d="m-4.908 11.209c-.226 0-.452-.086-.623-.259-.345-.345-.345-.903 0-1.248 1.49-1.49 1.49-3.916 0-5.406-.345-.345-.345-.903 0-1.248.345-.345.903-.345 1.248 0 2.179 2.179 2.179 5.723 0 7.903-.172.172-.398.259-.623.259z"/></g><path d="m-7.353 15.235c-.153 0-.303-.06-.416-.172l-4.534-4.534h-2.109c-.325 0-.588-.263-.588-.588v-5.882c0-.325.263-.588.588-.588h2.109l4.534-4.534c.168-.168.421-.219.641-.127.22.092.363.306.363.543v15.292c0 .238-.144.453-.363.543-.073.031-.149.045-.225.045" fill="#fff" fill-opacity="1"/></g></g><path d="m14.75 9.674v1.326h-1.326l-1.674-1.674-1.674 1.674h-1.326v-1.326l1.674-1.674-1.674-1.674v-1.326h1.326l1.674 1.674 1.674-1.674h1.326v1.326l-1.674 1.674 1.674 1.674" fill="#fff" fill-opacity="1" transform="matrix(8.22579 0 0 8.22579-32.543-28.351)"/></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><g transform="matrix(.90003 0 0 .90003 15.507 4.708)" fill-opacity="1" fill="#fff"><path d="m1.36 14.537c-.226 0-.452-.086-.623-.259-.345-.345-.345-.903 0-1.248 1.61-1.61 2.497-3.752 2.497-6.03 0-2.279-.887-4.419-2.497-6.03-.345-.345-.345-.903 0-1.248.345-.345.903-.345 1.248 0 1.944 1.944 3.01 4.529 3.01 7.278 0 2.749-1.07 5.333-3.01 7.278-.172.172-.398.259-.623.259"/><path d="m-1.773 12.874c-.226 0-.452-.086-.623-.259-.345-.345-.345-.903 0-1.248 2.408-2.408 2.408-6.326 0-8.734-.345-.345-.345-.903 0-1.248.345-.345.903-.345 1.248 0 1.5 1.5 2.326 3.494 2.326 5.615 0 2.121-.826 4.115-2.326 5.615-.172.172-.398.259-.623.259z"/><path d="m-4.908 11.209c-.226 0-.452-.086-.623-.259-.345-.345-.345-.903 0-1.248 1.49-1.49 1.49-3.916 0-5.406-.345-.345-.345-.903 0-1.248.345-.345.903-.345 1.248 0 2.179 2.179 2.179 5.723 0 7.903-.172.172-.398.259-.623.259z"/><path d="m-7.353 15.235c-.153 0-.303-.06-.416-.172l-4.534-4.534h-2.109c-.325 0-.588-.263-.588-.588v-5.882c0-.325.263-.588.588-.588h2.109l4.534-4.534c.168-.168.421-.219.641-.127.22.092.363.306.363.543v15.292c0 .238-.144.453-.363.543-.073.031-.149.045-.225.045"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="20"
height="20"
id="svg3026"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="backarrow.svg">
<metadata
id="metadata3038">
<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>
<defs
id="defs3036">
<linearGradient
id="linearGradient4006">
<stop
style="stop-color:#252525;stop-opacity:1;"
offset="0"
id="stop4008" />
<stop
style="stop-color:#4a4a4a;stop-opacity:1;"
offset="1"
id="stop4010" />
</linearGradient>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview3034"
showgrid="true"
inkscape:zoom="26.304372"
inkscape:cx="11.841239"
inkscape:cy="6.8249439"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g3028">
<inkscape:grid
type="xygrid"
id="grid3040" />
</sodipodi:namedview>
<g
id="g3028"
stroke-width="2.23"
stroke="#d40000">
<path
inkscape:connector-curvature="0"
id="path4003"
style="font-size:11.38508987px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#f9f9f9;fill-opacity:1;stroke:none;font-family:Segoe UI Symbol;-inkscape-font-specification:Segoe UI Symbol"
d="m 1.731867,9.9956035 c 2e-5,0.7560365 0.09966,1.4842425 0.298902,2.1846165 0.199287,0.700357 0.477675,1.358232 0.835165,1.973627 0.357528,0.615372 0.786831,1.175079 1.287912,1.67912 0.501116,0.504017 1.057891,0.936251 1.67033,1.296703 0.612469,0.360426 1.270344,0.640279 1.973627,0.839561 0.703309,0.199253 1.432978,0.298886 2.18901,0.298901 0.756055,-1.5e-5 1.484259,-0.09965 2.184616,-0.298901 0.700375,-0.199282 1.355319,-0.479135 1.964834,-0.839561 0.609531,-0.360452 1.167773,-0.792686 1.674726,-1.296703 0.506965,-0.504041 0.940664,-1.063748 1.301099,-1.67912 0.360444,-0.615395 0.641762,-1.27327 0.843956,-1.973627 0.202201,-0.700374 0.3033,-1.42858 0.303296,-2.1846165 4e-6,-0.756049 -0.09963,-1.484254 -0.298901,-2.184615 -0.199263,-0.70037 -0.479116,-1.356779 -0.83956,-1.969231 -0.360435,-0.612454 -0.792669,-1.169231 -1.296704,-1.67033 -0.504022,-0.501098 -1.063729,-0.931867 -1.67912,-1.292307 -0.615377,-0.360439 -1.273251,-0.640292 -1.973626,-0.839561 -0.700357,-0.199264 -1.428561,-0.298899 -2.184616,-0.2989 -0.756032,10e-7 -1.485701,0.09964 -2.18901,0.2989 -0.703283,0.199269 -1.361158,0.477658 -1.973627,0.835165 -0.612439,0.357511 -1.169214,0.786814 -1.67033,1.287912 -0.501081,0.501099 -0.930384,1.05934 -1.287912,1.674726 -0.35749,0.615382 -0.635878,1.273256 -0.835165,1.973626 -0.199247,0.700361 -0.298882,1.428566 -0.298902,2.184615 z m 2.769231,0.035172 0,-0.035172 4.026374,-4.210988 2.918682,0 -3.068132,3.138462 6.672527,0 0,2.1802195 -6.672527,0 3.068132,3.138461 -2.918682,0 z M 0,9.9868115 c 2.0999981e-5,-0.90843 0.120171,-1.784619 0.360439,-2.628572 0.240315,-0.843958 0.58024,-1.636632 1.01978,-2.378021 0.43958,-0.741393 0.964123,-1.416851 1.573627,-2.026375 C 3.563387,2.3443225 4.238845,1.8197795 4.980218,1.3802185 5.721627,0.94065953 6.515765,0.60073453 7.362637,0.36043753 8.209538,0.12014953 9.087192,2.5255985e-6 9.995604,-4.7440151e-7 10.90404,2.5255985e-6 11.781694,0.12015453 12.628571,0.36043853 c 0.846895,0.240297 1.641033,0.577292 2.382418,1.01098997 0.741398,0.433701 1.41832,0.955312 2.030769,1.564835 0.612458,0.609524 1.138465,1.284982 1.578022,2.026374 0.439563,0.74139 0.77949,1.535528 1.01978,2.382416 0.240295,0.846883 0.360442,1.727468 0.36044,2.641759 2e-6,0.9084175 -0.120145,1.7860735 -0.36044,2.6329675 -0.24029,0.846877 -0.580217,1.641015 -1.01978,2.382417 -0.439557,0.74138 -0.965564,1.418303 -1.578022,2.03077 -0.612449,0.61244 -1.289371,1.138447 -2.030769,1.578022 -0.741385,0.439545 -1.535523,0.780937 -2.382418,1.024176 C 11.781694,19.878372 10.90404,19.999984 9.995604,20 9.087192,19.999984 8.209538,19.879837 7.362637,19.63956 6.515765,19.399252 5.721627,19.06079 4.980218,18.624176 4.238845,18.187531 3.563387,17.66299 2.953846,17.050549 2.344342,16.438082 1.819799,15.761159 1.380219,15.019779 0.940679,14.278377 0.600754,13.482774 0.360439,12.632967 0.120168,11.783143 2.0999981e-5,10.901091 0,9.9868125 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="270" height="270"><path d="M30 180l60 60L240 30" stroke="#000" stroke-width="30" fill="none"/></svg>

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 621 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:none;}
</style>
<path class="st0" d="M3,9v6h4l5,5V4L7,9H3z M16.5,12c0-1.8-1-3.3-2.5-4V16C15.5,15.3,16.5,13.8,16.5,12z M14,3.2v2.1
c2.9,0.9,5,3.5,5,6.7s-2.1,5.9-5,6.7v2.1c4-0.9,7-4.5,7-8.8S18,4.1,14,3.2z"/>
<path class="st1" d="M0,0h24v24H0V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 667 B

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M21.6,6.3V19c0,1.9-1.6,3.5-3.5,3.5h-6.4c-0.9,0-1.8-0.4-2.5-1l-6.9-7c0,0,1.1-1.1,1.1-1.1
c0.2-0.2,0.4-0.3,0.7-0.3c0.2,0,0.4,0.1,0.5,0.1c0,0,3.8,2.2,3.8,2.2V5c0-0.7,0.6-1.3,1.3-1.3s1.3,0.6,1.3,1.3v6.1H12V2.8
c0-0.7,0.6-1.3,1.3-1.3s1.3,0.6,1.3,1.3v8.3h0.9V3.7c0-0.7,0.6-1.3,1.3-1.3s1.3,0.6,1.3,1.3v7.4H19V6.3C19,5.6,19.6,5,20.3,5
S21.6,5.6,21.6,6.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 807 B

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:none;}
</style>
<path class="st0" d="M13,7h-2v2h2V7z M13,11h-2v2h2V11z M17,11h-2v2h2V11z M3,3v18h18V3H3z M19,19H5V5h14V19z M13,15h-2v2h2V15z
M9,11H7v2h2V11z"/>
<path class="st1" d="M0,0h24v24H0V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 622 B

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:none;}
</style>
<path class="st0" d="M15.5,5.5l-1.8,1.8L12,5.5l-1.8,1.8L8.5,5.5L12,2L15.5,5.5z M18.5,15.5l-1.8-1.8l1.8-1.8l-1.8-1.8l1.8-1.8
L22,12L18.5,15.5z M8.5,18.5l1.8-1.8l1.8,1.8l1.8-1.8l1.8,1.8L12,22L8.5,18.5z M5.5,8.5l1.8,1.8L5.5,12l1.8,1.8l-1.8,1.8L2,12
L5.5,8.5z"/>
<circle class="st0" cx="12" cy="12" r="3"/>
<path class="st1" d="M0,0h24v24H0V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 783 B

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M20,2H4C2.9,2,2,2.9,2,4v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2z M8,20H4v-4h4V20z M8,14
H4v-4h4V14z M8,8H4V4h4V8z M14,20h-4v-4h4V20z M14,14h-4v-4h4V14z M14,8h-4V4h4V8z M20,20h-4v-4h4V20z M20,14h-4v-4h4V14z M20,8h-4
V4h4V8z"/>
</svg>

After

Width:  |  Height:  |  Size: 745 B

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M15.6,5.6L11,1v3.1C7.1,4.6,4,7.9,4,12s3.1,7.4,7,7.9v-2C8.2,17.4,6,15,6,12s2.2-5.4,5-5.9V10L15.6,5.6z
M19.9,11c-0.2-1.4-0.7-2.7-1.6-3.9l-1.4,1.4c0.5,0.8,0.9,1.6,1,2.5H19.9z M13,17.9v2c1.4-0.2,2.7-0.7,3.9-1.6l-1.4-1.4
C14.7,17.4,13.9,17.8,13,17.9z M16.9,15.5l1.4,1.4c0.9-1.2,1.5-2.5,1.6-3.9h-2C17.8,13.9,17.4,14.7,16.9,15.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 827 B

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S13.1,10,12,10z M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14
c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17.3,12c0,0.2,0,0.5,0,0.7l1.5,1.2c0.1,0.1,0.2,0.3,0.1,0.4l-1.4,2.4
c-0.1,0.1-0.3,0.2-0.4,0.1l-1.7-0.7c-0.4,0.3-0.8,0.5-1.2,0.7l-0.3,1.9c0,0.2-0.2,0.3-0.4,0.3h-2.8c-0.2,0-0.3-0.1-0.4-0.3L10,16.9
c-0.4-0.2-0.8-0.4-1.2-0.7l-1.7,0.7c-0.2,0.1-0.3,0-0.4-0.1l-1.4-2.4c-0.1-0.1-0.1-0.3,0.1-0.4l1.5-1.2c0-0.2-0.1-0.5-0.1-0.7
s0-0.5,0.1-0.7l-1.5-1.2C5.2,10,5.1,9.9,5.2,9.7l1.4-2.4c0.1-0.2,0.3-0.2,0.4-0.2l1.7,0.7C9.2,7.6,9.6,7.3,10,7.1l0.3-1.8
c0-0.2,0.2-0.3,0.4-0.3h2.8c0.2,0,0.3,0.1,0.4,0.3L14,7.1c0.4,0.2,0.8,0.4,1.2,0.7l1.7-0.7c0.2-0.1,0.3,0,0.4,0.2l1.4,2.4
c0.1,0.1,0,0.3-0.1,0.4l-1.5,1.2C17.2,11.5,17.3,11.8,17.3,12z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M3,5H1v16c0,1.1,0.9,2,2,2h16v-2H3V5z M21,1H7C5.9,1,5,1.9,5,3v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V3
C23,1.9,22.1,1,21,1z M21,17H7V3h14V17z"/>
</svg>

After

Width:  |  Height:  |  Size: 641 B

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:none;}
</style>
<path class="st0" d="M4,10.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,10.5,4,10.5z M4,4.5
C3.2,4.5,2.5,5.2,2.5,6S3.2,7.5,4,7.5S5.5,6.8,5.5,6S4.8,4.5,4,4.5z M4,16.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5
s1.5-0.7,1.5-1.5S4.8,16.5,4,16.5z M7,19h14v-2H7V19z M7,13h14v-2H7V13z M7,5v2h14V5H7z"/>
<path class="st1" d="M0,0h24v24H0V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 788 B

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M3,17v2h6v-2H3z M3,5v2h10V5H3z M13,21v-2h8v-2h-8v-2h-2v6H13z M7,9v2H3v2h4v2h2V9H7z M21,13v-2H11v2H21z M15,9
h2V7h4V5h-4V3h-2V9z"/>
</svg>

After

Width:  |  Height:  |  Size: 629 B

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M0,0h24v24H0V0z"/>
<path class="st1" d="M22.7,19l-9.1-9.1c0.9-2.3,0.4-5-1.5-6.9c-2-2-5-2.4-7.4-1.3L9,6L6,9L1.6,4.7c-1.2,2.4-0.7,5.4,1.3,7.4
c1.9,1.9,4.6,2.4,6.9,1.5l9.1,9.1c0.4,0.4,1,0.4,1.4,0l2.3-2.3C23.1,20,23.1,19.3,22.7,19z"/>
</svg>

After

Width:  |  Height:  |  Size: 689 B

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:none;}
</style>
<path class="st0" d="M21,3H3C1.9,3,1,3.9,1,5v12c0,1.1,0.9,2,2,2h5v2h8v-2h5c1.1,0,2-0.9,2-2l0-12C23,3.9,22.1,3,21,3z M21,17H3V5
h18V17z"/>
<path class="st1" d="M0,0h24v24H0V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 615 B

@ -0,0 +1 @@
<svg height="300px" width="300px" fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 100 100" x="0px" y="0px"><title>Artboard 13</title><path d="M45.07,58.81H62.55a6.56,6.56,0,1,1,0,13.12H49a2.17,2.17,0,1,0,0,4.34H64.36a7.73,7.73,0,0,0,5.78-2.59l16.54-18.9a6.81,6.81,0,0,1,10.22,9l-20.66,24A16.21,16.21,0,0,1,64,93.38H31.78L26.16,99,1.42,78.72l14.21-14A27.37,27.37,0,0,1,45.07,58.81Zm-1.28-31a6,6,0,0,0-1.17.34,5,5,0,0,0-1,.56,4.08,4.08,0,0,0-.82.77,4,4,0,0,0-.7,1.32,3.73,3.73,0,0,0-.15,1.4,4,4,0,0,0,.37,1.38,4.78,4.78,0,0,0,.86,1.26L56,50.52a4.24,4.24,0,0,0,.77.64,5.05,5.05,0,0,0,.93.48,5.71,5.71,0,0,0,1,.3,6.07,6.07,0,0,0,2.22,0,5.71,5.71,0,0,0,1-.3,5.06,5.06,0,0,0,.93-.48,4.26,4.26,0,0,0,.77-.64L78.57,34.82a5.12,5.12,0,0,0,.48-.58,4.55,4.55,0,0,0,.37-.63,4.17,4.17,0,0,0,.25-.66,4,4,0,0,0,.13-.69,3.85,3.85,0,0,0,0-.53,3.76,3.76,0,0,0-.06-.53,3.66,3.66,0,0,0-.13-.51,3.6,3.6,0,0,0-.21-.49,4.08,4.08,0,0,0-.74-1,4.56,4.56,0,0,0-1-.79,5.23,5.23,0,0,0-1.28-.5,5.92,5.92,0,0,0-1.45-.18h-6.2l.95-21.41a4.94,4.94,0,0,0-.33-2,5,5,0,0,0-1.09-1.68,5.19,5.19,0,0,0-1.68-1.15A5.38,5.38,0,0,0,64.45,1H55.28a5.38,5.38,0,0,0-2.11.42,5.19,5.19,0,0,0-1.68,1.15A5,5,0,0,0,50.4,4.25a4.94,4.94,0,0,0-.33,2L51,27.68H45A6.91,6.91,0,0,0,43.78,27.8Z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="100mm"
height="100mm"
viewBox="0 0 100 100"
version="1.1"
id="svg8">
<defs
id="defs2">
<rect
x="43.277892"
y="36.927076"
width="23.295368"
height="30.546571"
id="rect1983" />
<marker
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lend"
style="overflow:visible;">
<path
id="path1440"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-opacity:1;fill:#ffffff;fill-opacity:1"
transform="scale(0.8) rotate(180) translate(12.5,0)" />
</marker>
<marker
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lstart"
style="overflow:visible">
<path
id="path1437"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-opacity:1;fill:#ffffff;fill-opacity:1"
transform="scale(0.8) translate(12.5,0)" />
</marker>
</defs>
<metadata
id="metadata5">
<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>
<rect
y="17.717316"
x="17.717316"
height="64.565376"
width="64.565376"
id="rect1404"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:5.0000958;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="72.682518"
x="26.972013"
height="0.34497312"
width="46.055973"
id="rect1406"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:4.65502977;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="rotate(-90)"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:4.61399984;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1406-3"
width="40.386425"
height="0.38642606"
x="-69.420227"
y="72.641556" />
<g
transform="matrix(2.1165483,0,0,2.1165483,-81.187201,-75.769488)"
id="g4567">
<path
style="fill:none;stroke:#ffffff;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.50000007, 2.50000007;stroke-dashoffset:17;stroke-opacity:1"
d="m 72.479209,53.094746 c 0,0 -6.460096,-1.327245 -12.308933,4.1861 -5.848839,5.513348 -5.595517,8.406487 -5.595517,8.406487"
id="path1435" />
<path
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:17;stroke-opacity:1"
id="path1977"
d="m 53.243307,65.791321 0.299848,-4.141501 3.436721,2.330426 z" />
</g>
<path
d="m 72.968407,24.57116 3.522289,6.100784 h -7.044579 z"
id="path1979"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:64.2519989;stroke-opacity:1" />
<text
y="-87.638542"
x="-96.653877"
transform="scale(0.9999973,1.0000027)"
style="font-style:normal;font-weight:normal;font-size:44.66781998px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1983);fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.81372094"
id="text1981"
xml:space="preserve"><tspan
style="stroke-width:2.81372094"
x="25.116493"
y="55.786346"
id="tspan17"><tspan
style="font-size:44.66781998px;fill:#ffffff;fill-opacity:1;stroke-width:2.81372094"
id="tspan15">A</tspan></tspan></text>
<ellipse
ry="32.294323"
rx="32.294319"
cy="49.999966"
cx="50.000027"
id="path4571"
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:4.9769268;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4573"
d="M 28.177966,24.682203 76.165254,69.385592"
style="fill:none;stroke:#ff0000;stroke-width:5.0000958;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.0"
id="svg7854"
height="512"
width="512"
viewBox="9 9 30 30">
<defs
id="defs7856">
<linearGradient
id="linearGradient860">
<stop
id="stop856"
offset="0"
style="stop-color:#90bb65;stop-opacity:1" />
<stop
id="stop858"
offset="1"
style="stop-color:#6ac017;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient7577">
<stop
id="stop7579"
offset="0"
style="stop-color:#000000;stop-opacity:0.3137255;" />
<stop
id="stop7581"
offset="1"
style="stop-color:#ffffff;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient5167">
<stop
style="stop-color:#76d717;stop-opacity:1"
offset="0"
id="stop5169" />
<stop
style="stop-color:#509e07;stop-opacity:1"
offset="1"
id="stop5171" />
</linearGradient>
<linearGradient
id="linearGradient5184">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop5186" />
<stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop5188" />
</linearGradient>
<linearGradient
gradientTransform="matrix(2.1074616,0,0,2.1078593,-9.43551,-10.006786)"
y2="17.024479"
x2="16.657505"
y1="10.883683"
x1="15.011773"
gradientUnits="userSpaceOnUse"
id="linearGradient8317"
xlink:href="#linearGradient7577" />
<radialGradient
gradientTransform="matrix(1.897257,0,0,1.897615,-6.10046,-6.6146433)"
r="7.5896134"
fy="20.410854"
fx="15.865708"
cy="20.410854"
cx="15.865708"
gradientUnits="userSpaceOnUse"
id="radialGradient8319"
xlink:href="#linearGradient5167" />
<radialGradient
r="5.96875"
fy="11.308558"
fx="14.05685"
cy="11.308558"
cx="14.05685"
gradientTransform="matrix(-4.2002315,0.5953403,0.2958442,2.0989386,75.31118,-18.732928)"
gradientUnits="userSpaceOnUse"
id="radialGradient8321"
xlink:href="#linearGradient5184" />
<linearGradient
gradientTransform="matrix(1.7591324,0,0,1.7580929,-3.90899,-4.3562887)"
y2="26.431587"
x2="13.458839"
y1="2.0178134"
x1="8.9317284"
gradientUnits="userSpaceOnUse"
id="linearGradient8323"
xlink:href="#linearGradient860" />
</defs>
<metadata
id="metadata7859">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Lapo Calamandrei</dc:title>
</cc:Agent>
</dc:creator>
<dc:source />
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:title></dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>record</rdf:li>
<rdf:li>media</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:contributor>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1">
<ellipse
ry="14.997972"
rx="14.995141"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.4;fill:url(#linearGradient8317);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.11079514;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path7691"
cx="24.00086"
cy="24.002029" />
<ellipse
ry="13.502028"
rx="13.49948"
cy="24.002029"
cx="24.000866"
id="path7968"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient8319);fill-opacity:1;fill-rule:nonzero;stroke:#336402;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" />
<path
id="path7970"
d="M 25.3861,13.485003 C 20.31979,12.724926 15.45183,15.857848 14,20.764516 c 1.18871,3.18039 3.90811,5.70993 7.46677,6.47724 5.29459,1.141602 10.50115,-2.027543 12.01505,-7.143895 -1.18869,-3.180413 -3.90812,-5.709952 -7.46675,-6.477239 -0.217,-0.04678 -0.41248,-0.103152 -0.62897,-0.135619 z"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.404;fill:url(#radialGradient8321);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.09465754;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" />
<ellipse
ry="12.509292"
rx="12.516688"
cy="24.009293"
cx="24.000891"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.54494413;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8323);stroke-width:1.00000215;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path7972" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

@ -0,0 +1,293 @@
<?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://web.resource.org/cc/"
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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="512"
height="512"
viewBox="9 9 30 30"
id="svg7854"
sodipodi:version="0.32"
inkscape:version="0.45"
version="1.0"
sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/actions"
sodipodi:docname="media-record.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="/home/lapo/Desktop/media-icons.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs7856">
<linearGradient
id="linearGradient7577">
<stop
style="stop-color:#000000;stop-opacity:0.3137255;"
offset="0"
id="stop7579" />
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="1"
id="stop7581" />
</linearGradient>
<linearGradient
id="linearGradient5167">
<stop
id="stop5169"
offset="0"
style="stop-color:#ef2929;stop-opacity:1;" />
<stop
id="stop5171"
offset="1"
style="stop-color:#c60e0e;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient5184"
inkscape:collect="always">
<stop
id="stop5186"
offset="0"
style="stop-color:white;stop-opacity:1;" />
<stop
id="stop5188"
offset="1"
style="stop-color:white;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient5172"
inkscape:collect="always">
<stop
id="stop5174"
offset="0"
style="stop-color:white;stop-opacity:1;" />
<stop
id="stop5176"
offset="1"
style="stop-color:white;stop-opacity:0;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7577"
id="linearGradient8317"
gradientUnits="userSpaceOnUse"
x1="15.011773"
y1="10.883683"
x2="16.657505"
y2="17.024479" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5167"
id="radialGradient8319"
gradientUnits="userSpaceOnUse"
cx="15.865708"
cy="20.410854"
fx="15.865708"
fy="20.410854"
r="7.5896134" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5184"
id="radialGradient8321"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-4.2002315,0.5953403,0.2958442,2.0989386,-274.68882,-18.732928)"
cx="14.05685"
cy="11.308558"
fx="14.05685"
fy="11.308558"
r="5.96875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5172"
id="linearGradient8323"
gradientUnits="userSpaceOnUse"
x1="8.9317284"
y1="2.0178134"
x2="13.458839"
y2="26.431587" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#afafaf"
borderopacity="1"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-137.53856"
inkscape:cy="10.827794"
inkscape:document-units="px"
inkscape:current-layer="layer1"
width="48px"
height="48px"
inkscape:showpageshadow="false"
inkscape:window-width="872"
inkscape:window-height="971"
inkscape:window-x="117"
inkscape:window-y="27"
showgrid="false"
gridspacingx="0.5px"
gridspacingy="0.5px"
gridempspacing="2"
inkscape:grid-points="true"
showborder="true"
showguides="false"
inkscape:guide-bbox="true"
borderlayer="true">
<sodipodi:guide
orientation="horizontal"
position="13.125"
id="guide7377" />
<sodipodi:guide
orientation="horizontal"
position="5.4800776"
id="guide7379" />
<sodipodi:guide
orientation="horizontal"
position="35"
id="guide7492" />
<sodipodi:guide
orientation="horizontal"
position="48"
id="guide7046" />
<sodipodi:guide
orientation="horizontal"
position="-17.5"
id="guide7233" />
<sodipodi:guide
orientation="horizontal"
position="-29"
id="guide7235" />
<sodipodi:guide
orientation="horizontal"
position="22.097087"
id="guide7556" />
<sodipodi:guide
orientation="vertical"
position="-76.125"
id="guide7644" />
<sodipodi:guide
orientation="vertical"
position="-26.125"
id="guide7646" />
<sodipodi:guide
orientation="vertical"
position="24"
id="guide7648" />
<sodipodi:guide
orientation="vertical"
position="-125.28125"
id="guide7665" />
<sodipodi:guide
orientation="vertical"
position="-175.125"
id="guide7667" />
<sodipodi:guide
orientation="vertical"
position="-225.83223"
id="guide7685" />
<sodipodi:guide
orientation="vertical"
position="-326.06462"
id="guide7695" />
</sodipodi:namedview>
<metadata
id="metadata7859">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Lapo Calamandrei</dc:title>
</cc:Agent>
</dc:creator>
<dc:source />
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:title>Record</dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>record</rdf:li>
<rdf:li>media</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:contributor>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g7170"
transform="translate(350,0)">
<path
sodipodi:type="arc"
style="opacity:0.4;color:#000000;fill:url(#linearGradient8317);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52702755;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path7691"
sodipodi:cx="15.865708"
sodipodi:cy="16.134291"
sodipodi:rx="7.115262"
sodipodi:ry="7.115262"
d="M 22.98097 16.134291 A 7.115262 7.115262 0 1 1 8.7504463,16.134291 A 7.115262 7.115262 0 1 1 22.98097 16.134291 z"
transform="matrix(2.1074616,0,0,2.1078593,-359.43551,-10.006786)" />
<g
id="g7564">
<path
sodipodi:type="arc"
style="color:#000000;fill:url(#radialGradient8319);fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:0.52702755;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path7968"
sodipodi:cx="15.865708"
sodipodi:cy="16.134291"
sodipodi:rx="7.115262"
sodipodi:ry="7.115262"
d="M 22.98097 16.134291 A 7.115262 7.115262 0 1 1 8.7504463,16.134291 A 7.115262 7.115262 0 1 1 22.98097 16.134291 z"
transform="matrix(1.897257,0,0,1.897615,-356.10046,-6.6146433)" />
<path
style="opacity:0.64044949;color:#000000;fill:url(#radialGradient8321);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.09465754;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M -324.6139,13.485003 C -329.68021,12.724926 -334.54817,15.857848 -336,20.764516 C -334.81129,23.944906 -332.09189,26.474446 -328.53323,27.241756 C -323.23864,28.383358 -318.03208,25.214213 -316.51818,20.097861 C -317.70687,16.917448 -320.4263,14.387909 -323.98493,13.620622 C -324.20193,13.573837 -324.39741,13.51747 -324.6139,13.485003 z "
id="path7970" />
<path
transform="matrix(1.7591324,0,0,1.7580929,-353.90899,-4.3562887)"
d="M 22.98097 16.134291 A 7.115262 7.115262 0 1 1 8.7504463,16.134291 A 7.115262 7.115262 0 1 1 22.98097 16.134291 z"
sodipodi:ry="7.115262"
sodipodi:rx="7.115262"
sodipodi:cy="16.134291"
sodipodi:cx="15.865708"
id="path7972"
style="opacity:0.54494413;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8323);stroke-width:0.56863129;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.0"
id="svg7854"
height="512"
width="512"
viewBox="9 9 30 30">
<defs
id="defs7856">
<linearGradient
id="linearGradient860">
<stop
id="stop856"
offset="0"
style="stop-color:#ef9d29;stop-opacity:1" />
<stop
id="stop858"
offset="1"
style="stop-color:#c67f0e;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient7577">
<stop
id="stop7579"
offset="0"
style="stop-color:#000000;stop-opacity:0.3137255;" />
<stop
id="stop7581"
offset="1"
style="stop-color:#ffffff;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient5167">
<stop
style="stop-color:#ef9a29;stop-opacity:1"
offset="0"
id="stop5169" />
<stop
style="stop-color:#a6600c;stop-opacity:1"
offset="1"
id="stop5171" />
</linearGradient>
<linearGradient
id="linearGradient5184">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop5186" />
<stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop5188" />
</linearGradient>
<linearGradient
gradientTransform="matrix(2.1074616,0,0,2.1078593,-9.43551,-10.006786)"
y2="17.024479"
x2="16.657505"
y1="10.883683"
x1="15.011773"
gradientUnits="userSpaceOnUse"
id="linearGradient8317"
xlink:href="#linearGradient7577" />
<radialGradient
gradientTransform="matrix(1.897257,0,0,1.897615,-6.10046,-6.6146433)"
r="7.5896134"
fy="20.410854"
fx="15.865708"
cy="20.410854"
cx="15.865708"
gradientUnits="userSpaceOnUse"
id="radialGradient8319"
xlink:href="#linearGradient5167" />
<radialGradient
r="5.96875"
fy="11.308558"
fx="14.05685"
cy="11.308558"
cx="14.05685"
gradientTransform="matrix(-4.2002315,0.5953403,0.2958442,2.0989386,75.31118,-18.732928)"
gradientUnits="userSpaceOnUse"
id="radialGradient8321"
xlink:href="#linearGradient5184" />
<linearGradient
gradientTransform="matrix(1.7591324,0,0,1.7580929,-3.90899,-4.3562887)"
y2="26.431587"
x2="13.458839"
y1="2.0178134"
x1="8.9317284"
gradientUnits="userSpaceOnUse"
id="linearGradient8323"
xlink:href="#linearGradient860" />
</defs>
<metadata
id="metadata7859">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Lapo Calamandrei</dc:title>
</cc:Agent>
</dc:creator>
<dc:source />
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:title></dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>record</rdf:li>
<rdf:li>media</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:contributor>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1">
<ellipse
ry="14.997972"
rx="14.995141"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.4;fill:url(#linearGradient8317);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.11079514;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path7691"
cx="24.00086"
cy="24.002029" />
<ellipse
ry="13.502028"
rx="13.49948"
cy="24.002029"
cx="24.000866"
id="path7968"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient8319);fill-opacity:1.0;fill-rule:nonzero;stroke:#8e5700;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" />
<path
id="path7970"
d="M 25.3861,13.485003 C 20.31979,12.724926 15.45183,15.857848 14,20.764516 c 1.18871,3.18039 3.90811,5.70993 7.46677,6.47724 5.29459,1.141602 10.50115,-2.027543 12.01505,-7.143895 -1.18869,-3.180413 -3.90812,-5.709952 -7.46675,-6.477239 -0.217,-0.04678 -0.41248,-0.103152 -0.62897,-0.135619 z"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.404;fill:url(#radialGradient8321);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.09465754;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none" />
<ellipse
ry="12.509292"
rx="12.516688"
cy="24.009293"
cx="24.000891"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.54494413;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8323);stroke-width:1.00000215;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
id="path7972" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

@ -0,0 +1,398 @@
<?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://web.resource.org/cc/"
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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="90.000000"
inkscape:export-xdpi="90.000000"
inkscape:export-filename="c:\Tango\git\view-refresh.png"
width="512"
height="512"
viewBox="0 0 48 48"
id="svg11300"
sodipodi:version="0.32"
inkscape:version="0.45"
sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/actions"
sodipodi:docname="view-refresh.svg"
version="1.0"
inkscape:r_cx="true"
inkscape:r_cy="true"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<linearGradient
inkscape:collect="always"
id="linearGradient5335">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop5337" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop5339" />
</linearGradient>
<linearGradient
id="linearGradient5313">
<stop
id="stop5315"
offset="0"
style="stop-color:#99b8df;stop-opacity:1" />
<stop
style="stop-color:#3969a8;stop-opacity:1;"
offset="0.23705086"
id="stop5333" />
<stop
style="stop-color:#4f7eba;stop-opacity:1;"
offset="0.54706067"
id="stop5317" />
<stop
id="stop5321"
offset="0.74557692"
style="stop-color:#96b6d7;stop-opacity:1" />
<stop
style="stop-color:#a0bddc;stop-opacity:1"
offset="0.87321436"
id="stop5331" />
<stop
id="stop5319"
offset="1"
style="stop-color:#729fcf;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient8152">
<stop
style="stop-color:#3465a4;stop-opacity:1;"
offset="0"
id="stop8154" />
<stop
id="stop3174"
offset="0.5"
style="stop-color:#4f7eba;stop-opacity:1;" />
<stop
style="stop-color:#729fcf;stop-opacity:1;"
offset="1"
id="stop8156" />
</linearGradient>
<linearGradient
id="linearGradient3207">
<stop
style="stop-color:#eeeeec;stop-opacity:0.47058824;"
offset="0"
id="stop3209" />
<stop
style="stop-color:#eeeeec;stop-opacity:0;"
offset="1"
id="stop3211" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2847">
<stop
style="stop-color:#3465a4;stop-opacity:1;"
offset="0"
id="stop2849" />
<stop
style="stop-color:#3465a4;stop-opacity:0;"
offset="1"
id="stop2851" />
</linearGradient>
<linearGradient
id="linearGradient2831">
<stop
style="stop-color:#3465a4;stop-opacity:1;"
offset="0"
id="stop2833" />
<stop
id="stop2855"
offset="0.33333334"
style="stop-color:#5b86be;stop-opacity:1;" />
<stop
style="stop-color:#83a8d8;stop-opacity:0;"
offset="1"
id="stop2835" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient8662">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop8664" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop8666" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2831"
id="linearGradient1486"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0818662,0,0,1.1166851,-0.8207482,-1.8622434)"
x1="13.478554"
y1="10.612206"
x2="15.419417"
y2="19.115122" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2847"
id="linearGradient1488"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.0818662,0,0,-1.1166851,50.09459,49.644854)"
x1="37.128052"
y1="29.729605"
x2="37.40255"
y2="26.800913" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8662"
id="radialGradient1503"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
cx="24.837126"
cy="36.421127"
fx="24.837126"
fy="36.421127"
r="15.644737" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8152"
id="linearGradient8158"
x1="49.412277"
y1="37.904068"
x2="11.881318"
y2="19.776045"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2831"
id="linearGradient8170"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.0818662,0,0,-1.1166851,48.639854,47.862243)"
x1="13.478554"
y1="10.612206"
x2="15.419417"
y2="19.115122" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2847"
id="linearGradient8172"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0818662,0,0,1.1166851,-2.2754847,-3.644854)"
x1="37.128052"
y1="29.729605"
x2="37.40255"
y2="26.800913" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8152"
id="linearGradient8174"
gradientUnits="userSpaceOnUse"
x1="49.412277"
y1="37.904068"
x2="11.881318"
y2="19.776045" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3207"
id="linearGradient8178"
gradientUnits="userSpaceOnUse"
x1="5.8925977"
y1="20.540676"
x2="45.198921"
y2="27.721035" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5313"
id="linearGradient8180"
gradientUnits="userSpaceOnUse"
x1="61.572533"
y1="28.049652"
x2="10.969182"
y2="20.333939" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5335"
id="linearGradient5341"
x1="8.6878577"
y1="25.265626"
x2="52.122673"
y2="25.265626"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
stroke="#3465a4"
fill="#729fcf"
id="base"
pagecolor="#ffffff"
bordercolor="#e8e8e8"
borderopacity="0.86666667"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="48.628749"
inkscape:cy="21.704614"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:showpageshadow="false"
inkscape:window-width="892"
inkscape:window-height="938"
inkscape:window-x="374"
inkscape:window-y="37"
width="48px"
height="48px"
borderlayer="true" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:title>View Refresh</dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>reload</rdf:li>
<rdf:li>refresh</rdf:li>
<rdf:li>view</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:contributor>
<cc:Agent>
<dc:title>Ricardo 'Rick' González</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
inkscape:r_cx="true"
inkscape:r_cy="true">
<path
transform="matrix(-1.5146484,0,0,-0.7917058,60.923237,69.528413)"
d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
sodipodi:ry="8.3968935"
sodipodi:rx="15.644737"
sodipodi:cy="36.421127"
sodipodi:cx="24.837126"
id="path8660"
style="opacity:0.36111109;color:#000000;fill:url(#radialGradient1503);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
style="color:#000000;fill:url(#linearGradient1486);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1488);stroke-width:1.04300582000000008;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;opacity:0.51807229"
d="M 20.478497,9.7711467 C 20.478497,9.7711467 12.632988,7.9438002 14.368023,21.024298 L 5.1028658,21.024298 C 5.1028658,21.024298 6.0085332,7.5377773 20.478497,9.7711467 z "
id="path2865"
inkscape:r_cx="true"
inkscape:r_cy="true"
sodipodi:nodetypes="cccc" />
<g
id="g1878"
transform="matrix(-0.6129282,-0.5154381,-0.5178496,0.610074,58.686164,13.911361)"
inkscape:r_cx="true"
inkscape:r_cy="true"
style="fill:url(#linearGradient8158);fill-opacity:1;stroke:#204a87;stroke-width:1.24932528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<path
sodipodi:nodetypes="ccccccc"
id="path1880"
d="M 45.862102,50.273522 C 62.924432,34.96305 47.150241,15.929711 22.760624,12.513943 L 22.113577,3.1522143 L 7.613534,20.510135 L 22.703188,33.23244 C 22.703188,33.23244 22.454828,23.347105 22.454828,23.347105 C 41.289895,24.339584 54.775794,35.675041 45.862102,50.273522 z "
style="opacity:1;color:#000000;fill:url(#linearGradient8180);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.24977946000000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
</g>
<g
style="fill:none;fill-opacity:1;stroke:url(#linearGradient5341);stroke-width:1.24928653000000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.54819277"
inkscape:r_cy="true"
inkscape:r_cx="true"
transform="matrix(-0.612811,-0.5154406,-0.5177506,0.6100769,58.675633,13.911365)"
id="g3185">
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-1.197237"
inkscape:original="M 22.125 3.15625 L 7.625 20.5 L 22.71875 33.21875 C 22.718749 33.21875 22.46875 23.34375 22.46875 23.34375 C 41.298509 24.342727 54.468144 35.661007 45.5625 50.25 C 62.614067 34.952315 46.852277 15.923275 22.46875 12.5 L 22.125 3.15625 z "
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5341);stroke-width:1.24928653000000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
id="path3189"
d="M 21.0625,6.3125 L 9.3125,20.34375 L 21.46875,30.59375 C 21.39688,27.754893 21.28125,23.375 21.28125,23.375 C 21.27502,23.044409 21.405774,22.725958 21.642519,22.495132 C 21.879264,22.264306 22.200923,22.141654 22.53125,22.15625 C 32.170255,22.667629 40.441027,25.773015 45.28125,30.875 C 48.676469,34.453835 50.102049,39.131532 49.125,44.21875 C 50.368339,42.205641 51.107893,40.194594 51.375,38.21875 C 51.870422,34.55401 50.856988,30.946652 48.5625,27.59375 C 43.973525,20.887947 34.236978,15.361613 22.3125,13.6875 C 21.732114,13.606381 21.295727,13.117098 21.28125,12.53125 L 21.0625,6.3125 z "
transform="translate(1.0080026e-6,8.5223784e-7)" />
</g>
<g
id="g2424"
transform="matrix(0.190868,0.16126,0.16126,-0.190868,-0.719083,15.30613)"
inkscape:r_cx="true"
inkscape:r_cy="true"
style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccc"
inkscape:r_cy="true"
inkscape:r_cx="true"
id="path8160"
d="M 27.340608,36.228853 C 27.340608,36.228853 35.186117,38.0562 33.451082,24.975702 L 42.71624,24.975702 C 42.71624,24.975702 41.810572,38.462223 27.340608,36.228853 z "
style="color:#000000;fill:url(#linearGradient8170);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8172);stroke-width:1.04300582000000008;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;opacity:0.51807229" />
<g
style="fill:url(#linearGradient8174);fill-opacity:1;stroke:#204a87;stroke-width:1.24932528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:r_cy="true"
inkscape:r_cx="true"
transform="matrix(0.6101332,0.5154999,0.5154881,-0.6101471,-10.618024,32.088556)"
id="g8162">
<path
inkscape:r_cy="true"
inkscape:r_cx="true"
style="opacity:1;color:#000000;fill:url(#linearGradient8180);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.25256376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate"
d="M 45.862102,50.273522 C 62.924432,34.96305 47.150241,15.929711 22.760624,12.513943 L 22.113577,3.1522141 L 7.6135337,20.510135 L 22.703188,33.23244 C 22.703188,33.23244 22.454828,23.347105 22.454828,23.347105 C 41.289895,24.339584 54.775794,35.675041 45.862102,50.273522 z "
id="path8164"
sodipodi:nodetypes="ccccccc" />
</g>
<g
id="g8166"
transform="matrix(0.6128107,0.5154406,0.5177504,-0.6100769,-10.856505,32.088635)"
inkscape:r_cx="true"
inkscape:r_cy="true"
style="fill:none;fill-opacity:1;stroke:#204a87;stroke-width:1.24928653;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<path
transform="matrix(0.9972307,-2.4605589e-3,-2.4605593e-3,0.9980642,0.2457029,0.2077351)"
d="M 21.0625,6.3125 L 9.3125,20.34375 L 21.46875,30.59375 C 21.39688,27.754893 21.28125,23.375 21.28125,23.375 C 21.27502,23.044409 21.405774,22.725958 21.642519,22.495132 C 21.879264,22.264306 22.200923,22.141654 22.53125,22.15625 C 32.170255,22.667629 40.441027,25.773015 45.28125,30.875 C 48.676469,34.453835 50.102049,39.131532 49.125,44.21875 C 50.368339,42.205641 51.107893,40.194594 51.375,38.21875 C 51.870422,34.55401 50.856988,30.946652 48.5625,27.59375 C 43.973525,20.887947 34.236978,15.361613 22.3125,13.6875 C 21.732114,13.606381 21.295727,13.117098 21.28125,12.53125 L 21.0625,6.3125 z "
id="path8168"
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8178);stroke-width:1.24973191;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.70588235;visibility:visible;display:block;overflow:visible"
inkscape:original="M 22.125 3.15625 L 7.625 20.5 L 22.71875 33.21875 C 22.718749 33.21875 22.46875 23.34375 22.46875 23.34375 C 41.298509 24.342727 54.468144 35.661007 45.5625 50.25 C 62.614067 34.952315 46.852277 15.923275 22.46875 12.5 L 22.125 3.15625 z "
inkscape:radius="-1.197237"
sodipodi:type="inkscape:offset" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

@ -0,0 +1,353 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import QtGraphicalEffects 1.0
import QtQuick.Window 2.0
import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
import "."
import "mock/Windows.js" as Windows
import "mock/Version.js" as Version
import "mock/NetworkType.js" as NetworkType
import "mock/Settings.js" as Settings
import "mock"
import "qml/common"
import "qml/."
import wowlet.Wallet 1.0
import wowlet.WalletManager 1.0
Rectangle {
id: appWindow
width: 1600
height: 800
color: "#1b2939"
property var currentWallet;
property bool disconnected: currentWallet ? currentWallet.disconnected : false
property string walletTitle: "lol123"
property string walletPath: ""
property string statusText: "Idle"
property string balanceFormatted: "Balance: 25928.9543 WOW (+3902.32 WOW unconfirmed)"
property bool wsConnected: false
property int connectionStatus: Wallet.ConnectionStatus_Disconnected;
property var balance: 0.0
property var spendable: 0.0
property DashboardPage dashboardPage: DashboardPage {
visible: false
}
property AboutPage aboutPage: AboutPage {
visible: false
}
property WalletPage walletPage: WalletPage {
visible: false
}
MyDialogOkPopup {
id: messagePopup
function showMessage(title, text) {
dialogTitle = title
dialogText = text
open()
}
}
MyDialogOkCancelPopup {
id: enterPasswordDialog
dialogTitle: "Enter Password"
dialogWidth: 700
dialogHeight: 400
dialogContentItem: ColumnLayout {
RowLayout {
Layout.topMargin: 16
Layout.leftMargin: 16
Layout.rightMargin: 16
MyText {
text: "Password: "
}
MyTextField {
id: walletOpenPassword
keyBoardUID: 590
color: "#cccccc"
text: ""
Layout.fillWidth: true
font.pointSize: 20
function onInputEvent(input) {
walletOpenPassword.text = input
}
}
}
}
onClosed: {
if (okClicked) {
if(walletOpenPassword.text === "")
return messagePopup.showMessage("Password empty", "Please fill in a password.");
ctx.onOpenWallet(appWindow.walletPath, walletOpenPassword.text);
}
}
function openPopup() {
open()
}
}
MyDialogOkCancelPopup {
id: createWalletDialog
dialogTitle: "Create New Wallet"
dialogWidth: 700
dialogHeight: 400
dialogContentItem: ColumnLayout {
RowLayout {
Layout.topMargin: 16
Layout.leftMargin: 16
Layout.rightMargin: 16
MyText {
text: "Name: "
}
MyTextField {
id: newWalletName
keyBoardUID: 590
color: "#cccccc"
text: ""
Layout.fillWidth: true
font.pointSize: 20
function onInputEvent(input) {
newWalletName.text = input
}
}
}
RowLayout {
Layout.topMargin: 16
Layout.leftMargin: 16
Layout.rightMargin: 16
MyText {
text: "Password: "
}
MyTextField {
id: newWalletPassword
keyBoardUID: 591
color: "#cccccc"
text: ""
Layout.fillWidth: true
font.pointSize: 20
function onInputEvent(input) {
newWalletPassword.text = input
}
}
}
MyText {
fontSize: 16
text: "The password field is optional."
}
Item {
Layout.fillWidth: true
Layout.fillHeight: true
}
}
onClosed: {
if (okClicked) {
if(newWalletName.text === "")
return messagePopup.showMessage("Invalid name", "Please name the wallet.");
ctx.createWalletWithoutSpecifyingSeed(newWalletName.text, newWalletPassword.text);
}
}
function openPopup() {
open()
}
}
StackView {
id: mainView
anchors.fill: parent
pushEnter: Transition {
PropertyAnimation {
property: "x"
from: mainView.width
to: 0
duration: 300
easing.type: Easing.OutCubic
}
}
pushExit: Transition {
PropertyAnimation {
property: "x"
from: 0
to: -mainView.width
duration: 300
easing.type: Easing.OutCubic
}
}
popEnter: Transition {
PropertyAnimation {
property: "x"
from: -mainView.width
to: 0
duration: 300
easing.type: Easing.OutCubic
}
}
popExit: Transition {
PropertyAnimation {
property: "x"
from: 0
to: mainView.width
duration: 300
easing.type: Easing.OutCubic
}
}
initialItem: dashboardPage
}
Component.onCompleted: {
dashboardPage.onPageCompleted();
if(typeof ctx !== 'undefined') {
ctx.initTor();
ctx.initWS();
}
}
Connections {
target: ctx
function onWsConnected() {
console.log("onWsConnected")
appWindow.wsConnected = true;
}
function onWsDisconnected() {
console.log("onWsDisconnected")
appWindow.wsConnected = false;
}
function onWalletOpened(wallet) {
console.log("onWalletOpened()");
appWindow.currentWallet = wallet;
appWindow.walletTitle = ctx.walletName;
mainView.push(appWindow.walletPage);
appWindow.walletPage.onPageCompleted();
appWindow.currentWallet.connectionStatusChanged.connect(onConnectionStatusChanged);
}
// function onWalletOpened(Wallet *wallet) {
// currentWallet.heightRefreshed.connect(onHeightRefreshed);
// currentWallet.refreshed.connect(onWalletRefresh)
// currentWallet.updated.connect(onWalletUpdate)
// currentWallet.newBlock.connect(onWalletNewBlock)
// currentWallet.moneySpent.connect(onWalletMoneySent)
// currentWallet.moneyReceived.connect(onWalletMoneyReceived)
// currentWallet.unconfirmedMoneyReceived.connect(onWalletUnconfirmedMoneyReceived)
// currentWallet.transactionCreated.connect(onTransactionCreated)
// currentWallet.connectionStatusChanged.connect(onWalletConnectionStatusChanged)
// currentWallet.deviceButtonRequest.connect(onDeviceButtonRequest);
// currentWallet.deviceButtonPressed.connect(onDeviceButtonPressed);
// currentWallet.walletPassphraseNeeded.connect(onWalletPassphraseNeededWallet);
// currentWallet.transactionCommitted.connect(onTransactionCommitted);
// middlePanel.paymentClicked.connect(handlePayment);
// }
function onBlockchainSync(height, target) {
let blocks = (target > height) ? (target - height) : "?";
let heightText = "Blockchain sync: " + blocks + " blocks remaining";
appWindow.statusText = heightText;
}
function onRefreshSync(height, target) {
let blocks = (target >= height) ? (target - height) : "?";
let heightText = "Wallet sync: " + blocks + " blocks remaining";
appWindow.statusText = heightText;
}
function onWalletClosed() {
console.log("onWalletClosed");
appWindow.currentWallet.connectionStatusChanged.disconnect(onConnectionStatusChanged);
appWindow.walletTitle = "";
appWindow.balanceFormatted = "";
appWindow.balance = 0.0;
appWindow.spendable = 0.0;
appWindow.connectionStatus = Wallet.ConnectionStatus_Disconnected;
}
function onBalanceUpdatedFormatted(fmt) {
appWindow.balanceFormatted = fmt;
}
function onBalanceUpdated(balance, spendable) {
appWindow.balance = balance;
appWindow.spendable = spendable;
}
function onWalletOpenedError(err) {
messagePopup.showMessage("Error", err);
}
function onWalletCreatedError(err) {
messagePopup.showMessage("Error", err);
}
function onWalletCreated(wallet) {
console.log("walletCreated");
}
function onSynchronized() {
appWindow.statusText = "Synchronized";
appWindow.onConnectionStatusChanged(Wallet.ConnectionStatus_Connected);
console.log("onSynchronized");
}
function onWalletOpenPasswordNeeded(invalidPassword, path) { // bool, str
enterPasswordDialog.openPopup();
}
function onInitiateTransaction() {
console.log("transactionStarted");
}
function onCreateTransactionError(message) { // str
console.log("transactionError", message);
}
function onCreateTransactionSuccess(tx, address) { // PendingTransaction
// auto-commit all tx's
//m_ctx->currentWallet->commitTransactionAsync(tx);
console.log("onCreateTransactionSuccess", address)
}
function onTransactionCommitted(status, tx, txid) { // bool,PendingTransaction,stringlist
console.log("onTransactionCommitted", status)
}
}
function onConnectionStatusChanged(status) {
console.log("onConnectionStatusChanged", status)
appWindow.connectionStatus = status;
}
}

@ -0,0 +1,87 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
<file alias="backarrow">assets/img/common/backarrow.svg</file>
<file alias="box_checkmark">assets/img/common/check.svg</file>
<file alias="on">assets/img/audio/speaker/speaker_on.svg</file>
<file alias="off">assets/img/audio/speaker/speaker_off.svg</file>
<file alias="play_pause">assets/img/audio/media_keys/outline_play_pause_white_24dp.svg</file>
<file alias="next">assets/img/audio/media_keys/outline_skip_next_white_24dp.svg</file>
<file alias="previous">assets/img/audio/media_keys/outline_skip_previous_white_24dp.svg</file>
<file alias="stop">assets/img/audio/media_keys/outline_stop_white_24dp.svg</file>
<file alias="audio_tab_icon">assets/img/main_menu_icons/audio_tab_icon.svg</file>
<file alias="bindings_tab_icon">assets/img/main_menu_icons/bindings_tab_icon.svg</file>
<file alias="chaperone_tab_icon">assets/img/main_menu_icons/chaperone_tab_icon.svg</file>
<file alias="motion_tab_icon">assets/img/main_menu_icons/motion_tab_icon.svg</file>
<file alias="offsets_tab_icon">assets/img/main_menu_icons/offsets_tab_icon.svg</file>
<file alias="settings_tab_icon">assets/img/main_menu_icons/settings_tab_icon.svg</file>
<file alias="space_fix_tab_icon">assets/img/main_menu_icons/space_fix_tab_icon.svg</file>
<file alias="statistics_tab_icon">assets/img/main_menu_icons/statistics_tab_icon.svg</file>
<file alias="steamvr_tab_icon">assets/img/main_menu_icons/steamvr_tab_icon.svg</file>
<file alias="utilities_tab_icon">assets/img/main_menu_icons/utilities_tab_icon.svg</file>
<file alias="video_tab_icon">assets/img/main_menu_icons/video_tab_icon.svg</file>
<file alias="rotation_tab_icon">assets/img/main_menu_icons/rotation_tab_icon.svg</file>
<file alias="send_icon">assets/img/send.png</file>
<file alias="receive_icon">assets/img/receive.svg</file>
<file alias="info_icon">assets/img/info.png</file>
<file alias="checkmark_icon">assets/img/confirmed.png</file>
<file alias="expired_icon">assets/img/expired.png</file>
<file alias="illuminati">assets/img/illuminati.png</file>
<file alias="chest">assets/img/chest.png</file>
<file alias="tutorial">assets/img/tutorial.png</file>
<file alias="wizard">assets/img/wizard.png</file>
<file alias="hypnotoad">assets/img/hypnotoad.png</file>
<file alias="grass">assets/img/grass.png</file>
<file alias="dog">assets/img/dog.gif</file>
<file alias="dog2">assets/img/dog2.gif</file>
<file alias="cpus">assets/img/cpus.png</file>
<file alias="status_disconnected">assets/img/status_disconnected.svg</file>
<file alias="status_connected">assets/img/status_connected.svg</file>
<file alias="status_waiting">assets/img/status_waiting.svg</file>
<file alias="status_lagging">assets/img/status_lagging.svg</file>
<file>mock/NetworkType.js</file>
<file>mock/OverlayController.js</file>
<file>mock/Settings.js</file>
<file>mock/Translation.js</file>
<file>mock/Version.js</file>
<file>mock/Windows.js</file>
<file alias="main">main.qml</file>
<file>qml/common/HourComboBox.qml</file>
<file>qml/common/MinuteSecondComboBox.qml</file>
<file>qml/common/MyDialogOkCancelPopup.qml</file>
<file>qml/common/MyResources.qml</file>
<file>qml/common/MyTextField.qml</file>
<file>qml/common/MyRadioButton.qml</file>
<file>qml/common/MyDialogOkPopup.qml</file>
<file>qml/common/MyPushButton2.qml</file>
<file>qml/common/MyComboBox.qml</file>
<file>qml/common/TimeAssembly.qml</file>
<file>qml/common/LineSeparator.qml</file>
<file>qml/common/FullWidthSliderBox.qml</file>
<file>qml/common/MyText.qml</file>
<file>qml/common/MyToggleButton.qml</file>
<file>qml/common/MyPushButton.qml</file>
<file>qml/common/MySlider.qml</file>
<file>qml/common/mainwidget.qml</file>
<file>qml/common/MyNumPad.qml</file>
<file>qml/common/MyNumPadButton.qml</file>
<file>qml/common/MyNumPadSendAmount.qml</file>
<file>qml/common/MyStackViewPage.qml</file>
<file>qml/wallet/ReceivePage.qml</file>
<file>qml/wallet/HistoryTable.qml</file>
<file>qml/wallet/WalletDashBoardPage.qml</file>
<file>qml/DashboardPage.qml</file>
<file>qml/WalletPage.qml</file>
<file>qml/AboutPage.qml</file>
<file>qml/wallet/send/SendPage.qml</file>
<file>qml/wallet/send/SendPageDashboard.qml</file>
<file>qml/wallet/send/SendPageNavBack.qml</file>
<file>qml/wallet/send/SendPagePIN.qml</file>
<file>qml/wallet/send/SendPageQR.qml</file>
<file>qml/wallet/send/SendPageTransfer.qml</file>
</qresource>
</RCC>

@ -0,0 +1,78 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import "."
import "common"
ColumnLayout {
id: root
spacing: 30
width: 1600
height: 800
RowLayout {
Layout.topMargin: 40
Layout.leftMargin: 40
Layout.rightMargin: 40
Layout.fillWidth: true
Layout.preferredHeight: 200
ColumnLayout {
Layout.preferredWidth: 256
Layout.maximumWidth: 256
Image {
Layout.preferredHeight: 256
Layout.preferredWidth: 256
source: "qrc:/illuminati"
}
}
ColumnLayout {
Layout.preferredWidth: 256
MyText {
Layout.leftMargin: 40
Layout.rightMargin: 40
Layout.fillWidth: true
text: "Wowlet VR is an alternative QML interface for wowlet and was made over a 4 week period by eating lots of pizzas. It is the world's first cryptocurrency wallet with support for VR. Wowlet is Free and open-source (BSD-3) software and the source code can be studied on git.wownero.com/wowlet/wowlet"
wrap: true
}
}
}
MyText {
Layout.leftMargin: 40
Layout.rightMargin: 40
Layout.fillWidth: true
text: "By \"dsc\" - April 2021. Shoutouts: OpenVR-AdvancedSettings, qvqc, Gatto, cisme, wowario, lza_menace, jwinterm, nioc, asymptotically, azy, selsta, kico, laura, thrmo, rottensox, solar, bl4sty, scoobybejesus (sorry if I forgot anyone!)"
wrap: true
}
MyPushButton {
text: "Back"
Layout.leftMargin: 40
Layout.preferredWidth: 220
onClicked: {
mainView.pop();
}
}
Item {
Layout.fillWidth: true
Layout.fillHeight: true
}
function onPageCompleted(previousView){
}
}
// OverlayController.exitApp();

@ -0,0 +1,12 @@
// import QtQuick 2.7
// import QtQuick.Controls 2.0
// import QtQuick.Layouts 1.2
// import QtGraphicalEffects 1.0
// import QtQuick.Window 2.0
// import QtQuick.Controls.Styles 1.4
// import QtQuick.Dialogs 1.2
// //import ovrwow.wowletvr 1.0
// import "common"

@ -0,0 +1,183 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import wowlet.NetworkType 1.0
import wowlet.WalletKeysFiles 1.0
import "."
import "common"
ColumnLayout {
id: root
width: 1600
height: 800
property var walletList: [];
property string enteredColor: "#365473"
property string exitedColor: "#2c435d"
property string pressedColor: "#406288"
Layout.fillWidth: true
Layout.fillHeight: true
ColumnLayout {
Layout.fillWidth: true
Layout.preferredHeight: 128
Layout.leftMargin: 40
Layout.rightMargin: 40
RowLayout {
MyText {
text: "Welcome to Wowlet VR"
font.pointSize: 24
Layout.leftMargin: 0
}
Item {
Layout.fillWidth: true
Layout.preferredHeight: 50
}
Rectangle {
Layout.preferredWidth: 720
Layout.preferredHeight: 50
color: "transparent"
MyText{
anchors.right: parent.right
anchors.bottom: parent.bottom
fontSize: 14
text: "Version 0.1 (Qt " + qtRuntimeVersion + ")"
}
}
}
Rectangle {
color: "#cccccc"
height: 1
Layout.topMargin: 10
Layout.fillWidth: true
}
}
Flow {
id: flow
spacing: 20
clip: true
property int itemHeight: 192
property int maxRows: 6
Layout.topMargin: 30
Layout.fillWidth: true
Layout.leftMargin: 40
Repeater {
id: recentList
clip: true
model: walletList
delegate: Rectangle {
// inherited roles from walletKeysFilesModel:
// index, fileName, modified, accessed, path, networktype, address
// @TODO: maybe enforce networktype === 0 (mainnet)
id: item
property var currentItem: walletList[index]
property bool about: currentItem.hasOwnProperty("about")
property bool create: currentItem.hasOwnProperty("create")
color: root.enteredColor
height: 256
width: 256
Image {
width: 182
height: 182
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: 10
source: {
if(about) {
return "qrc:/hypnotoad";
} else if(create) {
return "qrc:/wizard";
} else {
return "qrc:/chest";
}
}
}
Text {
color: "white"
text: {
if(about) {
return "About";
} else if(create) {
return "Create wallet";
} else {
return currentItem['fileName'].replace(".keys", "");
}
}
font.pointSize: 14
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 14
anchors.leftMargin: 14
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = root.pressedColor
}
onExited: {
parent.color = root.enteredColor;
}
onClicked: {
if(about) {
mainView.push(aboutPage);
} else if(create) {
createWalletDialog.openPopup();
} else {
appWindow.walletPath = currentItem['path'];
ctx.onOpenWallet(currentItem['path'], "");
}
}
}
}
}
}
Item {
Layout.fillWidth: true
Layout.fillHeight: true
}
function onPageCompleted(previousView){
console.log("list wallets");
let wallets = [];
if(typeof ctx !== 'undefined')
wallets = ctx.listWallets();
let _walletList = [];
for(var i = 0; i != wallets.length; i++) {
if(i == 8) // draw 10 items at any time
break;
_walletList.push(wallets[i]);
}
_walletList.push({"create": true});
_walletList.push({"about": true});
root.walletList = _walletList;
}
}
// OverlayController.exitApp();

@ -0,0 +1,82 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import QtGraphicalEffects 1.0
import QtQuick.Window 2.0
import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
import "."
import "common"
import "wallet"
import "wallet/send"
Rectangle {
width: 1600
height: 800
color: "transparent"
property WalletDashBoardPage walletDashboardPage: WalletDashBoardPage {
stackView: walletView
visible: false
}
property SendPage sendPage: SendPage {
stackView: walletView
visible: false
}
property ReceivePage receivePage: ReceivePage {
stackView: walletView
visible: false
}
StackView {
id: walletView
anchors.fill: parent
pushEnter: Transition {
PropertyAnimation {
property: "x"
from: walletView.width
to: 0
duration: 300
easing.type: Easing.OutCubic
}
}
pushExit: Transition {
PropertyAnimation {
property: "x"
from: 0
to: -walletView.width
duration: 300
easing.type: Easing.OutCubic
}
}
popEnter: Transition {
PropertyAnimation {
property: "x"
from: -walletView.width
to: 0
duration: 300
easing.type: Easing.OutCubic
}
}
popExit: Transition {
PropertyAnimation {
property: "x"
from: 0
to: walletView.width
duration: 300
easing.type: Easing.OutCubic
}
}
initialItem: walletDashboardPage
}
function onPageCompleted() {
walletDashboardPage.onPageCompleted();
}
}

@ -0,0 +1,93 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
GroupBox {
// Public properties
// Overload
property alias headerMessage: headerText.text
property alias sliderText: steamDesktopForwardText.text
property alias sliderValue: steamDesktopForwardSlider.value
property alias lowerLimit: steamDesktopForwardSlider.from
property alias upperLimit: steamDesktopForwardSlider.to
property alias kbUID: steamDesktopForwardText.keyBoardUID
function onValueChanged(value) {
}
function onComponentComplete() {
}
// Private properties
id: sliderBox
Layout.fillWidth: true
label: MyText {
id: headerText
leftPadding: 10
text: "MISSING HEADER TEXT"
bottomPadding: -10
}
background: Rectangle {
color: "transparent"
border.color: "#ffffff"
radius: 8
}
property real sliderStepSize: 0.10
readonly property real rightLeftLimit: 4.0
ColumnLayout {
anchors.fill: parent
LineSeparator {
}
ColumnLayout {
RowLayout {
MyPushButton2 {
Layout.preferredWidth: 40
text: "-"
onClicked: {
steamDesktopForwardSlider.value -= sliderStepSize
}
}
MySlider {
id: steamDesktopForwardSlider
from: -rightLeftLimit
to: rightLeftLimit
stepSize: sliderStepSize
Layout.fillWidth: true
onValueChanged: {
sliderBox.onValueChanged(this.value)
}
}
MyPushButton2 {
Layout.preferredWidth: 40
text: "+"
onClicked: {
steamDesktopForwardSlider.value += sliderStepSize
}
}
MyTextField {
id: steamDesktopForwardText
text: "0.0"
keyBoardUID: 611
Layout.preferredWidth: 100
Layout.leftMargin: 10
horizontalAlignment: Text.AlignHCenter
}
}
}
}
Component.onCompleted: {
sliderBox.onComponentComplete()
}
}

@ -0,0 +1,49 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
MyComboBox {
model: [
{ value: 0, text: "00" },
{ value: 1, text: "01" },
{ value: 2, text: "02" },
{ value: 3, text: "03" },
{ value: 4, text: "04" },
{ value: 5, text: "05" },
{ value: 6, text: "06" },
{ value: 7, text: "07" },
{ value: 8, text: "08" },
{ value: 9, text: "09" },
{ value: 10, text: "10" },
{ value: 11, text: "11" },
{ value: 12, text: "12" },
{ value: 13, text: "13" },
{ value: 14, text: "14" },
{ value: 15, text: "15" },
{ value: 16, text: "16" },
{ value: 17, text: "17" },
{ value: 18, text: "18" },
{ value: 19, text: "19" },
{ value: 20, text: "20" },
{ value: 21, text: "21" },
{ value: 22, text: "22" },
{ value: 23, text: "23" },
]
delegate: ItemDelegate {
width: parent.width
text: modelData.text
hoverEnabled: true
contentItem: MyText {
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
text: parent.text
color: parent.enabled ? "#ffffff" : "#909090"
}
background: Rectangle {
color: parent.pressed ? "#406288" : (parent.hovered ? "#365473" : "#2c435d")
}
}
}

@ -0,0 +1,15 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
// Necessary for the project specific Components.
import ".."
// Insert inside a ColumnLayout containing this and a RowLayout
// to neatly separate header and buttons.
Rectangle {
color: "#ffffff"
height: 1
Layout.fillWidth: true
Layout.bottomMargin: 5
}

@ -0,0 +1,85 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
MyComboBox {
model: [
{ value: 0, text: "00" },
{ value: 1, text: "01" },
{ value: 2, text: "02" },
{ value: 3, text: "03" },
{ value: 4, text: "04" },
{ value: 5, text: "05" },
{ value: 6, text: "06" },
{ value: 7, text: "07" },
{ value: 8, text: "08" },
{ value: 9, text: "09" },
{ value: 10, text: "10" },
{ value: 11, text: "11" },
{ value: 12, text: "12" },
{ value: 13, text: "13" },
{ value: 14, text: "14" },
{ value: 15, text: "15" },
{ value: 16, text: "16" },
{ value: 17, text: "17" },
{ value: 18, text: "18" },
{ value: 19, text: "19" },
{ value: 20, text: "20" },
{ value: 21, text: "21" },
{ value: 22, text: "22" },
{ value: 23, text: "23" },
{ value: 24, text: "24" },
{ value: 25, text: "25" },
{ value: 26, text: "26" },
{ value: 27, text: "27" },
{ value: 28, text: "28" },
{ value: 29, text: "29" },
{ value: 30, text: "30" },
{ value: 31, text: "31" },
{ value: 32, text: "32" },
{ value: 33, text: "33" },
{ value: 34, text: "34" },
{ value: 35, text: "35" },
{ value: 36, text: "36" },
{ value: 37, text: "37" },
{ value: 38, text: "38" },
{ value: 39, text: "39" },
{ value: 40, text: "40" },
{ value: 41, text: "41" },
{ value: 42, text: "42" },
{ value: 43, text: "43" },
{ value: 44, text: "44" },
{ value: 45, text: "45" },
{ value: 46, text: "46" },
{ value: 47, text: "47" },
{ value: 48, text: "48" },
{ value: 49, text: "49" },
{ value: 50, text: "50" },
{ value: 51, text: "51" },
{ value: 52, text: "52" },
{ value: 53, text: "53" },
{ value: 54, text: "54" },
{ value: 55, text: "55" },
{ value: 56, text: "56" },
{ value: 57, text: "57" },
{ value: 58, text: "58" },
{ value: 59, text: "59" }
]
delegate: ItemDelegate {
width: parent.width
text: modelData.text
hoverEnabled: true
contentItem: MyText {
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
text: parent.text
color: parent.enabled ? "#ffffff" : "#909090"
}
background: Rectangle {
color: parent.pressed ? "#406288" : (parent.hovered ? "#365473" : "#2c435d")
}
}
}

@ -0,0 +1,73 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
ComboBox {
id: myComboBox
hoverEnabled: true
background: Rectangle {
color: parent.pressed ? "#406288" : (parent.activeFocus ? "#365473" : "#2c435d")
}
contentItem: MyText {
leftPadding: 0
rightPadding: parent.indicator.width + parent.spacing
text: parent.displayText
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
delegate: ItemDelegate {
width: myComboBox.width
text: modelData
hoverEnabled: true
contentItem: MyText {
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
text: parent.text
color: parent.enabled ? "#ffffff" : "#909090"
}
background: Rectangle {
color: parent.pressed ? "#406288" : (parent.hovered ? "#365473" : "#2c435d")
}
}
indicator: Canvas {
x: parent.width - width - parent.rightPadding
y: parent.topPadding + (parent.availableHeight - height) / 2
width: 13
height: 7
contextType: "2d"
onPaint: {
if (!context) {
getContext("2d")
}
context.reset();
context.lineWidth = 2
context.moveTo(1, 1);
context.lineTo(Math.ceil(width / 2), height - 1);
context.lineTo(width - 1, 1);
context.strokeStyle = "#ffffff"
context.stroke()
}
}
onHoveredChanged: {
if (hovered) {
forceActiveFocus()
}
}
onActivated: {
if (activeFocus) {
MyResources.playActivationSound()
}
}
Component.onCompleted: {
popup.background.color = "#2c435d"
}
}

@ -0,0 +1,99 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
Popup {
id: myDialogPopup
implicitHeight: parent.height
implicitWidth: parent.width
property string dialogTitle: ""
property string dialogText: ""
property int dialogWidth: 600
property int dialogHeight: 300
property Item dialogContentItem: MyText {
text: dialogText
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
Layout.fillWidth: true
}
property bool okClicked: false
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
background: Rectangle {
anchors.left: parent.left
anchors.right: parent.right
color: "black"
opacity: 0.8
}
contentItem: Item {
Rectangle {
implicitWidth: dialogWidth
implicitHeight: dialogHeight
anchors.centerIn: parent
radius: 24
color: "#1b2939"
border.color: "#cccccc"
border.width: 2
ColumnLayout {
anchors.fill: parent
anchors.margins: 12
MyText {
Layout.leftMargin: 16
Layout.rightMargin: 16
text: dialogTitle
}
Rectangle {
color: "#cccccc"
height: 1
Layout.fillWidth: true
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
ColumnLayout {
id: dialogContent
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
RowLayout {
Layout.fillWidth: true
Layout.leftMargin: 24
Layout.rightMargin: 24
Layout.bottomMargin: 12
MyPushButton {
implicitWidth: 200
text: "Ok"
onClicked: {
okClicked = true
myDialogPopup.close()
}
}
Item {
Layout.fillWidth: true
}
MyPushButton {
implicitWidth: 200
text: "Cancel"
onClicked: {
okClicked = false
myDialogPopup.close()
}
}
}
}
}
}
Component.onCompleted: {
dialogContentItem.parent = dialogContent
}
}

@ -0,0 +1,93 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
Popup {
id: myDialogPopup
implicitHeight: parent.height
implicitWidth: parent.width
property string dialogTitle: ""
property string dialogText: ""
property int dialogWidth: 800
property int dialogHeight: 300
property Item dialogContentItem: MyText {
fontSize:16
text: dialogText
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
Layout.fillWidth: true
}
property bool okClicked: false
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
background: Rectangle {
color: "black"
opacity: 0.8
}
contentItem: Item {
Rectangle {
implicitWidth: dialogWidth
implicitHeight: dialogHeight
anchors.centerIn: parent
radius: 24
color: "#1b2939"
border.color: "#cccccc"
border.width: 2
ColumnLayout {
anchors.fill: parent
anchors.margins: 12
MyText {
Layout.leftMargin: 16
Layout.rightMargin: 16
text: dialogTitle
}
Rectangle {
color: "#cccccc"
height: 1
Layout.fillWidth: true
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
ColumnLayout {
id: dialogContent
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
RowLayout {
Layout.fillWidth: true
Layout.leftMargin: 24
Layout.rightMargin: 24
Layout.bottomMargin: 12
Item {
Layout.fillWidth: true
}
MyPushButton {
implicitWidth: 200
text: "Ok"
onClicked: {
okClicked = true
myDialogPopup.close()
}
}
Item {
Layout.fillWidth: true
}
}
}
}
}
Component.onCompleted: {
dialogContentItem.parent = dialogContent
}
}

@ -0,0 +1,136 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import "."
ColumnLayout {
id: root
enabled: true
property double disabledOpacity: 0.4
property var code: [];
signal resolvePressed();
signal codeUpdated(var pin_code);
function onButtonPress(val) {
code.push(val);
if(code.length === 5)
code = [val];
codeUpdated(code);
}
function reset() {
root.code = [];
}
RowLayout {
spacing: 20
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "1"
onClicked: {
onButtonPress("1");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "2"
onClicked: {
onButtonPress("2");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "3"
onClicked: {
onButtonPress("3");
}
}
}
RowLayout {
spacing: 20
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "4"
onClicked: {
onButtonPress("4");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "5"
onClicked: {
onButtonPress("5");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "6"
onClicked: {
onButtonPress("6");
}
}
}
RowLayout {
spacing: 20
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "7"
onClicked: {
onButtonPress("7");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "8"
onClicked: {
onButtonPress("8");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "9"
onClicked: {
onButtonPress("9");
}
}
}
RowLayout {
spacing: 20
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
text: "0"
onClicked: {
onButtonPress("0");
}
}
MyNumPadButton {
opacity: root.enabled ? 1 : disabledOpacity
Layout.preferredWidth: 204
fontSize: 16
text: "Clear"
onClicked: {
root.code = [0,0,0,0];
root.codeUpdated(root.code);
}
}
}
}

@ -0,0 +1,40 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
Rectangle {
id: root
property string text: ""
property int fontSize: 22
property string enteredColor: "#365473"
property string exitedColor: "#2c435d"
property string pressedColor: "#406288"
property alias mouseArea: mouseArea
signal clicked;
Layout.preferredWidth: 92
Layout.preferredHeight: 92
color: root.exitedColor
MyText {
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
color: "white"
text: root.text
fontSize: root.fontSize
fontBold: true
}
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onEntered: parent.color = root.enteredColor
onExited: parent.color = root.exitedColor
onPressed: parent.color = root.pressedColor
onClicked: {
root.clicked();
}
}
}

@ -0,0 +1,172 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import "."
RowLayout {
id: root
property double amount: 0.0;
property bool add: true;
property string enteredColor: "#365473"
property string exitedColor: "#2c435d"
property string pressedColor: "#406288"
signal amountUpdated(double amount);
spacing: 24
function reset() {
root.amount = 0.0;
}
MyNumPadButton {
id: minButton
mouseArea.enabled: false
fontSize: 18
Layout.preferredWidth: 128
Layout.preferredHeight: 112
color: root.add ? root.exitedColor : root.enteredColor
text: "-"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
if(!root.add) return;
parent.color = root.enteredColor
}
onExited: {
if(!root.add) return;
parent.color = root.exitedColor
}
onClicked: {
root.add = false;
plusButton.color = root.exitedColor
}
}
}
MyNumPadButton {
id: plusButton
mouseArea.enabled: false
fontSize: 18
Layout.preferredWidth: 128
Layout.preferredHeight: 112
color: root.add ? root.enteredColor : root.exitedColor
text: "+"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
if(root.add) return;
parent.color = root.enteredColor
}
onExited: {
if(root.add) return;
parent.color = root.exitedColor
}
onClicked: {
root.add = true;
minButton.color = root.exitedColor
}
}
}
Rectangle {
color: "#cccccc"
width: 1
Layout.fillHeight: true
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 180
Layout.preferredHeight: 112
text: "0.001"
onClicked: {
root.add ? root.amount += 0.001 : root.amount -= 0.001;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 148
Layout.preferredHeight: 112
text: "0.01"
onClicked: {
root.add ? root.amount += 0.01 : root.amount -= 0.01;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 128
Layout.preferredHeight: 112
text: "0.1"
onClicked: {
root.add ? root.amount += 0.1 : root.amount -= 0.1;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 128
Layout.preferredHeight: 112
text: "1"
onClicked: {
root.add ? root.amount += 1.0 : root.amount -= 1.0;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 168
Layout.preferredHeight: 112
text: "10"
onClicked: {
root.add ? root.amount += 10.0 : root.amount -= 10.0;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 128
Layout.preferredHeight: 112
text: "100"
onClicked: {
root.add ? root.amount += 100.0 : root.amount -= 100.0;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
MyNumPadButton {
fontSize: 18
Layout.preferredWidth: 168
Layout.preferredHeight: 112
text: "1000"
onClicked: {
root.add ? root.amount += 1000.0 : root.amount -= 1000.0;
if(root.amount <= 0.0) root.amount = 0.0;
amountUpdated(root.amount);
}
}
}

@ -0,0 +1,62 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
Item {
id: root
property string text: "testy"
property string iconPath: ""
property bool hasIcon: iconPath !== ""
property bool hoverEnabled: true
property bool activationSoundEnabled: true
property string enteredColor: "#365473"
property string exitedColor: "#2c435d"
property string pressedColor: "#406288"
signal clicked;
Layout.preferredHeight: 70
RowLayout {
anchors.left: parent.left
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
Layout.minimumHeight: 54
Image {
visible: hasIcon
source: iconPath
Layout.leftMargin: 20
Layout.rightMargin: 20
Layout.preferredWidth: 32
Layout.preferredHeight: 32
}
MyText {
Layout.leftMargin: root.hasIcon ? 0 : 20
Layout.rightMargin: root.hasIcon ? 0 : 20
Layout.fillWidth: root.hasIcon ? true : false
Layout.alignment: root.hasIcon ? Qt.AlignLeft : Qt.AlignHCenter
text: root.text
fontSize: 16
}
}
Rectangle {
z: root.z - 1
anchors.fill: root
Layout.fillWidth: root.Layout.fillWidth
color: root.down ? root.pressedColor : (root.activeFocus ? root.enteredColor : root.exitedColor)
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: parent.color = root.enteredColor
onExited: parent.color = root.exitedColor
onPressed: parent.color = root.pressedColor
onClicked: {
root.clicked();
}
}
}
}

@ -0,0 +1,29 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
Button {
hoverEnabled: true
contentItem: MyText {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
text: parent.text
color: parent.enabled ? "#ffffff" : "#909090"
}
background: Rectangle {
color: parent.down ? "#406288" : (parent.activeFocus ? "#365473" : "transparent")
border.color: parent.enabled ? "#ffffff" : "#909090"
radius: 8
}
onHoveredChanged: {
if (hovered) {
forceActiveFocus()
} else {
focus = false
}
}
onClicked: {
MyResources.playActivationSound()
}
}

@ -0,0 +1,24 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
RadioButton {
hoverEnabled: true
contentItem: MyText {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
text: parent.text
color: parent.enabled ? "#ffffff" : "#909090"
}
onHoveredChanged: {
if (hovered) {
forceActiveFocus()
} else {
focus = false
}
}
onClicked: {
MyResources.playActivationSound()
}
}

@ -0,0 +1,12 @@
pragma Singleton
import QtQuick 2.7
QtObject {
function playActivationSound() {
OverlayController.playActivationSound()
}
function playFocusChangedSound() {
OverlayController.playFocusChangedSound()
}
}

@ -0,0 +1,54 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
Slider {
snapMode: Slider.SnapAlways
wheelEnabled: true
hoverEnabled: true
to: 1.0
from: 0.0
background: Rectangle {
x: parent.leftPadding
y: parent.topPadding + parent.availableHeight / 2 - height / 2
width: parent.availableWidth
height: parent.availableHeight
radius: 2
color: parent.activeFocus ? "#2c435d" : "#1b2939"
Rectangle {
y: parent.height / 2 - height / 2
implicitHeight: 4
width: parent.width
height: implicitHeight
radius: 2
color: "#bdbebf"
}
}
handle: Rectangle {
x: parent.leftPadding + parent.visualPosition * (parent.availableWidth - width)
y: parent.topPadding + parent.availableHeight / 2 - height / 2
implicitWidth: 20
implicitHeight: 40
radius: 4
color: parent.pressed ? "#ffffff" : "#eeeeee"
border.color: "#bdbebf"
}
onHoveredChanged: {
if (hovered) {
forceActiveFocus()
} else {
focus = false
}
}
onValueChanged: {
if (activeFocus) {
//MyResources.playActivationSound()
}
}
}

@ -0,0 +1,275 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import "."
import ".."
import wowlet.Wallet 1.0
Rectangle {
color: "#1b2939"
width: 1600
height: 800
property StackView stackView
property string headerText: "Header Title"
property bool headerShowBackButton: true
signal backClicked();
property Item header: ColumnLayout {
RowLayout {
Button {
id: headerBackButton
Layout.preferredHeight: 50
Layout.preferredWidth: 50
hoverEnabled: true
enabled: headerShowBackButton
visible: headerShowBackButton
contentItem: Image {
source: "qrc:/backarrow"
sourceSize.width: 50
sourceSize.height: 50
anchors.fill: parent
}
background: Rectangle {
opacity: parent.down ? 1.0 : (parent.activeFocus ? 0.5 : 0.0)
color: "#406288"
radius: 4
anchors.fill: parent
}
onHoveredChanged: {
if (hovered) {
forceActiveFocus()
} else {
focus = false
}
}
onClicked: {
backClicked();
stackView.pop();
}
}
MyText {
id: headerTitle
text: headerText
font.pointSize: 30
Layout.leftMargin: headerShowBackButton ? 32 : 0
}
Item {
Layout.fillWidth: true
Layout.preferredHeight: 50
}
Rectangle {
Layout.preferredWidth: 720
Layout.preferredHeight: 50
color: "transparent"
MyText{
anchors.right: parent.right
anchors.bottom: parent.bottom
fontSize: 14
fontBold: true
text: appWindow.balanceFormatted
}
}
}
Rectangle {
color: "#cccccc"
height: 1
Layout.topMargin: 10
Layout.fillWidth: true
}
}
property Item content: Frame {
MyText {
text: "Content"
}
}
ColumnLayout {
id: mainLayout
spacing: 12
anchors.fill: parent
}
Rectangle {
id: testy66
color: "transparent"
Layout.fillWidth: true
Layout.preferredHeight: 64
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 40
anchors.rightMargin: 40
color: "#cccccc"
height: 1
}
RowLayout {
spacing: 30
anchors.verticalCenter: parent.verticalCenter
Layout.preferredHeight: 64
Layout.fillWidth: true
MyText {
Layout.leftMargin: 40
fontSize: 14
text: appWindow.statusText
color: "#cccccc"
}
Rectangle {
Layout.fillHeight: true
Layout.preferredWidth: 1
color: "#cccccc"
}
RowLayout {
Layout.fillHeight: true
spacing: 0
MyText {
fontSize: 14
text: "Daemon: "
color: "#cccccc"
}
Image {
opacity: 0.8
Layout.preferredWidth: 32
Layout.preferredHeight: 32
source: {
if(typeof Wallet == 'undefined')
return "qrc:/status_disconnected";
if(appWindow.connectionStatus == Wallet.ConnectionStatus_Connected){
return "qrc:/status_connected";
} else if(appWindow.connectionStatus == Wallet.ConnectionStatus_Connecting) {
return "qrc:/status_lagging";
} else {
return "qrc:/status_disconnected";
}
}
}
}
Rectangle {
Layout.fillHeight: true
Layout.preferredWidth: 1
color: "#cccccc"
}
RowLayout {
Layout.fillHeight: true
spacing: 0
MyText {
fontSize: 14
text: "WS: "
color: "#cccccc"
}
Image {
opacity: 0.8
Layout.preferredWidth: 32
Layout.preferredHeight: 32
source: appWindow.wsConnected ? "qrc:/status_connected" : "qrc:/status_disconnected"
}
}
Rectangle {
Layout.fillHeight: true
Layout.preferredWidth: 1
color: "#cccccc"
}
MyText {
fontSize: 14
text: "Fiat: $0.05 USD"
color: "#cccccc"
}
}
}
// Rectangle {
// z: 100
// color: "black"
// height: 64
// // anchors.bottom: parent.bottom
// // anchors.left: parent.left
// // anchors.right: parent.right
// Rectangle {
// anchors.top: parent.top
// anchors.left: parent.left
// anchors.right: parent.right
// anchors.leftMargin: 40
// anchors.rightMargin: 40
// color: "#cccccc"
// height: 1
// }
// RowLayout {
// spacing: 30
// anchors.left: parent.left
// anchors.leftMargin: 40
// anchors.rightMargin: 40
// anchors.verticalCenter: parent.verticalCenter
// MyText {
// fontSize: 14
// text: "Status: idle"
// }
// MyText {
// fontSize: 14
// text: "WS: OK"
// }
// MyText {
// fontSize: 14
// text: "Tor: OK"
// }
// MyText {
// fontSize: 14
// text: "Height: OK"
// }
// }
// }
Component.onCompleted: {
header.parent = mainLayout
header.Layout.leftMargin = 40
header.Layout.topMargin = 30
header.Layout.rightMargin = 40
content.parent = mainLayout
content.Layout.fillHeight = true
content.Layout.fillWidth = true
content.Layout.topMargin = 10
content.Layout.leftMargin = 40
content.Layout.rightMargin = 40
content.Layout.bottomMargin = 40
testy66.parent = mainLayout
}
}

@ -0,0 +1,15 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
Text {
property bool wrap: false
property int fontSize: 16
property bool fontBold: false
property string fontColor: "#ffffff"
color: fontColor
font.bold: fontBold
font.pointSize: fontSize
wrapMode: wrap ? Text.WordWrap : Text.NoWrap
}

@ -0,0 +1,42 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
TextField {
property int keyBoardUID: 0
property string savedText: ""
property bool passwordField: false
id: myTextField
echoMode: passwordField ? TextInput.Password : TextInput.Normal
color: "#cccccc"
text: ""
font.pointSize: 20
background: Button {
hoverEnabled: true
background: Rectangle {
color: parent.hovered ? "#2c435d" : "#1b2939"
border.color: "#cccccc"
border.width: 2
}
onClicked: {
myTextField.forceActiveFocus()
}
}
onActiveFocusChanged: {
if (activeFocus) {
if (!OverlayController.desktopMode) {
OverlayController.showKeyboard(text, keyBoardUID)
} else {
savedText = text
}
}
}
onEditingFinished: {
if (OverlayController.desktopMode && savedText !== text) {
myTextField.onInputEvent(text)
}
}
function onInputEvent(input) {
text = input
}
}

@ -0,0 +1,65 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import "." // QTBUG-34418, singletons require explicit import to load qmldir file
// Needed for MyResources in the default folder.
import ".."
CheckBox {
checkState: Qt.Checked
tristate: false
hoverEnabled: true
spacing: 12
indicator: Rectangle {
implicitWidth: 28
implicitHeight: 28
x: parent.leftPadding
y: parent.height / 2 - height / 2
color: parent.enabled ? (parent.down ? "#e0e0e0" : "#ffffff") : "#a0a0a0"
border.width: 0
Path {
startX: 0
startY: 0
PathLine {
x: 40
y: 40
}
}
Image {
width: 28
height: 28
x: (parent.width - width) / 2
y: (parent.height - height) / 2
source: "qrc:/box_checkmark"
sourceSize.width: width
sourceSize.height: height
visible: parent.parent.checked
}
}
contentItem: MyText {
text: parent.text
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
leftPadding: parent.indicator.width + parent.spacing
color: parent.enabled ? "#ffffff" : "#909090"
}
background: Rectangle {
color: "#2c435d"
opacity: parent.activeFocus ? 1.0 : 0
}
onHoveredChanged: {
if (hovered) {
forceActiveFocus()
} else {
focus = false
}
}
onClicked: {
MyResources.playActivationSound()
}
}

@ -0,0 +1,55 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
RowLayout {
signal timeChanged(int hour, int minute, int second)
HourComboBox {
id: hourBox
Layout.preferredWidth: 60
onActivated: {
parent.timeChanged(hourBox.currentIndex,
minuteBox.currentIndex,
secondBox.currentIndex)
}
}
MyText {
text: "h"
}
MinuteSecondComboBox {
id: minuteBox
Layout.preferredWidth: 60
onActivated: {
parent.timeChanged(hourBox.currentIndex,
minuteBox.currentIndex,
secondBox.currentIndex)
}
}
MyText {
text: "m"
}
MinuteSecondComboBox {
id: secondBox
Layout.preferredWidth: 60
onActivated: {
parent.timeChanged(hourBox.currentIndex,
minuteBox.currentIndex,
secondBox.currentIndex)
}
}
MyText {
text: "s"
}
function changeTimer(hour, minute, second) {
hourBox.currentIndex = hour
minuteBox.currentIndex = minute
secondBox.currentIndex = second
hourBox.displayText = hour
minuteBox.displayText = minute
secondBox.displayText = second
}
}

@ -0,0 +1,128 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.0
import ".."
import "../utilities_page"
import "../audio_page"
import "../motion_page"
import "../video_page"
import "../chaperone_page"
import "../steamvr_page"
import "../rotation_page"
import "../chaperone_page/chaperone_additional"
Rectangle {
id: root
color: "#1b2939"
width: 1200
height: 800
property WalletDashboard WalletDashboard: WalletDashboard {
stackView: walletView
}
property SteamVRPage steamVRPage: SteamVRPage {
stackView: walletView
visible: false
}
property ChaperonePage chaperonePage: ChaperonePage {
stackView: walletView
visible: false
}
property ChaperoneWarningsPage chaperoneWarningsPage: ChaperoneWarningsPage {
stackView: walletView
visible: false
}
property ChaperoneAdditionalPage chaperoneAdditionalPage: ChaperoneAdditionalPage{
stackView: walletView
visible: false
}
property PlayspacePage playspacePage: PlayspacePage {
stackView: walletView
visible: false
}
property MotionPage motionPage: MotionPage {
stackView: walletView
visible: false
}
property RotationPage rotationPage: RotationPage {
stackView: walletView
visible: false
}
property FixFloorPage fixFloorPage: FixFloorPage {
stackView: walletView
visible: false
}
property StatisticsPage statisticsPage: StatisticsPage {
stackView: walletView
visible: false
}
property SettingsPage settingsPage: SettingsPage {
stackView: walletView
visible: false
}
property AudioPage audioPage: AudioPage {
stackView: walletView
visible: false
}
property UtilitiesPage utilitiesPage: UtilitiesPage {
stackView: walletView
visible: false
}
property VideoPage videoPage: VideoPage {
stackView: walletView
visible:false
}
StackView {
id: walletView
anchors.fill: parent
pushEnter: Transition {
PropertyAnimation {
property: "x"
from: walletView.width
to: 0
duration: 200
}
}
pushExit: Transition {
PropertyAnimation {
property: "x"
from: 0
to: -walletView.width
duration: 200
}
}
popEnter: Transition {
PropertyAnimation {
property: "x"
from: -walletView.width
to: 0
duration: 200
}
}
popExit: Transition {
PropertyAnimation {
property: "x"
from: 0
to: walletView.width
duration: 200
}
}
initialItem: WalletDashboard
}
}

@ -0,0 +1,189 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import wowlet.Wallet 1.0
import wowlet.WalletManager 1.0
import wowlet.TransactionHistory 1.0
import wowlet.TransactionInfo 1.0
import wowlet.TransactionHistoryModel 1.0
import wowlet.TransactionHistoryProxyModel 1.0
import "../common"
Item {
id: root
property var modelx
property var txModelData: []
property int sideMargin: 20
ListModel { id: txListViewModel }
ColumnLayout {
anchors.fill: parent
spacing: 0
ListView {
id: listView
visible: true
Layout.fillWidth: true
Layout.fillHeight: true
spacing: 10
model: modelx
interactive: false
delegate: Rectangle {
id: delegate
anchors.left: parent ? parent.left : undefined
anchors.right: parent ? parent.right : undefined
height: 54
color: "#2c435d"
property bool isout: false;
property string amount: "0";
property string description: "";
property string date: "2021-13-37";
property bool confirmed: false
property bool failed: false
property bool pending: false
property int confirmations: 0
property int confirmationsRequired: 0
Component.onCompleted: {
isout = getTxData(index, TransactionHistoryModel.TransactionIsOutRole);
amount = getTxData(index, TransactionHistoryModel.Amount);
description = getTxData(index, TransactionHistoryModel.Description);
date = getTxData(index, TransactionHistoryModel.Date);
failed = getTxData(index, TransactionHistoryModel.TransactionFailedRole);
pending = getTxData(index, TransactionHistoryModel.TransactionPendingRole);
confirmations = getTxData(index, TransactionHistoryModel.TransactionConfirmationsRole);
confirmationsRequired = getTxData(index, TransactionHistoryModel.TransactionConfirmationsRequiredRole);
confirmed = confirmations >= confirmationsRequired;
}
RowLayout {
spacing: 0
clip: true
height: parent.height
anchors.left: parent.left
anchors.right: parent.right
Rectangle {
Layout.preferredWidth: 56
Layout.fillHeight: true
color: "#406288"
Image {
width: 32
height: 32
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
source: {
if(failed) return "qrc:/assets/images/warning.png"
else if(pending) return "qrc:/assets/images/unconfirmed.png"
else if(!confirmed) return "qrc:/assets/images/clock1.png"
else return "qrc:/assets/images/confirmed.png"
//confirmed ? "qrc:/checkmark_icon" : "qrc:/expired_icon"
}
}
}
Rectangle {
Layout.preferredWidth: 300
Layout.leftMargin: 10
Layout.rightMargin: 10
Layout.fillHeight: true
color: "transparent"
MyText {
// date
anchors.verticalCenter: parent.verticalCenter
fontSize: 12
fontColor: "white"
text: date
Component.onCompleted: {
parent.Layout.preferredWidth = width;
}
}
}
Rectangle {
Layout.fillHeight: true
Layout.leftMargin: 10
color: "transparent"
MyText {
anchors.verticalCenter: parent.verticalCenter
fontSize: 14
text: description !== "" ? description : "..."
fontColor: description !== "" ? "white" : "#cccccc"
Component.onCompleted: {
parent.Layout.preferredWidth = width;
}
}
}
Item {
Layout.fillWidth: true
}
Rectangle {
Layout.preferredWidth: 420
Layout.fillHeight: true
color: "#406288"
MyText {
anchors.right: parent.right
anchors.rightMargin: 10
anchors.verticalCenter: parent.verticalCenter
fontSize: 14
fontBold: true
text: amount
fontColor: !isout ? "#00d304" : "red"
}
}
}
}
}
Item {
Layout.fillHeight: true
}
}
Rectangle {
z: parent.z - 1
color: "transparent"
anchors.fill: parent
}
function getTxData(x, y) {
var idx = modelx.index(x, y);
return modelx.data(idx, 0);
}
function updateTransactionsFromModel() {
// This function copies the items of `appWindow.currentWallet.historyModel` to `root.txModelData`, as a list of javascript objects
if(appWindow.currentWallet == null || typeof appWindow.currentWallet.history === "undefined" ) return;
var _model = root.model;
var total = 0
var count = _model.rowCount()
root.txModelData = [];
}
function onPageCompleted() {
if(currentWallet == null || typeof currentWallet.history === "undefined" ) return;
root.modelx = appWindow.currentWallet.historyModel;
//root.model.sortRole = TransactionHistoryModel.TransactionBlockHeightRole;
//root.model.sort(0, Qt.DescendingOrder);
}
}

@ -0,0 +1,266 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.2
import "."
import "../common"
MyStackViewPage {
headerText: "Receive"
MyDialogOkPopup {
id: chaperoneMessageDialog
function showMessage(title, text) {
dialogTitle = title
dialogText = text
open()
}
}
MyDialogOkCancelPopup {
id: chaperoneDeleteProfileDialog
property int profileIndex: -1
dialogTitle: "Delete Profile"
dialogText: "Do you really want to delete this profile?"
onClosed: {
if (okClicked) {
ChaperoneTabController.deleteChaperoneProfile(profileIndex)
}
}
}
MyDialogOkCancelPopup {
id: chaperoneNewProfileDialog
dialogTitle: "Create New Profile"
dialogWidth: 800
dialogHeight: 780
dialogContentItem: ColumnLayout {
RowLayout {
Layout.topMargin: 16
Layout.leftMargin: 16
Layout.rightMargin: 16
MyText {
text: "Name: "
}
MyTextField {
id: chaperoneNewProfileName
keyBoardUID: 390
color: "#cccccc"
text: ""
Layout.fillWidth: true
font.pointSize: 20
function onInputEvent(input) {
chaperoneNewProfileName.text = input
}
}
}
MyText {
Layout.topMargin: 24
text: "What to include:"
}
MyToggleButton {
id: chaperoneNewProfileIncludeGeometry
Layout.leftMargin: 32
text: "Chaperone Geometry"
}
MyToggleButton {
id: chaperoneNewProfileIncludeStyle
Layout.leftMargin: 32
text: "Chaperone Style"
}
MyToggleButton {
id: chaperoneNewProfileIncludeBoundsColor
Layout.leftMargin: 32
text: "Chaperone Color"
}
MyToggleButton {
id: chaperoneNewProfileIncludeVisibility
Layout.leftMargin: 32
text: "Visibility Setting"
}
MyToggleButton {
id: chaperoneNewProfileIncludeFadeDistance
Layout.leftMargin: 32
text: "Fade Distance Setting"
}
MyToggleButton {
id: chaperoneNewProfileIncludeCenterMarker
Layout.leftMargin: 32
text: "Center Marker Setting"
}
MyToggleButton {
id: chaperoneNewProfileIncludePlaySpaceMarker
Layout.leftMargin: 32
text: "Play Space Marker Setting"
}
MyToggleButton {
id: chaperoneNewProfileIncludeFloorBoundsMarker
Layout.leftMargin: 32
text: "Floor Bounds Always On Setting"
}
MyToggleButton {
id: chaperoneNewProfileIncludeForceBounds
Layout.leftMargin: 32
text: "Force Bounds Setting"
}
MyToggleButton {
id: chaperoneNewProfileIncludeProximityWarnings
Layout.leftMargin: 32
text: "Proximity Warning Settings"
}
}
onClosed: {
if (okClicked) {
if (chaperoneNewProfileName.text == "") {
chaperoneMessageDialog.showMessage("Create New Profile", "ERROR: Empty profile name.")
} else if (!chaperoneNewProfileIncludeGeometry.checked
&& !chaperoneNewProfileIncludeVisibility.checked
&& !chaperoneNewProfileIncludeFadeDistance.checked
&& !chaperoneNewProfileIncludeCenterMarker.checked
&& !chaperoneNewProfileIncludePlaySpaceMarker.checked
&& !chaperoneNewProfileIncludeFloorBoundsMarker.checked
&& !chaperoneNewProfileIncludeBoundsColor.checked
&& !chaperoneNewProfileIncludeStyle.checked
&& !chaperoneNewProfileIncludeForceBounds.checked
&& !chaperoneNewProfileIncludeProximityWarnings.checked) {
chaperoneMessageDialog.showMessage("Create New Profile", "ERROR: Nothing included.")
} else if ( Math.abs(MoveCenterTabController.offsetX) > 0.00000000001
|| Math.abs(MoveCenterTabController.offsetY) > 0.00000000001
|| Math.abs(MoveCenterTabController.offsetZ) > 0.00000000001
|| MoveCenterTabController.rotation !== 0) {
chaperoneMessageDialog.showMessage("Create New Profile", "ERROR: Offsets not reset.")
} else {
ChaperoneTabController.addChaperoneProfile(chaperoneNewProfileName.text,
chaperoneNewProfileIncludeGeometry.checked,
chaperoneNewProfileIncludeVisibility.checked,
chaperoneNewProfileIncludeFadeDistance.checked,
chaperoneNewProfileIncludeCenterMarker.checked,
chaperoneNewProfileIncludePlaySpaceMarker.checked,
chaperoneNewProfileIncludeFloorBoundsMarker.checked,
chaperoneNewProfileIncludeBoundsColor.checked,
chaperoneNewProfileIncludeStyle.checked,
chaperoneNewProfileIncludeForceBounds.checked,
chaperoneNewProfileIncludeProximityWarnings.checked)
}
}
}
function openPopup() {
chaperoneNewProfileName.text = ""
chaperoneNewProfileIncludeGeometry.checked = false
chaperoneNewProfileIncludeVisibility.checked = false
chaperoneNewProfileIncludeFadeDistance.checked = false
chaperoneNewProfileIncludeCenterMarker.checked = false
chaperoneNewProfileIncludePlaySpaceMarker.checked = false
chaperoneNewProfileIncludeFloorBoundsMarker.checked = false
chaperoneNewProfileIncludeBoundsColor.checked = false
chaperoneNewProfileIncludeStyle.checked = false
chaperoneNewProfileIncludeForceBounds.checked = false
chaperoneNewProfileIncludeProximityWarnings.checked = false
open()
}
}
content: ColumnLayout {
spacing: 30
MyText {
Layout.fillWidth: true
wrap: true
text: "Give the following 4 digit PIN to the person that is sending you Wownero. PIN's are valid for 5 minutes and automatically renew."
}
ColumnLayout {
MyText {
visible: false
fontSize: 14
text: "Currently generating PIN."
}
Text {
visible: true
text: "0 0 0 0"
color: "#ffffff"
font.bold: true
font.pointSize: 40
leftPadding: 20
rightPadding: 20
Rectangle {
z: parent.z - 1
anchors.fill: parent
color: "black"
}
}
MyText {
id: expireText
visible: true
fontSize: 14
text: "Expires in 40 seconds."
}
}
Rectangle {
color: "#cccccc"
height: 1
Layout.topMargin: 10
Layout.fillWidth: true
}
MyText {
Layout.fillWidth: true
wrap: true
text: "Alternatively, you may use one of the following methods."
}
RowLayout {
Layout.topMargin: 10
MyPushButton {
id: viewAddress
text: "View address"
Layout.preferredWidth: 360
onClicked: {
MyResources.playFocusChangedSound()
walletView.push(chaperoneAdditionalPage)
}
}
MyPushButton {
id: copyToClipboard
text: "Copy address to clipboard"
Layout.preferredWidth: 540
onClicked: {
MyResources.playFocusChangedSound()
walletView.push(chaperoneAdditionalPage)
}
}
MyPushButton {
id: writeQRcode
text: "QR image"
Layout.preferredWidth: 340
onClicked: {
chaperoneNewProfileDialog.open();
}
}
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
}
function onPageCompleted() {
console.log("onPageCompleted() ReceivePage")
}
}

@ -0,0 +1,101 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.2
import QtGraphicalEffects 1.0
import QtQuick.Window 2.0
import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
// import ovrwow.wowletvr 1.0
import "../common"
import "."
MyStackViewPage {
id: walletDashboard
width: 1600
height: 800
headerText: appWindow.walletTitle
headerShowBackButton: false
stackView: walletView
content: Item {
ColumnLayout {
anchors.fill: parent
RowLayout {
spacing: 32
Layout.fillHeight: true
Layout.fillWidth: true
ColumnLayout {
Layout.preferredWidth: 250
Layout.maximumWidth: 250
Layout.fillHeight: true
spacing: 10
MyPushButton {
id: steamVRButton
iconPath: "qrc:/send_icon"
activationSoundEnabled: false
text: "Send"
Layout.fillWidth: true
onClicked: {
//MyResources.playFocusChangedSound()
if(!appWindow.wsConnected) {
return messagePopup.showMessage("Please wait", "No connection to websocket server (yet).");
}
walletView.push(sendPage)
sendPage.onPageCompleted();
}
}
MyPushButton {
id: chaperoneButton
iconPath: "qrc:/receive_icon"
activationSoundEnabled: false
text: "Receive"
Layout.fillWidth: true
onClicked: {
//MyResources.playFocusChangedSound()
if(!appWindow.wsConnected) {
return messagePopup.showMessage("Please wait", "No connection to websocket server (yet).");
}
walletView.push(receivePage)
}
}
MyPushButton {
id: rotationButton
iconPath: "qrc:/backarrow"
activationSoundEnabled: false
text: "Close"
Layout.fillWidth: true
onClicked: {
//MyResources.playFocusChangedSound()
ctx.closeWallet(true, true);
mainView.pop();
}
}
Rectangle {
Layout.fillHeight: true
Layout.fillWidth: true
color: "transparent"
}
}
HistoryTable {
id: historyView
Layout.fillHeight: true
Layout.fillWidth: true
}
}
}
}
function onPageCompleted() {
historyView.onPageCompleted();
}
}

@ -0,0 +1,123 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Controls 1.4
import "../../common"
import "."
MyStackViewPage {
id: sendStateController
width: 1600
headerText: "Send"
property string destinationAddress: "cool_addy_here"
property string enteredColor: "#365473"
property string exitedColor: "#2c435d"
property string pressedColor: "#406288"
content: ColumnLayout {
id: sendStateView
property Item currentView
property Item previousView
property SendPagePIN pinPage: SendPagePIN {}
property SendPageDashboard dashPage: SendPageDashboard {}
property SendPageTransfer transferPage: SendPageTransfer {}
property SendPageQR qrPage: SendPageQR {}
state: ''
onCurrentViewChanged: {
if (previousView) {
if (typeof previousView.onPageClosed === "function") {
previousView.onPageClosed();
}
}
// if(previousView !== null && currentView.viewName === "wizardHome")
// wizardController.restart();
if (currentView) {
sendStack.replace(currentView)
// Calls when view is opened
if (typeof currentView.onPageCompleted === "function") {
currentView.onPageCompleted(previousView);
}
}
previousView = currentView;
// reset push direction
// if(wizardController.wizardState == "wizardHome")
// wizardController.wizardStackView.backTransition = false;
}
states: [
State {
name: "pinPage"
PropertyChanges { target: sendStateView; currentView: sendStateView.pinPage }
}, State {
name: "dashPage"
PropertyChanges { target: sendStateView; currentView: sendStateView.dashPage }
}, State {
name: "transferPage"
PropertyChanges { target: sendStateView; currentView: sendStateView.transferPage }
}, State {
name: "qrPage"
PropertyChanges { target: sendStateView; currentView: sendStateView.qrPage }
}
]
StackView {
id: sendStack
clip: true
initialItem: sendStateView.dashPage
Layout.fillWidth: true
Layout.fillHeight: true
delegate: StackViewDelegate {
pushTransition: StackViewTransition {
PropertyAnimation {
target: enterItem
property: "x"
from: sendStack.backTransition ? -target.width : target.width
to: 0
duration: 300
easing.type: Easing.OutCubic
}
PropertyAnimation {
target: exitItem
property: "x"
from: 0
to: sendStack.backTransition ? target.width : -target.width
duration: 300
easing.type: Easing.OutCubic
}
}
}
}
}
// Connections {
// target: sendStateView.dashPage
// function onTest() {
// sendStack.push(pinPage)
// pinPage.onPageCompleted();
// }
// }
function onPageCompleted(previousView){
sendStateView.state = "dashPage"
}
onBackClicked: {
// top back button to send/receive menu, reset default states for sendViews
sendStateView.pinPage.onPageCompleted();
sendStateView.dashPage.onPageCompleted();
sendStateView.transferPage.onPageCompleted();
}
}

@ -0,0 +1,65 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import "../../common"
ColumnLayout {
id: root
Layout.fillWidth: true
MyText {
Layout.fillWidth: true
wrap: true
text: "How to transfer Wownero?"
}
RowLayout {
Layout.topMargin: 30
Layout.fillWidth: true
spacing: 30
Rectangle {
color: sendStateController.exitedColor
Layout.fillWidth: true
Layout.fillHeight: true
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: parent.color = sendStateController.enteredColor
onExited: parent.color = sendStateController.exitedColor
onPressed: parent.color = sendStateController.pressedColor
onClicked: {
sendStateView.state = "pinPage";
}
}
}
Rectangle {
color: sendStateController.exitedColor
Layout.fillWidth: true
Layout.fillHeight: true
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: parent.color = sendStateController.enteredColor
onExited: parent.color = sendStateController.exitedColor
onPressed: parent.color = sendStateController.pressedColor
onClicked: {
sendStateView.state = "qrPage";
}
}
}
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
function onPageCompleted(previousView){
}
}

@ -0,0 +1,56 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Controls 1.4
import "../../common"
RowLayout {
id: root
Layout.fillWidth: true
Layout.preferredHeight: 82
Layout.maximumHeight: 82
signal backClicked();
Rectangle {
color: sendStateController.exitedColor
Layout.preferredHeight: 82
Layout.preferredWidth: 220
RowLayout {
anchors.left: parent.left
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
Layout.minimumHeight: 54
Image {
source: "qrc:/backarrow"
Layout.leftMargin: 20
Layout.rightMargin: 20
Layout.preferredWidth: 32
Layout.preferredHeight: 32
}
MyText {
Layout.fillWidth: true
Layout.alignment: Qt.AlignLeft
fontBold: true
text: "back"
fontSize: 16
}
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: parent.color = sendStateController.enteredColor
onExited: parent.color = sendStateController.exitedColor
onPressed: parent.color = sendStateController.pressedColor
onClicked: {
root.backClicked();
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save