diff --git a/res/icons/AUTHORS b/res/icons/AUTHORS new file mode 100644 index 0000000000000000000000000000000000000000..2b526d3933a571f76418adb0f1e568b409b62877 --- /dev/null +++ b/res/icons/AUTHORS @@ -0,0 +1,8 @@ +Icons are from the Noun Project. + +noun_2651_cc.svg : Created by Sergey Bakin +noun_18704_cc.svg : Created by Ian Mawle +noun_22441_cc.svg : Created by Bruno Castro +noun_29542_cc.svg : Created by Chris Kerr +noun_43022_cc.svg : Created by Jon Prepeluh +noun_63271_cc.svg : Created by Mark Shorter \ No newline at end of file diff --git a/res/icons/icons.qrc b/res/icons/icons.qrc new file mode 100644 index 0000000000000000000000000000000000000000..ac4d8fd4f33bec163dadc27f8d571a55ccb2a3f9 --- /dev/null +++ b/res/icons/icons.qrc @@ -0,0 +1,10 @@ +<RCC> + <qresource prefix="icons"> + <file alias="community_icon">noun_22441_cc.svg</file> + <file alias="wot_icon">noun_2651_cc.svg</file> + <file alias="members_icon">noun_18704_cc.svg</file> + <file alias="wallet_icon">noun_29542_cc.svg</file> + <file alias="tx_icon">noun_63271_cc.svg</file> + <file alias="currency_icon">noun_43022_cc.svg</file> + </qresource> +</RCC> diff --git a/res/icons/noun_18704_cc.svg b/res/icons/noun_18704_cc.svg new file mode 100644 index 0000000000000000000000000000000000000000..4d1f0a2e6e67ef4368d873ab03b6c274238febed --- /dev/null +++ b/res/icons/noun_18704_cc.svg @@ -0,0 +1,84 @@ +<?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" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="100px" + height="100px" + viewBox="5.0 -10.0 100.0 135.0" + enable-background="new 0 0 100 100" + xml:space="preserve" + inkscape:version="0.48.5 r10040" + sodipodi:docname="noun_18704_cc.svg"><metadata + id="metadata31"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs29" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview27" + showgrid="false" + inkscape:zoom="2.36" + inkscape:cx="50" + inkscape:cy="50" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="Layer_1" /><g + id="g3" + transform="matrix(1.5988728,0,0,1.5988728,-25.131921,-21.494665)"><g + id="g5"><path + d="m 58.065,32.624 h -16.13 c -2.584,0 -4.684,2.093 -4.684,4.68 v 21.95 c 0,2.585 2.1,4.682 4.684,4.682 h 0.024 v 15.551 c 0,2.586 2.034,4.682 4.554,4.682 h 6.975 c 2.515,0 4.555,-2.095 4.555,-4.682 V 63.936 h 0.023 c 2.586,0 4.685,-2.095 4.685,-4.682 v -21.95 c -0.004,-2.587 -2.1,-4.68 -4.686,-4.68 z" + id="path7" + inkscape:connector-curvature="0" + style="fill:#000000" /><circle + cx="50" + cy="23.473" + r="7.6399999" + id="circle9" + d="m 57.64,23.473 c 0,4.219455 -3.420545,7.639999 -7.64,7.639999 -4.219455,0 -7.64,-3.420544 -7.64,-7.639999 0,-4.219456 3.420545,-7.64 7.64,-7.64 4.219455,0 7.64,3.420544 7.64,7.64 z" + sodipodi:cx="50" + sodipodi:cy="23.473" + sodipodi:rx="7.6399999" + sodipodi:ry="7.6399999" + style="fill:#000000" /></g><g + id="g11"><path + d="m 85.989,34.448 h -13.82 c -2.221,0 -4.016,1.797 -4.016,4.012 v 18.812 c 0,2.218 1.795,4.012 4.016,4.012 h 0.021 v 13.324 c 0,2.216 1.744,4.01 3.896,4.01 h 5.981 c 2.154,0 3.897,-1.794 3.897,-4.01 V 61.283 h 0.021 c 2.218,0 4.014,-1.797 4.014,-4.014 V 38.458 c 0.002,-2.213 -1.794,-4.01 -4.01,-4.01 z" + id="path13" + inkscape:connector-curvature="0" + style="fill:#000000" /><path + d="m 79.08,20.062 c 3.612,0 6.546,2.931 6.546,6.545 0,3.617 -2.934,6.549 -6.546,6.549 -3.617,0 -6.548,-2.932 -6.548,-6.549 0,-3.614 2.931,-6.545 6.548,-6.545 z" + id="path15" + inkscape:connector-curvature="0" + style="fill:#000000" /></g><g + id="g17"><path + d="m 27.833,34.448 h -13.82 c -2.217,0 -4.012,1.797 -4.012,4.01 V 57.27 c 0,2.217 1.795,4.014 4.012,4.014 h 0.021 v 13.322 c 0,2.218 1.746,4.012 3.9,4.012 h 5.979 c 2.152,0 3.896,-1.794 3.896,-4.012 V 61.283 h 0.021 c 2.216,0 4.012,-1.797 4.012,-4.014 V 38.458 c 0,-2.213 -1.793,-4.01 -4.009,-4.01 z" + id="path19" + inkscape:connector-curvature="0" + style="fill:#000000" /><circle + cx="20.922001" + cy="26.608999" + r="6.546" + id="circle21" + d="m 27.468001,26.608999 c 0,3.615256 -2.930744,6.546 -6.546,6.546 -3.615256,0 -6.546,-2.930744 -6.546,-6.546 0,-3.615256 2.930744,-6.546 6.546,-6.546 3.615256,0 6.546,2.930744 6.546,6.546 z" + sodipodi:cx="20.922001" + sodipodi:cy="26.608999" + sodipodi:rx="6.546" + sodipodi:ry="6.546" + style="fill:#000000" /></g></g></svg> \ No newline at end of file diff --git a/res/icons/noun_22441_cc.svg b/res/icons/noun_22441_cc.svg new file mode 100644 index 0000000000000000000000000000000000000000..0b34da07c78365c7c160b4f32abaf20b75f535e1 --- /dev/null +++ b/res/icons/noun_22441_cc.svg @@ -0,0 +1,131 @@ +<?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" + version="1.0" + id="Layer_1" + x="0px" + y="0px" + width="100px" + height="100px" + viewBox="5.0 -10.0 100.0 135.0" + enable-background="new 0 0 100 100" + xml:space="preserve" + inkscape:version="0.48.5 r10040" + sodipodi:docname="noun_22441_cc.svg"><metadata + id="metadata190"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs188" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview186" + showgrid="false" + inkscape:zoom="1.668772" + inkscape:cx="56.66954" + inkscape:cy="70.869906" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="Layer_1" /><g + id="g102" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g104"><path + d="M 49.946,17.395" + id="path106" + inkscape:connector-curvature="0" /><path + d="m 49.944,6.356 c -1.424,0 -2.576,-1.147 -2.576,-2.574 -0.001,-1.42 1.152,-2.578 2.576,-2.578 1.424,0 2.577,1.158 2.577,2.578 0,1.427 -1.153,2.574 -2.577,2.574 z" + id="path108" + inkscape:connector-curvature="0" /><polygon + points="58.23,1.164 52.212,7.39 50.004,7.39 49.998,7.39 47.791,7.39 41.771,1.164 40.751,1.602 47.114,11.026 47.067,17.411 45.201,32.946 46.95,32.946 50.001,20.032 53.053,32.946 54.801,32.946 52.935,17.411 52.887,11.026 59.251,1.602 " + id="polygon110" /></g></g><g + id="g112" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g114"><path + d="M 50.058,82.604" + id="path116" + inkscape:connector-curvature="0" /><path + d="m 50.058,93.644 c 1.421,0 2.576,1.147 2.576,2.573 0,1.42 -1.153,2.58 -2.576,2.58 -1.427,0 -2.579,-1.16 -2.579,-2.58 0,-1.426 1.152,-2.573 2.579,-2.573 z" + id="path118" + inkscape:connector-curvature="0" /><polygon + points="41.771,98.837 47.791,92.61 49.998,92.61 50.004,92.61 52.212,92.61 58.23,98.837 59.251,98.396 52.887,88.973 52.935,82.588 54.801,67.053 53.053,67.053 50.001,79.969 46.95,67.053 45.201,67.053 47.067,82.588 47.114,88.973 40.751,98.396 " + id="polygon120" /></g></g><g + id="g122" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g124"><path + d="M 26.906,26.984" + id="path126" + inkscape:connector-curvature="0" /><path + d="m 19.101,19.181 c -1.006,1.005 -2.634,1.009 -3.643,0 -1.005,-1.004 -1.008,-2.638 -0.002,-3.645 1.009,-1.009 2.644,-1.005 3.647,0 1.008,1.009 1.005,2.636 -0.002,3.645 z" + id="path128" + inkscape:connector-curvature="0" /><polygon + points="21.287,9.648 21.433,18.307 19.872,19.868 19.868,19.871 18.308,21.432 9.649,21.286 9.236,22.317 20.4,24.482 24.883,29.031 34.548,41.337 35.784,40.1 28.811,28.809 40.1,35.783 41.337,34.547 29.032,24.882 24.483,20.399 22.318,9.236 " + id="polygon130" /></g></g><g + id="g132" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g134"><path + d="M 73.095,73.017" + id="path136" + inkscape:connector-curvature="0" /><path + d="m 80.898,80.819 c 1.008,-1.005 2.636,-1.01 3.645,-0.002 1.005,1.006 1.007,2.641 0.002,3.647 -1.009,1.006 -2.643,1.003 -3.648,-0.002 -1.009,-1.006 -1.005,-2.634 10e-4,-3.643 z" + id="path138" + inkscape:connector-curvature="0" /><polygon + points="78.715,90.352 78.568,81.693 80.128,80.133 80.132,80.129 81.693,78.567 90.354,78.714 90.762,77.683 79.6,75.518 75.116,70.968 65.452,58.665 64.215,59.901 71.19,71.189 59.9,64.216 58.665,65.453 70.968,75.117 75.517,79.6 77.682,90.763 " + id="polygon140" /></g></g><g + id="g142" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g144"><path + d="M 17.395,50.056" + id="path146" + inkscape:connector-curvature="0" /><path + d="m 6.357,50.058 c 0,1.422 -1.148,2.575 -2.574,2.575 -1.421,10e-4 -2.579,-1.153 -2.578,-2.575 0,-1.427 1.157,-2.58 2.578,-2.58 1.426,0 2.574,1.153 2.574,2.58 z" + id="path148" + inkscape:connector-curvature="0" /><polygon + points="1.164,41.771 7.39,47.789 7.39,49.998 7.39,50.003 7.39,52.21 1.164,58.229 1.603,59.249 11.026,52.888 17.411,52.934 32.947,54.8 32.947,53.05 20.032,49.999 32.947,46.949 32.947,45.201 17.412,47.066 11.026,47.113 1.603,40.75 " + id="polygon150" /></g></g><g + id="g152" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g154"><path + d="M 82.604,49.945" + id="path156" + inkscape:connector-curvature="0" /><path + d="m 93.641,49.943 c 0.002,-1.423 1.149,-2.577 2.575,-2.576 1.421,-10e-4 2.581,1.152 2.581,2.576 0,1.425 -1.16,2.578 -2.581,2.578 -1.426,0 -2.573,-1.153 -2.575,-2.578 z" + id="path158" + inkscape:connector-curvature="0" /><polygon + points="98.837,58.229 92.611,52.21 92.611,50.003 92.611,49.998 92.611,47.79 98.837,41.771 98.398,40.75 88.974,47.113 82.587,47.066 67.052,45.201 67.052,46.949 79.968,49.999 67.052,53.05 67.052,54.8 82.587,52.934 88.974,52.888 98.398,59.249 " + id="polygon160" /></g></g><g + id="g162" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g164"><path + d="M 26.984,73.096" + id="path166" + inkscape:connector-curvature="0" /><path + d="m 19.181,80.899 c 1.005,1.007 1.01,2.636 10e-4,3.644 -1.004,1.004 -2.639,1.008 -3.646,10e-4 -1.008,-1.008 -1.005,-2.642 0,-3.647 1.009,-1.009 2.636,-1.004 3.645,0.002 z" + id="path168" + inkscape:connector-curvature="0" /><polygon + points="9.649,78.714 18.307,78.567 19.868,80.129 19.872,80.133 21.432,81.692 21.287,90.352 22.318,90.763 24.482,79.6 29.031,75.117 41.337,65.453 40.1,64.216 28.809,71.191 35.784,59.901 34.548,58.665 24.882,70.968 20.399,75.518 9.236,77.683 " + id="polygon170" /></g></g><g + id="g172" + transform="matrix(1.3395831,0,0,1.3395831,-12.529946,-9.2940339)"><g + id="g174"><path + d="M 73.017,26.905" + id="path176" + inkscape:connector-curvature="0" /><path + d="m 80.818,19.1 c -1.005,-1.005 -1.009,-2.634 0,-3.642 1.004,-1.006 2.64,-1.009 3.646,-0.002 1.007,1.009 1.003,2.644 0,3.647 -1.008,1.008 -2.636,1.004 -3.646,-0.003 z" + id="path178" + inkscape:connector-curvature="0" /><polygon + points="90.352,21.286 81.693,21.433 80.132,19.871 80.128,19.868 78.568,18.307 78.715,9.648 77.682,9.236 75.517,20.399 70.968,24.883 58.665,34.548 59.9,35.783 71.19,28.811 64.215,40.1 65.452,41.337 75.116,29.031 79.6,24.482 90.762,22.318 " + id="polygon180" /></g></g></svg> \ No newline at end of file diff --git a/res/icons/noun_2651_cc.svg b/res/icons/noun_2651_cc.svg new file mode 100644 index 0000000000000000000000000000000000000000..106891368df57012ce8560ff82d9a99a1614c6e0 --- /dev/null +++ b/res/icons/noun_2651_cc.svg @@ -0,0 +1,79 @@ +<?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" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="100px" + height="100px" + viewBox="5.0 -10.0 100.0 135.0" + enable-background="new 0 0 100 100" + xml:space="preserve" + inkscape:version="0.48.5 r10040" + sodipodi:docname="noun_2651_cc.svg"><metadata + id="metadata35"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs33" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview31" + showgrid="false" + inkscape:zoom="2.36" + inkscape:cx="50" + inkscape:cy="50" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="Layer_1" /><g + id="g3" + transform="matrix(1.4516546,0,0,1.4516546,-17.434427,-11.678461)"><g + id="g5"><path + d="m 19.3,48.049 c -6.816,0 -12.362,-5.546 -12.362,-12.362 0,-6.817 5.546,-12.363 12.362,-12.363 6.816,0 12.362,5.546 12.362,12.363 0,6.816 -5.546,12.362 -12.362,12.362 z m 0,-19.725 c -4.06,0 -7.362,3.303 -7.362,7.363 0,4.06 3.303,7.362 7.362,7.362 4.059,0 7.362,-3.303 7.362,-7.362 0,-4.061 -3.303,-7.363 -7.362,-7.363 z" + id="path7" + inkscape:connector-curvature="0" + style="fill:#000000" /></g><g + id="g9"><path + d="m 50,48.049 c -6.816,0 -12.362,-5.546 -12.362,-12.362 0,-6.817 5.546,-12.363 12.362,-12.363 6.816,0 12.362,5.546 12.362,12.363 0,6.816 -5.546,12.362 -12.362,12.362 z m 0,-19.725 c -4.06,0 -7.362,3.303 -7.362,7.363 0,4.06 3.303,7.362 7.362,7.362 4.059,0 7.362,-3.303 7.362,-7.362 0,-4.061 -3.302,-7.363 -7.362,-7.363 z" + id="path11" + inkscape:connector-curvature="0" + style="fill:#000000" /></g><g + id="g13"><path + d="m 50,78.676 c -6.816,0 -12.362,-5.545 -12.362,-12.363 0,-6.816 5.546,-12.361 12.362,-12.361 6.816,0 12.362,5.545 12.362,12.361 0,6.818 -5.546,12.363 -12.362,12.363 z m 0,-19.725 c -4.06,0 -7.362,3.303 -7.362,7.361 0,4.061 3.303,7.363 7.362,7.363 4.059,0 7.362,-3.303 7.362,-7.363 0,-4.058 -3.302,-7.361 -7.362,-7.361 z" + id="path15" + inkscape:connector-curvature="0" + style="fill:#000000" /></g><g + id="g17"><path + d="m 80.7,48.049 c -6.816,0 -12.362,-5.546 -12.362,-12.362 0,-6.817 5.546,-12.363 12.362,-12.363 6.816,0 12.362,5.546 12.362,12.363 0.001,6.816 -5.545,12.362 -12.362,12.362 z m 0,-19.725 c -4.06,0 -7.362,3.303 -7.362,7.363 0,4.06 3.303,7.362 7.362,7.362 4.059,0 7.362,-3.303 7.362,-7.362 0.001,-4.061 -3.302,-7.363 -7.362,-7.363 z" + id="path19" + inkscape:connector-curvature="0" + style="fill:#000000" /></g><path + d="m 78.2,45.807 v 8.645 c 0,5.238 -4.262,9.5 -9.5,9.5 h -9.283 v 5 H 68.7 c 7.995,0 14.5,-6.506 14.5,-14.5 v -8.645 h -5 z" + id="path21" + inkscape:connector-curvature="0" + style="fill:#000000" /><path + d="M 41.543,63.951 H 31.171 c -5.238,0 -9.5,-4.262 -9.5,-9.5 v -8.645 h -5 v 8.645 c 0,7.994 6.505,14.5 14.5,14.5 h 10.372 v -5 z" + id="path23" + inkscape:connector-curvature="0" + style="fill:#000000" /><rect + x="47.5" + y="44.512001" + width="5" + height="11.658" + id="rect25" + style="fill:#000000" /></g></svg> \ No newline at end of file diff --git a/res/icons/noun_29542_cc.svg b/res/icons/noun_29542_cc.svg new file mode 100644 index 0000000000000000000000000000000000000000..1cac441b7eaae9cdc9d36614cb1acee642715968 --- /dev/null +++ b/res/icons/noun_29542_cc.svg @@ -0,0 +1,61 @@ +<?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" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="100px" + height="100px" + viewBox="5.0 -10.0 100.0 135.0" + enable-background="new 0 0 100 100" + xml:space="preserve" + inkscape:version="0.48.5 r10040" + sodipodi:docname="noun_29542_cc.svg"><metadata + id="metadata23"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs21" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview19" + showgrid="false" + inkscape:zoom="2.36" + inkscape:cx="50" + inkscape:cy="42.264259" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="Layer_1" /><path + d="m 110.19137,37.058657 h -6.41627 l -6.916674,4.850558 h 11.279734 c 0.53481,0 1.06389,0.06739 1.56715,0.189262 3.09988,0.722636 5.40543,3.52859 5.40543,6.87222 V 110.7576 c 2.94074,-1.72486 4.92799,-4.94088 4.92799,-8.6315 V 47.039365 c -0.001,-5.515843 -4.41181,-9.980708 -9.84736,-9.980708 z" + id="path3" + inkscape:connector-curvature="0" /><path + d="M 108.41345,46.058643 H -1.4703948 c -1.1484767,0 -2.0732801,-0.93054 -2.0732801,-2.07328 0,-1.148478 0.9262372,-2.081883 2.0732801,-2.081883 H 6.9933481 L 9.7993019,39.876081 13.699247,37.058657 H -0.22872085 c -5.49003415,0 -9.93912615,4.464865 -9.93912615,9.967803 v 1.937068 63.904632 c 0,5.5101 4.449092,9.97353 9.93912615,9.97353 H 101.37204 c 5.48716,0 9.94056,-4.46343 9.94056,-9.97353 V 48.963528 c -0.007,-1.604426 -1.30476,-2.904885 -2.89915,-2.904885 z" + id="path5" + inkscape:connector-curvature="0" /><g + id="g7" + transform="matrix(1.4338036,0,0,1.4338036,-16.093758,-12.27996)"><path + d="m 49.752,26.299 c -5.534,-0.29 -10.249,3.943 -10.524,9.453 -0.036,0.745 0.016,1.472 0.137,2.177 h 19.797 c 0.062,-0.368 0.106,-0.741 0.126,-1.122 0.273,-5.515 -3.998,-10.219 -9.536,-10.508 z" + id="path9" + inkscape:connector-curvature="0" + style="fill:none" /><path + d="m 39.228,35.752 c 0.275,-5.509 4.991,-9.742 10.524,-9.453 5.538,0.289 9.808,4.992 9.536,10.507 -0.02,0.381 -0.064,0.754 -0.126,1.122 H 74.739 L 84.561,30.636 64.814,4.572 19.895,37.929 h 19.47 c -0.121,-0.705 -0.173,-1.432 -0.137,-2.177 z" + id="path11" + inkscape:connector-curvature="0" /></g><polygon + points="40.884,5.019 22.209,33.399 51.353,11.92 " + id="polygon13" + transform="matrix(1.4338036,0,0,1.4338036,-16.093758,-12.27996)" /></svg> \ No newline at end of file diff --git a/res/icons/noun_43022_cc.svg b/res/icons/noun_43022_cc.svg new file mode 100644 index 0000000000000000000000000000000000000000..ab23265c9ae7eed68984ceae4a25283ba44a6702 --- /dev/null +++ b/res/icons/noun_43022_cc.svg @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" + 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" + version="1.1" + id="Ebene_1" + x="0px" + y="0px" + viewBox="5.0 -10.0 100.0 135.0" + enable-background="new 0 0 100 100" + xml:space="preserve" + height="100px" + width="100px" + inkscape:version="0.48.5 r10040" + sodipodi:docname="noun_43022_cc.svg"><metadata + id="metadata99"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs97" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview95" + showgrid="false" + inkscape:zoom="2.36" + inkscape:cx="50" + inkscape:cy="50" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="Ebene_1" /><switch + id="switch3" + transform="matrix(1.5680243,0,0,1.5680243,-23.538928,-21.417237)"><foreignObject + requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" + x="0" + y="0" + width="1" + height="1" + id="foreignObject5" /><g + i:extraneous="self" + id="g7"><g + id="g9"><path + d="m 13.4,26.3 c 0,0 -0.1,0 -0.2,0.1 -0.5,0.6 -1.3,2.2 -1.7,3 -0.2,0.5 -0.5,1.2 -0.5,1.3 0.5,0.1 2.7,-4.1 2.4,-4.4 z" + id="path11" + inkscape:connector-curvature="0" /><path + d="m 13,64.3 c 0.5,-1.3 -0.9,-4.8 -1.9,-4.5 -0.1,0 -0.1,0.1 -0.2,0.1 -0.5,0.7 0,2.4 0.4,3.3 0.7,1.4 1.4,1.8 1.7,1.1 z" + id="path13" + inkscape:connector-curvature="0" /><path + d="m 18.9,78.2 c 0.8,0.8 1.8,1.9 2.6,2.6 0,0 0,0 0,0 l -7.1,-8.2 c 2.5,3.4 2.7,3.6 4.5,5.6 z" + id="path15" + inkscape:connector-curvature="0" /><path + d="m 36.1,8.4 c 2.6,-0.8 2.7,-0.9 2.8,-0.9 0,0 0,0 0,0 -0.6,-0.1 -4.6,0.9 -4.6,1.4 0.1,0 0.5,-0.1 1.8,-0.5 z" + id="path17" + inkscape:connector-curvature="0" /><path + d="m 36.4,9.9 c 0.2,-0.1 2.4,-1 2.4,-1.2 -0.4,-0.3 -4.4,1.2 -4.7,1.8 -0.1,0.2 0.5,0.2 2.3,-0.6 z" + id="path19" + inkscape:connector-curvature="0" /><path + d="m 13,29.6 c 0.1,0.1 0.1,0.2 0.2,0.3 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0.1 0,0 0,0 0,0.1 0,0 0,0 0.1,0.1 0.2,0 0.3,-0.1 0.7,-0.6 4.5,-6.8 8.2,-10.3 8.9,-10.2 0,0 0,0 0,0 0.2,0 0.4,0.1 1,-0.5 0.2,-0.2 0.5,-0.5 0.8,-0.7 0.3,-0.3 0.6,-0.6 1,-0.9 0.4,-0.3 0.7,-0.6 1.1,-0.9 0.4,-0.3 0.8,-0.6 1.2,-0.9 0.4,-0.3 0.8,-0.6 1.2,-0.9 0.4,-0.3 0.8,-0.6 1.2,-0.8 0.4,-0.2 0.7,-0.5 1.1,-0.7 0.3,-0.2 0.6,-0.4 0.9,-0.5 1.2,-0.7 1.5,-1 1.4,-1.5 -0.2,0 -0.3,0 -0.9,0.3 -1.7,0.8 -1.7,0.8 -1.9,0.8 0.1,-0.1 0.2,-0.1 0.3,-0.2 2,-1.2 2,-1.2 2.2,-1.4 -0.4,-0.2 -0.7,-0.2 -2.1,0.5 -3.2,1.5 -6.2,3.4 -8.9,5.6 -0.6,0.6 -0.7,0.7 -0.8,0.9 0,0 0,0 0,0 0,0.2 -0.1,0.3 -0.7,0.9 -6.5,6.7 -8,10.8 -8,11.1 z" + id="path21" + inkscape:connector-curvature="0" /><path + d="m 20.8,33.3 c 4.9,-8.6 5.7,-8.5 6.3,-8.4 0.3,0.1 0.7,0.2 1,0.3 0.4,0.1 0.8,-0.2 1,-0.8 2.2,-6.2 4.9,-8.9 4.9,-8.9 -0.1,0.2 -0.1,0.3 -0.4,0.7 -1.1,1.7 -2.3,4.5 -2.2,5 0.1,0.5 0.6,0.4 1,-0.1 0.1,-0.2 0.2,-0.4 0.3,-0.5 1.2,-3.5 2.8,-5.5 3.9,-7 0.2,-0.2 0.2,-0.4 0.2,-0.5 0,0 -0.1,-0.1 -0.1,-0.1 -0.5,-0.2 -0.9,-0.3 -1.4,-0.5 -0.4,0 -0.8,0.2 -1.1,0.4 -0.1,0.1 -9.3,5.1 -9.3,6.2 0.2,0.1 0.4,0.1 0.9,-0.3 1.4,-0.9 5.7,-3.7 6.4,-4 -0.2,0.1 -0.2,0.2 -0.9,0.6 -0.4,0.3 -9.7,6.7 -8.9,7.7 0.1,0 0.1,0.1 0.2,0.1 0.2,0.1 0.4,0.2 0.6,0.3 0.3,0.2 0.3,0.6 -0.1,1.2 -3.1,5.4 -4.1,8.3 -3.9,8.8 0.1,0.8 1,0.8 1.6,-0.2 z" + id="path23" + inkscape:connector-curvature="0" /><path + d="m 36.6,12.1 c -0.1,0.4 0.9,0.2 2.4,-0.7 0,0 1.9,-1.2 1.6,-1.5 -0.7,-0.2 -3.8,1.4 -4,2.2 z" + id="path25" + inkscape:connector-curvature="0" /><path + d="m 43.5,12.2 c 0.4,-0.4 1,-1.4 0.5,-1.5 -0.8,0 -2.8,1.6 -2.7,2.4 0,0.6 1.2,0.2 2.2,-0.9 z" + id="path27" + inkscape:connector-curvature="0" /><path + d="m 40.5,13.5 c -1.4,-0.1 -2,0.5 -2.5,1.1 -2,2.2 -3.9,4.7 -5.6,7.4 -0.3,0.5 -0.2,0.8 0.2,1 0,0 0,0 0,0 0.4,0.1 0.5,0.4 0.3,1 -1.8,4.5 -4.6,12 -2.8,12.5 0.3,0 0.6,0.1 0.9,0.1 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.6,0 1,-0.3 1.3,-0.9 4,-12 4.8,-12 5.4,-12 0,0 0,0 0.1,0 0.5,0 0.8,-0.3 1,-0.8 0.1,-0.3 0.2,-0.6 0.3,-0.8 0.1,-0.3 0.2,-0.7 0.4,-1 0.1,-0.4 0.3,-0.7 0.4,-1.1 0.1,-0.4 0.3,-0.8 0.4,-1.1 0.2,-0.4 0.3,-0.7 0.5,-1.1 0.1,-0.3 0.3,-0.7 0.4,-1 0.1,-0.3 0.3,-0.6 0.4,-0.9 0.1,-0.2 0.2,-0.5 0.3,-0.7 0.2,-0.5 0.2,-0.7 0.2,-0.8 0,-0.3 -0.7,-1.3 -1.8,-0.3 -1.2,1.2 -1.2,1.2 -1.4,1.2 0,-0.1 0,-0.2 0.1,-0.2 0.8,-1.4 0.8,-1.4 0.5,-1.6 z" + id="path29" + inkscape:connector-curvature="0" /><path + d="m 40.9,22.5 c 0.1,0.4 0.7,0.5 1.3,-0.2 1.5,-2 1.9,-2.7 3.2,-4.7 0.3,-0.4 0.3,-0.4 0.5,-0.5 -0.1,0.2 -0.1,0.3 -0.3,0.7 -1.4,2.8 -3.1,5.5 -4.3,8.4 0,0 -0.3,0.6 0.5,0.8 0.5,0 0.9,0 1.4,0.1 0.6,0.1 0.9,0.4 1,1 0.1,3.9 0.4,8.4 0.6,8.9 0.5,0.9 2.1,1 2.5,-0.4 1.5,-9.3 1.5,-9.3 2.4,-9.4 0.5,0 1,0 1.5,-0.1 0.6,-0.1 0.8,-0.4 0.6,-0.9 -2.1,-5.3 -3,-8.6 -2.9,-9 0.1,0.2 0.2,0.3 0.3,0.6 0.3,0.7 2.1,4.5 2.5,4.9 0.5,0.4 1.1,0.2 1.1,-0.4 0,-0.2 -0.1,-0.4 -0.1,-0.5 C 51,18.6 50.3,17 49.5,15 49.3,14.5 49,14.4 48.7,14.4 c -0.8,0 -1.5,0 -2.3,0 -0.4,0.1 -0.6,0.4 -0.8,0.6 -0.2,0.3 -1.6,2.5 -3,4.5 -1.8,2.7 -1.8,2.7 -1.7,3 z" + id="path31" + inkscape:connector-curvature="0" /><path + d="m 49,12.4 0,0 c 0.1,-0.5 -0.1,-1.4 -0.7,-1.5 -0.8,0.1 -1.7,1.8 -1.1,2.6 0.6,0.6 1.6,0.1 1.8,-1.1 z" + id="path33" + inkscape:connector-curvature="0" /><path + d="m 53.9,13.4 c 0.8,0.2 1.2,-0.4 0.6,-1.4 -0.3,-0.6 -1.1,-1.3 -1.8,-1.3 0,0 -0.1,0 -0.1,0 -0.5,0.4 0.1,2.3 1.3,2.7 z" + id="path35" + inkscape:connector-curvature="0" /><path + d="m 53.6,23.1 c 0.1,0.5 0.5,0.8 1,0.8 0,0 0,0 0.1,0 0.5,0 0.9,0.3 1.1,0.8 1.1,3.7 1.8,7.6 3.2,11.2 0.2,0.6 0.7,0.9 1.4,0.9 0.4,0 0.7,-0.1 1.1,-0.1 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.7,-0.1 1,-0.5 1,-1.2 -0.7,-4.8 -1.2,-7.3 -1.5,-8.5 -0.2,-0.9 -0.7,-2.1 -0.8,-3 0,-0.1 -0.1,-0.6 0.6,-0.8 0,0 0,0 0.1,0 0.4,-0.1 1.5,-0.4 -3.4,-7.8 -0.5,-0.8 -0.7,-1 -1.1,-1.3 -0.4,-0.3 -2.3,-0.9 -2.1,0.2 0.2,1.2 0.2,1.2 0.2,1.3 -0.2,0 -0.2,0 -0.3,-0.2 -1.1,-1.4 -1.1,-1.4 -1.6,-1.5 -1.5,0.3 -1.4,0.8 -1.3,1.5 0.3,2.2 0.7,4.8 1.2,7.7 z" + id="path37" + inkscape:connector-curvature="0" /><path + d="m 66.7,25.2 c 0.4,-0.1 0.9,-0.2 1.3,-0.3 0.5,-0.1 1,0.2 1.4,0.7 1,1.4 2.2,3.3 3.1,4.8 1.8,3.2 1.8,3.2 2.1,3.4 0.8,0.6 1.8,0.1 1.5,-1.1 -1.4,-3.9 -1.7,-4.7 -3.4,-8.1 -0.2,-0.3 -0.3,-0.9 0.2,-1.1 0.3,-0.1 0.6,-0.2 0.9,-0.3 0.2,-0.2 0.4,-0.4 -0.2,-1 -3,-2.6 -5.3,-4.5 -8.5,-6.8 -0.5,-0.3 -0.5,-0.4 -0.6,-0.5 0.2,0.1 0.3,0.2 0.9,0.5 6.2,3.9 6.2,3.9 6.4,3.8 0,-0.2 0,-0.3 -0.3,-0.6 -0.2,-0.2 -0.3,-0.3 -0.5,-0.4 -1.4,-0.9 -8.2,-5.6 -9.5,-5.6 -0.5,0.2 -1.1,0.3 -1.8,0.5 -0.1,0.1 -0.2,0.3 0,0.7 1.5,2.6 1.9,4.6 2.3,6.9 0.1,0.3 0.2,0.6 0.4,0.7 0.4,0.3 1.1,0.3 1,-0.5 C 63,18.4 62.5,17 62.1,16.1 62,15.8 62,15.8 62,15.6 c 0.2,0.2 0.2,0.3 0.5,0.7 1.8,3.3 2.2,5.1 2.9,8.3 0.3,0.1 0.6,0.6 1.3,0.6 z" + id="path39" + inkscape:connector-curvature="0" /><path + d="m 60.1,12.3 c 0.5,-0.1 0.4,-0.6 -0.7,-1.4 -0.8,-0.6 -2.1,-1.1 -2.5,-1 0,0 -0.1,0 -0.1,0.1 -0.2,0.4 2.3,2.4 3.3,2.3 z" + id="path41" + inkscape:connector-curvature="0" /><path + d="M 63.9,10.7 C 64.2,10.6 63.6,10.1 62.3,9.5 61.2,9 59.8,8.7 59.5,8.8 c 0,0 0,0 0,0 0,0.3 3.7,2.1 4.4,1.9 z" + id="path43" + inkscape:connector-curvature="0" /><path + d="m 64,11.2 c -0.4,0.5 -0.2,0.7 0.9,1.5 2.8,1.8 5.4,4 7.8,6.5 0.5,0.4 0.8,0.6 1.1,0.5 0,0 0,0 0,0 0.3,-0.1 0.7,0.1 1.2,0.5 4.1,4.2 5.1,5.6 8,9.8 0.2,0.3 0.6,0.8 1,0.6 0.2,-0.1 0.3,-0.2 0.5,-0.3 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0,0 0.1,0 0,0 0,0 0.1,-0.1 0,0 0.1,0 0.1,-0.1 0,0 0.1,0 0.1,-0.1 0.2,-0.2 0.2,-0.6 -0.1,-1.2 -2.9,-4.9 -4.2,-6.4 -7.8,-10.2 -0.4,-0.5 -0.4,-0.7 -0.4,-0.8 0,0 0,0 0,0 0,-0.2 0.1,-0.3 -0.6,-0.9 C 75.8,16.7 75.6,16.5 75.3,16.3 75,16 74.6,15.8 74.3,15.5 73.9,15.2 73.5,14.9 73.1,14.7 72.7,14.4 72.3,14.1 71.8,13.9 71.4,13.6 70.9,13.4 70.5,13.1 70.1,12.9 69.7,12.6 69.2,12.4 68.8,12.2 68.4,12 68.1,11.8 67.8,11.6 67.5,11.5 67.2,11.3 66.5,11 65.3,10.4 64.8,10.9 c 0.1,0.2 0.2,0.2 0.6,0.5 1.5,1 1.5,1 1.6,1.1 -0.1,0 -0.1,0 -0.4,-0.2 -2.3,-1.2 -2.3,-1.2 -2.6,-1.1 z" + id="path45" + inkscape:connector-curvature="0" /><path + d="m 10.4,64 c 0,-0.3 0,-0.3 -0.1,-0.6 -1.2,-4.5 -1.5,-7.8 -1.5,-10 0.3,1.6 0.6,3.3 1.2,4.9 0.3,0.7 0.4,0.7 0.6,0.7 0.3,-0.4 0.2,-1 0.2,-1.3 -0.6,-3 -0.9,-4.4 -1.1,-7.1 0.1,-0.1 0.2,-0.3 0.2,-0.7 0,-0.4 0,-0.7 0.1,-1.1 0,-0.4 0.1,-0.9 0.1,-1.3 0.1,-0.5 0.1,-0.9 0.2,-1.4 0.2,-0.1 0.3,-0.2 0.4,-0.3 0.2,-0.2 0.5,-0.5 0.3,-1.4 -0.1,-0.5 -0.2,-1 -0.2,-1.4 0,0 0,0 0,0 0.1,-0.5 0.2,-0.9 0.3,-1.4 0.1,-0.4 0.2,-0.8 0.3,-1.3 0,0 0,-0.1 0,-0.1 0.2,0.1 0.4,-0.2 0.4,-0.3 0.1,-0.1 0.3,-0.6 0.2,-1.3 -0.2,-1.4 -0.3,-2.6 -0.3,-3.9 0.2,-0.2 0.4,-0.5 0.6,-0.9 0.4,-0.9 0.9,-2.5 0.6,-3.2 0,0 -0.1,-0.1 -0.1,-0.1 -0.2,-0.1 -0.5,0.1 -0.7,0.5 0,-0.3 0,-0.3 -0.1,-0.5 0,0 -0.1,0.1 -0.1,0.1 -0.5,0.5 -1,1 -1.3,1.5 C 10,33.2 8.8,36.8 8.2,40 L 7.8,42.3 7.7,43 c 0,0.4 -0.1,0.7 -0.1,1 0,0.2 0,0.4 -0.1,0.7 0,0.2 0,0.3 0,0.5 0,0 0,0 0,0 C 8,40.6 8.5,38.8 9,37.1 9.2,36.5 9.2,36.3 9.4,36 9,36.4 9,36.7 8.9,36.9 8,39.9 7.4,43 7.2,46.2 c 0,0.9 0,1.2 0,1.4 0,0 0,0 0,0 0,0.1 0,0.3 0,0.5 0,0.2 0,0.5 0,0.7 0,0.5 0,0.6 0.1,0.8 0,0 0,0 0,0 0.4,8.2 1.9,12.4 2.5,13.8 0.1,0.1 0.1,0.2 0.2,0.3 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0.1 0,0 0,0 0,0.1 0,0 0,0 0,0.1 0.2,0 0.3,0 0.4,0 z m 0,-28.7 c 0.1,-0.5 0.1,-0.7 0.2,-0.9 0,0.1 0,0.1 0.1,0.2 0,0.2 0,0.5 0.1,0.6 0,0.1 0.1,0.1 0.1,0.2 0.1,0.3 0.1,0.7 0.1,1 -0.1,0.1 -0.2,0.1 -0.4,0.5 -0.1,0.2 -0.2,0.3 -0.2,0.5 -0.1,-0.7 -0.1,-1.4 0,-2.1 z" + id="path47" + inkscape:connector-curvature="0" /><path + d="M 19.2,34.9 C 17.5,34.4 16,37 16.7,38.7 17.3,40.3 19.2,40 20,38.1 h 0 c 0.4,-1.1 0.4,-2.7 -0.8,-3.2 z" + id="path49" + inkscape:connector-curvature="0" /><path + d="m 28.1,41.2 c 1,1.9 3.9,1.4 4.5,-0.7 0.3,-1 -0.1,-2.6 -1.8,-3 -2.2,-0.2 -3.5,2.1 -2.7,3.7 z" + id="path51" + inkscape:connector-curvature="0" /><path + d="m 33.5,57.5 c 0,0 0,0 0,0 0.8,0 1.2,-0.3 1.3,-1 0,-0.4 0,-0.7 0,-1.1 0,-0.4 0,-0.9 0,-1.3 0,-0.5 0,-1 0,-1.5 0,-0.5 0,-1 0.1,-1.6 0,-0.5 0.1,-1 0.1,-1.6 0,-0.5 0.1,-1 0.1,-1.5 0,-0.4 0.1,-0.9 0.1,-1.3 0,-0.4 0.1,-0.7 0.1,-1.1 0,-1.6 -0.6,-1.9 -3.4,-2.5 -0.6,0 -1.1,0.2 -1.4,0.7 -0.3,0.5 -0.6,1.2 -0.9,1.7 -0.1,0.2 -0.4,0.6 -0.7,-0.2 -0.4,-1.9 -0.4,-1.9 -0.4,-2.1 -0.5,-1 -3.9,-1.5 -4.5,0.9 -0.7,3.5 -1.1,7.2 -1.2,10.8 0,0.7 0.4,1.1 1,1.3 0,0 0,0 0.1,0 0.6,0.2 1,0.6 1.1,1.3 1.5,13 3.1,13.4 3.8,13.5 0.3,0.1 0.7,0.1 1.1,0.1 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.7,0 1,-0.2 1,-0.8 -0.6,-12.7 0.5,-12.7 1.5,-12.7 z" + id="path53" + inkscape:connector-curvature="0" /><path + d="m 50.2,45.1 c 0,0 -0.5,-0.7 -1.7,-0.8 -1.8,0 -3.7,0 -5.4,0 -0.8,0 -1.4,0.4 -1.8,1 -5.3,9.7 -5.3,9.8 -5.2,10.2 0.1,0.9 1.3,1.3 2.1,0.1 3.7,-6.5 3.9,-6.6 4.3,-7.1 0.1,0 0.1,0 0.2,0 0,0.3 0,0.4 -0.3,1 -4.6,11.7 -4.6,11.7 -3.1,11.9 0.7,0 1.4,0.1 2,0.1 0.8,0.1 1.4,0.5 1.6,1.2 1.5,7.1 2.1,8.8 2.1,8.8 0.5,0.9 2.6,1.2 2.9,-0.2 1.2,-9.6 1.2,-9.6 2.7,-9.7 0.7,0 1.4,0 2.1,-0.1 0.8,-0.1 1.1,-0.5 0.9,-1.1 -5,-11.4 -4.9,-11.5 -4.8,-11.8 0.2,0.2 0.3,0.3 0.8,1 0.6,0.9 3.7,6 4,6.3 0.7,0.8 2.1,0.7 2.1,-0.3 0,-0.3 -0.1,-0.5 -0.2,-0.6 -1.7,-3.3 -3.2,-6.8 -5.3,-9.9 z" + id="path55" + inkscape:connector-curvature="0" /><path + d="m 43.6,42.5 c 1.5,1.7 4.7,0.9 4.9,-1.3 0.1,-1 -0.6,-2.6 -2.7,-2.7 -2.4,0.1 -3.4,2.5 -2.2,4 z" + id="path57" + inkscape:connector-curvature="0" /><path + d="m 61.6,37.6 c -2.5,0.4 -3.1,2.9 -1.5,4.2 1.8,1.5 4.9,0.3 4.7,-1.9 -0.1,-1 -1.2,-2.4 -3.2,-2.3 z" + id="path59" + inkscape:connector-curvature="0" /><path + d="m 58.1,57.6 c 0.1,0 0.1,0 0,0 0.9,0 1.4,0.3 1.6,1 0.6,4 0.6,8.1 1.5,12.1 0.1,0.5 0.5,0.8 1.3,0.8 0.4,0 0.8,-0.1 1.2,-0.1 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.1,0 0.2,0 0.1,0 0.1,0 0.2,0 0.1,0 0.2,0 0.2,0 0.1,0 0.2,0 0.2,0 0.8,-0.2 1.2,-0.5 1.4,-1.1 0.8,-4.2 0.7,-8.5 1.6,-12.6 0,0 0.2,-0.8 1.3,-1.1 0,0 0.1,0 0.1,0 1.3,-0.3 1.8,-0.5 0,-11 -0.4,-2.1 -0.5,-2.9 -4.4,-2.6 -0.7,0.1 -1.1,0.5 -1.3,1.1 -0.2,0.6 -0.2,1.5 -0.5,2 -0.3,0.4 -0.6,0 -0.7,-0.2 -1,-1.8 -1,-1.8 -1.1,-1.9 -0.9,-0.8 -5.1,-0.4 -5.1,2.1 0.3,3.6 0.5,7.2 0.6,10.9 0.2,0.2 0.6,0.6 1.4,0.6 z" + id="path61" + inkscape:connector-curvature="0" /><path + d="m 81.9,44.6 c 1.3,1.8 2,3.9 3.6,5.5 0.5,0.5 1.2,0.1 1.1,-0.8 h 0 c 0,-0.3 -0.1,-0.4 -0.2,-0.6 -3.1,-6.2 -5.3,-9.2 -6.7,-8.9 -1.3,0.4 -2.7,0.8 -4.1,1.2 -0.7,0.2 -1.1,0.7 -1.2,1.4 -0.5,2.6 -1.1,5.5 -1.7,7.2 -1.2,3.8 -1.2,3.8 -1.1,4.2 0.3,0.7 1.4,0.6 2,-0.6 1,-2.6 1.5,-5.4 2.7,-7.9 0,0 0.1,0 0.2,0 0,0.3 0.1,0.4 0,1 -0.5,4 -2,7.8 -2.5,11.8 0,0.1 -0.1,0.8 0.9,0.7 0.6,-0.1 1.2,-0.3 1.8,-0.4 0.7,-0.1 1.1,0.2 1.3,0.8 0.2,1.6 0.5,3.8 0.5,5.4 0,3.1 0,3.1 0.1,3.3 0.3,0.7 1.7,0.4 2.2,-1 0.8,-3.1 1.1,-6.2 1.9,-9.3 0.1,-0.3 0.3,-0.9 1,-1.2 0.5,-0.2 0.9,-0.3 1.4,-0.5 0.5,-0.3 0.7,-0.7 0.6,-1.3 -1.2,-3.7 -3.1,-7 -4.5,-10.6 0,0 0.1,-0.1 0.1,-0.1 0.2,0.2 0.2,0.3 0.6,0.7 z" + id="path63" + inkscape:connector-curvature="0" /><path + d="m 75.8,39.3 c 1.8,1.1 3.6,-0.4 3.1,-2.5 -0.3,-1 -1.3,-2.3 -2.9,-2 -2.1,0.8 -1.9,3.5 -0.2,4.5 z" + id="path65" + inkscape:connector-curvature="0" /><path + d="m 86.3,35.6 c 1.2,0.5 1.7,-1 0.9,-2.8 -0.4,-0.9 -1.4,-2.2 -2.3,-1.7 -1.1,0.9 0,3.9 1.4,4.5 z" + id="path67" + inkscape:connector-curvature="0" /><path + d="m 92.8,46.6 c 0,-0.4 -0.1,-0.7 -0.1,-1.1 -0.1,-0.4 -0.1,-0.9 -0.2,-1.3 -0.1,-0.5 -0.2,-1 -0.3,-1.4 -0.1,-0.5 -0.2,-1 -0.3,-1.5 -0.1,-0.5 -0.3,-1 -0.4,-1.5 -0.1,-0.5 -0.3,-0.9 -0.4,-1.4 -0.1,-0.4 -0.3,-0.8 -0.4,-1.2 -0.1,-0.3 -0.2,-0.7 -0.4,-1 -0.6,-1.5 -0.9,-1.4 -2,-0.9 -0.2,0.2 -0.3,0.6 -0.2,1.2 0.3,1.9 0.3,1.9 0.3,2.1 0,0 -0.1,0.1 -0.1,0.1 -0.1,-0.1 -0.2,-0.2 -0.2,-0.3 -1,-1.6 -1,-1.6 -1.2,-1.8 -0.7,-0.4 -2.5,0.8 -1.9,3 1.1,3.4 1.9,6.9 2.3,10.6 0.1,0.8 0.4,0.8 0.8,0.7 0,0 0,0 0,0 0.4,-0.1 0.6,-0.1 0.8,0.7 0.5,5.5 0.4,7.1 -0.3,12.1 -0.1,0.5 0.1,0.6 0.2,0.7 0.1,0 0.1,0 0.2,-0.1 0.2,-0.1 0.3,-0.2 0.5,-0.3 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,-0.1 0,0 0.1,0 0.1,-0.1 0,0 0.1,0 0.2,-0.2 0.3,-0.3 0.5,-0.7 0.6,-1.2 1.3,-5.6 1.5,-7.6 1.5,-13.1 0,-0.7 0.3,-1.1 0.3,-1.2 0,0 0,0 0,0 0.2,-0.3 0.3,-0.6 0.3,-1.5 z" + id="path69" + inkscape:connector-curvature="0" /><path + d="m 30.1,72 c -0.2,0 -0.5,0 -0.7,0 -1.7,0.2 -1.7,2 -0.1,3.2 1.8,1.4 4,1 3.8,-0.6 C 33,73.7 32,72.4 30.1,72 z" + id="path71" + inkscape:connector-curvature="0" /><path + d="m 42.5,90.7 c -0.6,-0.5 -1.5,-1.1 -2,-1.7 -1.1,-1.2 -2.7,-3.3 -1.3,-3.2 0,0 0,0 0.1,0 0.5,0 0.7,-0.1 0.6,-0.5 -0.1,-0.2 -0.2,-0.4 -0.3,-0.6 -0.1,-0.2 -0.2,-0.5 -0.3,-0.7 -0.1,-0.3 -0.2,-0.6 -0.4,-0.9 -0.1,-0.3 -0.2,-0.6 -0.4,-0.9 -0.1,-0.3 -0.2,-0.6 -0.4,-1 -0.1,-0.3 -0.2,-0.6 -0.3,-1 -0.1,-0.3 -0.2,-0.6 -0.3,-0.9 -0.1,-0.2 -0.1,-0.5 -0.2,-0.7 -0.2,-0.7 -0.5,-1.5 -3.9,-1.9 -0.6,0 -0.9,0.1 -1,0.5 -0.2,1.6 -0.2,1.8 -0.8,1.1 -1.3,-1.7 -1.3,-1.7 -1.8,-2 0,0 -3.8,-1.2 -3,0.9 1,2.3 2.2,4.3 3.5,6.1 -0.8,-0.6 -1.6,-1.1 -2.4,-1.8 -1.4,-1.3 -2.5,-2.5 -3.6,-3.7 0,0 0,0 0,0 0.2,-0.1 0.3,-0.3 0.5,-0.4 0.1,-0.1 0.2,-0.4 -0.5,-0.9 -1.6,-1.4 -2.9,-2.5 -4.2,-3.7 0,-0.2 0,-0.3 -0.1,-0.5 h 0 c 0,-0.2 -0.1,-0.3 -0.2,-0.5 0.5,0.4 1,0.8 1.6,1.3 0.6,0.5 1,0.4 1,0.1 0,0 0,-0.4 -0.7,-1 -1.4,-1.3 -2.7,-2.5 -4,-3.9 0.1,-0.1 0.1,-0.3 0.1,-0.5 -1.3,-9.5 -0.1,-9.3 0.5,-9.2 0.5,0.1 1,0.3 1.5,0.4 0.6,0.1 0.8,-0.2 0.7,-0.9 -2.1,-7.6 -2.3,-12.4 -2.1,-12.7 0.1,0.2 0.2,0.4 0.3,1.1 0.4,1.9 1.6,6.7 2.2,7.4 0.5,0.7 1.3,0.6 1.4,-0.1 0,-0.2 0,-0.5 -0.1,-0.7 -1.4,-4.6 -1.7,-7.3 -2.2,-10.5 0,-0.3 -0.2,-1 -1,-1.4 -1.2,-0.4 -2.3,-0.8 -3.3,-1.2 -0.5,-0.1 -0.9,0 -1.3,0.6 -1,1.6 -4.7,8.2 -4,9.6 0.2,0.4 0.5,0.5 0.8,-0.2 0.5,-1.1 2.7,-5.9 3.3,-5.9 -0.1,0.3 -0.1,0.4 -0.3,0.9 -0.2,0.4 -4.2,9.8 -2.5,11 0.1,0 0.2,0.1 0.2,0.1 0.3,0.1 0.5,0.3 0.8,0.4 0.5,0.3 0.8,0.8 0.9,1.5 0.2,1.1 1,5.1 1.9,7.8 -0.2,-0.2 -0.3,-0.4 -0.5,-0.6 -0.4,-0.4 -0.6,-0.5 -0.9,-0.5 -0.6,0.5 -1,1 -1.3,1.5 -0.2,1.1 2.2,6 5.4,10.1 0.1,0.1 0.2,0.2 0.3,0.3 0.1,0.1 0.1,0.3 0.2,0.4 -2.2,-2.3 -4.1,-4.7 -5.7,-7.4 -0.5,-0.8 -0.6,-1 -0.7,-1 -0.1,-0.2 -0.2,-0.4 -0.2,-0.6 -0.5,-1.1 -1.2,-2.5 -1.6,-3.2 -0.1,-0.1 -0.1,-0.1 -0.1,-0.1 0,0.1 0,0.2 0.2,0.6 0.1,0.2 0.2,0.5 0.3,0.7 l 0.2,0.5 0.2,0.3 c 0.3,0.6 0.5,1.1 0.8,1.6 0,0 0.1,0.1 0.1,0.1 0.1,0.2 0.2,0.4 0.3,0.5 0.2,0.4 0.6,1 1.4,2.5 l 6.5,7.8 c 0.1,0.1 0.2,0.2 0.2,0.3 l 1.1,1.3 c 2.3,2.1 4.6,3.5 6.6,4.6 1.6,1.1 3.7,2.4 6.6,3.6 0.4,0.2 0.8,0.3 1.1,0.4 0,0 0,0 0,0 0.1,0 0.1,0 0.2,0.1 -0.1,-0.1 -0.3,-0.1 -0.4,-0.2 -1.8,-0.9 -3.1,-1.6 -3.9,-2.2 0.1,0 0.2,0.1 0.2,0.1 0.5,0.2 0.6,0.2 0.7,0.2 0,0 0,-0.1 0,-0.1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.1 -0.1,-0.1 -0.1,-0.2 -0.1,-0.1 -0.2,-0.2 -0.8,-0.5 -0.5,-0.3 -1,-0.5 -1.5,-0.7 -0.1,-0.2 -0.2,-0.2 -0.2,-0.2 0.1,0 0.2,0 0.3,0 0.3,0.1 0.6,0.2 1,0.3 0.1,0 0.2,0 0.2,0 0,-0.1 0,-0.2 -0.3,-0.4 -1.8,-1.4 -3.2,-2.7 -4.4,-3.8 1.3,0.9 2.6,1.7 5,3 0.8,0.4 1,0.4 1.1,0.3 0,0 0,-0.1 0,-0.1 0.3,0.1 0.6,0.3 0.9,0.6 4.7,4.6 7.5,5.2 7.8,5.3 0.2,0 0.3,0 0.5,0.1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.1,0 0.2,0 0.3,0 -0.5,-0.3 -0.6,-0.4 -0.6,-0.4 z M 16.8,69.1 c 0,0 -0.1,-0.1 -0.1,-0.1 -0.4,-0.5 -0.5,-0.7 -0.6,-0.8 0.2,0.1 0.2,0.1 0.6,0.5 0.2,0.2 0.3,0.3 0.5,0.5 -0.2,-0.1 -0.3,-0.1 -0.4,-0.1 z m -1.6,1.6 C 15,70.4 14.9,70.1 14.8,69.8 15,70 15,70 15.2,70.4 c 0.7,1.3 1.5,2.5 2.2,3.6 0.1,0.4 0.2,0.7 0.4,1.1 -0.7,-1.2 -1.6,-2.5 -2.6,-4.4 z m 5.8,8.9 c -0.7,-1.1 -1.4,-2.4 -1.5,-2.9 0.1,0.1 0.2,0.3 0.3,0.4 0,0 0,0.1 0.1,0.1 0.7,1.3 1.4,2.4 2.1,3.3 -0.3,-0.2 -0.6,-0.5 -1,-0.9 z" + id="path73" + inkscape:connector-curvature="0" /><path + d="m 49.6,77.8 c -1.8,0 -3.5,0 -5.3,0 -0.8,0 -1.3,0.3 -1.6,0.7 -2.2,4.8 -2.3,6.2 -2.3,6.2 0.2,0.5 1.3,0.9 1.6,0.2 0,0 1.9,-4.2 2.4,-4.2 0,0.1 0.1,0.2 -0.1,0.7 -1.9,6.2 -1.3,6.2 -0.4,6.3 0.5,0 0.9,0 1.4,0.1 0.6,0 1,0.2 1.2,0.5 1.5,2.2 2.1,2.8 2.3,2.9 0.3,0.2 1.3,0.4 1.5,0 0.1,-3.3 0.2,-3.3 1.3,-3.4 0.5,0 0.9,0 1.4,0 0.6,-0.1 0.8,-0.2 0.7,-0.5 C 50,80.9 50,80.9 50,80.8 c 0.1,0 0.2,0 0.8,0.6 3.1,3.6 3.1,3.6 3.2,3.7 0.4,0.3 1.4,0.3 1.5,-0.2 0,-0.1 0,-0.2 -0.1,-0.3 -4.3,-6.8 -4.3,-6.8 -5.8,-6.8 z" + id="path75" + inkscape:connector-curvature="0" /><path + d="m 49.6,75.3 c 0.1,-0.9 -0.8,-2.1 -3,-2.2 -2.6,0.1 -3.2,1.8 -2.2,2.9 1.4,1.7 5,1.2 5.2,-0.7 z" + id="path77" + inkscape:connector-curvature="0" /><path + d="m 63.7,72.1 c -2.4,0.4 -3.5,2 -2.9,3.1 1,1.7 4.9,0.9 5.5,-1.2 0.2,-1 -0.6,-2 -2.6,-1.9 z" + id="path79" + inkscape:connector-curvature="0" /><path + d="m 68.8,78 c 0.4,-1.5 0.6,-2.3 -3.2,-1.8 -0.7,0.1 -1.1,0.4 -1.5,0.9 -0.9,1.4 -0.9,1.4 -1,1.5 -0.1,0.1 -0.4,0.2 -0.5,-0.2 -0.2,-0.4 -0.3,-0.9 -0.5,-1.3 -0.6,-0.8 -4.9,-0.2 -5.2,1.5 -0.1,2.5 -0.3,4.8 -0.6,6.6 0,0.3 0.3,0.5 0.9,0.5 0,0 0,0 0.1,0 0.6,0 0.9,0.1 0.9,0.4 -0.3,2.7 -0.5,3.2 -1.2,4.6 0,0.1 0.1,0.1 0.5,0.1 0.2,0 0.4,0 0.6,-0.1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.1,0 0,0 0,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0,0 0.1,0 0.1,0 0.4,-0.1 0.7,-0.2 1,-0.3 2.1,-1.6 2.7,-2.4 4.4,-4.9 0.1,-0.2 0.4,-0.5 1.3,-0.7 0,0 0,0 0.1,0 0.4,-0.1 1.5,-0.3 3.3,-6.8 z" + id="path81" + inkscape:connector-curvature="0" /><path + d="m 73.8,84.3 c 0.3,-0.1 0.6,-0.2 0.9,-0.3 0.4,-0.2 0.7,-0.4 1,-0.7 1.3,-1.7 2.2,-3.3 2.8,-6.1 0.1,-0.3 0.1,-0.5 0.2,-0.6 0,0 0.1,0 0.1,0 0.1,0.1 0.1,0.2 0.1,0.5 -0.1,1.2 -0.7,2.4 -0.8,3.6 0,0 0,0 0.1,0.1 0.4,0 0.8,-0.5 1,-0.7 0.1,-0.2 0.2,-0.3 0.3,-0.4 0,-0.1 2.8,-6.8 0.5,-6.3 -1.2,0.4 -2.6,0.8 -4,1.1 -0.7,0.2 -1.2,0.6 -1.7,1.1 -2.5,3.3 -4.2,5 -6.3,7.2 -0.3,0.3 -0.3,0.4 -0.3,0.5 0,0.4 0.9,0.2 1.6,-0.4 2.1,-2 3.3,-3.3 4.6,-4.6 0.5,-0.6 0.6,-0.6 0.8,-0.7 0,0.1 -0.1,0.2 -0.5,0.8 -2.7,3.5 -4.1,4.8 -6.4,7 -0.2,0.2 -0.2,0.2 -0.2,0.3 0,0 0,0.1 0,0.1 0.1,0 0.2,0 0.3,0 0.4,-0.1 0.8,-0.2 1.2,-0.3 0.2,0 0.2,0 0.4,0 0,0.1 0,0.1 -0.1,0.3 -1.4,1.5 -2.2,2.3 -4,3.4 -0.1,0 -0.1,0.1 -0.1,0.1 0.3,0 1.4,-0.5 1.4,-0.5 3,-1.6 4,-2.4 6,-4 -0.1,0.2 0.5,-0.3 1.1,-0.5 z" + id="path83" + inkscape:connector-curvature="0" /><path + d="m 79.3,69.2 c -1.9,0.6 -3.1,2.6 -2.7,3.6 0.6,1.5 3.4,0.2 4.2,-1.9 0.4,-0.9 0.2,-2.1 -1.5,-1.7 z" + id="path85" + inkscape:connector-curvature="0" /><path + d="m 89.2,65 c -1.3,0.9 -2.5,3.7 -2.1,4.3 0.3,0.6 1.6,-0.9 2.3,-2.7 0.1,-0.2 0.2,-0.5 0.2,-0.7 0.2,-0.1 0.5,-1.4 -0.4,-0.9 z" + id="path87" + inkscape:connector-curvature="0" /><path + d="m 88.4,69.1 c -0.3,0.2 -0.5,0.6 -0.8,1.1 -1.1,1.9 -1.1,1.9 -1.3,1.9 0,-0.1 0,-0.2 0.1,-0.2 0.5,-1.4 0.5,-1.4 0.3,-1.6 0,0 -1.8,0.6 -2.9,2.8 -1.3,2.8 -3,5.3 -4.9,7.5 -0.2,0.3 -0.2,0.3 -0.2,0.4 0.1,0 0.1,0 0.2,0 0,0 0,0 0,0 0,0 0.1,0 0.2,0 0,0.1 0,0.1 -0.3,0.4 -2.4,2.2 -2.8,2.6 -4.8,3.9 -0.7,0.4 -1.5,0.9 -2.5,1.3 h 0 c -0.7,0.4 -1,0.5 -1.1,0.6 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.1,0.1 -0.2,0.1 -0.2,0.2 0,0 0,0 0,0 0.3,-0.1 0.3,-0.1 2.5,-1.3 0.4,-0.2 0.9,-0.5 1.4,-0.8 0.5,-0.3 1,-0.6 1.4,-0.9 0.5,-0.4 1,-0.8 1.6,-1.2 0.3,-0.2 0.6,-0.4 0.9,-0.7 -0.1,0.1 -0.3,0.2 -0.4,0.3 0.3,-0.2 0.6,-0.5 0.9,-0.7 -0.2,0.1 -0.3,0.3 -0.5,0.4 0.6,-0.5 1.2,-0.9 1.7,-1.3 1.7,-1.6 1.7,-1.6 2.7,-2.6 0,0 0,0 0,0 0.1,-0.1 0.1,-0.1 0.2,-0.2 0.3,-0.3 0.6,-0.6 0.7,-0.8 0.1,-0.1 0.2,-0.2 0.2,-0.3 0.1,-0.2 0.3,-0.3 0.4,-0.5 0.3,-0.3 0.5,-0.6 0.8,-0.9 0.3,-0.3 0.6,-0.7 0.8,-1.1 0.3,-0.4 0.6,-0.8 0.8,-1.1 0.3,-0.4 0.5,-0.8 0.8,-1.2 0.2,-0.4 0.5,-0.8 0.7,-1.1 0.2,-0.3 0.4,-0.7 0.6,-1 0.2,-0.3 0.3,-0.6 0.5,-0.9 0.5,-0.9 0.4,-1 0.4,-1.1 -0.4,0.4 -0.5,0.4 -0.9,0.7 z" + id="path89" + inkscape:connector-curvature="0" /></g></g></switch></svg> \ No newline at end of file diff --git a/res/icons/noun_63271_cc.svg b/res/icons/noun_63271_cc.svg new file mode 100644 index 0000000000000000000000000000000000000000..72a249ab7e91122130cc4502d78bd7aa9add26a6 --- /dev/null +++ b/res/icons/noun_63271_cc.svg @@ -0,0 +1,55 @@ +<?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" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="100px" + height="100px" + viewBox="5.0 -10.0 100.0 135.0" + enable-background="new 0 0 100 100" + xml:space="preserve" + inkscape:version="0.48.5 r10040" + sodipodi:docname="noun_63271_cc.svg"><metadata + id="metadata23"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs21" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview19" + showgrid="false" + inkscape:zoom="2.36" + inkscape:cx="50" + inkscape:cy="55.66586" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="Layer_1" /><g + id="g3" + transform="matrix(1.4845545,0,0,1.4845545,-19.011756,-20.223488)"><polygon + points="95,40.361 71.584,16.947 59.878,16.945 83.293,40.361 59.876,63.777 71.584,63.777 94.998,40.361 " + id="polygon5" /><polygon + points="83.293,40.361 83.293,44.501 41.901,44.5 41.899,44.502 50.178,36.224 83.293,36.224 " + id="polygon7" /></g><g + id="g9" + transform="matrix(1.4845545,0,0,1.4845545,-19.011756,-20.223488)"><polygon + points="5,59.639 28.416,83.053 40.123,83.055 16.709,59.639 40.125,36.224 28.416,36.224 5.002,59.639 " + id="polygon11" /><polygon + points="16.707,59.639 16.707,55.498 58.099,55.5 58.101,55.498 49.822,63.777 16.707,63.777 " + id="polygon13" /></g></svg> \ No newline at end of file diff --git a/res/ui/community_tab.ui b/res/ui/community_tab.ui index f037ee0e501d28099f16df3430f782148c117284..3eb89b95a9078d65766ad9d1c7ace07e524f91b7 100644 --- a/res/ui/community_tab.ui +++ b/res/ui/community_tab.ui @@ -23,6 +23,10 @@ <number>0</number> </property> <widget class="QWidget" name="tab_members"> + <attribute name="icon"> + <iconset resource="../icons/icons.qrc"> + <normaloff>:/icons/members_icon</normaloff>:/icons/members_icon</iconset> + </attribute> <attribute name="title"> <string>Members</string> </attribute> @@ -68,7 +72,9 @@ </item> </layout> </widget> - <resources/> + <resources> + <include location="../icons/icons.qrc"/> + </resources> <connections> <connection> <sender>button_membership</sender> diff --git a/res/ui/currency_tab.ui b/res/ui/currency_tab.ui index ce62a5d2b8b88036901c295288c26762e45b530c..8218af48ed277e794265950b98bfee2f45e6fd16 100644 --- a/res/ui/currency_tab.ui +++ b/res/ui/currency_tab.ui @@ -13,6 +13,10 @@ <property name="windowTitle"> <string>Form</string> </property> + <property name="windowIcon"> + <iconset> + <normaloff>:/icons/noun_43022_cc.svg</normaloff>:/icons/noun_43022_cc.svg</iconset> + </property> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> <widget class="QFrame" name="actionsFrame"> @@ -32,6 +36,10 @@ <number>0</number> </property> <widget class="QWidget" name="tab_wallets"> + <attribute name="icon"> + <iconset resource="../icons/icons.qrc"> + <normaloff>:/icons/wallet_icon</normaloff>:/icons/wallet_icon</iconset> + </attribute> <attribute name="title"> <string>Wallets</string> </attribute> @@ -49,6 +57,10 @@ </layout> </widget> <widget class="QWidget" name="tab_transactions"> + <attribute name="icon"> + <iconset resource="../icons/icons.qrc"> + <normaloff>:/icons/tx_icon</normaloff>:/icons/tx_icon</iconset> + </attribute> <attribute name="title"> <string>Transactions</string> </attribute> @@ -90,7 +102,9 @@ </item> </layout> </widget> - <resources/> + <resources> + <include location="../icons/icons.qrc"/> + </resources> <connections> <connection> <sender>list_wallets</sender> diff --git a/src/cutecoin/core/community.py b/src/cutecoin/core/community.py index 29d53e9438922fd9c131d14f91115eb76b2658ba..5736696ef33a83132e65d73c60795aad89896710 100644 --- a/src/cutecoin/core/community.py +++ b/src/cutecoin/core/community.py @@ -10,6 +10,7 @@ from ucoinpy.documents.peer import Peer, Endpoint, BMAEndpoint from ucoinpy.documents.block import Block import logging import time +import inspect class Community(object): @@ -22,9 +23,16 @@ class Community(object): ''' self.currency = currency self.peers = peers - self.requests_cache = None + self.requests_cache = {} self.last_block = None + # After initializing the community from latest peers, + # we refresh its peers tree + found_peers = self.peering() + for p in found_peers: + if p.pubkey not in [peer.pubkey for peer in peers]: + self.peers.append(p) + @classmethod def create(cls, currency, peer): return cls(currency, [peer]) @@ -46,7 +54,6 @@ class Community(object): peers.append(peer) community = cls(currency, peers) - return community def name(self): @@ -62,17 +69,14 @@ class Community(object): req_args={'number': block_number}) return block['dividend'] - def send_membership(self, account, membership): - pass - def peering(self): peers = [] peering_data = self.request(bma.network.peering.Peers) - logging.debug(peering_data) + logging.debug("Peering : {0}".format(peering_data)) for peer in peering_data: logging.debug(peer) - #peers.append(Peer.from_signed_raw("{0}{1}\n".format(peer['value']['raw'], - # peer['value']['signature']))) + peers.append(Peer.from_signed_raw("{0}{1}\n".format(peer['value']['raw'], + peer['value']['signature']))) return peers def get_block(self, number=None): @@ -109,7 +113,7 @@ class Community(object): block = bma.blockchain.Current(e.conn_handler()).get() self.last_block = {"request_ts": time.time(), "number": block['number']} - self.requests_cache = None + self.requests_cache = {} cache_key = (hash(request), hash(tuple(frozenset(sorted(req_args.keys())))), @@ -117,24 +121,20 @@ class Community(object): hash(tuple(frozenset(sorted(get_args.keys())))), hash(tuple(frozenset(sorted(get_args.items()))))) - # If the cache was cleared, let's initialize a new one - if self.requests_cache is None: + if cache_key not in self.requests_cache.keys(): + logging.debug("Connecting to {0}:{1}".format(e.server, + e.port)) req = request(e.conn_handler(), **req_args) data = req.get(**get_args) - self.requests_cache = {cache_key: data} - else: - if cache_key in self.requests_cache.keys(): - #logging.debug("Cache : {0} : {1}".format(cache_key, - # self.requests_cache[cache_key])) - return self.requests_cache[cache_key] - # If we cant find it, we request for it + if inspect.isgenerator(data): + cached_data = [] + for d in data: + cached_data.append(d) + self.requests_cache[cache_key] = cached_data + logging.debug("Got a generator !") else: - logging.debug("Connecting to {0}:{1}".format(e.server, - e.port)) - req = request(e.conn_handler(), **req_args) - data = req.get(**get_args) self.requests_cache[cache_key] = data - return data + return self.requests_cache[cache_key] def post(self, request, req_args={}, post_args={}): for peer in self.peers: diff --git a/src/cutecoin/core/wallet.py b/src/cutecoin/core/wallet.py index 4aebe4998b39bc2dd8d839d2100c6495f44c8a11..3b048d9bd7cbd8a80909136ffc7b324278f27b10 100644 --- a/src/cutecoin/core/wallet.py +++ b/src/cutecoin/core/wallet.py @@ -182,8 +182,15 @@ class Wallet(object): tx.sign([key]) logging.debug("Transaction : {0}".format(tx.signed_raw())) - community.post(bma.tx.Process, + try: + community.post(bma.tx.Process, post_args={'transaction': tx.signed_raw()}) + except: + # If it fails, do not remove inputs from available inputs + # And raise the exception again + for i in inputs: + self.available_inputs[1].append(i) + raise def sources(self, community): data = community.request(bma.tx.Sources, diff --git a/src/cutecoin/gui/community_tab.py b/src/cutecoin/gui/community_tab.py index 4af816ce9fd60ce877d136abd4b29b4780396bb0..e17f8ae74f5d9fb6092caf4e2e675293824d5a2b 100644 --- a/src/cutecoin/gui/community_tab.py +++ b/src/cutecoin/gui/community_tab.py @@ -6,6 +6,7 @@ Created on 2 févr. 2014 import logging from PyQt5.QtCore import Qt +from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QWidget, QMessageBox, QAction, QMenu, QInputDialog, QLineEdit from ..models.members import MembersListModel from ..gen_resources.community_tab_uic import Ui_CommunityTabWidget @@ -38,7 +39,9 @@ class CommunityTabWidget(QWidget, Ui_CommunityTabWidget): self.button_membership.setText("Send membership demand") self.button_membership.clicked.connect(self.send_membership_demand) - self.tabs_information.addTab(WotTabWidget(account, community), "Wot") + self.tabs_information.addTab(WotTabWidget(account, community), + QIcon(':/icons/wot_icon'), + "Wot") def member_context_menu(self, point): index = self.list_community_members.indexAt(point) diff --git a/src/cutecoin/gui/currency_tab.py b/src/cutecoin/gui/currency_tab.py index 4f937d0fa5dc616438a11f876c5d5a9ae236f289..46fec4a2e0e139586bacf920219aeaf6821466bd 100644 --- a/src/cutecoin/gui/currency_tab.py +++ b/src/cutecoin/gui/currency_tab.py @@ -7,6 +7,7 @@ Created on 2 févr. 2014 import logging from PyQt5.QtWidgets import QWidget, QMenu, QAction, QApplication from PyQt5.QtCore import QModelIndex, Qt +from PyQt5.QtGui import QIcon from cutecoin.gen_resources.currency_tab_uic import Ui_CurrencyTabWidget from cutecoin.gui.community_tab import CommunityTabWidget from cutecoin.models.sent import SentListModel @@ -43,7 +44,9 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget): ReceivedListModel(self.app.current_account, self.community)) tab_community = CommunityTabWidget(self.app.current_account, self.community) - self.tabs_account.addTab(tab_community, "Community") + self.tabs_account.addTab(tab_community, + QIcon(':/icons/community_icon'), + "Community") def refresh_wallets(self): wallets_list_model = WalletsListModel(self.app.current_account, diff --git a/src/cutecoin/gui/mainwindow.py b/src/cutecoin/gui/mainwindow.py index 2ca1c3a13b50155e0401a0835a9836746e0baecf..2670dd7a165fc1161c71df94e9060b1fc1a2c9b3 100644 --- a/src/cutecoin/gui/mainwindow.py +++ b/src/cutecoin/gui/mainwindow.py @@ -6,6 +6,7 @@ Created on 1 févr. 2014 from cutecoin.gen_resources.mainwindow_uic import Ui_MainWindow from PyQt5.QtWidgets import QMainWindow, QAction, QFileDialog from PyQt5.QtCore import QSignalMapper +from PyQt5.QtGui import QIcon from cutecoin.gui.process_cfg_account import ProcessConfigureAccount from cutecoin.gui.transfer import TransferMoneyDialog from cutecoin.gui.currency_tab import CurrencyTabWidget @@ -93,7 +94,9 @@ class MainWindow(QMainWindow, Ui_MainWindow): for community in self.app.current_account.communities: tab_currency = CurrencyTabWidget(self.app, community) tab_currency.refresh() - self.currencies_tabwidget.addTab(tab_currency, community.name()) + self.currencies_tabwidget.addTab(tab_currency, + QIcon(":/icons/currency_icon"), + community.name()) self.menu_contacts_list.clear() for contact in self.app.current_account.contacts: @@ -117,6 +120,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.app.export_account(path, self.app.current_account) def closeEvent(self, event): - self.app.save_cache(self.app.current_account) + if self.app.current_account: + self.app.save_cache(self.app.current_account) super().closeEvent(event) diff --git a/src/cutecoin/models/peer.py b/src/cutecoin/models/peer.py index 7cca285640edf408f245917b011ec414868a049f..55b6cb4e8ec20994e79f40e2b32923dbeb978523 100644 --- a/src/cutecoin/models/peer.py +++ b/src/cutecoin/models/peer.py @@ -5,22 +5,23 @@ Created on 5 févr. 2014 ''' import logging +from ucoinpy.documents.peer import BMAEndpoint, Peer class RootItem(object): def __init__(self, name): self.name = name - self.main_node_items = [] + self.main_peer_items = [] def appendChild(self, item): - self.main_node_items.append(item) + self.main_peer_items.append(item) def child(self, row): - return self.main_node_items[row] + return self.main_peer_items[row] def childCount(self): - return len(self.main_node_items) + return len(self.main_peer_items) def columnCount(self): return 1 @@ -41,7 +42,16 @@ class RootItem(object): class PeerItem(object): def __init__(self, main_peer, root_item): - self.main_peer_text = main_peer.pubkey + e = next((e for e in main_peer.endpoints if type(e) is BMAEndpoint)) + if e.server: + self.main_peer_text = "{0}:{1}".format(e.server, e.port) + elif e.ipv4: + self.main_peer_text = "{0}:{1}".format(e.ipv4, e.port) + elif e.ipv6: + self.main_peer_text = "{0}:{1}".format(e.ipv6, e.port) + else: + self.main_peer_text = "{0}".format(main_peer.pubkey) + self.root_item = root_item self.peer_items = [] diff --git a/src/cutecoin/models/peering.py b/src/cutecoin/models/peering.py index 758f77eaea4ed6a66d05db8a6e6f0d3a02cc38ac..f757f771759df81bc86065081f13dcf33ac9cd8c 100644 --- a/src/cutecoin/models/peering.py +++ b/src/cutecoin/models/peering.py @@ -5,7 +5,7 @@ Created on 5 févr. 2014 ''' from ucoinpy.api import bma -from ucoinpy.documents.peer import BMAEndpoint +from ucoinpy.documents.peer import BMAEndpoint, Peer from PyQt5.QtCore import QAbstractItemModel, QModelIndex, Qt from .peer import PeerItem, RootItem import logging @@ -98,19 +98,16 @@ class PeeringTreeModel(QAbstractItemModel): def refresh_tree(self): logging.debug("root : " + self.root_item.data(0)) for peer in self.peers: + logging.debug("Browser peers") peer_item = PeerItem(peer, self.root_item) - logging.debug( - "main peer : " + - peer.get_text() + - " / " + - peer_item.data(0)) self.root_item.appendChild(peer_item) try: e = next((e for e in peer.endpoints if type(e) is BMAEndpoint)) - for peer in bma.network.peering.Peers(e.conn_handler()): + peers = bma.network.peering.Peers(e.conn_handler()).get() + for peer_data in peers: + peer = Peer.from_signed_raw("{0}{1}\n".format(peer_data['value']['raw'], + peer_data['value']['signature'])) child_node_item = PeerItem(peer, peer_item) - logging.debug("\t peer : " + peer.pubkey + " / " + - child_node_item.data(0)) peer_item.appendChild(child_node_item) - except e as StopIteration: + except StopIteration as e: continue