Merge pull request #3802 from alexbruy/processing-scripts

[processing] script editor UI improvements
This commit is contained in:
Alexander Bruy 2016-11-24 14:36:57 +02:00 committed by GitHub
commit 95072e9bfd
7 changed files with 1339 additions and 329 deletions

View File

@ -115,6 +115,8 @@
<file>themes/default/mActionAddBasicCircle.svg</file>
<file>themes/default/mActionEditNodesItem.svg</file>
<file>themes/default/mActionEditHelpContent.svg</file>
<file>themes/default/mActionIncreaseFont.svg</file>
<file>themes/default/mActionDecreaseFont.svg</file>
<file>themes/default/mActionAddNodesItem.svg</file>
<file>themes/default/mActionAddPolygon.svg</file>
<file>themes/default/mActionAddPolyline.svg</file>

View File

@ -0,0 +1,555 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
id="svg5692"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="mActionDecreaseFont.svg"
inkscape:export-filename="/mnt/home1/robert/svn/graphics/trunk/toolbar-icons/24x24/label.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
style="display:inline">
<title
id="title2883">label</title>
<defs
id="defs5694">
<linearGradient
id="linearGradient3965">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3971" />
<stop
id="stop3977"
offset="0.85191339"
style="stop-color:#959595;stop-opacity:1;" />
<stop
style="stop-color:#6f6f6f;stop-opacity:1;"
offset="0.91825092"
id="stop3979" />
<stop
id="stop3969"
offset="1"
style="stop-color:#4a4a4a;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3645">
<stop
style="stop-color:#edd400;stop-opacity:1;"
offset="0"
id="stop3647" />
<stop
style="stop-color:#fff17a;stop-opacity:1;"
offset="1"
id="stop3649" />
</linearGradient>
<linearGradient
id="linearGradient3657">
<stop
style="stop-color:#fce94f;stop-opacity:1;"
offset="0"
id="stop3659" />
<stop
style="stop-color:#e7ce04;stop-opacity:1;"
offset="1"
id="stop3661" />
</linearGradient>
<linearGradient
id="linearGradient2877">
<stop
style="stop-color:#edd400;stop-opacity:1;"
offset="0"
id="stop2879" />
<stop
style="stop-color:#c2ad00;stop-opacity:1;"
offset="1"
id="stop2881" />
</linearGradient>
<linearGradient
id="linearGradient4042">
<stop
style="stop-color:#f2d6a9;stop-opacity:1;"
offset="0"
id="stop4044" />
<stop
style="stop-color:#e9b96e;stop-opacity:1;"
offset="1"
id="stop4046" />
</linearGradient>
<linearGradient
id="linearGradient2843">
<stop
style="stop-color:#eeeeec;stop-opacity:1;"
offset="0"
id="stop2845" />
<stop
style="stop-color:#c8c8c2;stop-opacity:1;"
offset="1"
id="stop2847" />
</linearGradient>
<linearGradient
id="linearGradient2835">
<stop
style="stop-color:#ccf2a6;stop-opacity:1;"
offset="0"
id="stop2837" />
<stop
style="stop-color:#8ae234;stop-opacity:1;"
offset="1"
id="stop2839" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="32 : 16 : 1"
inkscape:persp3d-origin="16 : 10.666667 : 1"
id="perspective3257" />
<inkscape:perspective
id="perspective6979"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective7934"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8023"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8057"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8095"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8219"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8279"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3803"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3869"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3929"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3968"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4002"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4032"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4053"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2905"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2979"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2842"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2978"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3238"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4048"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective4058"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4048-2"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4042-2">
<stop
style="stop-color:#f2d6a9;stop-opacity:1;"
offset="0"
id="stop4044-8" />
<stop
style="stop-color:#e9b96e;stop-opacity:1;"
offset="1"
id="stop4046-4" />
</linearGradient>
<radialGradient
r="6.1587391"
fy="17.838446"
fx="0.5"
cy="17.838446"
cx="0.5"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-8.4170292)"
gradientUnits="userSpaceOnUse"
id="radialGradient4067"
xlink:href="#linearGradient4042-2"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4094"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4097"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4100"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4103"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4106"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4109"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4112"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4115"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4118"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<inkscape:perspective
id="perspective8198"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3657"
id="linearGradient3663"
x1="10.5"
y1="10.5"
x2="13.5"
y2="18.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3657"
id="linearGradient3669"
gradientUnits="userSpaceOnUse"
x1="10.5"
y1="10.5"
x2="13.5"
y2="18.5"
gradientTransform="translate(0,-3)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="10"
inkscape:cx="19.440994"
inkscape:cy="15.131726"
inkscape:current-layer="g3653"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="false"
inkscape:window-width="1366"
inkscape:window-height="731"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-bbox="false"
inkscape:snap-global="false">
<inkscape:grid
type="xygrid"
id="grid5700"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
dotted="true"
originx="0.5px"
originy="0.5px"
spacingx="1px"
spacingy="1px" />
</sodipodi:namedview>
<metadata
id="metadata5697">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>label</dc:title>
<dc:date>2011-03-11</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Robert Szczepanek</dc:title>
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title>Robert Szczepanek</dc:title>
</cc:Agent>
</dc:rights>
<dc:subject>
<rdf:Bag>
<rdf:li>icon</rdf:li>
<rdf:li>gis</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:coverage>GIS icons 0.2</dc:coverage>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="1"
style="display:inline"
transform="translate(0,-8)">
<text
xml:space="preserve"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Georgia;-inkscape-font-specification:Georgia"
x="11.26257"
y="17.329609"
id="text2870"
sodipodi:linespacing="100%"
transform="translate(0,8)"><tspan
sodipodi:role="line"
id="tspan2872"
x="11.26257"
y="17.329609" /></text>
<g
id="g3653">
<text
sodipodi:linespacing="100%"
id="text2894"
y="25.392717"
x="-0.012531424"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8px;line-height:100%;font-family:FreeSans;-inkscape-font-specification:'FreeSans Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#2e3436;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="25.392717"
x="-0.012531424"
id="tspan2900"
sodipodi:role="line"
style="font-size:16.25px">A</tspan></text>
<g
style="overflow:inherit"
id="g3667"
transform="matrix(0.86657918,0,0,0.94752623,5.3656431,6.0860012)">
<g
id="g3177"
transform="matrix(0.85503041,-0.12258223,0.13403263,0.78198527,-7.0198792,14.882664)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,555 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
id="svg5692"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="mActionIncreaseFont.svg"
inkscape:export-filename="/mnt/home1/robert/svn/graphics/trunk/toolbar-icons/24x24/label.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
style="display:inline">
<title
id="title2883">label</title>
<defs
id="defs5694">
<linearGradient
id="linearGradient3965">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3971" />
<stop
id="stop3977"
offset="0.85191339"
style="stop-color:#959595;stop-opacity:1;" />
<stop
style="stop-color:#6f6f6f;stop-opacity:1;"
offset="0.91825092"
id="stop3979" />
<stop
id="stop3969"
offset="1"
style="stop-color:#4a4a4a;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3645">
<stop
style="stop-color:#edd400;stop-opacity:1;"
offset="0"
id="stop3647" />
<stop
style="stop-color:#fff17a;stop-opacity:1;"
offset="1"
id="stop3649" />
</linearGradient>
<linearGradient
id="linearGradient3657">
<stop
style="stop-color:#fce94f;stop-opacity:1;"
offset="0"
id="stop3659" />
<stop
style="stop-color:#e7ce04;stop-opacity:1;"
offset="1"
id="stop3661" />
</linearGradient>
<linearGradient
id="linearGradient2877">
<stop
style="stop-color:#edd400;stop-opacity:1;"
offset="0"
id="stop2879" />
<stop
style="stop-color:#c2ad00;stop-opacity:1;"
offset="1"
id="stop2881" />
</linearGradient>
<linearGradient
id="linearGradient4042">
<stop
style="stop-color:#f2d6a9;stop-opacity:1;"
offset="0"
id="stop4044" />
<stop
style="stop-color:#e9b96e;stop-opacity:1;"
offset="1"
id="stop4046" />
</linearGradient>
<linearGradient
id="linearGradient2843">
<stop
style="stop-color:#eeeeec;stop-opacity:1;"
offset="0"
id="stop2845" />
<stop
style="stop-color:#c8c8c2;stop-opacity:1;"
offset="1"
id="stop2847" />
</linearGradient>
<linearGradient
id="linearGradient2835">
<stop
style="stop-color:#ccf2a6;stop-opacity:1;"
offset="0"
id="stop2837" />
<stop
style="stop-color:#8ae234;stop-opacity:1;"
offset="1"
id="stop2839" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="32 : 16 : 1"
inkscape:persp3d-origin="16 : 10.666667 : 1"
id="perspective3257" />
<inkscape:perspective
id="perspective6979"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective7934"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8023"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8057"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8095"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8219"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8279"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3803"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3869"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3929"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3968"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4002"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4032"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4053"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2905"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2979"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2842"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2978"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3238"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4048"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
id="perspective4058"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4048-2"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4042-2">
<stop
style="stop-color:#f2d6a9;stop-opacity:1;"
offset="0"
id="stop4044-8" />
<stop
style="stop-color:#e9b96e;stop-opacity:1;"
offset="1"
id="stop4046-4" />
</linearGradient>
<radialGradient
r="6.1587391"
fy="17.838446"
fx="0.5"
cy="17.838446"
cx="0.5"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-8.4170292)"
gradientUnits="userSpaceOnUse"
id="radialGradient4067"
xlink:href="#linearGradient4042-2"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4094"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4097"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4100"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042-2"
id="radialGradient4103"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81185454,1.1365964,-1.1707271,0.83623306,20.063146,-1.4817979)"
cx="8.5770311"
cy="3.8663561"
fx="8.5770311"
fy="3.8663561"
r="6.1587391" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4106"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4109"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4112"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4115"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4042"
id="radialGradient4118"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8118545,0.97422537,-1.1052481,0.9210397,19.809981,-0.4170292)"
cx="0.5"
cy="17.838446"
fx="0.5"
fy="17.838446"
r="6.158739" />
<inkscape:perspective
id="perspective8198"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3657"
id="linearGradient3663"
x1="10.5"
y1="10.5"
x2="13.5"
y2="18.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3657"
id="linearGradient3669"
gradientUnits="userSpaceOnUse"
x1="10.5"
y1="10.5"
x2="13.5"
y2="18.5"
gradientTransform="translate(0,-3)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="10"
inkscape:cx="19.440994"
inkscape:cy="15.131726"
inkscape:current-layer="g3653"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="false"
inkscape:window-width="1366"
inkscape:window-height="731"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-bbox="false"
inkscape:snap-global="false">
<inkscape:grid
type="xygrid"
id="grid5700"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
dotted="true"
originx="0.5px"
originy="0.5px"
spacingx="1px"
spacingy="1px" />
</sodipodi:namedview>
<metadata
id="metadata5697">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>label</dc:title>
<dc:date>2011-03-11</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Robert Szczepanek</dc:title>
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title>Robert Szczepanek</dc:title>
</cc:Agent>
</dc:rights>
<dc:subject>
<rdf:Bag>
<rdf:li>icon</rdf:li>
<rdf:li>gis</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:coverage>GIS icons 0.2</dc:coverage>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="1"
style="display:inline"
transform="translate(0,-8)">
<text
xml:space="preserve"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Georgia;-inkscape-font-specification:Georgia"
x="11.26257"
y="17.329609"
id="text2870"
sodipodi:linespacing="100%"
transform="translate(0,8)"><tspan
sodipodi:role="line"
id="tspan2872"
x="11.26257"
y="17.329609" /></text>
<g
id="g3653">
<text
sodipodi:linespacing="100%"
id="text2894"
y="25.392717"
x="-0.012531424"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8px;line-height:100%;font-family:FreeSans;-inkscape-font-specification:'FreeSans Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#2e3436;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="25.392717"
x="-0.012531424"
id="tspan2900"
sodipodi:role="line"
style="font-size:16.25px">A+</tspan></text>
<g
style="overflow:inherit"
id="g3667"
transform="matrix(0.86657918,0,0,0.94752623,5.3656431,6.0860012)">
<g
id="g3177"
transform="matrix(0.85503041,-0.12258223,0.13403263,0.78198527,-7.0198792,14.882664)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -60,7 +60,6 @@ class CreateNewScriptAction(ToolboxAction):
if self.scriptType == self.SCRIPT_R:
dlg = ScriptEditorDialog(ScriptEditorDialog.SCRIPT_R, None)
dlg.show()
dlg.exec_()
if dlg.update:
if self.scriptType == self.SCRIPT_PYTHON:
algList.reloadProvider('script')

