Unified · Split
| @@ -1,125 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | −<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
| 3 | − | |
| 4 | −<svg | |
| 5 | − xmlns:dc="http://purl.org/dc/elements/1.1/" | |
| 6 | − xmlns:cc="http://creativecommons.org/ns#" | |
| 7 | − xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
| 8 | − xmlns:svg="http://www.w3.org/2000/svg" | |
| 9 | − xmlns="http://www.w3.org/2000/svg" | |
| 10 | − xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
| 11 | − xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
| 12 | − width="45" | |
| 13 | − height="45" | |
| 14 | − id="svg3827" | |
| 15 | − version="1.1" | |
| 16 | − inkscape:version="0.48.1 r9760" | |
| 17 | − sodipodi:docname="load-script.svg"> | |
| 18 | − <defs | |
| 19 | − id="defs3829" /> | |
| 20 | − <sodipodi:namedview | |
| 21 | − id="base" | |
| 22 | − pagecolor="#ffffff" | |
| 23 | − bordercolor="#666666" | |
| 24 | − borderopacity="1.0" | |
| 25 | − inkscape:pageopacity="0.0" | |
| 26 | − inkscape:pageshadow="2" | |
| 27 | − inkscape:zoom="3.959798" | |
| 28 | − inkscape:cx="171.17264" | |
| 29 | − inkscape:cy="-8.0710166" | |
| 30 | − inkscape:document-units="px" | |
| 31 | − inkscape:current-layer="layer1" | |
| 32 | − showgrid="false" | |
| 33 | − inkscape:window-width="1920" | |
| 34 | − inkscape:window-height="1028" | |
| 35 | − inkscape:window-x="-8" | |
| 36 | − inkscape:window-y="-8" | |
| 37 | − inkscape:window-maximized="1" /> | |
| 38 | − <metadata | |
| 39 | − id="metadata3832"> | |
| 40 | − <rdf:RDF> | |
| 41 | − <cc:Work | |
| 42 | − rdf:about=""> | |
| 43 | − <dc:format>image/svg+xml</dc:format> | |
| 44 | − <dc:type | |
| 45 | − rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
| 46 | − <dc:title></dc:title> | |
| 47 | − <dc:creator> | |
| 48 | − <cc:Agent> | |
| 49 | − <dc:title>T.Hofmeister</dc:title> | |
| 50 | − </cc:Agent> | |
| 51 | − </dc:creator> | |
| 52 | − </cc:Work> | |
| 53 | − </rdf:RDF> | |
| 54 | − </metadata> | |
| 55 | − <g | |
| 56 | − inkscape:label="Ebene 1" | |
| 57 | − inkscape:groupmode="layer" | |
| 58 | − id="layer1" | |
| 59 | − transform="translate(0,-1007.3622)"> | |
| 60 | − <g | |
| 61 | − id="layer1-7" | |
| 62 | − transform="matrix(-0.25019951,0,0,0.28877175,123.44112,917.40972)" | |
| 63 | − style="fill:#696969"> | |
| 64 | − <g | |
| 65 | − id="g3257" | |
| 66 | − transform="matrix(1.9175,0,0,1.9175,-607.19,-179.09)" | |
| 67 | − style="fill:#696969"> | |
| 68 | − <path | |
| 69 | − id="path3224" | |
| 70 | − d="m 563.06,260.72 -1.25,0.16 -40.15,4.87 -1.66,0.22 0.38,1.62 c 3.78,16.93 -0.59,34.07 -2.88,51.57 l -0.22,1.84 1.81,-0.16 42,-3 1.25,-0.06 0.16,-1.25 c 2.13,-17.86 6.92,-36.12 0.94,-54.62 l -0.38,-1.19 z m -2.18,3.28 c 4.96,16.72 -1.56,33.17 -3.72,50.47 l -35.63,2.78 c 2.25,-16.14 7.03,-29.55 3.78,-46.19 L 560.88,264 z" | |
| 71 | − style="fill:#696969;fill-rule:evenodd" | |
| 72 | − inkscape:connector-curvature="0" /> | |
| 73 | − <path | |
| 74 | − id="path3237" | |
| 75 | − d="m 531.39,275.61 23.34,-4.6" | |
| 76 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 77 | − inkscape:connector-curvature="0" /> | |
| 78 | − <path | |
| 79 | − id="path3243" | |
| 80 | − d="m 532.1,280.91 22.27,-2.83" | |
| 81 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 82 | − inkscape:connector-curvature="0" /> | |
| 83 | − <path | |
| 84 | − id="path3247" | |
| 85 | − d="m 531.92,285.86 22.89,-1.95" | |
| 86 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 87 | − inkscape:connector-curvature="0" /> | |
| 88 | − <path | |
| 89 | − id="path3249" | |
| 90 | − d="m 530.15,292.84 24.22,-2.12" | |
| 91 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 92 | − inkscape:connector-curvature="0" /> | |
| 93 | − <path | |
| 94 | − id="path3251" | |
| 95 | − d="m 529.45,297.53 22.98,-0.8" | |
| 96 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 97 | − inkscape:connector-curvature="0" /> | |
| 98 | − <path | |
| 99 | − id="path3253" | |
| 100 | − d="m 528.65,304.24 22.45,-2.56" | |
| 101 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 102 | − inkscape:connector-curvature="0" /> | |
| 103 | − <path | |
| 104 | − id="path3255" | |
| 105 | − d="m 527.5,309.37 22.81,-1.77" | |
| 106 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 107 | − inkscape:connector-curvature="0" /> | |
| 108 | − </g> | |
| 109 | − </g> | |
| 110 | − <path | |
| 111 | − display="block" | |
| 112 | − d="m 22.50945,1041.7031 c 10.249979,14.5758 18.326744,5.8628 15.179173,-14.1826 l 3.401516,-0.2354 -8.04206,-17.0393 -2.800459,17.789 3.507825,-0.2428 c 2.535261,14.6877 0.402108,18.0407 -11.324416,13.7916 z" | |
| 113 | − style="color:#000000;fill:#a9a9a9;stroke:#000000;stroke-width:0.61923206;display:block" | |
| 114 | − id="path1432" | |
| 115 | − inkscape:connector-curvature="0" | |
| 116 | − sodipodi:nodetypes="cccccccc" /> | |
| 117 | − <rect | |
| 118 | − style="color:#000000;fill:#00ffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.42527184;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" | |
| 119 | − id="rect3032" | |
| 120 | − width="44.57473" | |
| 121 | − height="44.57473" | |
| 122 | − x="0.18852967" | |
| 123 | − y="1007.5989" /> | |
| 124 | − </g> | |
| 125 | −</svg> | |
| @@ -1,129 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | −<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
| 3 | − | |
| 4 | −<svg | |
| 5 | − xmlns:dc="http://purl.org/dc/elements/1.1/" | |
| 6 | − xmlns:cc="http://creativecommons.org/ns#" | |
| 7 | − xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
| 8 | − xmlns:svg="http://www.w3.org/2000/svg" | |
| 9 | − xmlns="http://www.w3.org/2000/svg" | |
| 10 | − xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
| 11 | − xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
| 12 | − width="45" | |
| 13 | − height="45" | |
| 14 | − id="svg3827" | |
| 15 | − version="1.1" | |
| 16 | − inkscape:version="0.48.1 r9760" | |
| 17 | − sodipodi:docname="new-script - Kopie (2).svg"> | |
| 18 | − <defs | |
| 19 | − id="defs3829" /> | |
| 20 | − <sodipodi:namedview | |
| 21 | − id="base" | |
| 22 | − pagecolor="#ffffff" | |
| 23 | − bordercolor="#666666" | |
| 24 | − borderopacity="1.0" | |
| 25 | − inkscape:pageopacity="0.0" | |
| 26 | − inkscape:pageshadow="2" | |
| 27 | − inkscape:zoom="5.6" | |
| 28 | − inkscape:cx="39.376692" | |
| 29 | − inkscape:cy="9.0006701" | |
| 30 | − inkscape:document-units="px" | |
| 31 | − inkscape:current-layer="layer1" | |
| 32 | − showgrid="false" | |
| 33 | − inkscape:window-width="1920" | |
| 34 | − inkscape:window-height="1028" | |
| 35 | − inkscape:window-x="-8" | |
| 36 | − inkscape:window-y="-8" | |
| 37 | − inkscape:window-maximized="1" /> | |
| 38 | − <metadata | |
| 39 | − id="metadata3832"> | |
| 40 | − <rdf:RDF> | |
| 41 | − <cc:Work | |
| 42 | − rdf:about=""> | |
| 43 | − <dc:format>image/svg+xml</dc:format> | |
| 44 | − <dc:type | |
| 45 | − rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
| 46 | − <dc:title /> | |
| 47 | − <dc:creator> | |
| 48 | − <cc:Agent> | |
| 49 | − <dc:title>T.Hofmeister</dc:title> | |
| 50 | − </cc:Agent> | |
| 51 | − </dc:creator> | |
| 52 | − </cc:Work> | |
| 53 | − </rdf:RDF> | |
| 54 | − </metadata> | |
| 55 | − <g | |
| 56 | − inkscape:label="Ebene 1" | |
| 57 | − inkscape:groupmode="layer" | |
| 58 | − id="layer1" | |
| 59 | − transform="translate(0,-1007.3622)"> | |
| 60 | − <rect | |
| 61 | − style="color:#000000;fill:#00ffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.42527184;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" | |
| 62 | − id="rect3032" | |
| 63 | − width="44.57473" | |
| 64 | − height="44.57473" | |
| 65 | − x="0.18852967" | |
| 66 | − y="1007.5989" /> | |
| 67 | − <g | |
| 68 | − id="layer1-7-7" | |
| 69 | − transform="matrix(-0.23943965,0,0,0.3096188,117.90945,912.00498)" | |
| 70 | − style="fill:#696969"> | |
| 71 | − <g | |
| 72 | − id="g3257-4" | |
| 73 | − transform="matrix(1.9175,0,0,1.9175,-607.19,-179.09)" | |
| 74 | − style="fill:#696969"> | |
| 75 | − <path | |
| 76 | − id="path3224-0" | |
| 77 | − d="m 563.06,260.72 -1.25,0.16 -40.15,4.87 -1.66,0.22 0.38,1.62 c 3.78,16.93 -0.59,34.07 -2.88,51.57 l -0.22,1.84 1.81,-0.16 42,-3 1.25,-0.06 0.16,-1.25 c 2.13,-17.86 6.92,-36.12 0.94,-54.62 l -0.38,-1.19 z m -2.18,3.28 c 4.96,16.72 -1.56,33.17 -3.72,50.47 l -35.63,2.78 c 2.25,-16.14 7.03,-29.55 3.78,-46.19 L 560.88,264 z" | |
| 78 | − style="fill:#696969;fill-rule:evenodd" | |
| 79 | − inkscape:connector-curvature="0" /> | |
| 80 | − <path | |
| 81 | − id="path3237-9" | |
| 82 | − d="m 531.39,275.61 23.34,-4.6" | |
| 83 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 84 | − inkscape:connector-curvature="0" /> | |
| 85 | − <path | |
| 86 | − id="path3243-4" | |
| 87 | − d="m 532.1,280.91 22.27,-2.83" | |
| 88 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 89 | − inkscape:connector-curvature="0" /> | |
| 90 | − <path | |
| 91 | − id="path3247-8" | |
| 92 | − d="m 531.92,285.86 22.89,-1.95" | |
| 93 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 94 | − inkscape:connector-curvature="0" /> | |
| 95 | − <path | |
| 96 | − id="path3249-8" | |
| 97 | − d="m 530.15,292.84 24.22,-2.12" | |
| 98 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 99 | − inkscape:connector-curvature="0" /> | |
| 100 | − <path | |
| 101 | − id="path3251-2" | |
| 102 | − d="m 529.45,297.53 22.98,-0.8" | |
| 103 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 104 | − inkscape:connector-curvature="0" /> | |
| 105 | − <path | |
| 106 | − id="path3253-4" | |
| 107 | − d="m 528.65,304.24 22.45,-2.56" | |
| 108 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 109 | − inkscape:connector-curvature="0" /> | |
| 110 | − <path | |
| 111 | − id="path3255-5" | |
| 112 | − d="m 527.5,309.37 22.81,-1.77" | |
| 113 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 114 | − inkscape:connector-curvature="0" /> | |
| 115 | − </g> | |
| 116 | − </g> | |
| 117 | − <g | |
| 118 | − id="layer1-1" | |
| 119 | − transform="matrix(0.85515704,0.72492349,-0.91920854,2.1402565,983.21735,-1213.0824)" | |
| 120 | − style="fill:#a9a9a9;stroke:#000000"> | |
| 121 | − <path | |
| 122 | − style="fill:#a9a9a9;fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" | |
| 123 | − id="path2996" | |
| 124 | − transform="translate(0,1036.3622)" | |
| 125 | − d="m 3.4723994,8.5185577 3.0304576,-7.0710678 6.944799,0 -5.0191957,5.08233 4.1353117,0 -8.1127873,9.0913731 2.0834396,-7.1342026 z" | |
| 126 | − inkscape:connector-curvature="0" /> | |
| 127 | − </g> | |
| 128 | − </g> | |
| 129 | −</svg> | |
| @@ -1,674 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | −<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
| 3 | − | |
| 4 | −<svg | |
| 5 | − xmlns:dc="http://purl.org/dc/elements/1.1/" | |
| 6 | − xmlns:cc="http://creativecommons.org/ns#" | |
| 7 | − xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
| 8 | − xmlns:svg="http://www.w3.org/2000/svg" | |
| 9 | − xmlns="http://www.w3.org/2000/svg" | |
| 10 | − xmlns:xlink="http://www.w3.org/1999/xlink" | |
| 11 | − xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
| 12 | − xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
| 13 | − width="45" | |
| 14 | − height="45" | |
| 15 | − id="svg3827" | |
| 16 | − version="1.1" | |
| 17 | − inkscape:version="0.48.1 r9760" | |
| 18 | − sodipodi:docname="load-script - Kopie.svg"> | |
| 19 | − <defs | |
| 20 | − id="defs3829"> | |
| 21 | − <linearGradient | |
| 22 | − x1="28.061" | |
| 23 | − x2="28.061" | |
| 24 | − y1="31.431" | |
| 25 | − gradientUnits="userSpaceOnUse" | |
| 26 | − y2="36.437" | |
| 27 | − id="linearGradient6971"> | |
| 28 | − <stop | |
| 29 | − offset="0" | |
| 30 | − stop-color="#ddd" | |
| 31 | − id="stop6967" /> | |
| 32 | − <stop | |
| 33 | − offset="1" | |
| 34 | − stop-color="#fdfdfd" | |
| 35 | − id="stop6969" /> | |
| 36 | − </linearGradient> | |
| 37 | − <linearGradient | |
| 38 | − x1="12.25" | |
| 39 | − x2="7" | |
| 40 | − y1="18.25" | |
| 41 | − gradientUnits="userSpaceOnUse" | |
| 42 | − y2="21.118" | |
| 43 | − id="linearGradient6931"> | |
| 44 | − <stop | |
| 45 | − offset="0" | |
| 46 | − stop-color="#204a87" | |
| 47 | − id="stop6927" /> | |
| 48 | − <stop | |
| 49 | − offset="1" | |
| 50 | − stop-opacity="0" | |
| 51 | − stop-color="#204a87" | |
| 52 | − id="stop6929" /> | |
| 53 | − </linearGradient> | |
| 54 | − <linearGradient | |
| 55 | − x1="14.752" | |
| 56 | − x2="8.8953" | |
| 57 | − y1="15.868" | |
| 58 | − gradientUnits="userSpaceOnUse" | |
| 59 | − y2="16.743" | |
| 60 | − id="linearGradient6907"> | |
| 61 | − <stop | |
| 62 | − offset="0" | |
| 63 | − stop-color="#3465a4" | |
| 64 | − id="stop6903" /> | |
| 65 | − <stop | |
| 66 | − offset="1" | |
| 67 | − stop-opacity="0" | |
| 68 | − stop-color="#3465a4" | |
| 69 | − id="stop6905" /> | |
| 70 | − </linearGradient> | |
| 71 | − <linearGradient | |
| 72 | − x1="33.431" | |
| 73 | − x2="21.748" | |
| 74 | − y1="31.965" | |
| 75 | − gradientUnits="userSpaceOnUse" | |
| 76 | − y2="11.781" | |
| 77 | − id="linearGradient2553"> | |
| 78 | − <stop | |
| 79 | − offset="0" | |
| 80 | − stop-color="#fff" | |
| 81 | − id="stop2557" /> | |
| 82 | − <stop | |
| 83 | − offset=".5" | |
| 84 | − stop-color="#e6e6e6" | |
| 85 | − id="stop2561" /> | |
| 86 | − <stop | |
| 87 | − offset=".75" | |
| 88 | − stop-color="#fff" | |
| 89 | − id="stop2563" /> | |
| 90 | − <stop | |
| 91 | − offset=".84167" | |
| 92 | − stop-color="#e1e1e1" | |
| 93 | − id="stop2565" /> | |
| 94 | − <stop | |
| 95 | − offset="1" | |
| 96 | − stop-color="#fff" | |
| 97 | − id="stop2559" /> | |
| 98 | − </linearGradient> | |
| 99 | − <linearGradient | |
| 100 | − y2="26.357" | |
| 101 | − y1="11.319" | |
| 102 | − gradientTransform="translate(0,5.125)" | |
| 103 | − x2="23.688" | |
| 104 | − gradientUnits="userSpaceOnUse" | |
| 105 | − x1="23.688" | |
| 106 | − id="linearGradient4272"> | |
| 107 | − <stop | |
| 108 | − offset="0" | |
| 109 | − stop-opacity=".2549" | |
| 110 | − stop-color="#fff" | |
| 111 | − id="stop4276" /> | |
| 112 | − <stop | |
| 113 | − offset="1" | |
| 114 | − stop-color="#fff" | |
| 115 | − id="stop4278" /> | |
| 116 | − </linearGradient> | |
| 117 | − <linearGradient | |
| 118 | − y2="47.621" | |
| 119 | − y1="4.4331" | |
| 120 | − gradientTransform="translate(0,5.125)" | |
| 121 | − x2="44.096" | |
| 122 | − gradientUnits="userSpaceOnUse" | |
| 123 | − x1="12.378" | |
| 124 | − id="linearGradient4260"> | |
| 125 | − <stop | |
| 126 | − offset="0" | |
| 127 | − stop-color="#fff" | |
| 128 | − id="stop4256" /> | |
| 129 | − <stop | |
| 130 | − offset="1" | |
| 131 | − stop-opacity="0" | |
| 132 | − stop-color="#fff" | |
| 133 | − id="stop4258" /> | |
| 134 | − </linearGradient> | |
| 135 | − <radialGradient | |
| 136 | − r="20.936" | |
| 137 | − gradientTransform="matrix(1.2862,0.7817,-0.71078,1.1696,-2.3543,0.24814)" | |
| 138 | − cx="15.571" | |
| 139 | − cy="2.9585" | |
| 140 | − gradientUnits="userSpaceOnUse" | |
| 141 | − id="radialGradient4250"> | |
| 142 | − <stop | |
| 143 | − offset="0" | |
| 144 | − stop-color="#e4e4e4" | |
| 145 | − id="stop4246" /> | |
| 146 | − <stop | |
| 147 | − offset="1" | |
| 148 | − stop-color="#d3d3d3" | |
| 149 | − id="stop4248" /> | |
| 150 | − </radialGradient> | |
| 151 | − <linearGradient | |
| 152 | − y2="33.759" | |
| 153 | − y1="37.206" | |
| 154 | − gradientTransform="translate(0,5.125)" | |
| 155 | − x2="12.222" | |
| 156 | − gradientUnits="userSpaceOnUse" | |
| 157 | − x1="12.277" | |
| 158 | − id="linearGradient4242"> | |
| 159 | − <stop | |
| 160 | − offset="0" | |
| 161 | − stop-color="#eee" | |
| 162 | − id="stop4238" /> | |
| 163 | − <stop | |
| 164 | − offset="1" | |
| 165 | − stop-opacity="0" | |
| 166 | − stop-color="#eee" | |
| 167 | − id="stop4240" /> | |
| 168 | − </linearGradient> | |
| 169 | − <linearGradient | |
| 170 | − y2="40.944" | |
| 171 | − y1="28.481" | |
| 172 | − gradientTransform="translate(0,5.125)" | |
| 173 | − x2="36.183" | |
| 174 | − gradientUnits="userSpaceOnUse" | |
| 175 | − x1="7.6046" | |
| 176 | − id="linearGradient4234"> | |
| 177 | − <stop | |
| 178 | − offset="0" | |
| 179 | − stop-color="#bbb" | |
| 180 | − id="stop4230" /> | |
| 181 | − <stop | |
| 182 | − offset="1" | |
| 183 | − stop-color="#9f9f9f" | |
| 184 | − id="stop4232" /> | |
| 185 | − </linearGradient> | |
| 186 | − <linearGradient | |
| 187 | − y2="35.281" | |
| 188 | − y1="35.281" | |
| 189 | − gradientTransform="translate(0.79549,3.7992)" | |
| 190 | − x2="24.688" | |
| 191 | − gradientUnits="userSpaceOnUse" | |
| 192 | − x1="7.0625" | |
| 193 | − id="linearGradient4209"> | |
| 194 | − <stop | |
| 195 | − offset="0" | |
| 196 | − stop-color="#838383" | |
| 197 | − id="stop4186" /> | |
| 198 | − <stop | |
| 199 | − offset="1" | |
| 200 | − stop-opacity="0" | |
| 201 | − stop-color="#bbb" | |
| 202 | − id="stop4188" /> | |
| 203 | − </linearGradient> | |
| 204 | − <radialGradient | |
| 205 | − r="15.645" | |
| 206 | − gradientTransform="matrix(1,0,0,0.53672,0,16.873)" | |
| 207 | − cx="24.837" | |
| 208 | − cy="36.421" | |
| 209 | − gradientUnits="userSpaceOnUse" | |
| 210 | − id="radialGradient8668"> | |
| 211 | − <stop | |
| 212 | − offset="0" | |
| 213 | − id="stop8664" /> | |
| 214 | − <stop | |
| 215 | − offset="1" | |
| 216 | − stop-opacity="0" | |
| 217 | − id="stop8666" /> | |
| 218 | − </radialGradient> | |
| 219 | − <linearGradient | |
| 220 | − y2="12.584" | |
| 221 | − x2="12.624" | |
| 222 | − gradientTransform="matrix(0.91411,0,0,0.91411,-3.8687,-2.7069)" | |
| 223 | − y1="27.394" | |
| 224 | − gradientUnits="userSpaceOnUse" | |
| 225 | − x1="33.06" | |
| 226 | − id="linearGradient1764"> | |
| 227 | − <stop | |
| 228 | − offset="0" | |
| 229 | − stop-color="#fff" | |
| 230 | − id="stop2189" /> | |
| 231 | − <stop | |
| 232 | − offset="1" | |
| 233 | − stop-opacity="0" | |
| 234 | − stop-color="#fff" | |
| 235 | − id="stop2191" /> | |
| 236 | − </linearGradient> | |
| 237 | − <radialGradient | |
| 238 | − r="19.062" | |
| 239 | − gradientTransform="matrix(-1.3145,-0.010063,-0.01023,1.3362,46.221,-4.9099)" | |
| 240 | − cx="23.447" | |
| 241 | − cy="6.4577" | |
| 242 | − gradientUnits="userSpaceOnUse" | |
| 243 | − id="radialGradient4997"> | |
| 244 | − <stop | |
| 245 | − offset="0" | |
| 246 | − stop-color="#fff" | |
| 247 | − id="stop4993" /> | |
| 248 | − <stop | |
| 249 | − offset="1" | |
| 250 | − stop-opacity="0" | |
| 251 | − stop-color="#fff" | |
| 252 | − id="stop4995" /> | |
| 253 | − </radialGradient> | |
| 254 | − <linearGradient | |
| 255 | − y2="609.51" | |
| 256 | − x2="302.86" | |
| 257 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1892.2,-872.89)" | |
| 258 | − y1="366.65" | |
| 259 | − gradientUnits="userSpaceOnUse" | |
| 260 | − x1="302.86" | |
| 261 | − id="linearGradient5027"> | |
| 262 | − <stop | |
| 263 | − offset="0" | |
| 264 | − stop-opacity="0" | |
| 265 | − id="stop5050" /> | |
| 266 | − <stop | |
| 267 | − offset=".5" | |
| 268 | − id="stop5056" /> | |
| 269 | − <stop | |
| 270 | − offset="1" | |
| 271 | − stop-opacity="0" | |
| 272 | − id="stop5052" /> | |
| 273 | − </linearGradient> | |
| 274 | − <radialGradient | |
| 275 | − r="117.14" | |
| 276 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1891.6,-872.89)" | |
| 277 | − cx="605.71" | |
| 278 | − cy="486.65" | |
| 279 | − gradientUnits="userSpaceOnUse" | |
| 280 | − xlink:href="#linearGradient5060" | |
| 281 | − id="radialGradient5029" /> | |
| 282 | − <linearGradient | |
| 283 | − id="linearGradient5060"> | |
| 284 | − <stop | |
| 285 | − offset="0" | |
| 286 | − id="stop5062" /> | |
| 287 | − <stop | |
| 288 | − offset="1" | |
| 289 | − stop-opacity="0" | |
| 290 | − id="stop5064" /> | |
| 291 | − </linearGradient> | |
| 292 | − <radialGradient | |
| 293 | − r="117.14" | |
| 294 | − gradientTransform="matrix(-2.7744,0,0,1.9697,112.76,-872.89)" | |
| 295 | − cx="605.71" | |
| 296 | − cy="486.65" | |
| 297 | − gradientUnits="userSpaceOnUse" | |
| 298 | − xlink:href="#linearGradient5060" | |
| 299 | − id="radialGradient5031" /> | |
| 300 | − <linearGradient | |
| 301 | − inkscape:collect="always" | |
| 302 | − xlink:href="#linearGradient6971" | |
| 303 | − id="linearGradient3239" | |
| 304 | − gradientUnits="userSpaceOnUse" | |
| 305 | − x1="28.061" | |
| 306 | − y1="31.431" | |
| 307 | − x2="28.061" | |
| 308 | − y2="36.437" | |
| 309 | − gradientTransform="translate(51.972416,1005.3761)" /> | |
| 310 | − <radialGradient | |
| 311 | − inkscape:collect="always" | |
| 312 | − xlink:href="#radialGradient8668" | |
| 313 | − id="radialGradient3253" | |
| 314 | − gradientUnits="userSpaceOnUse" | |
| 315 | − gradientTransform="matrix(1.1302,0,0,-0.40769251,48.062716,1046.2254)" | |
| 316 | − cx="24.837" | |
| 317 | − cy="36.421" | |
| 318 | − r="15.645" /> | |
| 319 | − <linearGradient | |
| 320 | − inkscape:collect="always" | |
| 321 | − xlink:href="#linearGradient5027" | |
| 322 | − id="linearGradient3361" | |
| 323 | − gradientUnits="userSpaceOnUse" | |
| 324 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1892.2,-872.89)" | |
| 325 | − x1="302.86" | |
| 326 | − y1="366.65" | |
| 327 | − x2="302.86" | |
| 328 | − y2="609.51" /> | |
| 329 | − <radialGradient | |
| 330 | − inkscape:collect="always" | |
| 331 | − xlink:href="#linearGradient5060" | |
| 332 | − id="radialGradient3363" | |
| 333 | − gradientUnits="userSpaceOnUse" | |
| 334 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1891.6,-872.89)" | |
| 335 | − cx="605.71" | |
| 336 | − cy="486.65" | |
| 337 | − r="117.14" /> | |
| 338 | − <radialGradient | |
| 339 | − inkscape:collect="always" | |
| 340 | − xlink:href="#linearGradient5060" | |
| 341 | − id="radialGradient3365" | |
| 342 | − gradientUnits="userSpaceOnUse" | |
| 343 | − gradientTransform="matrix(-2.7744,0,0,1.9697,112.76,-872.89)" | |
| 344 | − cx="605.71" | |
| 345 | − cy="486.65" | |
| 346 | − r="117.14" /> | |
| 347 | − <linearGradient | |
| 348 | − inkscape:collect="always" | |
| 349 | − xlink:href="#linearGradient4234" | |
| 350 | − id="linearGradient3367" | |
| 351 | − gradientUnits="userSpaceOnUse" | |
| 352 | − gradientTransform="translate(0,5.125)" | |
| 353 | − x1="7.6046" | |
| 354 | − y1="28.481" | |
| 355 | − x2="36.183" | |
| 356 | − y2="40.944" /> | |
| 357 | − <radialGradient | |
| 358 | − inkscape:collect="always" | |
| 359 | − xlink:href="#radialGradient4250" | |
| 360 | − id="radialGradient3369" | |
| 361 | − gradientUnits="userSpaceOnUse" | |
| 362 | − gradientTransform="matrix(1.2862,0.7817,-0.71078,1.1696,-2.3543,0.24814)" | |
| 363 | − cx="15.571" | |
| 364 | − cy="2.9585" | |
| 365 | − r="20.936" /> | |
| 366 | − <linearGradient | |
| 367 | − inkscape:collect="always" | |
| 368 | − xlink:href="#linearGradient4209" | |
| 369 | − id="linearGradient3371" | |
| 370 | − gradientUnits="userSpaceOnUse" | |
| 371 | − gradientTransform="translate(0.79549,3.7992)" | |
| 372 | − x1="7.0625" | |
| 373 | − y1="35.281" | |
| 374 | − x2="24.688" | |
| 375 | − y2="35.281" /> | |
| 376 | − <linearGradient | |
| 377 | − inkscape:collect="always" | |
| 378 | − xlink:href="#linearGradient4242" | |
| 379 | − id="linearGradient3373" | |
| 380 | − gradientUnits="userSpaceOnUse" | |
| 381 | − gradientTransform="translate(0,5.125)" | |
| 382 | − x1="12.277" | |
| 383 | − y1="37.206" | |
| 384 | − x2="12.222" | |
| 385 | − y2="33.759" /> | |
| 386 | − <linearGradient | |
| 387 | − inkscape:collect="always" | |
| 388 | − xlink:href="#linearGradient4272" | |
| 389 | − id="linearGradient3375" | |
| 390 | − gradientUnits="userSpaceOnUse" | |
| 391 | − gradientTransform="translate(0,5.125)" | |
| 392 | − x1="23.688" | |
| 393 | − y1="11.319" | |
| 394 | − x2="23.688" | |
| 395 | − y2="26.357" /> | |
| 396 | − <linearGradient | |
| 397 | − inkscape:collect="always" | |
| 398 | − xlink:href="#linearGradient4260" | |
| 399 | − id="linearGradient3377" | |
| 400 | − gradientUnits="userSpaceOnUse" | |
| 401 | − gradientTransform="translate(0,5.125)" | |
| 402 | − x1="12.378" | |
| 403 | − y1="4.4331" | |
| 404 | − x2="44.096" | |
| 405 | − y2="47.621" /> | |
| 406 | − <linearGradient | |
| 407 | − inkscape:collect="always" | |
| 408 | − xlink:href="#linearGradient2553" | |
| 409 | − id="linearGradient3379" | |
| 410 | − gradientUnits="userSpaceOnUse" | |
| 411 | − x1="33.431" | |
| 412 | − y1="31.965" | |
| 413 | − x2="21.748" | |
| 414 | − y2="11.781" /> | |
| 415 | − <radialGradient | |
| 416 | − inkscape:collect="always" | |
| 417 | − xlink:href="#radialGradient8668" | |
| 418 | − id="radialGradient3381" | |
| 419 | − gradientUnits="userSpaceOnUse" | |
| 420 | − gradientTransform="matrix(1.1302,0,0,-0.40769251,48.062716,1046.2254)" | |
| 421 | − cx="24.837" | |
| 422 | − cy="36.421" | |
| 423 | − r="15.645" /> | |
| 424 | − <linearGradient | |
| 425 | − inkscape:collect="always" | |
| 426 | − xlink:href="#linearGradient6971" | |
| 427 | − id="linearGradient3383" | |
| 428 | − gradientUnits="userSpaceOnUse" | |
| 429 | − gradientTransform="translate(51.972416,1005.3761)" | |
| 430 | − x1="28.061" | |
| 431 | − y1="31.431" | |
| 432 | − x2="28.061" | |
| 433 | − y2="36.437" /> | |
| 434 | − </defs> | |
| 435 | − <sodipodi:namedview | |
| 436 | − id="base" | |
| 437 | − pagecolor="#ffffff" | |
| 438 | − bordercolor="#666666" | |
| 439 | − borderopacity="1.0" | |
| 440 | − inkscape:pageopacity="0.0" | |
| 441 | − inkscape:pageshadow="2" | |
| 442 | − inkscape:zoom="5.6" | |
| 443 | − inkscape:cx="113.76169" | |
| 444 | − inkscape:cy="-12.107928" | |
| 445 | − inkscape:document-units="px" | |
| 446 | − inkscape:current-layer="layer1" | |
| 447 | − showgrid="false" | |
| 448 | − inkscape:window-width="1920" | |
| 449 | − inkscape:window-height="1028" | |
| 450 | − inkscape:window-x="-8" | |
| 451 | − inkscape:window-y="-8" | |
| 452 | − inkscape:window-maximized="1" /> | |
| 453 | − <metadata | |
| 454 | − id="metadata3832"> | |
| 455 | − <rdf:RDF> | |
| 456 | − <cc:Work | |
| 457 | − rdf:about=""> | |
| 458 | − <dc:format>image/svg+xml</dc:format> | |
| 459 | − <dc:type | |
| 460 | − rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
| 461 | − <dc:title></dc:title> | |
| 462 | − <dc:creator> | |
| 463 | − <cc:Agent> | |
| 464 | − <dc:title>T.Hofmeister</dc:title> | |
| 465 | − </cc:Agent> | |
| 466 | − </dc:creator> | |
| 467 | − </cc:Work> | |
| 468 | − </rdf:RDF> | |
| 469 | − </metadata> | |
| 470 | − <g | |
| 471 | − inkscape:label="Ebene 1" | |
| 472 | − inkscape:groupmode="layer" | |
| 473 | − id="layer1" | |
| 474 | − transform="translate(0,-1007.3622)"> | |
| 475 | − <g | |
| 476 | − id="g3385"> | |
| 477 | − <g | |
| 478 | − transform="matrix(0.87964671,0,0,1,-44.027424,-2)" | |
| 479 | − id="g3255"> | |
| 480 | − <g | |
| 481 | − id="layer2" | |
| 482 | − transform="translate(51.972416,1005.3761)"> | |
| 483 | − <g | |
| 484 | − id="g5022" | |
| 485 | − transform="matrix(0.024114,0,0,0.019292,45.49,41.752)"> | |
| 486 | − <rect | |
| 487 | − id="rect4173" | |
| 488 | − style="opacity:0.40206;color:#000000;fill:url(#linearGradient3361)" | |
| 489 | − height="478.35999" | |
| 490 | − width="1339.6" | |
| 491 | − y="-150.7" | |
| 492 | − x="-1559.3" /> | |
| 493 | − <path | |
| 494 | − inkscape:connector-curvature="0" | |
| 495 | − id="path5058" | |
| 496 | − style="opacity:0.40206;color:#000000;fill:url(#radialGradient3363)" | |
| 497 | − d="m -219.62,-150.68 v 478.33 c 142.88,0.9 345.4,-107.17 345.4,-239.2 0,-132.02 -159.44,-239.13 -345.4,-239.13 z" /> | |
| 498 | − <path | |
| 499 | − inkscape:connector-curvature="0" | |
| 500 | − id="path5018" | |
| 501 | − style="opacity:0.40206;color:#000000;fill:url(#radialGradient3365)" | |
| 502 | − d="m -1559.3,-150.68 v 478.33 c -142.8,0.9 -345.4,-107.17 -345.4,-239.2 0,-132.02 159.5,-239.13 345.4,-239.13 z" /> | |
| 503 | − </g> | |
| 504 | − <path | |
| 505 | − style="fill:none;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" | |
| 506 | − inkscape:connector-curvature="0" | |
| 507 | − id="path4196" | |
| 508 | − d="m 11.286,13.088 c -0.625,0 -1.032,0.29 -1.282,0.843 L 3.5357,31.035 c 0,0 -0.25,0.671 -0.25,1.781 v 9.65 c 0,1.083 0.6578,1.625 1.6562,1.625 h 38.562 c 0.985,0 1.594,-0.718 1.594,-1.844 v -9.65 c 0,0 0.106,-0.77 -0.094,-1.312 l -6.718,-17.197 c -0.185,-0.512 -0.637,-0.988 -1.125,-1 h -25.875 z" /> | |
| 509 | − <path | |
| 510 | − style="fill:url(#linearGradient3367);fill-rule:evenodd" | |
| 511 | − inkscape:connector-curvature="0" | |
| 512 | − id="path4170" | |
| 513 | − d="m 3.2736,32.122 0.7646,-0.692 37.61,0.062 3.462,0.317 v 10.439 c 0,1.125 -0.607,1.843 -1.592,1.843 H 4.9352 c -0.998,0 -1.6614,-0.542 -1.6614,-1.624 V 32.122 z" /> | |
| 514 | − <path | |
| 515 | − style="fill:url(#radialGradient3369);fill-rule:evenodd" | |
| 516 | − inkscape:connector-curvature="0" | |
| 517 | − id="path3093" | |
| 518 | − d="m 3.5491,31.039 c -0.7143,1.465 -6e-4,2.393 1.0357,2.393 h 39 c 1.119,-0.024 1.845,-1.012 1.428,-2.143 l -6.714,-17.21 c -0.184,-0.512 -0.655,-0.988 -1.143,-1 h -25.857 c -0.625,0 -1.036,0.303 -1.286,0.857 L 3.5489,31.039 z" /> | |
| 519 | − <rect | |
| 520 | − id="rect4174" | |
| 521 | − style="color:#000000;fill:url(#linearGradient3371);fill-rule:evenodd" | |
| 522 | − height="5.5625" | |
| 523 | − width="17.625" | |
| 524 | − y="36.299" | |
| 525 | − x="7.8579998" /> | |
| 526 | − <path | |
| 527 | − style="opacity:0.81142997;fill:url(#linearGradient3373);fill-rule:evenodd" | |
| 528 | − inkscape:connector-curvature="0" | |
| 529 | − id="path4194" | |
| 530 | − d="M 7.858,41.862 V 37.85 c 1.8355,3.179 8.296,4.012 12.937,4.012 H 7.858 z" /> | |
| 531 | − <path | |
| 532 | − style="fill:#ffffff;fill-rule:evenodd" | |
| 533 | − inkscape:connector-curvature="0" | |
| 534 | − id="path4201" | |
| 535 | − d="m 44.796,30.754 c 0.064,1.25 -0.414,2.316 -1.322,2.343 H 5.355 c -1.2889,0 -1.8674,-0.325 -2.0837,-0.868 0.0917,0.945 0.8258,1.65 2.084,1.65 h 38.119 c 1.076,-0.033 1.753,-1.424 1.352,-2.995 l -0.03,-0.13 z" /> | |
| 536 | − <path | |
| 537 | − inkscape:connector-curvature="0" | |
| 538 | − id="path4211" | |
| 539 | − style="opacity:0.69142995;color:#000000;fill:url(#linearGradient3375);fill-rule:evenodd" | |
| 540 | − d="m 10.969,15.281 c -0.046,0.201 -0.188,0.387 -0.188,0.594 0,0.949 0.591,1.789 1.344,2.594 0.24,-0.154 0.365,-0.355 0.625,-0.5 -0.94,-0.816 -1.553,-1.717 -1.781,-2.688 z m 26.656,0 c -0.229,0.97 -0.842,1.873 -1.781,2.688 0.274,0.153 0.404,0.368 0.656,0.531 0.757,-0.807 1.312,-1.673 1.312,-2.625 0,-0.207 -0.141,-0.393 -0.187,-0.594 z m 2.187,8.438 c -0.613,4.04 -7.298,7.25 -15.531,7.25 -8.212,0 -14.86,-3.193 -15.5,-7.219 -0.0321,0.197 -0.1248,0.392 -0.1248,0.594 10e-5,4.318 6.9888,7.844 15.625,7.844 8.636,0 15.656,-3.526 15.657,-7.844 0,-0.213 -0.09,-0.418 -0.126,-0.625 z" /> | |
| 541 | − <path | |
| 542 | − inkscape:connector-curvature="0" | |
| 543 | − id="path4224" | |
| 544 | − style="color:#000000;fill:#ffffff;fill-opacity:0.45762999;fill-rule:evenodd" | |
| 545 | − d="m 8.5737,25.594 a 1.37005,1.0165371 0 1 1 -2.7401,0 1.37005,1.0165371 0 1 1 2.7401,0 z" | |
| 546 | − transform="translate(0.088388,5.3018)" /> | |
| 547 | − <path | |
| 548 | − inkscape:connector-curvature="0" | |
| 549 | − id="path4226" | |
| 550 | − style="color:#000000;fill:#ffffff;fill-opacity:0.45762999;fill-rule:evenodd" | |
| 551 | − d="m 8.5737,25.594 a 1.37005,1.0165371 0 1 1 -2.7401,0 1.37005,1.0165371 0 1 1 2.7401,0 z" | |
| 552 | − transform="translate(33.967,5.2134)" /> | |
| 553 | − <path | |
| 554 | − style="fill:none;stroke:url(#linearGradient3377);stroke-linecap:round;stroke-linejoin:round" | |
| 555 | − inkscape:connector-curvature="0" | |
| 556 | − id="path4252" | |
| 557 | − d="m 11.643,13.541 c -0.602,0 -0.993,0.279 -1.234,0.812 L 3.994,30.944 c 0,0 -0.2406,0.646 -0.2406,1.715 v 9.29 c 0,1.354 0.444,1.627 1.5944,1.627 h 37.687 c 1.323,0 1.534,-0.317 1.534,-1.838 v -9.29 c 0,0 0.102,-0.742 -0.09,-1.264 l -6.593,-16.806 c -0.178,-0.492 -0.551,-0.826 -1.021,-0.837 h -25.222 z" /> | |
| 558 | − <path | |
| 559 | − style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:square;stroke-opacity:0.42372999" | |
| 560 | − inkscape:connector-curvature="0" | |
| 561 | − id="path4282" | |
| 562 | − d="m 40.5,36.554 v 5.021" /> | |
| 563 | − <path | |
| 564 | − style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:square;stroke-opacity:0.42372999" | |
| 565 | − inkscape:connector-curvature="0" | |
| 566 | − id="path4284" | |
| 567 | − d="m 38.5,36.614 v 5.021" /> | |
| 568 | − <path | |
| 569 | − style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:square;stroke-opacity:0.42372999" | |
| 570 | − inkscape:connector-curvature="0" | |
| 571 | − id="path4286" | |
| 572 | − d="m 36.5,36.614 v 5.021" /> | |
| 573 | − <path | |
| 574 | − style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:square;stroke-opacity:0.42372999" | |
| 575 | − inkscape:connector-curvature="0" | |
| 576 | − id="path4288" | |
| 577 | − d="m 34.5,36.614 v 5.021" /> | |
| 578 | − <path | |
| 579 | − style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:square;stroke-opacity:0.42372999" | |
| 580 | − inkscape:connector-curvature="0" | |
| 581 | − id="path4290" | |
| 582 | − d="m 32.5,36.614 v 5.021" /> | |
| 583 | − <path | |
| 584 | − style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:square;stroke-opacity:0.42372999" | |
| 585 | − inkscape:connector-curvature="0" | |
| 586 | − id="path4292" | |
| 587 | − d="m 30.5,36.614 v 5.021" /> | |
| 588 | − <path | |
| 589 | − style="opacity:0.09714302;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square" | |
| 590 | − inkscape:connector-curvature="0" | |
| 591 | − id="path4294" | |
| 592 | − d="m 39.5,36.604 v 5.021" /> | |
| 593 | − <path | |
| 594 | − style="opacity:0.09714302;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square" | |
| 595 | − inkscape:connector-curvature="0" | |
| 596 | − id="path4296" | |
| 597 | − d="m 37.5,36.664 v 5.021" /> | |
| 598 | − <path | |
| 599 | − style="opacity:0.09714302;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square" | |
| 600 | − inkscape:connector-curvature="0" | |
| 601 | − id="path4298" | |
| 602 | − d="m 35.5,36.664 v 5.021" /> | |
| 603 | − <path | |
| 604 | − style="opacity:0.09714302;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square" | |
| 605 | − inkscape:connector-curvature="0" | |
| 606 | − id="path4300" | |
| 607 | − d="m 33.5,36.664 v 5.021" /> | |
| 608 | − <path | |
| 609 | − style="opacity:0.09714302;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square" | |
| 610 | − inkscape:connector-curvature="0" | |
| 611 | − id="path4302" | |
| 612 | − d="m 31.5,36.664 v 5.021" /> | |
| 613 | − <path | |
| 614 | − style="opacity:0.43999999;fill:#ffffff;fill-rule:evenodd" | |
| 615 | − inkscape:connector-curvature="0" | |
| 616 | − id="path4572" | |
| 617 | − d="m 7.875,36.312 v 5.532 H 20.438 L 8.219,41.5 7.875,36.312 z" /> | |
| 618 | − <path | |
| 619 | − inkscape:connector-curvature="0" | |
| 620 | − id="path2545" | |
| 621 | − style="opacity:0.20571002;color:#000000;fill:url(#linearGradient3379);fill-rule:evenodd" | |
| 622 | − d="m 39.875,19.562 a 14.875,6.6875 0 1 1 -29.75,0 14.875,6.6875 0 1 1 29.75,0 z" | |
| 623 | − transform="matrix(1.0378,0,0,1.0607,-1.6329,3.0304)" /> | |
| 624 | − </g> | |
| 625 | − <path | |
| 626 | − d="m 93.815472,1031.3767 a 17.681979,6.3782852 0 1 0 -35.363958,0 17.681979,6.3782852 0 1 0 35.363958,0 z" | |
| 627 | − style="opacity:0.14118;color:#000000;fill:url(#radialGradient3381);fill-rule:evenodd" | |
| 628 | − id="path8660" | |
| 629 | − inkscape:connector-curvature="0" /> | |
| 630 | − <rect | |
| 631 | − x="56.535915" | |
| 632 | − y="1035.6741" | |
| 633 | − width="39.248001" | |
| 634 | − height="12.278" | |
| 635 | − ry="1.625" | |
| 636 | − rx="1.625" | |
| 637 | − display="block" | |
| 638 | − style="color:#000000;fill:url(#linearGradient3383);stroke:#7d7d7d;stroke-linecap:round;display:block" | |
| 639 | − id="rect6951" /> | |
| 640 | − <rect | |
| 641 | − x="58.972416" | |
| 642 | − y="1038.3761" | |
| 643 | − width="16" | |
| 644 | − height="7" | |
| 645 | − ry="0" | |
| 646 | − display="block" | |
| 647 | − style="opacity:0.59658999;color:#000000;fill:#7d7d7d;display:block" | |
| 648 | − id="rect6953" /> | |
| 649 | − <rect | |
| 650 | − display="block" | |
| 651 | − height="9" | |
| 652 | − x="75.97242" | |
| 653 | − y="1037.3761" | |
| 654 | − width="1" | |
| 655 | − style="color:#000000;display:block" | |
| 656 | − id="rect6957" /> | |
| 657 | − </g> | |
| 658 | − <path | |
| 659 | − sodipodi:nodetypes="cccccccc" | |
| 660 | − inkscape:connector-curvature="0" | |
| 661 | − id="path1432" | |
| 662 | − style="color:#000000;fill:#a9a9a9;stroke:#000000;stroke-width:0.48586071;display:block" | |
| 663 | − d="m 6.087091,1019.0168 c -2.4783484,-13.3382 7.140839,-12.9964 16.821938,-0.5354 l 2.083662,-1.7011 5.154697,13.4755 -11.796108,-8.0529 2.148807,-1.7542 c -6.962373,-9.2534 -10.105498,-9.9089 -14.389461,-1.3256 z" | |
| 664 | − display="block" /> | |
| 665 | − <rect | |
| 666 | − y="1007.8514" | |
| 667 | − x="0.20883489" | |
| 668 | − height="44.57473" | |
| 669 | − width="44.57473" | |
| 670 | − id="rect3032" | |
| 671 | − style="color:#000000;fill:#00ffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.42527184;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> | |
| 672 | − </g> | |
| 673 | − </g> | |
| 674 | −</svg> | |
| @@ -1,550 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | −<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
| 3 | − | |
| 4 | −<svg | |
| 5 | − xmlns:dc="http://purl.org/dc/elements/1.1/" | |
| 6 | − xmlns:cc="http://creativecommons.org/ns#" | |
| 7 | − xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
| 8 | − xmlns:svg="http://www.w3.org/2000/svg" | |
| 9 | − xmlns="http://www.w3.org/2000/svg" | |
| 10 | − xmlns:xlink="http://www.w3.org/1999/xlink" | |
| 11 | − xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
| 12 | − xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
| 13 | − width="45" | |
| 14 | − height="45" | |
| 15 | − id="svg3827" | |
| 16 | − version="1.1" | |
| 17 | − inkscape:version="0.48.3.1 r9886" | |
| 18 | − sodipodi:docname="start-script.svg"> | |
| 19 | − <defs | |
| 20 | − id="defs3829"> | |
| 21 | − <radialGradient | |
| 22 | − r="15.645" | |
| 23 | − cy="36.421" | |
| 24 | − cx="24.837" | |
| 25 | − gradientTransform="matrix(1.1302,0,0,-0.40769251,48.062716,1046.2254)" | |
| 26 | − gradientUnits="userSpaceOnUse" | |
| 27 | − id="radialGradient3253" | |
| 28 | − xlink:href="#radialGradient8668" | |
| 29 | − inkscape:collect="always" /> | |
| 30 | − <linearGradient | |
| 31 | − gradientTransform="translate(51.972416,1005.3761)" | |
| 32 | − y2="36.437" | |
| 33 | − x2="28.061" | |
| 34 | − y1="31.431" | |
| 35 | − x1="28.061" | |
| 36 | − gradientUnits="userSpaceOnUse" | |
| 37 | − id="linearGradient3239" | |
| 38 | − xlink:href="#linearGradient6971" | |
| 39 | − inkscape:collect="always" /> | |
| 40 | − <radialGradient | |
| 41 | − id="radialGradient5031" | |
| 42 | − xlink:href="#linearGradient5060" | |
| 43 | − gradientUnits="userSpaceOnUse" | |
| 44 | − cy="486.65" | |
| 45 | − cx="605.71" | |
| 46 | − gradientTransform="matrix(-2.7744,0,0,1.9697,112.76,-872.89)" | |
| 47 | − r="117.14" /> | |
| 48 | − <linearGradient | |
| 49 | − id="linearGradient5060"> | |
| 50 | − <stop | |
| 51 | − id="stop5062" | |
| 52 | − offset="0" /> | |
| 53 | − <stop | |
| 54 | − id="stop5064" | |
| 55 | − stop-opacity="0" | |
| 56 | − offset="1" /> | |
| 57 | − </linearGradient> | |
| 58 | − <radialGradient | |
| 59 | − id="radialGradient5029" | |
| 60 | − xlink:href="#linearGradient5060" | |
| 61 | − gradientUnits="userSpaceOnUse" | |
| 62 | − cy="486.65" | |
| 63 | − cx="605.71" | |
| 64 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1891.6,-872.89)" | |
| 65 | − r="117.14" /> | |
| 66 | − <linearGradient | |
| 67 | − id="linearGradient5027" | |
| 68 | − x1="302.86" | |
| 69 | − gradientUnits="userSpaceOnUse" | |
| 70 | − y1="366.65" | |
| 71 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1892.2,-872.89)" | |
| 72 | − x2="302.86" | |
| 73 | − y2="609.51"> | |
| 74 | − <stop | |
| 75 | − id="stop5050" | |
| 76 | − stop-opacity="0" | |
| 77 | − offset="0" /> | |
| 78 | − <stop | |
| 79 | − id="stop5056" | |
| 80 | − offset=".5" /> | |
| 81 | − <stop | |
| 82 | − id="stop5052" | |
| 83 | − stop-opacity="0" | |
| 84 | − offset="1" /> | |
| 85 | − </linearGradient> | |
| 86 | − <radialGradient | |
| 87 | − id="radialGradient4997" | |
| 88 | − gradientUnits="userSpaceOnUse" | |
| 89 | − cy="6.4577" | |
| 90 | − cx="23.447" | |
| 91 | − gradientTransform="matrix(-1.3145,-0.010063,-0.01023,1.3362,46.221,-4.9099)" | |
| 92 | − r="19.062"> | |
| 93 | − <stop | |
| 94 | − id="stop4993" | |
| 95 | − stop-color="#fff" | |
| 96 | − offset="0" /> | |
| 97 | − <stop | |
| 98 | − id="stop4995" | |
| 99 | − stop-color="#fff" | |
| 100 | − stop-opacity="0" | |
| 101 | − offset="1" /> | |
| 102 | − </radialGradient> | |
| 103 | − <linearGradient | |
| 104 | − id="linearGradient1764" | |
| 105 | − x1="33.06" | |
| 106 | − gradientUnits="userSpaceOnUse" | |
| 107 | − y1="27.394" | |
| 108 | − gradientTransform="matrix(0.91411,0,0,0.91411,-3.8687,-2.7069)" | |
| 109 | − x2="12.624" | |
| 110 | − y2="12.584"> | |
| 111 | − <stop | |
| 112 | − id="stop2189" | |
| 113 | − stop-color="#fff" | |
| 114 | − offset="0" /> | |
| 115 | − <stop | |
| 116 | − id="stop2191" | |
| 117 | − stop-color="#fff" | |
| 118 | − stop-opacity="0" | |
| 119 | − offset="1" /> | |
| 120 | − </linearGradient> | |
| 121 | − <radialGradient | |
| 122 | − id="radialGradient8668" | |
| 123 | − gradientUnits="userSpaceOnUse" | |
| 124 | − cy="36.421" | |
| 125 | − cx="24.837" | |
| 126 | − gradientTransform="matrix(1,0,0,0.53672,0,16.873)" | |
| 127 | − r="15.645"> | |
| 128 | − <stop | |
| 129 | − id="stop8664" | |
| 130 | − offset="0" /> | |
| 131 | − <stop | |
| 132 | − id="stop8666" | |
| 133 | − stop-opacity="0" | |
| 134 | − offset="1" /> | |
| 135 | − </radialGradient> | |
| 136 | − <linearGradient | |
| 137 | − id="linearGradient4209" | |
| 138 | − x1="7.0625" | |
| 139 | − gradientUnits="userSpaceOnUse" | |
| 140 | − x2="24.688" | |
| 141 | − gradientTransform="translate(0.79549,3.7992)" | |
| 142 | − y1="35.281" | |
| 143 | − y2="35.281"> | |
| 144 | − <stop | |
| 145 | − id="stop4186" | |
| 146 | − stop-color="#838383" | |
| 147 | − offset="0" /> | |
| 148 | − <stop | |
| 149 | − id="stop4188" | |
| 150 | − stop-color="#bbb" | |
| 151 | − stop-opacity="0" | |
| 152 | − offset="1" /> | |
| 153 | − </linearGradient> | |
| 154 | − <linearGradient | |
| 155 | − id="linearGradient4234" | |
| 156 | − x1="7.6046" | |
| 157 | − gradientUnits="userSpaceOnUse" | |
| 158 | − x2="36.183" | |
| 159 | − gradientTransform="translate(0,5.125)" | |
| 160 | − y1="28.481" | |
| 161 | − y2="40.944"> | |
| 162 | − <stop | |
| 163 | − id="stop4230" | |
| 164 | − stop-color="#bbb" | |
| 165 | − offset="0" /> | |
| 166 | − <stop | |
| 167 | − id="stop4232" | |
| 168 | − stop-color="#9f9f9f" | |
| 169 | − offset="1" /> | |
| 170 | − </linearGradient> | |
| 171 | − <linearGradient | |
| 172 | − id="linearGradient4242" | |
| 173 | − x1="12.277" | |
| 174 | − gradientUnits="userSpaceOnUse" | |
| 175 | − x2="12.222" | |
| 176 | − gradientTransform="translate(0,5.125)" | |
| 177 | − y1="37.206" | |
| 178 | − y2="33.759"> | |
| 179 | − <stop | |
| 180 | − id="stop4238" | |
| 181 | − stop-color="#eee" | |
| 182 | − offset="0" /> | |
| 183 | − <stop | |
| 184 | − id="stop4240" | |
| 185 | − stop-color="#eee" | |
| 186 | − stop-opacity="0" | |
| 187 | − offset="1" /> | |
| 188 | − </linearGradient> | |
| 189 | − <radialGradient | |
| 190 | − id="radialGradient4250" | |
| 191 | − gradientUnits="userSpaceOnUse" | |
| 192 | − cy="2.9585" | |
| 193 | − cx="15.571" | |
| 194 | − gradientTransform="matrix(1.2862,0.7817,-0.71078,1.1696,-2.3543,0.24814)" | |
| 195 | − r="20.936"> | |
| 196 | − <stop | |
| 197 | − id="stop4246" | |
| 198 | − stop-color="#e4e4e4" | |
| 199 | − offset="0" /> | |
| 200 | − <stop | |
| 201 | − id="stop4248" | |
| 202 | − stop-color="#d3d3d3" | |
| 203 | − offset="1" /> | |
| 204 | − </radialGradient> | |
| 205 | − <linearGradient | |
| 206 | − id="linearGradient4260" | |
| 207 | − x1="12.378" | |
| 208 | − gradientUnits="userSpaceOnUse" | |
| 209 | − x2="44.096" | |
| 210 | − gradientTransform="translate(0,5.125)" | |
| 211 | − y1="4.4331" | |
| 212 | − y2="47.621"> | |
| 213 | − <stop | |
| 214 | − id="stop4256" | |
| 215 | − stop-color="#fff" | |
| 216 | − offset="0" /> | |
| 217 | − <stop | |
| 218 | − id="stop4258" | |
| 219 | − stop-color="#fff" | |
| 220 | − stop-opacity="0" | |
| 221 | − offset="1" /> | |
| 222 | − </linearGradient> | |
| 223 | − <linearGradient | |
| 224 | − id="linearGradient4272" | |
| 225 | − x1="23.688" | |
| 226 | − gradientUnits="userSpaceOnUse" | |
| 227 | − x2="23.688" | |
| 228 | − gradientTransform="translate(0,5.125)" | |
| 229 | − y1="11.319" | |
| 230 | − y2="26.357"> | |
| 231 | − <stop | |
| 232 | − id="stop4276" | |
| 233 | − stop-color="#fff" | |
| 234 | − stop-opacity=".2549" | |
| 235 | − offset="0" /> | |
| 236 | − <stop | |
| 237 | − id="stop4278" | |
| 238 | − stop-color="#fff" | |
| 239 | − offset="1" /> | |
| 240 | − </linearGradient> | |
| 241 | − <linearGradient | |
| 242 | − id="linearGradient2553" | |
| 243 | − y2="11.781" | |
| 244 | − gradientUnits="userSpaceOnUse" | |
| 245 | − y1="31.965" | |
| 246 | − x2="21.748" | |
| 247 | − x1="33.431"> | |
| 248 | − <stop | |
| 249 | − id="stop2557" | |
| 250 | − stop-color="#fff" | |
| 251 | − offset="0" /> | |
| 252 | − <stop | |
| 253 | − id="stop2561" | |
| 254 | − stop-color="#e6e6e6" | |
| 255 | − offset=".5" /> | |
| 256 | − <stop | |
| 257 | − id="stop2563" | |
| 258 | − stop-color="#fff" | |
| 259 | − offset=".75" /> | |
| 260 | − <stop | |
| 261 | − id="stop2565" | |
| 262 | − stop-color="#e1e1e1" | |
| 263 | − offset=".84167" /> | |
| 264 | − <stop | |
| 265 | − id="stop2559" | |
| 266 | − stop-color="#fff" | |
| 267 | − offset="1" /> | |
| 268 | − </linearGradient> | |
| 269 | − <linearGradient | |
| 270 | − id="linearGradient6907" | |
| 271 | − y2="16.743" | |
| 272 | − gradientUnits="userSpaceOnUse" | |
| 273 | − y1="15.868" | |
| 274 | − x2="8.8953" | |
| 275 | − x1="14.752"> | |
| 276 | − <stop | |
| 277 | − id="stop6903" | |
| 278 | − stop-color="#3465a4" | |
| 279 | − offset="0" /> | |
| 280 | − <stop | |
| 281 | − id="stop6905" | |
| 282 | − stop-color="#3465a4" | |
| 283 | − stop-opacity="0" | |
| 284 | − offset="1" /> | |
| 285 | − </linearGradient> | |
| 286 | − <linearGradient | |
| 287 | − id="linearGradient6931" | |
| 288 | − y2="21.118" | |
| 289 | − gradientUnits="userSpaceOnUse" | |
| 290 | − y1="18.25" | |
| 291 | − x2="7" | |
| 292 | − x1="12.25"> | |
| 293 | − <stop | |
| 294 | − id="stop6927" | |
| 295 | − stop-color="#204a87" | |
| 296 | − offset="0" /> | |
| 297 | − <stop | |
| 298 | − id="stop6929" | |
| 299 | − stop-color="#204a87" | |
| 300 | − stop-opacity="0" | |
| 301 | − offset="1" /> | |
| 302 | − </linearGradient> | |
| 303 | − <linearGradient | |
| 304 | − id="linearGradient6971" | |
| 305 | − y2="36.437" | |
| 306 | − gradientUnits="userSpaceOnUse" | |
| 307 | − y1="31.431" | |
| 308 | − x2="28.061" | |
| 309 | − x1="28.061"> | |
| 310 | − <stop | |
| 311 | − id="stop6967" | |
| 312 | − stop-color="#ddd" | |
| 313 | − offset="0" /> | |
| 314 | − <stop | |
| 315 | − id="stop6969" | |
| 316 | − stop-color="#fdfdfd" | |
| 317 | − offset="1" /> | |
| 318 | − </linearGradient> | |
| 319 | − <linearGradient | |
| 320 | − inkscape:collect="always" | |
| 321 | − xlink:href="#linearGradient5027" | |
| 322 | − id="linearGradient3248" | |
| 323 | − gradientUnits="userSpaceOnUse" | |
| 324 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1892.2,-872.89)" | |
| 325 | − x1="302.86" | |
| 326 | − y1="366.65" | |
| 327 | − x2="302.86" | |
| 328 | − y2="609.51" /> | |
| 329 | − <radialGradient | |
| 330 | − inkscape:collect="always" | |
| 331 | − xlink:href="#linearGradient5060" | |
| 332 | − id="radialGradient3250" | |
| 333 | − gradientUnits="userSpaceOnUse" | |
| 334 | − gradientTransform="matrix(2.7744,0,0,1.9697,-1891.6,-872.89)" | |
| 335 | − cx="605.71" | |
| 336 | − cy="486.65" | |
| 337 | − r="117.14" /> | |
| 338 | − <radialGradient | |
| 339 | − inkscape:collect="always" | |
| 340 | − xlink:href="#linearGradient5060" | |
| 341 | − id="radialGradient3252" | |
| 342 | − gradientUnits="userSpaceOnUse" | |
| 343 | − gradientTransform="matrix(-2.7744,0,0,1.9697,112.76,-872.89)" | |
| 344 | − cx="605.71" | |
| 345 | − cy="486.65" | |
| 346 | − r="117.14" /> | |
| 347 | − <linearGradient | |
| 348 | − inkscape:collect="always" | |
| 349 | − xlink:href="#linearGradient4234" | |
| 350 | − id="linearGradient3254" | |
| 351 | − gradientUnits="userSpaceOnUse" | |
| 352 | − gradientTransform="translate(0,5.125)" | |
| 353 | − x1="7.6046" | |
| 354 | − y1="28.481" | |
| 355 | − x2="36.183" | |
| 356 | − y2="40.944" /> | |
| 357 | − <radialGradient | |
| 358 | − inkscape:collect="always" | |
| 359 | − xlink:href="#radialGradient4250" | |
| 360 | − id="radialGradient3256" | |
| 361 | − gradientUnits="userSpaceOnUse" | |
| 362 | − gradientTransform="matrix(1.2862,0.7817,-0.71078,1.1696,-2.3543,0.24814)" | |
| 363 | − cx="15.571" | |
| 364 | − cy="2.9585" | |
| 365 | − r="20.936" /> | |
| 366 | − <linearGradient | |
| 367 | − inkscape:collect="always" | |
| 368 | − xlink:href="#linearGradient4209" | |
| 369 | − id="linearGradient3258" | |
| 370 | − gradientUnits="userSpaceOnUse" | |
| 371 | − gradientTransform="translate(0.79549,3.7992)" | |
| 372 | − x1="7.0625" | |
| 373 | − y1="35.281" | |
| 374 | − x2="24.688" | |
| 375 | − y2="35.281" /> | |
| 376 | − <linearGradient | |
| 377 | − inkscape:collect="always" | |
| 378 | − xlink:href="#linearGradient4242" | |
| 379 | − id="linearGradient3260" | |
| 380 | − gradientUnits="userSpaceOnUse" | |
| 381 | − gradientTransform="translate(0,5.125)" | |
| 382 | − x1="12.277" | |
| 383 | − y1="37.206" | |
| 384 | − x2="12.222" | |
| 385 | − y2="33.759" /> | |
| 386 | − <linearGradient | |
| 387 | − inkscape:collect="always" | |
| 388 | − xlink:href="#linearGradient4272" | |
| 389 | − id="linearGradient3262" | |
| 390 | − gradientUnits="userSpaceOnUse" | |
| 391 | − gradientTransform="translate(0,5.125)" | |
| 392 | − x1="23.688" | |
| 393 | − y1="11.319" | |
| 394 | − x2="23.688" | |
| 395 | − y2="26.357" /> | |
| 396 | − <linearGradient | |
| 397 | − inkscape:collect="always" | |
| 398 | − xlink:href="#linearGradient4260" | |
| 399 | − id="linearGradient3264" | |
| 400 | − gradientUnits="userSpaceOnUse" | |
| 401 | − gradientTransform="translate(0,5.125)" | |
| 402 | − x1="12.378" | |
| 403 | − y1="4.4331" | |
| 404 | − x2="44.096" | |
| 405 | − y2="47.621" /> | |
| 406 | − <linearGradient | |
| 407 | − inkscape:collect="always" | |
| 408 | − xlink:href="#linearGradient2553" | |
| 409 | − id="linearGradient3266" | |
| 410 | − gradientUnits="userSpaceOnUse" | |
| 411 | − x1="33.431" | |
| 412 | − y1="31.965" | |
| 413 | − x2="21.748" | |
| 414 | − y2="11.781" /> | |
| 415 | − <radialGradient | |
| 416 | − inkscape:collect="always" | |
| 417 | − xlink:href="#radialGradient8668" | |
| 418 | − id="radialGradient3268" | |
| 419 | − gradientUnits="userSpaceOnUse" | |
| 420 | − gradientTransform="matrix(1.1302,0,0,-0.40769251,48.062716,1046.2254)" | |
| 421 | − cx="24.837" | |
| 422 | − cy="36.421" | |
| 423 | − r="15.645" /> | |
| 424 | − <linearGradient | |
| 425 | − inkscape:collect="always" | |
| 426 | − xlink:href="#linearGradient6971" | |
| 427 | − id="linearGradient3270" | |
| 428 | − gradientUnits="userSpaceOnUse" | |
| 429 | − gradientTransform="translate(51.972416,1005.3761)" | |
| 430 | − x1="28.061" | |
| 431 | − y1="31.431" | |
| 432 | − x2="28.061" | |
| 433 | − y2="36.437" /> | |
| 434 | − </defs> | |
| 435 | − <sodipodi:namedview | |
| 436 | − id="base" | |
| 437 | − pagecolor="#ffffff" | |
| 438 | − bordercolor="#666666" | |
| 439 | − borderopacity="1.0" | |
| 440 | − inkscape:pageopacity="0.0" | |
| 441 | − inkscape:pageshadow="2" | |
| 442 | − inkscape:zoom="22.4" | |
| 443 | − inkscape:cx="44.04179" | |
| 444 | − inkscape:cy="22.346221" | |
| 445 | − inkscape:document-units="px" | |
| 446 | − inkscape:current-layer="layer1" | |
| 447 | − showgrid="false" | |
| 448 | − inkscape:window-width="1680" | |
| 449 | − inkscape:window-height="997" | |
| 450 | − inkscape:window-x="-8" | |
| 451 | − inkscape:window-y="21" | |
| 452 | − inkscape:window-maximized="1" /> | |
| 453 | − <metadata | |
| 454 | − id="metadata3832"> | |
| 455 | − <rdf:RDF> | |
| 456 | − <cc:Work | |
| 457 | − rdf:about=""> | |
| 458 | − <dc:format>image/svg+xml</dc:format> | |
| 459 | − <dc:type | |
| 460 | − rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
| 461 | − <dc:title /> | |
| 462 | − <dc:creator> | |
| 463 | − <cc:Agent> | |
| 464 | − <dc:title>Maximillian Merlin</dc:title> | |
| 465 | − </cc:Agent> | |
| 466 | − </dc:creator> | |
| 467 | − </cc:Work> | |
| 468 | − </rdf:RDF> | |
| 469 | − </metadata> | |
| 470 | − <g | |
| 471 | − inkscape:label="Ebene 1" | |
| 472 | − inkscape:groupmode="layer" | |
| 473 | − id="layer1" | |
| 474 | − transform="translate(0,-1007.3622)"> | |
| 475 | − <g | |
| 476 | − id="layer1-7" | |
| 477 | − transform="matrix(-0.25019951,0,0,0.28877175,123.44112,917.40972)" | |
| 478 | − style="fill:#696969"> | |
| 479 | − <g | |
| 480 | − id="g3257" | |
| 481 | − transform="matrix(1.9175,0,0,1.9175,-607.19,-179.09)" | |
| 482 | − style="fill:#696969"> | |
| 483 | − <path | |
| 484 | − id="path3224" | |
| 485 | − d="m 563.06,260.72 -1.25,0.16 -40.15,4.87 -1.66,0.22 0.38,1.62 c 3.78,16.93 -0.59,34.07 -2.88,51.57 l -0.22,1.84 1.81,-0.16 42,-3 1.25,-0.06 0.16,-1.25 c 2.13,-17.86 6.92,-36.12 0.94,-54.62 l -0.38,-1.19 z m -2.18,3.28 c 4.96,16.72 -1.56,33.17 -3.72,50.47 l -35.63,2.78 c 2.25,-16.14 7.03,-29.55 3.78,-46.19 L 560.88,264 z" | |
| 486 | − style="fill:#696969;fill-rule:evenodd" | |
| 487 | − inkscape:connector-curvature="0" /> | |
| 488 | − <path | |
| 489 | − id="path3237" | |
| 490 | − d="m 531.39,275.61 23.34,-4.6" | |
| 491 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 492 | − inkscape:connector-curvature="0" /> | |
| 493 | − <path | |
| 494 | − id="path3243" | |
| 495 | − d="m 532.1,280.91 22.27,-2.83" | |
| 496 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 497 | − inkscape:connector-curvature="0" /> | |
| 498 | − <path | |
| 499 | − id="path3247" | |
| 500 | − d="m 531.92,285.86 22.89,-1.95" | |
| 501 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 502 | − inkscape:connector-curvature="0" /> | |
| 503 | − <path | |
| 504 | − id="path3249" | |
| 505 | − d="m 530.15,292.84 24.22,-2.12" | |
| 506 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 507 | − inkscape:connector-curvature="0" /> | |
| 508 | − <path | |
| 509 | − id="path3251" | |
| 510 | − d="m 529.45,297.53 22.98,-0.8" | |
| 511 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 512 | − inkscape:connector-curvature="0" /> | |
| 513 | − <path | |
| 514 | − id="path3253" | |
| 515 | − d="m 528.65,304.24 22.45,-2.56" | |
| 516 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 517 | − inkscape:connector-curvature="0" /> | |
| 518 | − <path | |
| 519 | − id="path3255" | |
| 520 | − d="m 527.5,309.37 22.81,-1.77" | |
| 521 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 522 | − inkscape:connector-curvature="0" /> | |
| 523 | − </g> | |
| 524 | − </g> | |
| 525 | − <rect | |
| 526 | − style="color:#000000;fill:#00ffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.42527184;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" | |
| 527 | − id="rect3032" | |
| 528 | − width="44.57473" | |
| 529 | − height="44.57473" | |
| 530 | − x="0.18852967" | |
| 531 | − y="1007.5989" /> | |
| 532 | − <rect | |
| 533 | − style="color:#000000;fill:#00ffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.42527184;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" | |
| 534 | − id="rect3032-4" | |
| 535 | − width="44.57473" | |
| 536 | − height="44.57473" | |
| 537 | − x="84.498352" | |
| 538 | − y="1050.0748" /> | |
| 539 | − <g | |
| 540 | − id="run-arrow" | |
| 541 | − transform="translate(-46.607143,-3.5714285)" | |
| 542 | − inkscape:label="#run-arrow"> | |
| 543 | − <path | |
| 544 | − d="m 75.506508,1023.3478 1.372845,5.4631 -14.094975,-1.152 2.35e-4,7.2772 14.094975,-1.152 -1.372845,5.1249 13.761293,-7.6113 -13.761293,-7.9499 z" | |
| 545 | − id="arrow-rect" | |
| 546 | − inkscape:connector-curvature="0" | |
| 547 | − style="fill:#d3d3d3;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.77974033;stroke-linecap:round;stroke-linejoin:round" /> | |
| 548 | − </g> | |
| 549 | − </g> | |
| 550 | −</svg> | |
| @@ -1,163 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | −<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
| 3 | − | |
| 4 | −<svg | |
| 5 | − xmlns:dc="http://purl.org/dc/elements/1.1/" | |
| 6 | − xmlns:cc="http://creativecommons.org/ns#" | |
| 7 | − xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
| 8 | − xmlns:svg="http://www.w3.org/2000/svg" | |
| 9 | − xmlns="http://www.w3.org/2000/svg" | |
| 10 | − xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
| 11 | − xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
| 12 | − width="45" | |
| 13 | − height="45" | |
| 14 | − id="svg3827" | |
| 15 | − version="1.1" | |
| 16 | − inkscape:version="0.48.1 r9760" | |
| 17 | − sodipodi:docname="stop-script.svg"> | |
| 18 | − <defs | |
| 19 | − id="defs3829" /> | |
| 20 | − <sodipodi:namedview | |
| 21 | − id="base" | |
| 22 | − pagecolor="#ffffff" | |
| 23 | − bordercolor="#666666" | |
| 24 | − borderopacity="1.0" | |
| 25 | − inkscape:pageopacity="0.0" | |
| 26 | − inkscape:pageshadow="2" | |
| 27 | − inkscape:zoom="5.6" | |
| 28 | − inkscape:cx="15.598703" | |
| 29 | − inkscape:cy="22.861751" | |
| 30 | − inkscape:document-units="px" | |
| 31 | − inkscape:current-layer="layer1" | |
| 32 | − showgrid="false" | |
| 33 | − inkscape:window-width="1920" | |
| 34 | − inkscape:window-height="1028" | |
| 35 | − inkscape:window-x="-8" | |
| 36 | − inkscape:window-y="-8" | |
| 37 | − inkscape:window-maximized="1" /> | |
| 38 | − <metadata | |
| 39 | − id="metadata3832"> | |
| 40 | − <rdf:RDF> | |
| 41 | − <cc:Work | |
| 42 | − rdf:about=""> | |
| 43 | − <dc:format>image/svg+xml</dc:format> | |
| 44 | − <dc:type | |
| 45 | − rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
| 46 | − <dc:title /> | |
| 47 | − <dc:creator> | |
| 48 | − <cc:Agent> | |
| 49 | − <dc:title>Maximillian Merlin</dc:title> | |
| 50 | − </cc:Agent> | |
| 51 | − </dc:creator> | |
| 52 | − </cc:Work> | |
| 53 | − </rdf:RDF> | |
| 54 | − </metadata> | |
| 55 | − <g | |
| 56 | − inkscape:label="Ebene 1" | |
| 57 | − inkscape:groupmode="layer" | |
| 58 | − id="layer1" | |
| 59 | − transform="translate(0,-1007.3622)"> | |
| 60 | − <g | |
| 61 | − id="layer1-7" | |
| 62 | − transform="matrix(-0.25019951,0,0,0.28877175,123.44112,917.40972)" | |
| 63 | − style="fill:#696969"> | |
| 64 | − <g | |
| 65 | − id="g3257" | |
| 66 | − transform="matrix(1.9175,0,0,1.9175,-607.19,-179.09)" | |
| 67 | − style="fill:#696969"> | |
| 68 | − <path | |
| 69 | − id="path3224" | |
| 70 | − d="m 563.06,260.72 -1.25,0.16 -40.15,4.87 -1.66,0.22 0.38,1.62 c 3.78,16.93 -0.59,34.07 -2.88,51.57 l -0.22,1.84 1.81,-0.16 42,-3 1.25,-0.06 0.16,-1.25 c 2.13,-17.86 6.92,-36.12 0.94,-54.62 l -0.38,-1.19 z m -2.18,3.28 c 4.96,16.72 -1.56,33.17 -3.72,50.47 l -35.63,2.78 c 2.25,-16.14 7.03,-29.55 3.78,-46.19 L 560.88,264 z" | |
| 71 | − style="fill:#696969;fill-rule:evenodd" | |
| 72 | − inkscape:connector-curvature="0" /> | |
| 73 | − <path | |
| 74 | − id="path3237" | |
| 75 | − d="m 531.39,275.61 23.34,-4.6" | |
| 76 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 77 | − inkscape:connector-curvature="0" /> | |
| 78 | − <path | |
| 79 | − id="path3243" | |
| 80 | − d="m 532.1,280.91 22.27,-2.83" | |
| 81 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 82 | − inkscape:connector-curvature="0" /> | |
| 83 | − <path | |
| 84 | − id="path3247" | |
| 85 | − d="m 531.92,285.86 22.89,-1.95" | |
| 86 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 87 | − inkscape:connector-curvature="0" /> | |
| 88 | − <path | |
| 89 | − id="path3249" | |
| 90 | − d="m 530.15,292.84 24.22,-2.12" | |
| 91 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 92 | − inkscape:connector-curvature="0" /> | |
| 93 | − <path | |
| 94 | − id="path3251" | |
| 95 | − d="m 529.45,297.53 22.98,-0.8" | |
| 96 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 97 | − inkscape:connector-curvature="0" /> | |
| 98 | − <path | |
| 99 | − id="path3253" | |
| 100 | − d="m 528.65,304.24 22.45,-2.56" | |
| 101 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 102 | − inkscape:connector-curvature="0" /> | |
| 103 | − <path | |
| 104 | − id="path3255" | |
| 105 | − d="m 527.5,309.37 22.81,-1.77" | |
| 106 | − style="fill:#696969;stroke:#000000;stroke-width:1px" | |
| 107 | − inkscape:connector-curvature="0" /> | |
| 108 | − </g> | |
| 109 | − </g> | |
| 110 | − <rect | |
| 111 | − style="color:#000000;fill:#00ffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.42527184;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" | |
| 112 | − id="rect3032" | |
| 113 | − width="44.57473" | |
| 114 | − height="44.57473" | |
| 115 | − x="0.18852967" | |
| 116 | − y="1007.5989" /> | |
| 117 | − <g | |
| 118 | − id="stop" | |
| 119 | − transform="matrix(0.08804464,0,0,0.0856179,29.060719,1033.5397)"> | |
| 120 | − <g | |
| 121 | − id="g3004"> | |
| 122 | − <path | |
| 123 | − d="M 0,-150 H 62.132 L 150,-62.132 V 62.128 L 62.132,150 H -62.128 L -149,62.132 V -62.128 L -61.132,-150 H 1 0 z" | |
| 124 | − id="stop_octagon" | |
| 125 | − inkscape:connector-curvature="0" | |
| 126 | − style="fill:#e81108" /> | |
| 127 | − </g> | |
| 128 | − <g | |
| 129 | − id="g3007" | |
| 130 | − transform="scale(0.95,0.95)"> | |
| 131 | − <path | |
| 132 | − d="M 0,-142.5 H 59.025 L 142.5,-59.025 V 59.025 L 59.025,142.5 H -59.025 L -141.549,59.025 V -59.025 L -58.074,-142.5 H 0.951 0.001 z" | |
| 133 | − id="stop_octagon_1_" | |
| 134 | − inkscape:connector-curvature="0" | |
| 135 | − style="fill:none;stroke:#ffffff;stroke-width:5" /> | |
| 136 | − </g> | |
| 137 | − <g | |
| 138 | − id="g3010" | |
| 139 | − transform="scale(1,1.45)"> | |
| 140 | − <g | |
| 141 | − id="g3012" | |
| 142 | − style="fill:#ffffff;enable-background:new"> | |
| 143 | − <path | |
| 144 | − id="path3014" | |
| 145 | − d="m -124.2,12.152 8.489,-0.742 c 0.401,3.402 1.337,6.192 2.806,8.373 1.469,2.18 3.75,3.943 6.842,5.288 3.092,1.345 6.571,2.018 10.437,2.018 3.433,0 6.463,-0.51 9.092,-1.53 2.628,-1.021 4.584,-2.42 5.868,-4.198 1.283,-1.778 1.925,-3.718 1.925,-5.821 0,-2.134 -0.619,-3.997 -1.855,-5.59 -1.237,-1.592 -3.278,-2.93 -6.123,-4.013 -1.825,-0.711 -5.861,-1.816 -12.107,-3.317 -6.247,-1.5 -10.623,-2.914 -13.127,-4.244 -3.247,-1.7 -5.667,-3.811 -7.26,-6.332 -1.593,-2.52 -2.389,-5.342 -2.389,-8.465 0,-3.433 0.974,-6.641 2.922,-9.625 1.948,-2.984 4.793,-5.249 8.535,-6.796 3.741,-1.546 7.901,-2.319 12.478,-2.319 5.04,0 9.486,0.812 13.336,2.435 3.85,1.623 6.811,4.012 8.883,7.167 2.071,3.154 3.185,6.726 3.34,10.715 l -8.628,0.65 c -0.464,-4.298 -2.034,-7.545 -4.708,-9.741 -2.675,-2.195 -6.626,-3.293 -11.852,-3.293 -5.443,0 -9.409,0.997 -11.898,2.992 -2.489,1.995 -3.734,4.4 -3.734,7.213 0,2.443 0.881,4.453 2.644,6.03 1.731,1.577 6.254,3.194 13.568,4.847 7.313,1.655 12.331,3.101 15.053,4.337 3.958,1.825 6.88,4.136 8.767,6.935 1.886,2.799 2.83,6.023 2.83,9.672 0,3.618 -1.037,7.028 -3.108,10.228 -2.072,3.201 -5.049,5.69 -8.93,7.468 -3.881,1.778 -8.25,2.667 -13.104,2.667 -6.154,0 -11.311,-0.897 -15.47,-2.691 -4.159,-1.793 -7.422,-4.492 -9.788,-8.094 -2.37,-3.604 -3.62,-7.678 -3.74,-12.224 z" | |
| 146 | − inkscape:connector-curvature="0" /> | |
| 147 | − <path | |
| 148 | − id="path3016" | |
| 149 | − d="m -40.473,34 v -59.978 h -22.405 v -8.025 h 53.901 v 8.025 H -31.475 V 34 h -8.998 z" | |
| 150 | − inkscape:connector-curvature="0" /> | |
| 151 | − <path | |
| 152 | − id="path3018" | |
| 153 | − d="m -4.198,0.88 c 0,-11.287 3.03,-20.124 9.092,-26.51 6.061,-6.385 13.885,-9.579 23.472,-9.579 6.277,0 11.937,1.5 16.978,4.5 5.04,3 8.883,7.182 11.527,12.547 2.644,5.366 3.966,11.45 3.966,18.253 0,6.896 -1.392,13.066 -4.175,18.508 -2.783,5.443 -6.726,9.564 -11.829,12.362 -5.103,2.799 -10.607,4.198 -16.514,4.198 -6.401,0 -12.123,-1.546 -17.163,-4.639 C 6.115,27.428 2.296,23.207 -0.302,17.856 -2.899,12.508 -4.198,6.848 -4.198,0.88 z m 9.277,0.139 c 0,8.195 2.203,14.651 6.61,19.366 4.407,4.716 9.934,7.074 16.583,7.074 6.772,0 12.346,-2.381 16.722,-7.143 4.376,-4.762 6.564,-11.519 6.564,-20.271 0,-5.535 -0.936,-10.367 -2.807,-14.496 -1.871,-4.129 -4.608,-7.329 -8.21,-9.602 -3.603,-2.273 -7.646,-3.41 -12.13,-3.41 -6.371,0 -11.852,2.188 -16.444,6.564 -4.592,4.377 -6.888,11.682 -6.888,21.918 z" | |
| 154 | − inkscape:connector-curvature="0" /> | |
| 155 | − <path | |
| 156 | − id="path3020" | |
| 157 | − d="m 72.433,34 v -68.003 h 25.652 c 4.515,0 7.962,0.217 10.344,0.65 3.34,0.557 6.138,1.616 8.396,3.178 2.257,1.562 4.074,3.75 5.45,6.564 1.376,2.815 2.064,5.907 2.064,9.277 0,5.783 -1.84,10.677 -5.52,14.681 -3.681,4.005 -10.329,6.007 -19.946,6.007 H 81.431 V 34 h -8.999 z m 8.999,-35.672 h 17.581 c 5.813,0 9.942,-1.082 12.385,-3.247 2.442,-2.164 3.665,-5.21 3.665,-9.138 0,-2.845 -0.719,-5.28 -2.157,-7.306 -1.438,-2.025 -3.333,-3.363 -5.682,-4.012 -1.516,-0.401 -4.314,-0.603 -8.396,-0.603 H 81.436 v 24.306 z" | |
| 158 | − inkscape:connector-curvature="0" /> | |
| 159 | − </g> | |
| 160 | − </g> | |
| 161 | − </g> | |
| 162 | − </g> | |
| 163 | −</svg> | |
| @@ -2745,8 +2745,6 @@ void Application::keyPressEvent(QKeyEvent* event) { · 2744 unmodified lines | ||
| 2745 | 2745 | case Qt::Key_S: |
| 2746 | 2746 | if (isShifted && isMeta && !isOption) { |
| 2747 | 2747 | Menu::getInstance()->triggerOption(MenuOption::SuppressShortTimings); |
| 2748 | − } else if (isOption && !isShifted && !isMeta) { | |
| 2749 | − Menu::getInstance()->triggerOption(MenuOption::ScriptEditor); | |
| 2750 | 2748 | } else if (!isOption && !isShifted && isMeta) { |
| 2751 | 2749 | takeSnapshot(true); |
| 2752 | 2750 | } |
| @@ -117,11 +117,6 @@ Menu::Menu() { · 116 unmodified lines | ||
| 117 | 117 | scriptEngines.data(), SLOT(reloadAllScripts()), |
| 118 | 118 | QAction::NoRole, UNSPECIFIED_POSITION, "Advanced"); |
| 119 | 119 | |
| 120 | − // Edit > Scripts Editor... [advanced] | |
| 121 | − addActionToQMenuAndActionHash(editMenu, MenuOption::ScriptEditor, Qt::ALT | Qt::Key_S, | |
| 122 | − dialogsManager.data(), SLOT(showScriptEditor()), | |
| 123 | − QAction::NoRole, UNSPECIFIED_POSITION, "Advanced"); | |
| 124 | − | |
| 125 | 120 | // Edit > Console... [advanced] |
| 126 | 121 | addActionToQMenuAndActionHash(editMenu, MenuOption::Console, Qt::CTRL | Qt::ALT | Qt::Key_J, |
| 127 | 122 | DependencyManager::get<StandAloneJSConsole>().data(), |
| @@ -166,7 +166,6 @@ namespace MenuOption { · 165 unmodified lines | ||
| 166 | 166 | const QString RunningScripts = "Running Scripts..."; |
| 167 | 167 | const QString RunClientScriptTests = "Run Client Script Tests"; |
| 168 | 168 | const QString RunTimingTests = "Run Timing Tests"; |
| 169 | − const QString ScriptEditor = "Script Editor..."; | |
| 170 | 169 | const QString ScriptedMotorControl = "Enable Scripted Motor Control"; |
| 171 | 170 | const QString SendWrongDSConnectVersion = "Send wrong DS connect version"; |
| 172 | 171 | const QString SendWrongProtocolVersion = "Send wrong protocol version"; |
| @@ -26,7 +26,6 @@ · 25 unmodified lines | ||
| 26 | 26 | #include "LoginDialog.h" |
| 27 | 27 | #include "OctreeStatsDialog.h" |
| 28 | 28 | #include "PreferencesDialog.h" |
| 29 | −#include "ScriptEditorWindow.h" | |
| 30 | 29 | #include "UpdateDialog.h" |
| 31 | 30 | |
| 32 | 31 | template<typename T> |
| @@ -120,12 +119,6 @@ void DialogsManager::hmdToolsClosed() { · 87 unmodified lines | ||
| 120 | 119 | } |
| 121 | 120 | } |
| 122 | 121 | |
| 123 | −void DialogsManager::showScriptEditor() { | |
| 124 | − maybeCreateDialog(_scriptEditor); | |
| 125 | − _scriptEditor->show(); | |
| 126 | − _scriptEditor->raise(); | |
| 127 | −} | |
| 128 | − | |
| 129 | 122 | void DialogsManager::showTestingResults() { |
| 130 | 123 | if (!_testingDialog) { |
| 131 | 124 | _testingDialog = new TestingDialog(qApp->getWindow()); |
| @@ -50,7 +50,6 @@ public slots: · 49 unmodified lines | ||
| 50 | 50 | void octreeStatsDetails(); |
| 51 | 51 | void lodTools(); |
| 52 | 52 | void hmdTools(bool showTools); |
| 53 | − void showScriptEditor(); | |
| 54 | 53 | void showDomainConnectionDialog(); |
| 55 | 54 | void showTestingResults(); |
| 56 | 55 | |
| @@ -78,7 +77,6 @@ private: · 21 unmodified lines | ||
| 78 | 77 | QPointer<HMDToolsDialog> _hmdToolsDialog; |
| 79 | 78 | QPointer<LodToolsDialog> _lodToolsDialog; |
| 80 | 79 | QPointer<OctreeStatsDialog> _octreeStatsDialog; |
| 81 | − QPointer<ScriptEditorWindow> _scriptEditor; | |
| 82 | 80 | QPointer<TestingDialog> _testingDialog; |
| 83 | 81 | QPointer<DomainConnectionDialog> _domainConnectionDialog; |
| 84 | 82 | }; |
| @@ -1,111 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptEditBox.cpp | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/30/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#include "ScriptEditBox.h" | |
| 13 | − | |
| 14 | −#include <QPainter> | |
| 15 | −#include <QTextBlock> | |
| 16 | − | |
| 17 | −#include "ScriptLineNumberArea.h" | |
| 18 | − | |
| 19 | −ScriptEditBox::ScriptEditBox(QWidget* parent) : | |
| 20 | − QPlainTextEdit(parent) | |
| 21 | −{ | |
| 22 | − _scriptLineNumberArea = new ScriptLineNumberArea(this); | |
| 23 | − | |
| 24 | − connect(this, &ScriptEditBox::blockCountChanged, this, &ScriptEditBox::updateLineNumberAreaWidth); | |
| 25 | − connect(this, &ScriptEditBox::updateRequest, this, &ScriptEditBox::updateLineNumberArea); | |
| 26 | − connect(this, &ScriptEditBox::cursorPositionChanged, this, &ScriptEditBox::highlightCurrentLine); | |
| 27 | − | |
| 28 | − updateLineNumberAreaWidth(0); | |
| 29 | − highlightCurrentLine(); | |
| 30 | −} | |
| 31 | − | |
| 32 | −int ScriptEditBox::lineNumberAreaWidth() { | |
| 33 | − int digits = 1; | |
| 34 | − const int SPACER_PIXELS = 3; | |
| 35 | − const int BASE_TEN = 10; | |
| 36 | − int max = qMax(1, blockCount()); | |
| 37 | − while (max >= BASE_TEN) { | |
| 38 | − max /= BASE_TEN; | |
| 39 | − digits++; | |
| 40 | − } | |
| 41 | − return SPACER_PIXELS + fontMetrics().width(QLatin1Char('H')) * digits; | |
| 42 | −} | |
| 43 | − | |
| 44 | −void ScriptEditBox::updateLineNumberAreaWidth(int blockCount) { | |
| 45 | − setViewportMargins(lineNumberAreaWidth(), 0, 0, 0); | |
| 46 | −} | |
| 47 | − | |
| 48 | −void ScriptEditBox::updateLineNumberArea(const QRect& rect, int deltaY) { | |
| 49 | − if (deltaY) { | |
| 50 | − _scriptLineNumberArea->scroll(0, deltaY); | |
| 51 | − } else { | |
| 52 | − _scriptLineNumberArea->update(0, rect.y(), _scriptLineNumberArea->width(), rect.height()); | |
| 53 | − } | |
| 54 | − | |
| 55 | − if (rect.contains(viewport()->rect())) { | |
| 56 | − updateLineNumberAreaWidth(0); | |
| 57 | − } | |
| 58 | −} | |
| 59 | − | |
| 60 | −void ScriptEditBox::resizeEvent(QResizeEvent* event) { | |
| 61 | − QPlainTextEdit::resizeEvent(event); | |
| 62 | − | |
| 63 | − QRect localContentsRect = contentsRect(); | |
| 64 | − _scriptLineNumberArea->setGeometry(QRect(localContentsRect.left(), localContentsRect.top(), lineNumberAreaWidth(), | |
| 65 | − localContentsRect.height())); | |
| 66 | −} | |
| 67 | − | |
| 68 | −void ScriptEditBox::highlightCurrentLine() { | |
| 69 | − QList<QTextEdit::ExtraSelection> extraSelections; | |
| 70 | − | |
| 71 | − if (!isReadOnly()) { | |
| 72 | − QTextEdit::ExtraSelection selection; | |
| 73 | − | |
| 74 | − QColor lineColor = QColor(Qt::gray).lighter(); | |
| 75 | − | |
| 76 | − selection.format.setBackground(lineColor); | |
| 77 | − selection.format.setProperty(QTextFormat::FullWidthSelection, true); | |
| 78 | − selection.cursor = textCursor(); | |
| 79 | − selection.cursor.clearSelection(); | |
| 80 | − extraSelections.append(selection); | |
| 81 | − } | |
| 82 | − | |
| 83 | − setExtraSelections(extraSelections); | |
| 84 | −} | |
| 85 | − | |
| 86 | −void ScriptEditBox::lineNumberAreaPaintEvent(QPaintEvent* event) | |
| 87 | −{ | |
| 88 | − QPainter painter(_scriptLineNumberArea); | |
| 89 | − painter.fillRect(event->rect(), Qt::lightGray); | |
| 90 | − QTextBlock block = firstVisibleBlock(); | |
| 91 | − int blockNumber = block.blockNumber(); | |
| 92 | − int top = (int) blockBoundingGeometry(block).translated(contentOffset()).top(); | |
| 93 | − int bottom = top + (int) blockBoundingRect(block).height(); | |
| 94 | − | |
| 95 | − while (block.isValid() && top <= event->rect().bottom()) { | |
| 96 | − if (block.isVisible() && bottom >= event->rect().top()) { | |
| 97 | − QFont font = painter.font(); | |
| 98 | − font.setBold(this->textCursor().blockNumber() == block.blockNumber()); | |
| 99 | − painter.setFont(font); | |
| 100 | − QString number = QString::number(blockNumber + 1); | |
| 101 | − painter.setPen(Qt::black); | |
| 102 | − painter.drawText(0, top, _scriptLineNumberArea->width(), fontMetrics().height(), | |
| 103 | − Qt::AlignRight, number); | |
| 104 | − } | |
| 105 | − | |
| 106 | − block = block.next(); | |
| 107 | − top = bottom; | |
| 108 | − bottom = top + (int) blockBoundingRect(block).height(); | |
| 109 | − blockNumber++; | |
| 110 | − } | |
| 111 | −} | |
| @@ -1,38 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptEditBox.h | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/30/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#ifndef hifi_ScriptEditBox_h | |
| 13 | −#define hifi_ScriptEditBox_h | |
| 14 | − | |
| 15 | −#include <QPlainTextEdit> | |
| 16 | − | |
| 17 | −class ScriptEditBox : public QPlainTextEdit { | |
| 18 | − Q_OBJECT | |
| 19 | − | |
| 20 | −public: | |
| 21 | − ScriptEditBox(QWidget* parent = NULL); | |
| 22 | − | |
| 23 | − void lineNumberAreaPaintEvent(QPaintEvent* event); | |
| 24 | − int lineNumberAreaWidth(); | |
| 25 | − | |
| 26 | −protected: | |
| 27 | − void resizeEvent(QResizeEvent* event) override; | |
| 28 | − | |
| 29 | −private slots: | |
| 30 | − void updateLineNumberAreaWidth(int blockCount); | |
| 31 | − void highlightCurrentLine(); | |
| 32 | − void updateLineNumberArea(const QRect& rect, int deltaY); | |
| 33 | − | |
| 34 | −private: | |
| 35 | − QWidget* _scriptLineNumberArea; | |
| 36 | −}; | |
| 37 | − | |
| 38 | −#endif // hifi_ScriptEditBox_h | |
| @@ -1,256 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptEditorWidget.cpp | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/14/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#include "ui_scriptEditorWidget.h" | |
| 13 | −#include "ScriptEditorWidget.h" | |
| 14 | −#include "ScriptEditorWindow.h" | |
| 15 | − | |
| 16 | −#include <QGridLayout> | |
| 17 | −#include <QFileDialog> | |
| 18 | −#include <QFrame> | |
| 19 | −#include <QLayoutItem> | |
| 20 | −#include <QMainWindow> | |
| 21 | −#include <QMessageBox> | |
| 22 | −#include <QPalette> | |
| 23 | −#include <QScrollBar> | |
| 24 | −#include <QSizePolicy> | |
| 25 | −#include <QTimer> | |
| 26 | −#include <QWidget> | |
| 27 | − | |
| 28 | −#include <ScriptEngines.h> | |
| 29 | −#include <NetworkAccessManager.h> | |
| 30 | −#include <OffscreenUi.h> | |
| 31 | − | |
| 32 | −#include "Application.h" | |
| 33 | −#include "ScriptHighlighting.h" | |
| 34 | − | |
| 35 | −ScriptEditorWidget::ScriptEditorWidget() : | |
| 36 | − _scriptEditorWidgetUI(new Ui::ScriptEditorWidget), | |
| 37 | − _scriptEngine(NULL), | |
| 38 | − _isRestarting(false), | |
| 39 | − _isReloading(false) | |
| 40 | −{ | |
| 41 | − setAttribute(Qt::WA_DeleteOnClose); | |
| 42 | − | |
| 43 | − _scriptEditorWidgetUI->setupUi(this); | |
| 44 | − | |
| 45 | − connect(_scriptEditorWidgetUI->scriptEdit->document(), &QTextDocument::modificationChanged, this, | |
| 46 | − &ScriptEditorWidget::scriptModified); | |
| 47 | − connect(_scriptEditorWidgetUI->scriptEdit->document(), &QTextDocument::contentsChanged, this, | |
| 48 | − &ScriptEditorWidget::onScriptModified); | |
| 49 | − | |
| 50 | − // remove the title bar (see the Qt docs on setTitleBarWidget) | |
| 51 | − setTitleBarWidget(new QWidget()); | |
| 52 | − QFontMetrics fm(_scriptEditorWidgetUI->scriptEdit->font()); | |
| 53 | − _scriptEditorWidgetUI->scriptEdit->setTabStopWidth(fm.width('0') * 4); | |
| 54 | − // We create a new ScriptHighligting QObject and provide it with a parent so this is NOT a memory leak. | |
| 55 | − new ScriptHighlighting(_scriptEditorWidgetUI->scriptEdit->document()); | |
| 56 | − QTimer::singleShot(0, _scriptEditorWidgetUI->scriptEdit, SLOT(setFocus())); | |
| 57 | − | |
| 58 | − _console = new JSConsole(this); | |
| 59 | − _console->setFixedHeight(CONSOLE_HEIGHT); | |
| 60 | − _scriptEditorWidgetUI->verticalLayout->addWidget(_console); | |
| 61 | − connect(_scriptEditorWidgetUI->clearButton, &QPushButton::clicked, _console, &JSConsole::clear); | |
| 62 | −} | |
| 63 | − | |
| 64 | −ScriptEditorWidget::~ScriptEditorWidget() { | |
| 65 | − delete _scriptEditorWidgetUI; | |
| 66 | − delete _console; | |
| 67 | −} | |
| 68 | − | |
| 69 | −void ScriptEditorWidget::onScriptModified() { | |
| 70 | − if(_scriptEditorWidgetUI->onTheFlyCheckBox->isChecked() && isModified() && isRunning() && !_isReloading) { | |
| 71 | − _isRestarting = true; | |
| 72 | − setRunning(false); | |
| 73 | − // Script is restarted once current script instance finishes. | |
| 74 | − } | |
| 75 | −} | |
| 76 | − | |
| 77 | −void ScriptEditorWidget::onScriptFinished(const QString& scriptPath) { | |
| 78 | − _scriptEngine = NULL; | |
| 79 | − _console->setScriptEngine(NULL); | |
| 80 | − if (_isRestarting) { | |
| 81 | − _isRestarting = false; | |
| 82 | − setRunning(true); | |
| 83 | − } | |
| 84 | −} | |
| 85 | − | |
| 86 | −bool ScriptEditorWidget::isModified() { | |
| 87 | − return _scriptEditorWidgetUI->scriptEdit->document()->isModified(); | |
| 88 | −} | |
| 89 | − | |
| 90 | −bool ScriptEditorWidget::isRunning() { | |
| 91 | − return (_scriptEngine != NULL) ? _scriptEngine->isRunning() : false; | |
| 92 | −} | |
| 93 | − | |
| 94 | −bool ScriptEditorWidget::setRunning(bool run) { | |
| 95 | − if (run && isModified() && !save()) { | |
| 96 | − return false; | |
| 97 | − } | |
| 98 | − | |
| 99 | − if (_scriptEngine != NULL) { | |
| 100 | − disconnect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged); | |
| 101 | − disconnect(_scriptEngine, &ScriptEngine::update, this, &ScriptEditorWidget::onScriptModified); | |
| 102 | − disconnect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished); | |
| 103 | − } | |
| 104 | − | |
| 105 | − auto scriptEngines = DependencyManager::get<ScriptEngines>(); | |
| 106 | − if (run) { | |
| 107 | − const QString& scriptURLString = QUrl(_currentScript).toString(); | |
| 108 | − // Reload script so that an out of date copy is not retrieved from the cache | |
| 109 | − _scriptEngine = scriptEngines->loadScript(scriptURLString, true, true, false, true); | |
| 110 | − connect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged); | |
| 111 | − connect(_scriptEngine, &ScriptEngine::update, this, &ScriptEditorWidget::onScriptModified); | |
| 112 | − connect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished); | |
| 113 | − } else { | |
| 114 | − connect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished); | |
| 115 | − const QString& scriptURLString = QUrl(_currentScript).toString(); | |
| 116 | − scriptEngines->stopScript(scriptURLString); | |
| 117 | − _scriptEngine = NULL; | |
| 118 | − } | |
| 119 | − _console->setScriptEngine(_scriptEngine); | |
| 120 | − return true; | |
| 121 | −} | |
| 122 | − | |
| 123 | −bool ScriptEditorWidget::saveFile(const QString &scriptPath) { | |
| 124 | − QFile file(scriptPath); | |
| 125 | − if (!file.open(QFile::WriteOnly | QFile::Text)) { | |
| 126 | − OffscreenUi::warning(this, tr("Interface"), tr("Cannot write script %1:\n%2.").arg(scriptPath) | |
| 127 | − .arg(file.errorString())); | |
| 128 | − return false; | |
| 129 | − } | |
| 130 | − | |
| 131 | − QTextStream out(&file); | |
| 132 | − out << _scriptEditorWidgetUI->scriptEdit->toPlainText(); | |
| 133 | − file.close(); | |
| 134 | − | |
| 135 | − setScriptFile(scriptPath); | |
| 136 | − return true; | |
| 137 | −} | |
| 138 | − | |
| 139 | −void ScriptEditorWidget::loadFile(const QString& scriptPath) { | |
| 140 | − QUrl url(scriptPath); | |
| 141 | − | |
| 142 | − // if the scheme length is one or lower, maybe they typed in a file, let's try | |
| 143 | − const int WINDOWS_DRIVE_LETTER_SIZE = 1; | |
| 144 | − if (url.scheme().size() <= WINDOWS_DRIVE_LETTER_SIZE) { | |
| 145 | − QFile file(scriptPath); | |
| 146 | − if (!file.open(QFile::ReadOnly | QFile::Text)) { | |
| 147 | − OffscreenUi::warning(this, tr("Interface"), tr("Cannot read script %1:\n%2.").arg(scriptPath) | |
| 148 | − .arg(file.errorString())); | |
| 149 | − return; | |
| 150 | − } | |
| 151 | − QTextStream in(&file); | |
| 152 | − _scriptEditorWidgetUI->scriptEdit->setPlainText(in.readAll()); | |
| 153 | − file.close(); | |
| 154 | − setScriptFile(scriptPath); | |
| 155 | − | |
| 156 | − if (_scriptEngine != NULL) { | |
| 157 | − disconnect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged); | |
| 158 | − disconnect(_scriptEngine, &ScriptEngine::update, this, &ScriptEditorWidget::onScriptModified); | |
| 159 | − disconnect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished); | |
| 160 | − } | |
| 161 | − } else { | |
| 162 | − QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); | |
| 163 | − QNetworkRequest networkRequest = QNetworkRequest(url); | |
| 164 | − networkRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); | |
| 165 | − networkRequest.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); | |
| 166 | − QNetworkReply* reply = networkAccessManager.get(networkRequest); | |
| 167 | − qDebug() << "Downloading included script at" << scriptPath; | |
| 168 | − QEventLoop loop; | |
| 169 | − QObject::connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit); | |
| 170 | − loop.exec(); | |
| 171 | − _scriptEditorWidgetUI->scriptEdit->setPlainText(reply->readAll()); | |
| 172 | − delete reply; | |
| 173 | − | |
| 174 | − if (!saveAs()) { | |
| 175 | − static_cast<ScriptEditorWindow*>(this->parent()->parent()->parent())->terminateCurrentTab(); | |
| 176 | − } | |
| 177 | − } | |
| 178 | − const QString& scriptURLString = QUrl(_currentScript).toString(); | |
| 179 | − _scriptEngine = DependencyManager::get<ScriptEngines>()->getScriptEngine(scriptURLString); | |
| 180 | − if (_scriptEngine != NULL) { | |
| 181 | − connect(_scriptEngine, &ScriptEngine::runningStateChanged, this, &ScriptEditorWidget::runningStateChanged); | |
| 182 | − connect(_scriptEngine, &ScriptEngine::update, this, &ScriptEditorWidget::onScriptModified); | |
| 183 | − connect(_scriptEngine, &ScriptEngine::finished, this, &ScriptEditorWidget::onScriptFinished); | |
| 184 | − } | |
| 185 | − _console->setScriptEngine(_scriptEngine); | |
| 186 | −} | |
| 187 | − | |
| 188 | −bool ScriptEditorWidget::save() { | |
| 189 | − return _currentScript.isEmpty() ? saveAs() : saveFile(_currentScript); | |
| 190 | −} | |
| 191 | − | |
| 192 | −bool ScriptEditorWidget::saveAs() { | |
| 193 | − auto scriptEngines = DependencyManager::get<ScriptEngines>(); | |
| 194 | − QString fileName = QFileDialog::getSaveFileName(this, tr("Save script"), | |
| 195 | − qApp->getPreviousScriptLocation(), | |
| 196 | − tr("JavaScript Files (*.js)")); | |
| 197 | − if (!fileName.isEmpty()) { | |
| 198 | − qApp->setPreviousScriptLocation(fileName); | |
| 199 | − return saveFile(fileName); | |
| 200 | − } else { | |
| 201 | − return false; | |
| 202 | − } | |
| 203 | −} | |
| 204 | − | |
| 205 | −void ScriptEditorWidget::setScriptFile(const QString& scriptPath) { | |
| 206 | − _currentScript = scriptPath; | |
| 207 | − _currentScriptModified = QFileInfo(_currentScript).lastModified(); | |
| 208 | − _scriptEditorWidgetUI->scriptEdit->document()->setModified(false); | |
| 209 | − setWindowModified(false); | |
| 210 | − | |
| 211 | − emit scriptnameChanged(); | |
| 212 | −} | |
| 213 | − | |
| 214 | −bool ScriptEditorWidget::questionSave() { | |
| 215 | − if (_scriptEditorWidgetUI->scriptEdit->document()->isModified()) { | |
| 216 | − QMessageBox::StandardButton button = OffscreenUi::warning(this, tr("Interface"), | |
| 217 | − tr("The script has been modified.\nDo you want to save your changes?"), QMessageBox::Save | QMessageBox::Discard | | |
| 218 | − QMessageBox::Cancel, QMessageBox::Save); | |
| 219 | − return button == QMessageBox::Save ? save() : (button == QMessageBox::Discard); | |
| 220 | − } | |
| 221 | − return true; | |
| 222 | −} | |
| 223 | − | |
| 224 | −void ScriptEditorWidget::onWindowActivated() { | |
| 225 | − if (!_isReloading) { | |
| 226 | − _isReloading = true; | |
| 227 | − | |
| 228 | − QDateTime fileStamp = QFileInfo(_currentScript).lastModified(); | |
| 229 | − if (fileStamp > _currentScriptModified) { | |
| 230 | − bool doReload = false; | |
| 231 | − auto window = static_cast<ScriptEditorWindow*>(this->parent()->parent()->parent()); | |
| 232 | − window->inModalDialog = true; | |
| 233 | − if (window->autoReloadScripts() | |
| 234 | − || OffscreenUi::question(this, tr("Reload Script"), | |
| 235 | − tr("The following file has been modified outside of the Interface editor:") + "\n" + _currentScript + "\n" | |
| 236 | − + (isModified() | |
| 237 | − ? tr("Do you want to reload it and lose the changes you've made in the Interface editor?") | |
| 238 | − : tr("Do you want to reload it?")), | |
| 239 | − QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { | |
| 240 | − doReload = true; | |
| 241 | − } | |
| 242 | − window->inModalDialog = false; | |
| 243 | − if (doReload) { | |
| 244 | − loadFile(_currentScript); | |
| 245 | − if (_scriptEditorWidgetUI->onTheFlyCheckBox->isChecked() && isRunning()) { | |
| 246 | − _isRestarting = true; | |
| 247 | − setRunning(false); | |
| 248 | − // Script is restarted once current script instance finishes. | |
| 249 | − } | |
| 250 | − } else { | |
| 251 | − _currentScriptModified = fileStamp; // Asked and answered. Don't ask again until the external file is changed again. | |
| 252 | − } | |
| 253 | − } | |
| 254 | − _isReloading = false; | |
| 255 | − } | |
| 256 | −} | |
| @@ -1,64 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptEditorWidget.h | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/14/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#ifndef hifi_ScriptEditorWidget_h | |
| 13 | −#define hifi_ScriptEditorWidget_h | |
| 14 | − | |
| 15 | −#include <QDockWidget> | |
| 16 | − | |
| 17 | −#include "JSConsole.h" | |
| 18 | −#include "ScriptEngine.h" | |
| 19 | − | |
| 20 | −namespace Ui { | |
| 21 | − class ScriptEditorWidget; | |
| 22 | −} | |
| 23 | − | |
| 24 | −class ScriptEditorWidget : public QDockWidget { | |
| 25 | − Q_OBJECT | |
| 26 | − | |
| 27 | −public: | |
| 28 | − ScriptEditorWidget(); | |
| 29 | − ~ScriptEditorWidget(); | |
| 30 | − | |
| 31 | − bool isModified(); | |
| 32 | − bool isRunning(); | |
| 33 | − bool setRunning(bool run); | |
| 34 | − bool saveFile(const QString& scriptPath); | |
| 35 | − void loadFile(const QString& scriptPath); | |
| 36 | − void setScriptFile(const QString& scriptPath); | |
| 37 | − bool save(); | |
| 38 | − bool saveAs(); | |
| 39 | − bool questionSave(); | |
| 40 | − const QString getScriptName() const { return _currentScript; }; | |
| 41 | − | |
| 42 | −signals: | |
| 43 | − void runningStateChanged(); | |
| 44 | − void scriptnameChanged(); | |
| 45 | − void scriptModified(); | |
| 46 | − | |
| 47 | −public slots: | |
| 48 | − void onWindowActivated(); | |
| 49 | − | |
| 50 | −private slots: | |
| 51 | − void onScriptModified(); | |
| 52 | − void onScriptFinished(const QString& scriptName); | |
| 53 | − | |
| 54 | −private: | |
| 55 | − JSConsole* _console; | |
| 56 | − Ui::ScriptEditorWidget* _scriptEditorWidgetUI; | |
| 57 | − ScriptEngine* _scriptEngine; | |
| 58 | − QString _currentScript; | |
| 59 | − QDateTime _currentScriptModified; | |
| 60 | − bool _isRestarting; | |
| 61 | − bool _isReloading; | |
| 62 | −}; | |
| 63 | − | |
| 64 | −#endif // hifi_ScriptEditorWidget_h | |
| @@ -1,259 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptEditorWindow.cpp | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/14/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#include <QFileDialog> | |
| 13 | − | |
| 14 | −#include "ui_scriptEditorWindow.h" | |
| 15 | −#include "ScriptEditorWindow.h" | |
| 16 | −#include "ScriptEditorWidget.h" | |
| 17 | − | |
| 18 | −#include <QGridLayout> | |
| 19 | −#include <QtCore/QSignalMapper> | |
| 20 | −#include <QFrame> | |
| 21 | −#include <QLayoutItem> | |
| 22 | −#include <QMainWindow> | |
| 23 | −#include <QMessageBox> | |
| 24 | −#include <QPalette> | |
| 25 | −#include <QScrollBar> | |
| 26 | −#include <QShortcut> | |
| 27 | −#include <QSizePolicy> | |
| 28 | −#include <QTimer> | |
| 29 | −#include <QWidget> | |
| 30 | − | |
| 31 | −#include <ScriptEngines.h> | |
| 32 | −#include "Application.h" | |
| 33 | −#include "PathUtils.h" | |
| 34 | − | |
| 35 | −ScriptEditorWindow::ScriptEditorWindow(QWidget* parent) : | |
| 36 | − QWidget(parent), | |
| 37 | − _ScriptEditorWindowUI(new Ui::ScriptEditorWindow), | |
| 38 | − _loadMenu(new QMenu), | |
| 39 | − _saveMenu(new QMenu) | |
| 40 | −{ | |
| 41 | − setAttribute(Qt::WA_DeleteOnClose); | |
| 42 | − | |
| 43 | − _ScriptEditorWindowUI->setupUi(this); | |
| 44 | − | |
| 45 | − this->setWindowFlags(Qt::Tool); | |
| 46 | − addScriptEditorWidget("New script"); | |
| 47 | − connect(_loadMenu, &QMenu::aboutToShow, this, &ScriptEditorWindow::loadMenuAboutToShow); | |
| 48 | − _ScriptEditorWindowUI->loadButton->setMenu(_loadMenu); | |
| 49 | − | |
| 50 | − _saveMenu->addAction("Save as..", this, SLOT(saveScriptAsClicked()), Qt::CTRL | Qt::SHIFT | Qt::Key_S); | |
| 51 | − | |
| 52 | − _ScriptEditorWindowUI->saveButton->setMenu(_saveMenu); | |
| 53 | − | |
| 54 | − connect(new QShortcut(QKeySequence("Ctrl+N"), this), &QShortcut::activated, this, &ScriptEditorWindow::newScriptClicked); | |
| 55 | − connect(new QShortcut(QKeySequence("Ctrl+S"), this), &QShortcut::activated, this,&ScriptEditorWindow::saveScriptClicked); | |
| 56 | − connect(new QShortcut(QKeySequence("Ctrl+O"), this), &QShortcut::activated, this, &ScriptEditorWindow::loadScriptClicked); | |
| 57 | − connect(new QShortcut(QKeySequence("F5"), this), &QShortcut::activated, this, &ScriptEditorWindow::toggleRunScriptClicked); | |
| 58 | − | |
| 59 | − _ScriptEditorWindowUI->loadButton->setIcon(QIcon(QPixmap(PathUtils::resourcesPath() + "icons/load-script.svg"))); | |
| 60 | − _ScriptEditorWindowUI->newButton->setIcon(QIcon(QPixmap(PathUtils::resourcesPath() + "icons/new-script.svg"))); | |
| 61 | − _ScriptEditorWindowUI->saveButton->setIcon(QIcon(QPixmap(PathUtils::resourcesPath() + "icons/save-script.svg"))); | |
| 62 | − _ScriptEditorWindowUI->toggleRunButton->setIcon(QIcon(QPixmap(PathUtils::resourcesPath() + "icons/start-script.svg"))); | |
| 63 | −} | |
| 64 | − | |
| 65 | −ScriptEditorWindow::~ScriptEditorWindow() { | |
| 66 | − delete _ScriptEditorWindowUI; | |
| 67 | −} | |
| 68 | − | |
| 69 | −void ScriptEditorWindow::setRunningState(bool run) { | |
| 70 | − if (_ScriptEditorWindowUI->tabWidget->currentIndex() != -1) { | |
| 71 | − static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget->currentWidget())->setRunning(run); | |
| 72 | − } | |
| 73 | − this->updateButtons(); | |
| 74 | −} | |
| 75 | − | |
| 76 | −void ScriptEditorWindow::updateButtons() { | |
| 77 | − bool isRunning = _ScriptEditorWindowUI->tabWidget->currentIndex() != -1 && | |
| 78 | − static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget->currentWidget())->isRunning(); | |
| 79 | − _ScriptEditorWindowUI->toggleRunButton->setEnabled(_ScriptEditorWindowUI->tabWidget->currentIndex() != -1); | |
| 80 | − _ScriptEditorWindowUI->toggleRunButton->setIcon(QIcon(QPixmap(PathUtils::resourcesPath() + ((isRunning ? | |
| 81 | − "icons/stop-script.svg" : "icons/start-script.svg"))))); | |
| 82 | −} | |
| 83 | − | |
| 84 | −void ScriptEditorWindow::loadScriptMenu(const QString& scriptName) { | |
| 85 | − addScriptEditorWidget("loading...")->loadFile(scriptName); | |
| 86 | − updateButtons(); | |
| 87 | −} | |
| 88 | − | |
| 89 | −void ScriptEditorWindow::loadScriptClicked() { | |
| 90 | − QString scriptName = QFileDialog::getOpenFileName(this, tr("Interface"), | |
| 91 | − qApp->getPreviousScriptLocation(), | |
| 92 | − tr("JavaScript Files (*.js)")); | |
| 93 | − if (!scriptName.isEmpty()) { | |
| 94 | − qApp->setPreviousScriptLocation(scriptName); | |
| 95 | − addScriptEditorWidget("loading...")->loadFile(scriptName); | |
| 96 | − updateButtons(); | |
| 97 | − } | |
| 98 | −} | |
| 99 | − | |
| 100 | −void ScriptEditorWindow::loadMenuAboutToShow() { | |
| 101 | − _loadMenu->clear(); | |
| 102 | − QStringList runningScripts = DependencyManager::get<ScriptEngines>()->getRunningScripts(); | |
| 103 | − if (runningScripts.count() > 0) { | |
| 104 | − QSignalMapper* signalMapper = new QSignalMapper(this); | |
| 105 | − foreach (const QString& runningScript, runningScripts) { | |
| 106 | − QAction* runningScriptAction = new QAction(runningScript, _loadMenu); | |
| 107 | − connect(runningScriptAction, SIGNAL(triggered()), signalMapper, SLOT(map())); | |
| 108 | − signalMapper->setMapping(runningScriptAction, runningScript); | |
| 109 | − _loadMenu->addAction(runningScriptAction); | |
| 110 | − } | |
| 111 | − connect(signalMapper, SIGNAL(mapped(const QString &)), this, SLOT(loadScriptMenu(const QString&))); | |
| 112 | − } else { | |
| 113 | − QAction* naAction = new QAction("(no running scripts)", _loadMenu); | |
| 114 | − naAction->setDisabled(true); | |
| 115 | − _loadMenu->addAction(naAction); | |
| 116 | − } | |
| 117 | −} | |
| 118 | − | |
| 119 | −void ScriptEditorWindow::newScriptClicked() { | |
| 120 | − addScriptEditorWidget(QString("New script")); | |
| 121 | −} | |
| 122 | − | |
| 123 | −void ScriptEditorWindow::toggleRunScriptClicked() { | |
| 124 | − this->setRunningState(!(_ScriptEditorWindowUI->tabWidget->currentIndex() !=-1 | |
| 125 | − && static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget->currentWidget())->isRunning())); | |
| 126 | −} | |
| 127 | − | |
| 128 | −void ScriptEditorWindow::saveScriptClicked() { | |
| 129 | − if (_ScriptEditorWindowUI->tabWidget->currentIndex() != -1) { | |
| 130 | − ScriptEditorWidget* currentScriptWidget = static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget | |
| 131 | − ->currentWidget()); | |
| 132 | − currentScriptWidget->save(); | |
| 133 | − } | |
| 134 | −} | |
| 135 | − | |
| 136 | −void ScriptEditorWindow::saveScriptAsClicked() { | |
| 137 | − if (_ScriptEditorWindowUI->tabWidget->currentIndex() != -1) { | |
| 138 | − ScriptEditorWidget* currentScriptWidget = static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget | |
| 139 | − ->currentWidget()); | |
| 140 | − currentScriptWidget->saveAs(); | |
| 141 | − } | |
| 142 | −} | |
| 143 | − | |
| 144 | −ScriptEditorWidget* ScriptEditorWindow::addScriptEditorWidget(QString title) { | |
| 145 | − ScriptEditorWidget* newScriptEditorWidget = new ScriptEditorWidget(); | |
| 146 | − connect(newScriptEditorWidget, &ScriptEditorWidget::scriptnameChanged, this, &ScriptEditorWindow::updateScriptNameOrStatus); | |
| 147 | − connect(newScriptEditorWidget, &ScriptEditorWidget::scriptModified, this, &ScriptEditorWindow::updateScriptNameOrStatus); | |
| 148 | − connect(newScriptEditorWidget, &ScriptEditorWidget::runningStateChanged, this, &ScriptEditorWindow::updateButtons); | |
| 149 | − connect(this, &ScriptEditorWindow::windowActivated, newScriptEditorWidget, &ScriptEditorWidget::onWindowActivated); | |
| 150 | − _ScriptEditorWindowUI->tabWidget->addTab(newScriptEditorWidget, title); | |
| 151 | − _ScriptEditorWindowUI->tabWidget->setCurrentWidget(newScriptEditorWidget); | |
| 152 | − newScriptEditorWidget->setUpdatesEnabled(true); | |
| 153 | − newScriptEditorWidget->adjustSize(); | |
| 154 | − return newScriptEditorWidget; | |
| 155 | −} | |
| 156 | − | |
| 157 | −void ScriptEditorWindow::tabSwitched(int tabIndex) { | |
| 158 | − this->updateButtons(); | |
| 159 | − if (_ScriptEditorWindowUI->tabWidget->currentIndex() != -1) { | |
| 160 | − ScriptEditorWidget* currentScriptWidget = static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget | |
| 161 | − ->currentWidget()); | |
| 162 | − QString modifiedStar = (currentScriptWidget->isModified() ? "*" : ""); | |
| 163 | − if (currentScriptWidget->getScriptName().length() > 0) { | |
| 164 | − this->setWindowTitle("Script Editor [" + currentScriptWidget->getScriptName() + modifiedStar + "]"); | |
| 165 | − } else { | |
| 166 | − this->setWindowTitle("Script Editor [New script" + modifiedStar + "]"); | |
| 167 | − } | |
| 168 | − } else { | |
| 169 | − this->setWindowTitle("Script Editor"); | |
| 170 | − } | |
| 171 | −} | |
| 172 | − | |
| 173 | −void ScriptEditorWindow::tabCloseRequested(int tabIndex) { | |
| 174 | − if (ignoreCloseForModal(nullptr)) { | |
| 175 | − return; | |
| 176 | − } | |
| 177 | − ScriptEditorWidget* closingScriptWidget = static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget | |
| 178 | − ->widget(tabIndex)); | |
| 179 | − if(closingScriptWidget->questionSave()) { | |
| 180 | − _ScriptEditorWindowUI->tabWidget->removeTab(tabIndex); | |
| 181 | − } | |
| 182 | −} | |
| 183 | − | |
| 184 | −// If this operating system window causes a qml overlay modal dialog (which might not even be seen by the user), closing this window | |
| 185 | −// will crash the code that was waiting on the dialog result. So that code whousl set inModalDialog to true while the question is up. | |
| 186 | −// This code will not be necessary when switch out all operating system windows for qml overlays. | |
| 187 | −bool ScriptEditorWindow::ignoreCloseForModal(QCloseEvent* event) { | |
| 188 | − if (!inModalDialog) { | |
| 189 | − return false; | |
| 190 | − } | |
| 191 | − // Deliberately not using OffscreenUi, so that the dialog is seen. | |
| 192 | − QMessageBox::information(this, tr("Interface"), tr("There is a modal dialog that must be answered before closing."), | |
| 193 | − QMessageBox::Discard, QMessageBox::Discard); | |
| 194 | − if (event) { | |
| 195 | − event->ignore(); // don't close | |
| 196 | − } | |
| 197 | − return true; | |
| 198 | −} | |
| 199 | − | |
| 200 | −void ScriptEditorWindow::closeEvent(QCloseEvent *event) { | |
| 201 | − if (ignoreCloseForModal(event)) { | |
| 202 | − return; | |
| 203 | − } | |
| 204 | − bool unsaved_docs_warning = false; | |
| 205 | − for (int i = 0; i < _ScriptEditorWindowUI->tabWidget->count(); i++){ | |
| 206 | − if(static_cast<ScriptEditorWidget*>(_ScriptEditorWindowUI->tabWidget->widget(i))->isModified()){ | |
| 207 | − unsaved_docs_warning = true; | |
| 208 | − break; | |
| 209 | − } | |
| 210 | − } | |
| 211 | − | |
| 212 | − if (!unsaved_docs_warning || QMessageBox::warning(this, tr("Interface"), | |
| 213 | − tr("There are some unsaved scripts, are you sure you want to close the editor? Changes will be lost!"), | |
| 214 | − QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Cancel) == QMessageBox::Discard) { | |
| 215 | − event->accept(); | |
| 216 | − } else { | |
| 217 | − event->ignore(); | |
| 218 | − } | |
| 219 | −} | |
| 220 | − | |
| 221 | −void ScriptEditorWindow::updateScriptNameOrStatus() { | |
| 222 | − ScriptEditorWidget* source = static_cast<ScriptEditorWidget*>(QObject::sender()); | |
| 223 | − QString modifiedStar = (source->isModified()? "*" : ""); | |
| 224 | − if (source->getScriptName().length() > 0) { | |
| 225 | − for (int i = 0; i < _ScriptEditorWindowUI->tabWidget->count(); i++){ | |
| 226 | − if (_ScriptEditorWindowUI->tabWidget->widget(i) == source) { | |
| 227 | − _ScriptEditorWindowUI->tabWidget->setTabText(i, modifiedStar + QFileInfo(source->getScriptName()).fileName()); | |
| 228 | − _ScriptEditorWindowUI->tabWidget->setTabToolTip(i, source->getScriptName()); | |
| 229 | − } | |
| 230 | − } | |
| 231 | − } | |
| 232 | − | |
| 233 | − if (_ScriptEditorWindowUI->tabWidget->currentWidget() == source) { | |
| 234 | − if (source->getScriptName().length() > 0) { | |
| 235 | − this->setWindowTitle("Script Editor [" + source->getScriptName() + modifiedStar + "]"); | |
| 236 | − } else { | |
| 237 | − this->setWindowTitle("Script Editor [New script" + modifiedStar + "]"); | |
| 238 | − } | |
| 239 | − } | |
| 240 | −} | |
| 241 | − | |
| 242 | −void ScriptEditorWindow::terminateCurrentTab() { | |
| 243 | − if (_ScriptEditorWindowUI->tabWidget->currentIndex() != -1) { | |
| 244 | − _ScriptEditorWindowUI->tabWidget->removeTab(_ScriptEditorWindowUI->tabWidget->currentIndex()); | |
| 245 | − this->raise(); | |
| 246 | − } | |
| 247 | −} | |
| 248 | − | |
| 249 | −bool ScriptEditorWindow::autoReloadScripts() { | |
| 250 | − return _ScriptEditorWindowUI->autoReloadCheckBox->isChecked(); | |
| 251 | −} | |
| 252 | − | |
| 253 | −bool ScriptEditorWindow::event(QEvent* event) { | |
| 254 | − if (event->type() == QEvent::WindowActivate) { | |
| 255 | − emit windowActivated(); | |
| 256 | − } | |
| 257 | − return QWidget::event(event); | |
| 258 | −} | |
| 259 | − | |
| @@ -1,64 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptEditorWindow.h | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/14/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#ifndef hifi_ScriptEditorWindow_h | |
| 13 | −#define hifi_ScriptEditorWindow_h | |
| 14 | − | |
| 15 | −#include "ScriptEditorWidget.h" | |
| 16 | − | |
| 17 | −namespace Ui { | |
| 18 | − class ScriptEditorWindow; | |
| 19 | −} | |
| 20 | − | |
| 21 | −class ScriptEditorWindow : public QWidget { | |
| 22 | − Q_OBJECT | |
| 23 | − | |
| 24 | −public: | |
| 25 | − ScriptEditorWindow(QWidget* parent = nullptr); | |
| 26 | − ~ScriptEditorWindow(); | |
| 27 | − | |
| 28 | − void terminateCurrentTab(); | |
| 29 | − bool autoReloadScripts(); | |
| 30 | − | |
| 31 | − bool inModalDialog { false }; | |
| 32 | − bool ignoreCloseForModal(QCloseEvent* event); | |
| 33 | − | |
| 34 | −signals: | |
| 35 | − void windowActivated(); | |
| 36 | − | |
| 37 | −protected: | |
| 38 | − void closeEvent(QCloseEvent* event) override; | |
| 39 | − virtual bool event(QEvent* event) override; | |
| 40 | − | |
| 41 | −private: | |
| 42 | − Ui::ScriptEditorWindow* _ScriptEditorWindowUI; | |
| 43 | − QMenu* _loadMenu; | |
| 44 | − QMenu* _saveMenu; | |
| 45 | − | |
| 46 | − ScriptEditorWidget* addScriptEditorWidget(QString title); | |
| 47 | − void setRunningState(bool run); | |
| 48 | − void setScriptName(const QString& scriptName); | |
| 49 | − | |
| 50 | −private slots: | |
| 51 | − void loadScriptMenu(const QString& scriptName); | |
| 52 | − void loadScriptClicked(); | |
| 53 | − void newScriptClicked(); | |
| 54 | − void toggleRunScriptClicked(); | |
| 55 | − void saveScriptClicked(); | |
| 56 | − void saveScriptAsClicked(); | |
| 57 | − void loadMenuAboutToShow(); | |
| 58 | − void tabSwitched(int tabIndex); | |
| 59 | − void tabCloseRequested(int tabIndex); | |
| 60 | − void updateScriptNameOrStatus(); | |
| 61 | − void updateButtons(); | |
| 62 | −}; | |
| 63 | − | |
| 64 | −#endif // hifi_ScriptEditorWindow_h | |
| @@ -1,28 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptLineNumberArea.cpp | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/30/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#include "ScriptLineNumberArea.h" | |
| 13 | − | |
| 14 | −#include "ScriptEditBox.h" | |
| 15 | − | |
| 16 | −ScriptLineNumberArea::ScriptLineNumberArea(ScriptEditBox* scriptEditBox) : | |
| 17 | − QWidget(scriptEditBox) | |
| 18 | −{ | |
| 19 | − _scriptEditBox = scriptEditBox; | |
| 20 | −} | |
| 21 | − | |
| 22 | −QSize ScriptLineNumberArea::sizeHint() const { | |
| 23 | − return QSize(_scriptEditBox->lineNumberAreaWidth(), 0); | |
| 24 | −} | |
| 25 | − | |
| 26 | −void ScriptLineNumberArea::paintEvent(QPaintEvent* event) { | |
| 27 | − _scriptEditBox->lineNumberAreaPaintEvent(event); | |
| 28 | −} | |
| @@ -1,32 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptLineNumberArea.h | |
| 3 | −// interface/src/ui | |
| 4 | −// | |
| 5 | −// Created by Thijs Wenker on 4/30/14. | |
| 6 | −// Copyright 2014 High Fidelity, Inc. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#ifndef hifi_ScriptLineNumberArea_h | |
| 13 | −#define hifi_ScriptLineNumberArea_h | |
| 14 | − | |
| 15 | −#include <QWidget> | |
| 16 | − | |
| 17 | −class ScriptEditBox; | |
| 18 | − | |
| 19 | −class ScriptLineNumberArea : public QWidget { | |
| 20 | − | |
| 21 | −public: | |
| 22 | − ScriptLineNumberArea(ScriptEditBox* scriptEditBox); | |
| 23 | − QSize sizeHint() const override; | |
| 24 | − | |
| 25 | −protected: | |
| 26 | − void paintEvent(QPaintEvent* event) override; | |
| 27 | − | |
| 28 | −private: | |
| 29 | − ScriptEditBox* _scriptEditBox; | |
| 30 | −}; | |
| 31 | − | |
| 32 | −#endif // hifi_ScriptLineNumberArea_h | |
| @@ -1,49 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptsTableWidget.cpp | |
| 3 | −// interface | |
| 4 | −// | |
| 5 | −// Created by Mohammed Nafees on 04/03/2014. | |
| 6 | −// Copyright (c) 2014 High Fidelity, Inc. All rights reserved. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#include <QDebug> | |
| 13 | −#include <QHeaderView> | |
| 14 | −#include <QKeyEvent> | |
| 15 | −#include <QPainter> | |
| 16 | − | |
| 17 | −#include "ScriptsTableWidget.h" | |
| 18 | − | |
| 19 | −ScriptsTableWidget::ScriptsTableWidget(QWidget* parent) : | |
| 20 | − QTableWidget(parent) { | |
| 21 | − verticalHeader()->setVisible(false); | |
| 22 | − horizontalHeader()->setVisible(false); | |
| 23 | − setShowGrid(false); | |
| 24 | − setSelectionMode(QAbstractItemView::NoSelection); | |
| 25 | − setEditTriggers(QAbstractItemView::NoEditTriggers); | |
| 26 | − setStyleSheet("QTableWidget { border: none; background: transparent; color: #333333; } QToolTip { color: #000000; background: #f9f6e4; padding: 2px; }"); | |
| 27 | − setToolTipDuration(200); | |
| 28 | − setWordWrap(true); | |
| 29 | − setGeometry(0, 0, parent->width(), parent->height()); | |
| 30 | −} | |
| 31 | − | |
| 32 | −void ScriptsTableWidget::paintEvent(QPaintEvent* event) { | |
| 33 | − QPainter painter(viewport()); | |
| 34 | − painter.setPen(QColor::fromRgb(225, 225, 225)); // #e1e1e1 | |
| 35 | − | |
| 36 | − int y = 0; | |
| 37 | − for (int i = 0; i < rowCount(); i++) { | |
| 38 | − painter.drawLine(5, rowHeight(i) + y, width(), rowHeight(i) + y); | |
| 39 | − y += rowHeight(i); | |
| 40 | − } | |
| 41 | − painter.end(); | |
| 42 | − | |
| 43 | − QTableWidget::paintEvent(event); | |
| 44 | −} | |
| 45 | − | |
| 46 | −void ScriptsTableWidget::keyPressEvent(QKeyEvent* event) { | |
| 47 | − // Ignore keys so they will propagate correctly | |
| 48 | − event->ignore(); | |
| 49 | −} | |
| @@ -1,28 +0,0 @@ | ||
| 1 | −// | |
| 2 | −// ScriptsTableWidget.h | |
| 3 | −// interface | |
| 4 | −// | |
| 5 | −// Created by Mohammed Nafees on 04/03/2014. | |
| 6 | −// Copyright (c) 2014 High Fidelity, Inc. All rights reserved. | |
| 7 | −// | |
| 8 | −// Distributed under the Apache License, Version 2.0. | |
| 9 | −// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | |
| 10 | −// | |
| 11 | − | |
| 12 | −#ifndef hifi__ScriptsTableWidget_h | |
| 13 | −#define hifi__ScriptsTableWidget_h | |
| 14 | − | |
| 15 | −#include <QDebug> | |
| 16 | −#include <QTableWidget> | |
| 17 | − | |
| 18 | −class ScriptsTableWidget : public QTableWidget { | |
| 19 | − Q_OBJECT | |
| 20 | −public: | |
| 21 | − explicit ScriptsTableWidget(QWidget* parent); | |
| 22 | − | |
| 23 | −protected: | |
| 24 | − virtual void paintEvent(QPaintEvent* event) override; | |
| 25 | − virtual void keyPressEvent(QKeyEvent* event) override; | |
| 26 | −}; | |
| 27 | − | |
| 28 | −#endif // hifi__ScriptsTableWidget_h | |
| @@ -1,142 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | −<ui version="4.0"> | |
| 3 | − <class>ScriptEditorWidget</class> | |
| 4 | − <widget class="QDockWidget" name="ScriptEditorWidget"> | |
| 5 | − <property name="geometry"> | |
| 6 | − <rect> | |
| 7 | − <x>0</x> | |
| 8 | − <y>0</y> | |
| 9 | − <width>691</width> | |
| 10 | − <height>549</height> | |
| 11 | − </rect> | |
| 12 | − </property> | |
| 13 | − <property name="sizePolicy"> | |
| 14 | − <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> | |
| 15 | − <horstretch>0</horstretch> | |
| 16 | − <verstretch>0</verstretch> | |
| 17 | − </sizepolicy> | |
| 18 | − </property> | |
| 19 | − <property name="minimumSize"> | |
| 20 | − <size> | |
| 21 | − <width>690</width> | |
| 22 | − <height>328</height> | |
| 23 | − </size> | |
| 24 | − </property> | |
| 25 | − <property name="styleSheet"> | |
| 26 | − <string notr="true">font-family: Helvetica, Arial, sans-serif;</string> | |
| 27 | − </property> | |
| 28 | − <property name="features"> | |
| 29 | − <set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set> | |
| 30 | − </property> | |
| 31 | − <property name="allowedAreas"> | |
| 32 | − <set>Qt::NoDockWidgetArea</set> | |
| 33 | − </property> | |
| 34 | − <property name="windowTitle"> | |
| 35 | − <string>Edit Script</string> | |
| 36 | − </property> | |
| 37 | − <widget class="QWidget" name="dockWidgetContents"> | |
| 38 | − <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,1"> | |
| 39 | − <property name="spacing"> | |
| 40 | − <number>0</number> | |
| 41 | − </property> | |
| 42 | − <property name="leftMargin"> | |
| 43 | − <number>0</number> | |
| 44 | − </property> | |
| 45 | − <property name="topMargin"> | |
| 46 | − <number>0</number> | |
| 47 | − </property> | |
| 48 | − <property name="rightMargin"> | |
| 49 | − <number>0</number> | |
| 50 | − </property> | |
| 51 | − <property name="bottomMargin"> | |
| 52 | − <number>0</number> | |
| 53 | − </property> | |
| 54 | − <item> | |
| 55 | − <widget class="ScriptEditBox" name="scriptEdit"> | |
| 56 | − <property name="font"> | |
| 57 | − <font> | |
| 58 | − <family>Courier</family> | |
| 59 | − <pointsize>-1</pointsize> | |
| 60 | − <weight>50</weight> | |
| 61 | − <italic>false</italic> | |
| 62 | − <bold>false</bold> | |
| 63 | − </font> | |
| 64 | − </property> | |
| 65 | − <property name="styleSheet"> | |
| 66 | − <string notr="true">font: 16px "Courier";</string> | |
| 67 | − </property> | |
| 68 | − </widget> | |
| 69 | − </item> | |
| 70 | − <item> | |
| 71 | − <layout class="QHBoxLayout" name="horizontalLayout"> | |
| 72 | − <property name="spacing"> | |
| 73 | − <number>0</number> | |
| 74 | − </property> | |
| 75 | − <property name="leftMargin"> | |
| 76 | − <number>0</number> | |
| 77 | − </property> | |
| 78 | − <property name="topMargin"> | |
| 79 | − <number>0</number> | |
| 80 | − </property> | |
| 81 | − <item> | |
| 82 | − <widget class="QLabel" name="label"> | |
| 83 | − <property name="sizePolicy"> | |
| 84 | − <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> | |
| 85 | − <horstretch>0</horstretch> | |
| 86 | − <verstretch>0</verstretch> | |
| 87 | − </sizepolicy> | |
| 88 | − </property> | |
| 89 | − <property name="styleSheet"> | |
| 90 | − <string notr="true">font: 13px "Helvetica","Arial","sans-serif";</string> | |
| 91 | − </property> | |
| 92 | − <property name="text"> | |
| 93 | − <string>Debug Log:</string> | |
| 94 | − </property> | |
| 95 | − </widget> | |
| 96 | − </item> | |
| 97 | − <item> | |
| 98 | − <widget class="QCheckBox" name="onTheFlyCheckBox"> | |
| 99 | − <property name="font"> | |
| 100 | − <font> | |
| 101 | − <family>Helvetica,Arial,sans-serif</family> | |
| 102 | − <pointsize>-1</pointsize> | |
| 103 | − <weight>50</weight> | |
| 104 | − <italic>false</italic> | |
| 105 | − <bold>false</bold> | |
| 106 | − </font> | |
| 107 | − </property> | |
| 108 | − <property name="styleSheet"> | |
| 109 | − <string notr="true">font: 13px "Helvetica","Arial","sans-serif";</string> | |
| 110 | − </property> | |
| 111 | − <property name="text"> | |
| 112 | − <string>Run on the fly (Careful: Any valid change made to the code will run immediately) </string> | |
| 113 | − </property> | |
| 114 | − </widget> | |
| 115 | − </item> | |
| 116 | − <item> | |
| 117 | − <widget class="QPushButton" name="clearButton"> | |
| 118 | − <property name="text"> | |
| 119 | − <string>Clear</string> | |
| 120 | − </property> | |
| 121 | − <property name="iconSize"> | |
| 122 | − <size> | |
| 123 | − <width>16</width> | |
| 124 | − <height>16</height> | |
| 125 | − </size> | |
| 126 | − </property> | |
| 127 | − </widget> | |
| 128 | − </item> | |
| 129 | − </layout> | |
| 130 | − </item> | |
| 131 | − </layout> | |
| 132 | − </widget> | |
| 133 | − </widget> | |
| 134 | − <customwidgets> | |
| 135 | − <customwidget> | |
| 136 | − <class>ScriptEditBox</class> | |
| 137 | − <extends>QTextEdit</extends> | |
| 138 | − <header>ui/ScriptEditBox.h</header> | |
| 139 | − </customwidget> | |
| 140 | − </customwidgets> | |
| 141 | − <resources/> | |
| 142 | −</ui> | |
| @@ -1,324 +0,0 @@ | ||
| 1 | −<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | −<ui version="4.0"> | |
| 3 | − <class>ScriptEditorWindow</class> | |
| 4 | − <widget class="QWidget" name="ScriptEditorWindow"> | |
| 5 | − <property name="windowModality"> | |
| 6 | − <enum>Qt::NonModal</enum> | |
| 7 | − </property> | |
| 8 | − <property name="geometry"> | |
| 9 | − <rect> | |
| 10 | − <x>0</x> | |
| 11 | − <y>0</y> | |
| 12 | − <width>780</width> | |
| 13 | − <height>717</height> | |
| 14 | − </rect> | |
| 15 | − </property> | |
| 16 | − <property name="minimumSize"> | |
| 17 | − <size> | |
| 18 | − <width>400</width> | |
| 19 | − <height>250</height> | |
| 20 | − </size> | |
| 21 | − </property> | |
| 22 | − <property name="windowTitle"> | |
| 23 | − <string>Script Editor</string> | |
| 24 | − </property> | |
| 25 | − <property name="styleSheet"> | |
| 26 | − <string notr="true">font-family: Helvetica, Arial, sans-serif;</string> | |
| 27 | − </property> | |
| 28 | − <layout class="QVBoxLayout" name="verticalLayout"> | |
| 29 | − <property name="spacing"> | |
| 30 | − <number>0</number> | |
| 31 | − </property> | |
| 32 | − <property name="leftMargin"> | |
| 33 | − <number>0</number> | |
| 34 | − </property> | |
| 35 | − <property name="topMargin"> | |
| 36 | − <number>0</number> | |
| 37 | − </property> | |
| 38 | − <property name="rightMargin"> | |
| 39 | − <number>0</number> | |
| 40 | − </property> | |
| 41 | − <property name="bottomMargin"> | |
| 42 | − <number>0</number> | |
| 43 | − </property> | |
| 44 | − <item> | |
| 45 | − <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0,0,0,0"> | |
| 46 | − <property name="spacing"> | |
| 47 | − <number>3</number> | |
| 48 | − </property> | |
| 49 | − <property name="sizeConstraint"> | |
| 50 | − <enum>QLayout::SetNoConstraint</enum> | |
| 51 | − </property> | |
| 52 | − <property name="leftMargin"> | |
| 53 | − <number>0</number> | |
| 54 | − </property> | |
| 55 | − <property name="topMargin"> | |
| 56 | − <number>0</number> | |
| 57 | − </property> | |
| 58 | − <item> | |
| 59 | − <widget class="QToolButton" name="newButton"> | |
| 60 | − <property name="toolTip"> | |
| 61 | − <string>New Script (Ctrl+N)</string> | |
| 62 | − </property> | |
| 63 | − <property name="text"> | |
| 64 | − <string>New</string> | |
| 65 | − </property> | |
| 66 | − <property name="iconSize"> | |
| 67 | − <size> | |
| 68 | − <width>32</width> | |
| 69 | − <height>32</height> | |
| 70 | − </size> | |
| 71 | − </property> | |
| 72 | − </widget> | |
| 73 | − </item> | |
| 74 | − <item> | |
| 75 | − <widget class="QToolButton" name="loadButton"> | |
| 76 | − <property name="minimumSize"> | |
| 77 | − <size> | |
| 78 | − <width>30</width> | |
| 79 | − <height>0</height> | |
| 80 | − </size> | |
| 81 | − </property> | |
| 82 | − <property name="baseSize"> | |
| 83 | − <size> | |
| 84 | − <width>25</width> | |
| 85 | − <height>0</height> | |
| 86 | − </size> | |
| 87 | − </property> | |
| 88 | − <property name="toolTip"> | |
| 89 | − <string>Load Script (Ctrl+O)</string> | |
| 90 | − </property> | |
| 91 | − <property name="text"> | |
| 92 | − <string>Load</string> | |
| 93 | − </property> | |
| 94 | − <property name="iconSize"> | |
| 95 | − <size> | |
| 96 | − <width>32</width> | |
| 97 | − <height>32</height> | |
| 98 | − </size> | |
| 99 | − </property> | |
| 100 | − <property name="checkable"> | |
| 101 | − <bool>false</bool> | |
| 102 | − </property> | |
| 103 | − <property name="popupMode"> | |
| 104 | − <enum>QToolButton::MenuButtonPopup</enum> | |
| 105 | − </property> | |
| 106 | − <property name="toolButtonStyle"> | |
| 107 | − <enum>Qt::ToolButtonIconOnly</enum> | |
| 108 | − </property> | |
| 109 | − </widget> | |
| 110 | − </item> | |
| 111 | − <item> | |
| 112 | − <widget class="QToolButton" name="saveButton"> | |
| 113 | − <property name="minimumSize"> | |
| 114 | − <size> | |
| 115 | − <width>30</width> | |
| 116 | − <height>0</height> | |
| 117 | − </size> | |
| 118 | − </property> | |
| 119 | − <property name="baseSize"> | |
| 120 | − <size> | |
| 121 | − <width>32</width> | |
| 122 | − <height>0</height> | |
| 123 | − </size> | |
| 124 | − </property> | |
| 125 | − <property name="focusPolicy"> | |
| 126 | − <enum>Qt::NoFocus</enum> | |
| 127 | − </property> | |
| 128 | − <property name="contextMenuPolicy"> | |
| 129 | − <enum>Qt::NoContextMenu</enum> | |
| 130 | − </property> | |
| 131 | − <property name="toolTip"> | |
| 132 | − <string>Save Script (Ctrl+S)</string> | |
| 133 | − </property> | |
| 134 | − <property name="text"> | |
| 135 | − <string>Save</string> | |
| 136 | − </property> | |
| 137 | − <property name="iconSize"> | |
| 138 | − <size> | |
| 139 | − <width>32</width> | |
| 140 | − <height>32</height> | |
| 141 | − </size> | |
| 142 | − </property> | |
| 143 | − <property name="autoRepeatDelay"> | |
| 144 | − <number>316</number> | |
| 145 | − </property> | |
| 146 | − <property name="popupMode"> | |
| 147 | − <enum>QToolButton::MenuButtonPopup</enum> | |
| 148 | − </property> | |
| 149 | − </widget> | |
| 150 | − </item> | |
| 151 | − <item> | |
| 152 | − <widget class="QToolButton" name="toggleRunButton"> | |
| 153 | − <property name="toolTip"> | |
| 154 | − <string>Toggle Run Script (F5)</string> | |
| 155 | − </property> | |
| 156 | − <property name="text"> | |
| 157 | − <string>Run/Stop</string> | |
| 158 | − </property> | |
| 159 | − <property name="iconSize"> | |
| 160 | − <size> | |
| 161 | − <width>32</width> | |
| 162 | − <height>32</height> | |
| 163 | − </size> | |
| 164 | − </property> | |
| 165 | − </widget> | |
| 166 | − </item> | |
| 167 | − <item> | |
| 168 | − <spacer name="horizontalSpacer"> | |
| 169 | − <property name="orientation"> | |
| 170 | − <enum>Qt::Horizontal</enum> | |
| 171 | − </property> | |
| 172 | − <property name="sizeHint" stdset="0"> | |
| 173 | − <size> | |
| 174 | − <width>40</width> | |
| 175 | − <height>20</height> | |
| 176 | − </size> | |
| 177 | − </property> | |
| 178 | − </spacer> | |
| 179 | − </item> | |
| 180 | − <item> | |
| 181 | − <widget class="QCheckBox" name="autoReloadCheckBox"> | |
| 182 | − <property name="styleSheet"> | |
| 183 | − <string notr="true">font: 13px "Helvetica","Arial","sans-serif";</string> | |
| 184 | − </property> | |
| 185 | − <property name="text"> | |
| 186 | − <string>Automatically reload externally changed files</string> | |
| 187 | − </property> | |
| 188 | − </widget> | |
| 189 | − </item> | |
| 190 | − </layout> | |
| 191 | − </item> | |
| 192 | − <item> | |
| 193 | − <widget class="QTabWidget" name="tabWidget"> | |
| 194 | − <property name="enabled"> | |
| 195 | − <bool>true</bool> | |
| 196 | − </property> | |
| 197 | − <property name="minimumSize"> | |
| 198 | − <size> | |
| 199 | − <width>250</width> | |
| 200 | − <height>80</height> | |
| 201 | − </size> | |
| 202 | − </property> | |
| 203 | − <property name="tabPosition"> | |
| 204 | − <enum>QTabWidget::West</enum> | |
| 205 | − </property> | |
| 206 | − <property name="tabShape"> | |
| 207 | − <enum>QTabWidget::Triangular</enum> | |
| 208 | − </property> | |
| 209 | − <property name="currentIndex"> | |
| 210 | − <number>-1</number> | |
| 211 | − </property> | |
| 212 | − <property name="elideMode"> | |
| 213 | − <enum>Qt::ElideNone</enum> | |
| 214 | − </property> | |
| 215 | − <property name="tabsClosable"> | |
| 216 | − <bool>true</bool> | |
| 217 | − </property> | |
| 218 | − <property name="movable"> | |
| 219 | − <bool>true</bool> | |
| 220 | − </property> | |
| 221 | − </widget> | |
| 222 | − </item> | |
| 223 | − </layout> | |
| 224 | − </widget> | |
| 225 | − <resources/> | |
| 226 | − <connections> | |
| 227 | − <connection> | |
| 228 | − <sender>saveButton</sender> | |
| 229 | − <signal>clicked()</signal> | |
| 230 | − <receiver>ScriptEditorWindow</receiver> | |
| 231 | − <slot>saveScriptClicked()</slot> | |
| 232 | − <hints> | |
| 233 | − <hint type="sourcelabel"> | |
| 234 | − <x>236</x> | |
| 235 | − <y>10</y> | |
| 236 | − </hint> | |
| 237 | − <hint type="destinationlabel"> | |
| 238 | − <x>199</x> | |
| 239 | − <y>264</y> | |
| 240 | − </hint> | |
| 241 | − </hints> | |
| 242 | − </connection> | |
| 243 | − <connection> | |
| 244 | − <sender>toggleRunButton</sender> | |
| 245 | − <signal>clicked()</signal> | |
| 246 | − <receiver>ScriptEditorWindow</receiver> | |
| 247 | − <slot>toggleRunScriptClicked()</slot> | |
| 248 | − <hints> | |
| 249 | − <hint type="sourcelabel"> | |
| 250 | − <x>330</x> | |
| 251 | − <y>10</y> | |
| 252 | − </hint> | |
| 253 | − <hint type="destinationlabel"> | |
| 254 | − <x>199</x> | |
| 255 | − <y>264</y> | |
| 256 | − </hint> | |
| 257 | − </hints> | |
| 258 | − </connection> | |
| 259 | − <connection> | |
| 260 | − <sender>newButton</sender> | |
| 261 | − <signal>clicked()</signal> | |
| 262 | − <receiver>ScriptEditorWindow</receiver> | |
| 263 | − <slot>newScriptClicked()</slot> | |
| 264 | − <hints> | |
| 265 | − <hint type="sourcelabel"> | |
| 266 | − <x>58</x> | |
| 267 | − <y>10</y> | |
| 268 | − </hint> | |
| 269 | − <hint type="destinationlabel"> | |
| 270 | − <x>199</x> | |
| 271 | − <y>264</y> | |
| 272 | − </hint> | |
| 273 | − </hints> | |
| 274 | − </connection> | |
| 275 | − <connection> | |
| 276 | − <sender>loadButton</sender> | |
| 277 | − <signal>clicked()</signal> | |
| 278 | − <receiver>ScriptEditorWindow</receiver> | |
| 279 | − <slot>loadScriptClicked()</slot> | |
| 280 | − <hints> | |
| 281 | − <hint type="sourcelabel"> | |
| 282 | − <x>85</x> | |
| 283 | − <y>10</y> | |
| 284 | − </hint> | |
| 285 | − <hint type="destinationlabel"> | |
| 286 | − <x>199</x> | |
| 287 | − <y>264</y> | |
| 288 | − </hint> | |
| 289 | − </hints> | |
| 290 | − </connection> | |
| 291 | − <connection> | |
| 292 | − <sender>tabWidget</sender> | |
| 293 | − <signal>currentChanged(int)</signal> | |
| 294 | − <receiver>ScriptEditorWindow</receiver> | |
| 295 | − <slot>tabSwitched(int)</slot> | |
| 296 | − <hints> | |
| 297 | − <hint type="sourcelabel"> | |
| 298 | − <x>352</x> | |
| 299 | − <y>360</y> | |
| 300 | − </hint> | |
| 301 | − <hint type="destinationlabel"> | |
| 302 | − <x>352</x> | |
| 303 | − <y>340</y> | |
| 304 | − </hint> | |
| 305 | − </hints> | |
| 306 | − </connection> | |
| 307 | − <connection> | |
| 308 | − <sender>tabWidget</sender> | |
| 309 | − <signal>tabCloseRequested(int)</signal> | |
| 310 | − <receiver>ScriptEditorWindow</receiver> | |
| 311 | − <slot>tabCloseRequested(int)</slot> | |
| 312 | − <hints> | |
| 313 | − <hint type="sourcelabel"> | |
| 314 | − <x>352</x> | |
| 315 | − <y>360</y> | |
| 316 | − </hint> | |
| 317 | − <hint type="destinationlabel"> | |
| 318 | − <x>352</x> | |
| 319 | − <y>340</y> | |
| 320 | − </hint> | |
| 321 | − </hints> | |
| 322 | − </connection> | |
| 323 | − </connections> | |
| 324 | −</ui> | |