View File

@ -31,9 +31,14 @@ import json
import os
from qgis.PyQt import uic
from qgis.PyQt.QtCore import Qt
from qgis.PyQt.QtCore import Qt, QSize, QByteArray, QSettings
from qgis.PyQt.QtGui import QIcon, QCursor
from qgis.PyQt.QtWidgets import QMenu, QAction, QMessageBox, QFileDialog, QApplication
from qgis.PyQt.QtWidgets import (QMenu,
QAction,
QToolButton,
QMessageBox,
QFileDialog,
QApplication)
from qgis.core import QgsApplication
from qgis.utils import iface
@ -65,40 +70,52 @@ class ScriptEditorDialog(BASE, WIDGET):
self.setWindowFlags(Qt.WindowMinimizeButtonHint |
Qt.WindowMaximizeButtonHint |
Qt.WindowCloseButtonHint)
# Set icons
self.btnOpen.setIcon(
settings = QSettings()
self.restoreState(settings.value("/Processing/stateScriptEditor", QByteArray()))
self.restoreGeometry(settings.value("/Processing/geometryScriptEditor", QByteArray()))
iconSize = settings.value("iconsize", 24)
self.toolBar.setIconSize(QSize(iconSize, iconSize))
self.actionOpenScript.setIcon(
QgsApplication.getThemeIcon('/mActionFileOpen.svg'))
self.btnSave.setIcon(
self.actionSaveScript.setIcon(
QgsApplication.getThemeIcon('/mActionFileSave.svg'))
self.btnSaveAs.setIcon(
self.actionSaveScriptAs.setIcon(
QgsApplication.getThemeIcon('/mActionFileSaveAs.svg'))
self.btnEditHelp.setIcon(
QIcon(os.path.join(pluginPath, 'images', 'edithelp.png')))
self.btnRun.setIcon(
QIcon(os.path.join(pluginPath, 'images', 'runalgorithm.png')))
self.btnCut.setIcon(QgsApplication.getThemeIcon('/mActionEditCut.svg'))
self.btnCopy.setIcon(
self.actionEditScriptHelp.setIcon(
QgsApplication.getThemeIcon('/mActionEditHelpContent.svg'))
self.actionRunScript.setIcon(
QgsApplication.getThemeIcon('/mActionStart.svg'))
self.actionCut.setIcon(
QgsApplication.getThemeIcon('/mActionEditCut.svg'))
self.actionCopy.setIcon(
QgsApplication.getThemeIcon('/mActionEditCopy.svg'))
self.btnPaste.setIcon(
self.actionPaste.setIcon(
QgsApplication.getThemeIcon('/mActionEditPaste.svg'))
self.btnUndo.setIcon(QgsApplication.getThemeIcon('/mActionUndo.svg'))
self.btnRedo.setIcon(QgsApplication.getThemeIcon('/mActionRedo.svg'))
self.btnSnippets.setIcon(QgsApplication.getThemeIcon('/mActionHelpAPI.png'))
self.actionUndo.setIcon(
QgsApplication.getThemeIcon('/mActionUndo.svg'))
self.actionRedo.setIcon(
QgsApplication.getThemeIcon('/mActionRedo.svg'))
self.actionIncreaseFontSize.setIcon(
QgsApplication.getThemeIcon('/mActionIncreaseFont.svg'))
self.actionDecreaseFontSize.setIcon(
QgsApplication.getThemeIcon('/mActionDecreaseFont.svg'))
# Connect signals and slots
self.btnOpen.clicked.connect(self.openScript)
self.btnSave.clicked.connect(self.save)
self.btnSaveAs.clicked.connect(self.saveAs)
self.btnEditHelp.clicked.connect(self.editHelp)
self.btnRun.clicked.connect(self.runAlgorithm)
self.btnSnippets.clicked.connect(self.showSnippets)
self.btnCut.clicked.connect(self.editor.cut)
self.btnCopy.clicked.connect(self.editor.copy)
self.btnPaste.clicked.connect(self.editor.paste)
self.btnUndo.clicked.connect(self.editor.undo)
self.btnRedo.clicked.connect(self.editor.redo)
self.btnIncreaseFont.clicked.connect(self.editor.zoomIn)
self.btnDecreaseFont.clicked.connect(self.editor.zoomOut)
self.actionOpenScript.triggered.connect(self.openScript)
self.actionSaveScript.triggered.connect(self.save)
self.actionSaveScriptAs.triggered.connect(self.saveAs)
self.actionEditScriptHelp.triggered.connect(self.editHelp)
self.actionRunScript.triggered.connect(self.runAlgorithm)
self.actionCut.triggered.connect(self.editor.cut)
self.actionCopy.triggered.connect(self.editor.copy)
self.actionPaste.triggered.connect(self.editor.paste)
self.actionUndo.triggered.connect(self.editor.undo)
self.actionRedo.triggered.connect(self.editor.redo)
self.actionIncreaseFontSize.triggered.connect(self.editor.zoomIn)
self.actionDecreaseFontSize.triggered.connect(self.editor.zoomOut)
self.editor.textChanged.connect(lambda: self.setHasChanged(True))
self.alg = alg
@ -107,7 +124,7 @@ class ScriptEditorDialog(BASE, WIDGET):
self.snippets = {}
if self.algType == self.SCRIPT_PYTHON:
path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "script", "snippets.py")
with open(path) as f:
with codecs.open(path, 'r', encoding='utf-8') as f:
lines = f.readlines()
snippetlines = []
name = None
@ -122,8 +139,8 @@ class ScriptEditorDialog(BASE, WIDGET):
if snippetlines:
self.snippets[name] = "".join(snippetlines)
if not self.snippets:
self.btnSnippets.setVisible(False)
#if self.snippets:
# self.btnSnippets.setVisible(False)
if self.alg is not None:
self.filename = self.alg.descriptionFile
@ -138,13 +155,13 @@ class ScriptEditorDialog(BASE, WIDGET):
self.editor.setLexerType(self.algType)
def showSnippets(self, evt):
popupmenu = QMenu()
for name, snippet in list(self.snippets.items()):
action = QAction(self.tr(name), self.btnSnippets)
action.triggered[()].connect(lambda snippet=snippet: self.editor.insert(snippet))
popupmenu.addAction(action)
popupmenu.exec_(QCursor.pos())
#def showSnippets(self, evt):
# popupmenu = QMenu()
# for name, snippet in list(self.snippets.items()):
# action = QAction(self.tr(name), self.btnSnippets)
# action.triggered[()].connect(lambda snippet=snippet: self.editor.insert(snippet))
# popupmenu.addAction(action)
# popupmenu.exec_(QCursor.pos())
def closeEvent(self, evt):
if self.hasChanged:
@ -189,7 +206,7 @@ class ScriptEditorDialog(BASE, WIDGET):
scriptDir = RUtils.RScriptsFolders()[0]
filterName = self.tr('Processing R script (*.rsx)')
self.filename = QFileDialog.getOpenFileName(
self.filename, fileFilter = QFileDialog.getOpenFileName(
self, self.tr('Open script'), scriptDir, filterName)
if self.filename == '':
@ -220,9 +237,8 @@ class ScriptEditorDialog(BASE, WIDGET):
scriptDir = RUtils.RScriptsFolders()[0]
filterName = self.tr('Processing R script (*.rsx)')
self.filename = str(QFileDialog.getSaveFileName(self,
self.tr('Save script'), scriptDir,
filterName))
self.filename, fileFilter = QFileDialog.getSaveFileName(
self, self.tr('Save script'), scriptDir, filterName)
if self.filename:
if self.algType == self.SCRIPT_PYTHON and \
@ -239,9 +255,9 @@ class ScriptEditorDialog(BASE, WIDGET):
with codecs.open(self.filename, 'w', encoding='utf-8') as fout:
fout.write(text)
except IOError:
QMessageBox.warning(self, self.tr('I/O error'),
self.tr('Unable to save edits. Reason:\n %s')
% str(sys.exc_info()[1])
QMessageBox.warning(self,
self.tr('I/O error'),
self.tr('Unable to save edits. Reason:\n{}').format(sys.exc_info()[1])
)
return
self.update = True
@ -249,7 +265,7 @@ class ScriptEditorDialog(BASE, WIDGET):
# If help strings were defined before saving the script for
# the first time, we do it here
if self.help:
with open(self.filename + '.help', 'w') as f:
with codecs.open(self.filename + '.help', 'w', encoding='utf-8') as f:
json.dump(self.help, f)
self.help = None
self.setHasChanged(False)
@ -258,7 +274,7 @@ class ScriptEditorDialog(BASE, WIDGET):
def setHasChanged(self, hasChanged):
self.hasChanged = hasChanged
self.btnSave.setEnabled(hasChanged)
self.actionSaveScript.setEnabled(hasChanged)
def runAlgorithm(self):
if self.algType == self.SCRIPT_PYTHON:

View File

@ -287,9 +287,9 @@ class ModelerDialog(BASE, WIDGET):
self.saveModel(True)
def exportAsImage(self):
filename, filter = QFileDialog.getSaveFileName(self,
self.tr('Save Model As Image'), '',
self.tr('PNG files (*.png *.PNG)'))
filename, fileFilter = QFileDialog.getSaveFileName(self,
self.tr('Save Model As Image'), '',
self.tr('PNG files (*.png *.PNG)'))
if not filename:
return

View File

@ -1,287 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DlgScriptEditor</class>
<widget class="QDialog" name="DlgScriptEditor">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>720</width>
<height>480</height>
<width>721</width>
<height>578</height>
</rect>
</property>
<property name="windowTitle">
<string>Script editor</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>6</number>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="ScriptEdit" name="editor"/>
</item>
</layout>
</widget>
<widget class="QToolBar" name="toolBar">
<property name="windowTitle">
<string>toolBar</string>
</property>
<property name="margin">
<number>9</number>
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="actionOpenScript"/>
<addaction name="actionSaveScript"/>
<addaction name="actionSaveScriptAs"/>
<addaction name="separator"/>
<addaction name="actionEditScriptHelp"/>
<addaction name="separator"/>
<addaction name="actionRunScript"/>
<addaction name="separator"/>
<addaction name="actionCut"/>
<addaction name="actionCopy"/>
<addaction name="actionPaste"/>
<addaction name="separator"/>
<addaction name="actionUndo"/>
<addaction name="actionRedo"/>
<addaction name="separator"/>
<addaction name="actionIncreaseFontSize"/>
<addaction name="actionDecreaseFontSize"/>
</widget>
<action name="actionOpenScript">
<property name="text">
<string>Open script...</string>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<item>
<widget class="QToolButton" name="btnOpen">
<property name="toolTip">
<string>Open script</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+O, Return</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnSave">
<property name="toolTip">
<string>Save</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+S</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnSaveAs">
<property name="toolTip">
<string>Save as...</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+S</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnEditHelp">
<property name="toolTip">
<string>Edit script help</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnRun">
<property name="toolTip">
<string>Run algorithm</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>F5</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnCut">
<property name="toolTip">
<string>Cut</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+X</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnCopy">
<property name="toolTip">
<string>Copy</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+C</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnPaste">
<property name="toolTip">
<string>Paste</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+V</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnUndo">
<property name="toolTip">
<string>Undo</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+Z</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnRedo">
<property name="toolTip">
<string>Redo</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+Z</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnSnippets">
<property name="text">
<string>...</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnIncreaseFont">
<property name="text">
<string>A+</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnDecreaseFont">
<property name="text">
<string>A-</string>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="ScriptEdit" name="editor"/>
</item>
</layout>
<property name="toolTip">
<string>Open script</string>
</property>
<property name="shortcut">
<string>Ctrl+O</string>
</property>
</action>
<action name="actionSaveScript">
<property name="text">
<string>Save script...</string>
</property>
<property name="toolTip">
<string>Save script...</string>
</property>
<property name="shortcut">
<string>Ctrl+S</string>
</property>
</action>
<action name="actionSaveScriptAs">
<property name="text">
<string>Save script as...</string>
</property>
<property name="toolTip">
<string>Save script as...</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+S</string>
</property>
</action>
<action name="actionEditScriptHelp">
<property name="text">
<string>Edit script help</string>
</property>
<property name="toolTip">
<string>Edit script help</string>
</property>
</action>
<action name="actionRunScript">
<property name="text">
<string>Run script</string>
</property>
<property name="toolTip">
<string>Run script</string>
</property>
<property name="shortcut">
<string>F5</string>
</property>
</action>
<action name="actionCut">
<property name="text">
<string>Cut</string>
</property>
<property name="toolTip">
<string>Cut</string>
</property>
<property name="shortcut">
<string>Ctrl+X</string>
</property>
</action>
<action name="actionCopy">
<property name="text">
<string>Copy</string>
</property>
<property name="toolTip">
<string>Copy</string>
</property>
<property name="shortcut">
<string>Ctrl+C</string>
</property>
</action>
<action name="actionPaste">
<property name="text">
<string>Paste</string>
</property>
<property name="toolTip">
<string>Paste</string>
</property>
<property name="shortcut">
<string>Ctrl+V</string>
</property>
</action>
<action name="actionUndo">
<property name="text">
<string>Undo</string>
</property>
<property name="toolTip">
<string>Undo</string>
</property>
<property name="shortcut">
<string>Ctrl+Z</string>
</property>
</action>
<action name="actionRedo">
<property name="text">
<string>Redo</string>
</property>
<property name="toolTip">
<string>Redo</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+Z</string>
</property>
</action>
<action name="actionIncreaseFontSize">
<property name="text">
<string>Increase font size</string>
</property>
<property name="toolTip">
<string>Increase font size</string>
</property>
</action>
<action name="actionDecreaseFontSize">
<property name="text">
<string>Decrease font size</string>
</property>
<property name="toolTip">
<string>Decrease font size</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
@ -290,12 +179,6 @@
<header>processing.gui.ScriptEdit</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>btnSave</tabstop>
<tabstop>btnSaveAs</tabstop>
<tabstop>btnEditHelp</tabstop>
<tabstop>btnRun</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>