Adds: Documents menu (copy, cut, paste, delete, move up/down, split, merge...)

This commit is contained in:
Olivier Keshavjee 2017-11-10 17:43:32 +01:00
commit c6f1a461d5
34 changed files with 2692 additions and 41 deletions

View file

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.5778076"
inkscape:cx="19.566786"
inkscape:cy="106.96771"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-924.3622)">
<g
id="g3010"
transform="matrix(1.9999909,0,0,1.9999909,-39.999763,-1096.3525)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path2996"
d="m 26,1021.8916 0,21.4118 32,0 0,-10.7059 -1.523809,-9.1765 -11.976191,-0.059 -1.5,-3 -15.47619,0 C 26.761905,1020.3622 26,1021.1269 26,1021.8916 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect2998"
width="15.785714"
height="5.9411421"
x="28.5"
y="1024.3622" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 27.53125,1020.3622 c -0.761904,0 -1.53125,0.7665 -1.53125,1.5313 l 0,1 c 0,-0.7648 0.769346,-1.5313 1.53125,-1.5313 l 14.96875,0 1.5,3 12.46875,0.062 1.53125,9.1719 0,-1 -1.53125,-9.1719 -11.96875,-0.062 -1.5,-3 z"
id="path3000"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 58,1024.9505 0,21.4117 -32,0 0,-20 15,0 1.5,-3 13.976191,0.059 c 0.761904,0 1.523809,0.7648 1.523809,1.5295 z"
id="path3002"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3004"
d="m 26,1045.3622 0,1 32,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 42.761905,1024.1858 -3.809524,2.2941 2.285714,0 z"
id="path3006"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 42.5,1023.3622 -1.5,3 -15,0 0,1 15.5,0 1.5,-3 13.46875,0.062 c 0.761904,0 1.53125,0.7666 1.53125,1.5313 l 0,-1 c 0,-0.7647 -0.769346,-1.5313 -1.53125,-1.5313 z"
id="path3008"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccscc" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 51.999815,983.4212 0,42.8234 63.999705,0 0,-21.4117 -3.0476,-18.3529 -23.952273,-0.118 -2.999987,-6 -30.952239,0 c -1.523803,4e-4 -3.047606,1.5298 -3.047606,3.0592 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="31.571285"
height="11.88223"
x="56.999794"
y="988.36243" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 55.062301,980.3624 c -1.523801,0 -3.062486,1.533 -3.062486,3.0626 l 0,2 c 0,-1.5296 1.538685,-3.0626 3.062486,-3.0626 l 29.937364,0 2.999987,6 24.937388,0.124 3.06248,18.3437 0,-2 -3.06248,-18.3437 -23.937393,-0.124 -2.999987,-6 z"
id="path3790"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 115.99952,989.539 0,42.8232 -63.999705,0 0,-39.9998 29.999863,0 2.999987,-6 27.952255,0.118 c 1.5238,0 3.0476,1.5296 3.0476,3.059 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3794"
d="m 51.999815,1030.3622 0,2 63.999705,0 0,-2 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 85.523472,988.0096 -7.619013,4.5882 4.571407,0 z"
id="path3801"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 84.999665,986.3624 -2.999987,6 -29.999863,0 0,2 30.999859,0 2.999986,-6 26.93738,0.124 c 1.5238,0 3.06248,1.5332 3.06248,3.0626 l 0,-2 c 0,-1.5294 -1.53868,-3.0626 -3.06248,-3.0626 z"
id="path3015"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccscc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="M 7 3.5 L 7 8 L 2 12 L 3.25 13.5625 L 8 9.7617188 L 12.75 13.5625 L 14 12 L 9 8 L 9 3.5 L 7 3.5 z " style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 8 1 3 3 -6 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="2" height="3" x="12" y="12" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="2" height="3" x="2" y="12" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 527 B

View file

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="m 12 1 3 3 -6 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="2" height="4" x="11" y="3" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="2" height="4" x="3" y="3" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 4 1 3 3 l -6 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 4.414 5.586 -1.414 1.414 4 4 0 4 2 0 0 -4 4 -4 -1.414 -1.414 -3.586 3.586" mix-blend-mode="normal" isolation="auto" white-space="normal" solid-opacity="1" solid-color="#000000" style="visibility:visible;shape-rendering:auto;color-interpolation-filters:linearRGB;fill:#268bd2;opacity:1;image-rendering:auto;fill-opacity:1;stroke:none;display:inline;color:#000;fill-rule:evenodd;color-rendering:auto;color-interpolation:sRGB"/>
</svg>

After

Width:  |  Height:  |  Size: 882 B

View file

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="40.501526"
inkscape:cx="9.4328263"
inkscape:cy="6.8259159"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<path
style="fill:#ef6c00;fill-opacity:1;stroke:none"
d="m 2,1038.8622 0,6.5 8,0 0,-3.5 -0.5,-2.5 -2.5,0 -0.5,-1 -4,0 c -0.25,0 -0.5,0.25 -0.5,0.5 z"
id="path3017"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<rect
y="1039.3622"
x="3"
height="1.9999739"
width="5"
id="rect3021"
style="fill:#fffdf0;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path3023"
d="m 10,1039.8622 0,6.5 -8,0 0,-6 3.5,0 0.5,-1 3.5,0 c 0.25,0 0.5,0.25 0.5,0.5 z"
style="fill:#ffa726;fill-opacity:1;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path3027"
d="m 7.5,1039.1122 -1.25,0.75 0.75,0 z"
style="fill:none;stroke:none" />
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 6,1042.8622 0,6.5 8,0 0,-3.5 -0.5,-2.5 -2.5,0 -0.5,-1 -4,0 c -0.25,0 -0.5,0.25 -0.5,0.5 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="5"
height="1.9999739"
x="7"
y="1043.3622" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 14,1043.8622 0,6.5 -8,0 0,-6 3.5,0 0.5,-1 3.5,0 c 0.25,0 0.5,0.25 0.5,0.5 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;stroke:none"
d="m 11.5,1043.1122 -1.25,0.75 0.75,0 z"
id="path3801"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<rect width="2" height="5" x="4" y="15" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 10 5 0 5 -6 5 l 1.281 1.535 5.719 -4.766 5.719 4.766 1.281 -1.535 l -6 -5 0 -5 -2 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 11 2 4 4 -8 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect y="15" x="16" height="5" width="2" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 517 B

View file

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<rect width="2" height="5" x="5" y="-10" transform="scale(1,-1)" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 6 2 4 4 -8 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect y="-10" x="15" height="5" width="2" transform="scale(1,-1)" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 16 2 4 4 -8 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 6.414 8.586 l -1.414 1.414 l 5 5 l 0 5 l 2 0 l 0 -5 l 5 -5 l -1.414 -1.414 l -4.586 4.586 l -4.586 -4.586 z" mix-blend-mode="normal" isolation="auto" white-space="normal" solid-opacity="1" solid-color="#000000" style="visibility:visible;shape-rendering:auto;color-interpolation-filters:linearRGB;fill:#268bd2;opacity:1;image-rendering:auto;fill-opacity:1;stroke:none;display:inline;color:#000;fill-rule:evenodd;color-rendering:auto;color-interpolation:sRGB"/>
</svg>

After

Width:  |  Height:  |  Size: 968 B

View file

@ -0,0 +1,180 @@
<?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="22"
height="22"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient3760">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3762" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3764" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3760"
id="radialGradient3766"
cx="11"
cy="19"
fx="11"
fy="19"
r="11"
gradientTransform="matrix(1,0,0,0.09090909,0,17.272727)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32.002744"
inkscape:cx="11.222641"
inkscape:cy="10.631938"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1030.3622)">
<g
id="g3787"
transform="translate(0,-2)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3773"
d="m 2,1035.8622 0,7 11,0 0,-3.5 -0.5,-3 -4,0 -0.5,-1 -5.5,0 c -0.25,0 -0.5,0.25 -0.5,0.5 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3775"
width="4"
height="2.4999783"
x="4"
y="1036.3622" />
<path
inkscape:connector-curvature="0"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 2.5,1035.3622 c -0.25,0 -0.5,0.25 -0.5,0.5 l 0,1 c 0,-0.25 0.25,-0.5 0.5,-0.5 l 5.5,0 0.5,1 4,0 0.5,3 0,-1 -0.5,-3 -4,0 -0.5,-1 -5.5,0 z"
id="path3777" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 13,1036.8956 0,7.4666 -11,0 0,-7 5.5,0 0.5,-1 4.5,0 c 0.25,0 0.5,0.2667 0.5,0.5334 z"
id="path3779"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3781"
d="m 2,1043.3622 0,1 11,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 7.5,1036.6122 -1.25,0.75 0.75,0 z"
id="path3783"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 8,1036.3622 -0.5,1 -5.5,0 0,1 6.25,0 0.5,-1 3.75,0 c 0.25,0 0.5,0.2646 0.5,0.5313 l 0,-1 c 0,-0.2667 -0.25,-0.5313 -0.5,-0.5313 z"
id="path3785"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 9,1040.8622 0,7 11,0 0,-3.5 -0.5,-3 -4,0 -0.5,-1 -5.5,0 c -0.25,0 -0.5,0.25 -0.5,0.5 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="4"
height="2.4999783"
x="11"
y="1041.3622" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 9.5,1040.3622 c -0.25,0 -0.5,0.25 -0.5,0.5 l 0,1 c 0,-0.25 0.25,-0.5 0.5,-0.5 l 5.5,0 0.5,1 4,0 0.5,3 0,-1 -0.5,-3 -4,0 -0.5,-1 -5.5,0 z"
id="path3768"
inkscape:connector-curvature="0" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 20,1041.8956 0,7.4666 -11,0 0,-7 5.5,0 0.5,-1 4.5,0 c 0.25,0 0.5,0.2667 0.5,0.5334 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3794"
d="m 9,1048.3622 0,1 11,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 14.5,1041.6122 -1.25,0.75 0.75,0 z"
id="path3801"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 15,1041.3622 -0.5,1 -5.5,0 0,1 6.25,0 0.5,-1 3.75,0 c 0.25,0 0.5,0.2646 0.5,0.5313 l 0,-1 c 0,-0.2667 -0.25,-0.5313 -0.5,-0.5313 z"
id="path2995"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<rect width="2" height="5" x="5" y="16" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 11 6 0 5 -6 5 1.281 1.535 l 5.719 -4.766 5.719 4.766 1.281 -1.535 l -6 -5 0 -5 -2 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 12 3 4 4 -8 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect y="16" x="17" height="5" width="2" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 519 B

View file

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<rect width="2" height="5" x="6" y="-11" transform="scale(1,-1)" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 7 3 4 4 -8 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect y="-11" x="16" height="5" width="2" transform="scale(1,-1)" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 17 3 4 4 -8 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 7.414 9.586 -1.414 1.414 l 5 5 0 5 2 0 0 -5 5 -5 l -1.414 -1.414 -4.586 4.586 -4.586 -4.586" mix-blend-mode="normal" isolation="auto" white-space="normal" solid-opacity="1" solid-color="#000000" style="visibility:visible;shape-rendering:auto;color-interpolation-filters:linearRGB;fill:#268bd2;opacity:1;image-rendering:auto;fill-opacity:1;stroke:none;display:inline;color:#000;fill-rule:evenodd;color-rendering:auto;color-interpolation:sRGB"/>
</svg>

After

Width:  |  Height:  |  Size: 954 B

View file

@ -0,0 +1,180 @@
<?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="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient3760">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3762" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3764" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3760"
id="radialGradient3766"
cx="11"
cy="19"
fx="11"
fy="19"
r="11"
gradientTransform="matrix(1,0,0,0.09090909,0,17.272727)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32.002744"
inkscape:cx="11.285136"
inkscape:cy="10.631938"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1028.3622)">
<g
id="g3787"
transform="translate(1,-3)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3773"
d="m 2,1035.8622 0,7 11,0 0,-3.5 -0.5,-3 -4,0 -0.5,-1 -5.5,0 c -0.25,0 -0.5,0.25 -0.5,0.5 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3775"
width="4"
height="2.4999783"
x="4"
y="1036.3622" />
<path
inkscape:connector-curvature="0"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 2.5,1035.3622 c -0.25,0 -0.5,0.25 -0.5,0.5 l 0,1 c 0,-0.25 0.25,-0.5 0.5,-0.5 l 5.5,0 0.5,1 4,0 0.5,3 0,-1 -0.5,-3 -4,0 -0.5,-1 -5.5,0 z"
id="path3777" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 13,1036.8956 0,7.4666 -11,0 0,-7 5.5,0 0.5,-1 4.5,0 c 0.25,0 0.5,0.2667 0.5,0.5334 z"
id="path3779"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3781"
d="m 2,1043.3622 0,1 11,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 7.5,1036.6122 -1.25,0.75 0.75,0 z"
id="path3783"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 8,1036.3622 -0.5,1 -5.5,0 0,1 6.25,0 0.5,-1 3.75,0 c 0.25,0 0.5,0.2646 0.5,0.5313 l 0,-1 c 0,-0.2667 -0.25,-0.5313 -0.5,-0.5313 z"
id="path3785"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 10,1039.8622 0,7 11,0 0,-3.5 -0.5,-3 -4,0 -0.5,-1 -5.5,0 c -0.25,0 -0.5,0.25 -0.5,0.5 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="4"
height="2.4999783"
x="12"
y="1040.3622" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 10.5,1039.3622 c -0.25,0 -0.5,0.25 -0.5,0.5 l 0,1 c 0,-0.25 0.25,-0.5 0.5,-0.5 l 5.5,0 0.5,1 4,0 0.5,3 0,-1 -0.5,-3 -4,0 -0.5,-1 -5.5,0 z"
id="path3768"
inkscape:connector-curvature="0" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 21,1040.8956 0,7.4666 -11,0 0,-7 5.5,0 0.5,-1 4.5,0 c 0.25,0 0.5,0.2667 0.5,0.5334 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3794"
d="m 10,1047.3622 0,1 11,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 15.5,1040.6122 -1.25,0.75 0.75,0 z"
id="path3801"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 16,1040.3622 -0.5,1 -5.5,0 0,1 6.25,0 0.5,-1 3.75,0 c 0.25,0 0.5,0.2646 0.5,0.5313 l 0,-1 c 0,-0.2667 -0.25,-0.5313 -0.5,-0.5313 z"
id="path2995"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.369953"
inkscape:cx="218.96843"
inkscape:cy="147.79892"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-796.3622)">
<g
transform="matrix(2.0000092,0,0,2.0000003,-1.112e-4,-1052.3625)"
id="layer1-5"
inkscape:label="Layer 1">
<g
transform="matrix(1.9999909,0,0,1.9999909,-39.999763,-1096.3525)"
id="g3010">
<path
style="fill:#ef6c00;fill-opacity:1;stroke:none"
d="m 26,1021.8916 0,21.4118 32,0 0,-10.7059 -1.523809,-9.1765 -11.976191,-0.059 -1.5,-3 -15.47619,0 C 26.761905,1020.3622 26,1021.1269 26,1021.8916 z"
id="path2996"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<rect
y="1024.3622"
x="28.5"
height="5.9411421"
width="15.785714"
id="rect2998"
style="fill:#fffdf0;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="sscsccccccccs"
inkscape:connector-curvature="0"
id="path3000"
d="m 27.53125,1020.3622 c -0.761904,0 -1.53125,0.7665 -1.53125,1.5313 l 0,1 c 0,-0.7648 0.769346,-1.5313 1.53125,-1.5313 l 14.96875,0 1.5,3 12.46875,0.062 1.53125,9.1719 0,-1 -1.53125,-9.1719 -11.96875,-0.062 -1.5,-3 z"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path3002"
d="m 58,1024.9505 0,21.4117 -32,0 0,-20 15,0 1.5,-3 13.976191,0.059 c 0.761904,0 1.523809,0.7648 1.523809,1.5295 z"
style="fill:#ffa726;fill-opacity:1;stroke:none" />
<path
inkscape:connector-curvature="0"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
d="m 26,1045.3622 0,1 32,0 0,-1 z"
id="path3004"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
id="path3006"
d="m 42.761905,1024.1858 -3.809524,2.2941 2.285714,0 z"
style="fill:none;stroke:none" />
<path
sodipodi:nodetypes="ccccccccscc"
inkscape:connector-curvature="0"
id="path3008"
d="m 42.5,1023.3622 -1.5,3 -15,0 0,1 15.5,0 1.5,-3 13.46875,0.062 c 0.761904,0 1.53125,0.7666 1.53125,1.5313 l 0,-1 c 0,-0.7647 -0.769346,-1.5313 -1.53125,-1.5313 z"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none" />
</g>
<path
style="fill:#ef6c00;fill-opacity:1;stroke:none"
d="m 51.999815,983.4212 0,42.8234 63.999705,0 0,-21.4117 -3.0476,-18.3529 -23.952273,-0.118 -2.999987,-6 -30.952239,0 c -1.523803,4e-4 -3.047606,1.5298 -3.047606,3.0592 z"
id="path3029"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<rect
y="988.36243"
x="56.999794"
height="11.88223"
width="31.571285"
id="rect3799"
style="fill:#fffdf0;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="sscsccccccccs"
inkscape:connector-curvature="0"
id="path3790"
d="m 55.062301,980.3624 c -1.523801,0 -3.062486,1.533 -3.062486,3.0626 l 0,2 c 0,-1.5296 1.538685,-3.0626 3.062486,-3.0626 l 29.937364,0 2.999987,6 24.937388,0.124 3.06248,18.3437 0,-2 -3.06248,-18.3437 -23.937393,-0.124 -2.999987,-6 z"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="rect2987"
d="m 115.99952,989.539 0,42.8232 -63.999705,0 0,-39.9998 29.999863,0 2.999987,-6 27.952255,0.118 c 1.5238,0 3.0476,1.5296 3.0476,3.059 z"
style="fill:#ffa726;fill-opacity:1;stroke:none" />
<path
inkscape:connector-curvature="0"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
d="m 51.999815,1030.3622 0,2 63.999705,0 0,-2 z"
id="path3794"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
id="path3801"
d="m 85.523472,988.0096 -7.619013,4.5882 4.571407,0 z"
style="fill:none;stroke:none" />
<path
sodipodi:nodetypes="ccccccccscc"
inkscape:connector-curvature="0"
id="path3015"
d="m 84.999665,986.3624 -2.999987,6 -29.999863,0 0,2 30.999859,0 2.999986,-6 26.93738,0.124 c 1.5238,0 3.06248,1.5332 3.06248,3.0626 l 0,-2 c 0,-1.5294 -1.53868,-3.0626 -3.06248,-3.0626 z"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<path d="m 14 6 0 9 -10 8 2.5 3.125 l 9.5 -7.602 9.5 7.602 2.5 -3.125 -10 -8 0 -9 -4 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 16 2 6 6 -12 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="4" height="7" x="24" y="23" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="4" height="7" x="4" y="23" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 510 B

View file

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<path d="m 24 2 6 6 -12 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="4" height="8" x="22" y="6" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="4" height="8" x="6" y="6" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 8 2 6 6 -12 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 8.828 11.172 -2.828 2.828 l 8 8 l 0 8 l 4 0 0 -8 8 -8 l -2.828 -2.828 -7.172 7.172" mix-blend-mode="normal" isolation="auto" white-space="normal" solid-opacity="1" solid-color="#000000" style="visibility:visible;shape-rendering:auto;color-interpolation-filters:linearRGB;fill:#268bd2;opacity:1;image-rendering:auto;fill-opacity:1;stroke:none;display:inline;color:#000;fill-rule:evenodd;color-rendering:auto;color-interpolation:sRGB"/>
</svg>

After

Width:  |  Height:  |  Size: 891 B

View file

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="16.439287"
inkscape:cx="18.570443"
inkscape:cy="21.318551"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1020.3622)">
<g
inkscape:label="Layer 1"
id="g3012"
transform="translate(2,-14)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3014"
d="m 0,1037.3622 0,13 16,0 0,-7 -1,-5 -5,0 -1,-2 -8,0 c -0.5,0 -1,0.5 -1,1 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="M 1,0 C 0.5,0 0,0.5 0,1 L 0,2 C 0,1.5 0.5,1 1,1 L 8,1 9,3 15,3 16,8 16,7 15,2 10,2 9,0 z"
transform="translate(0,1036.3622)"
id="path3016"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3018"
width="10"
height="2.9999826"
x="2"
y="1039.3622" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 16,1039.3622 0,13 -16,0 0,-12 7,0 1,-2 7,0 c 0.5,0 1,0.5 1,1 z"
id="path3020"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3022"
d="m 0,1051.3622 0,1 16,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 11,1037.8622 -2.5,1.5 1.5,0 z"
id="path3024"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="M 8,2 7,4 0,4 0,5 8,5 9,3 15,3 c 0.5,0 1,0.5 1,1 L 16,3 C 16,2.5 15.5,2 15,2 z"
transform="translate(0,1036.3622)"
id="path3026"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
<g
transform="translate(14,-2)"
id="layer1-6"
inkscape:label="Layer 1">
<path
style="fill:#ef6c00;fill-opacity:1;stroke:none"
d="m 0,1037.3622 0,13 16,0 0,-7 -1,-5 -5,0 -1,-2 -8,0 c -0.5,0 -1,0.5 -1,1 z"
id="path3029"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:nodetypes="sscsccccccccs"
inkscape:connector-curvature="0"
id="path3789"
transform="translate(0,1036.3622)"
d="M 1,0 C 0.5,0 0,0.5 0,1 L 0,2 C 0,1.5 0.5,1 1,1 L 8,1 9,3 15,3 16,8 16,7 15,2 10,2 9,0 z"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none" />
<rect
y="1039.3622"
x="2"
height="2.9999826"
width="10"
id="rect3799"
style="fill:#fffdf0;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="rect2987"
d="m 16,1039.3622 0,13 -16,0 0,-12 7,0 1,-2 7,0 c 0.5,0 1,0.5 1,1 z"
style="fill:#ffa726;fill-opacity:1;stroke:none" />
<path
inkscape:connector-curvature="0"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
d="m 0,1051.3622 0,1 16,0 0,-1 z"
id="path3794"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
id="path3801"
d="m 11,1037.8622 -2.5,1.5 1.5,0 z"
style="fill:none;stroke:none" />
<path
sodipodi:nodetypes="ccccccscssc"
inkscape:connector-curvature="0"
id="path3784"
transform="translate(0,1036.3622)"
d="M 8,2 7,4 0,4 0,5 8,5 9,3 15,3 c 0.5,0 1,0.5 1,1 L 16,3 C 16,2.5 15.5,2 15,2 z"
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
<rect width="4" height="9" x="10" y="33" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 22 13 0 10 -12 10 2.563 3.07 11.438 -9.531 11.438 9.531 2.563 -3.07 -12 -10 0 -10 l -4 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 24 6 8 8 -16 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect y="33" x="34" height="9" width="4" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 526 B

View file

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
<rect width="4" height="10" x="12" y="-22" transform="scale(1,-1)" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 14 6 8 8 -16 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect y="-22" x="32" height="10" width="4" transform="scale(1,-1)" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 34 6 8 8 -16 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 14.828 19.17 -2.828 2.828 10 10 0 10 4 0 0 -10 10 -10 -2.828 -2.828 -9.172 9.172 -9.172 -9.172" mix-blend-mode="normal" isolation="auto" white-space="normal" solid-opacity="1" solid-color="#000000" style="visibility:visible;shape-rendering:auto;color-interpolation-filters:linearRGB;fill:#268bd2;opacity:1;image-rendering:auto;fill-opacity:1;stroke:none;display:inline;color:#000;fill-rule:evenodd;color-rendering:auto;color-interpolation:sRGB"/>
</svg>

After

Width:  |  Height:  |  Size: 963 B

View file

@ -0,0 +1,352 @@
<?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="48"
height="48"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient3855">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3857" />
<stop
style="stop-color:#000000;stop-opacity:0.29411766;"
offset="1"
id="stop3859" />
</linearGradient>
<linearGradient
id="linearGradient3833">
<stop
id="stop3835"
offset="0"
style="stop-color:#fdfeff;stop-opacity:1;" />
<stop
id="stop3837"
offset="1"
style="stop-color:#dfe4e4;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3823">
<stop
style="stop-color:#49b7ef;stop-opacity:1;"
offset="0"
id="stop3825" />
<stop
style="stop-color:#1d8de2;stop-opacity:1;"
offset="1"
id="stop3827" />
</linearGradient>
<linearGradient
id="linearGradient3956">
<stop
style="stop-color:#f8f4e1;stop-opacity:1;"
offset="0"
id="stop3958" />
<stop
style="stop-color:#eae5c8;stop-opacity:1;"
offset="1"
id="stop3960" />
</linearGradient>
<linearGradient
id="linearGradient3915">
<stop
style="stop-color:#f8f4e1;stop-opacity:1;"
offset="0"
id="stop3917" />
<stop
style="stop-color:#ad9e57;stop-opacity:1;"
offset="1"
id="stop3919" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3861">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3863" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3865" />
</linearGradient>
<linearGradient
id="linearGradient3844">
<stop
style="stop-color:#000000;stop-opacity:0.39215687;"
offset="0"
id="stop3846" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3848" />
</linearGradient>
<linearGradient
id="linearGradient3810">
<stop
style="stop-color:#f2c66f;stop-opacity:1;"
offset="0"
id="stop3812" />
<stop
style="stop-color:#fbd68f;stop-opacity:1;"
offset="1"
id="stop3814" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3810"
id="linearGradient3816"
x1="24"
y1="1046.3622"
x2="24"
y2="1014.3622"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3844"
id="radialGradient3850"
cx="24.075672"
cy="41.38316"
fx="24.075672"
fy="41.38316"
r="21.075672"
gradientTransform="matrix(1,0,0,0.11307633,0,36.703704)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3810"
id="linearGradient3856"
gradientUnits="userSpaceOnUse"
x1="24"
y1="1046.3622"
x2="24"
y2="1014.3622"
gradientTransform="translate(0,-3)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3810"
id="linearGradient3858"
gradientUnits="userSpaceOnUse"
x1="24"
y1="1046.3622"
x2="24"
y2="1014.3622"
gradientTransform="translate(0,-1004.3622)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3861"
id="linearGradient3867"
x1="1.9952808"
y1="28.5625"
x2="46.004719"
y2="28.5625"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3915"
id="linearGradient3921"
x1="35"
y1="8"
x2="38"
y2="5"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3915"
id="linearGradient3933"
gradientUnits="userSpaceOnUse"
x1="35"
y1="8"
x2="38"
y2="5"
gradientTransform="matrix(1.0436562,0,0,1.2222222,26.301501,1003.2511)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3915"
id="linearGradient3954"
x1="35"
y1="11"
x2="44"
y2="5"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(22,1004.3622)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3823"
id="linearGradient3829"
x1="21"
y1="14"
x2="20"
y2="24"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3833"
id="linearGradient3839"
gradientUnits="userSpaceOnUse"
x1="21"
y1="14"
x2="20"
y2="26" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3855"
id="linearGradient3862"
x1="22"
y1="15"
x2="20"
y2="30"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="16.454264"
inkscape:cx="28.316698"
inkscape:cy="22.321326"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2990"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Body"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1004.3622)">
<g
id="g3825"
transform="translate(-15,-13)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3811"
d="m 21,1027.3622 0,14 21,0 0,-7 -1,-6 -8,0 -1,-2 -10,0 c -0.5,0 -1,0.5 -1,1 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 22,22 c -0.5,0 -1,0.5 -1,1 l 0,1 c 0,-0.5 0.5,-1 1,-1 l 9,0 1,2 9,0 1,6 0,-1 -1,-6 -8,0 -1,-2 z"
transform="translate(0,1004.3622)"
id="path3813"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3815"
width="10"
height="3.9999914"
x="23"
y="1029.3622" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 42,1029.3622 0,14 -21,0 0,-13 10,0 1,-2 9,0 c 0.5,0 1,0.5 1,1 z"
id="path3817"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3819"
d="m 21,1042.3622 0,1 21,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 32,1028.8622 -2.5,1.5 1.5,0 z"
id="path3821"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 32,24 -1,2 -10,0 0,1 11,0 1,-2 8,0 c 0.5,0 1,0.5 1,1 l 0,-1 c 0,-0.5 -0.5,-1 -1,-1 z"
transform="translate(0,1004.3622)"
id="path3823"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 21,1027.3622 0,14 21,0 0,-7 -1,-6 -8,0 -1,-2 -10,0 c -0.5,0 -1,0.5 -1,1 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<path
style="fill:#000000;fill-opacity:1;stroke:none;opacity:0.03"
d="m 22,22 c -0.5,0 -1,0.5 -1,1 l 0,1 c 0,-0.5 0.5,-1 1,-1 l 9,0 1,2 9,0 1,6 0,-1 -1,-6 -8,0 -1,-2 z"
transform="translate(0,1004.3622)"
id="path3806"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="10"
height="3.9999914"
x="23"
y="1029.3622" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 42,1029.3622 0,14 -21,0 0,-13 10,0 1,-2 9,0 c 0.5,0 1,0.5 1,1 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3794"
d="m 21,1042.3622 0,1 21,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 32,1028.8622 -2.5,1.5 1.5,0 z"
id="path3801"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 32,24 -1,2 -10,0 0,1 11,0 1,-2 8,0 c 0.5,0 1,0.5 1,1 l 0,-1 c 0,-0.5 -0.5,-1 -1,-1 z"
transform="translate(0,1004.3622)"
id="path3033"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<path d="m 28 12 0 18 -20 16 5 6.25 19 -15.203 19 15.203 5 -6.25 -20 -16 0 -18 -8 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 32 4 12 12 -24 0 z" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="8" height="14" x="48" y="46" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="8" height="14" x="8" y="46" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 513 B

View file

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<path d="m 48 4 12 12 -24 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="8" height="16" x="44" y="12" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<rect width="8" height="16" x="12" y="12" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 16 4 12 12 -24 0" style="fill:#268bd2;opacity:1;fill-opacity:1;stroke:none"/>
<path d="m 17.656 22.344 -5.656 5.656 l 16 16 l 0 16 l 8 0 0 -16 16 -16 l -5.656 -5.656 -14.344 14.344" mix-blend-mode="normal" isolation="auto" white-space="normal" solid-opacity="1" solid-color="#000000" style="visibility:visible;shape-rendering:auto;color-interpolation-filters:linearRGB;fill:#268bd2;opacity:1;image-rendering:auto;fill-opacity:1;stroke:none;display:inline;color:#000;fill-rule:evenodd;color-rendering:auto;color-interpolation:sRGB"/>
</svg>

After

Width:  |  Height:  |  Size: 910 B

View file

@ -0,0 +1,193 @@
<?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="64"
height="64"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder.svg"
inkscape:export-filename="/media/Data/Main/Visuals/Icons/Numix/Desktop/repos/numix-wiki/Gjorgi/Numix-folders/48/New/folder-144.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4">
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3958"
id="radialGradient3964"
cx="32.5"
cy="56.5"
fx="32.5"
fy="56.5"
r="33.5"
gradientTransform="matrix(1,0,0,0.10447761,0,50.597015)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
id="linearGradient3958">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3960" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3962" />
</linearGradient>
<radialGradient
r="33.5"
fy="56.5"
fx="32.5"
cy="56.5"
cx="32.5"
gradientTransform="matrix(1,0,0,0.10447761,0,50.597015)"
gradientUnits="userSpaceOnUse"
id="radialGradient3981"
xlink:href="#linearGradient3958"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9949407"
inkscape:cx="23.819018"
inkscape:cy="25.09794"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-988.3622)">
<g
id="g3010"
transform="translate(-20,-22)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path2996"
d="m 26,1021.8916 0,21.4118 32,0 0,-10.7059 -1.523809,-9.1765 -11.976191,-0.059 -1.5,-3 -15.47619,0 C 26.761905,1020.3622 26,1021.1269 26,1021.8916 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect2998"
width="15.785714"
height="5.9411421"
x="28.5"
y="1024.3622" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 27.53125,1020.3622 c -0.761904,0 -1.53125,0.7665 -1.53125,1.5313 l 0,1 c 0,-0.7648 0.769346,-1.5313 1.53125,-1.5313 l 14.96875,0 1.5,3 12.46875,0.062 1.53125,9.1719 0,-1 -1.53125,-9.1719 -11.96875,-0.062 -1.5,-3 z"
id="path3000"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 58,1024.9505 0,21.4117 -32,0 0,-20 15,0 1.5,-3 13.976191,0.059 c 0.761904,0 1.523809,0.7648 1.523809,1.5295 z"
id="path3002"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3004"
d="m 26,1045.3622 0,1 32,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 42.761905,1024.1858 -3.809524,2.2941 2.285714,0 z"
id="path3006"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 42.5,1023.3622 -1.5,3 -15,0 0,1 15.5,0 1.5,-3 13.46875,0.062 c 0.761904,0 1.53125,0.7666 1.53125,1.5313 l 0,-1 c 0,-0.7647 -0.769346,-1.5313 -1.53125,-1.5313 z"
id="path3008"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccscc" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 26,1017.8916 0,21.4118 32,0 0,-10.7059 -1.523809,-9.1765 -11.976191,-0.059 -1.5,-3 -15.47619,0 C 26.761905,1016.3622 26,1017.1269 26,1017.8916 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="15.785714"
height="5.9411421"
x="28.5"
y="1020.3622" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 27.53125,1016.3622 c -0.761904,0 -1.53125,0.7665 -1.53125,1.5313 l 0,1 c 0,-0.7648 0.769346,-1.5313 1.53125,-1.5313 l 14.96875,0 1.5,3 12.46875,0.062 1.53125,9.1719 0,-1 -1.53125,-9.1719 -11.96875,-0.062 -1.5,-3 z"
id="path3790"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 58,1020.9505 0,21.4117 -32,0 0,-20 15,0 1.5,-3 13.976191,0.059 c 0.761904,0 1.523809,0.7648 1.523809,1.5295 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3794"
d="m 26,1041.3622 0,1 32,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 42.761905,1020.1858 -3.809524,2.2941 2.285714,0 z"
id="path3801"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 42.5,1019.3622 -1.5,3 -15,0 0,1 15.5,0 1.5,-3 13.46875,0.062 c 0.761904,0 1.53125,0.7666 1.53125,1.5313 l 0,-1 c 0,-0.7647 -0.769346,-1.5313 -1.53125,-1.5313 z"
id="path3015"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccscc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

@ -0,0 +1,350 @@
<?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="96"
height="96"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="folder-copy.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient3855">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3857" />
<stop
style="stop-color:#000000;stop-opacity:0.29411766;"
offset="1"
id="stop3859" />
</linearGradient>
<linearGradient
id="linearGradient3833">
<stop
id="stop3835"
offset="0"
style="stop-color:#fdfeff;stop-opacity:1;" />
<stop
id="stop3837"
offset="1"
style="stop-color:#dfe4e4;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3823">
<stop
style="stop-color:#49b7ef;stop-opacity:1;"
offset="0"
id="stop3825" />
<stop
style="stop-color:#1d8de2;stop-opacity:1;"
offset="1"
id="stop3827" />
</linearGradient>
<linearGradient
id="linearGradient3956">
<stop
style="stop-color:#f8f4e1;stop-opacity:1;"
offset="0"
id="stop3958" />
<stop
style="stop-color:#eae5c8;stop-opacity:1;"
offset="1"
id="stop3960" />
</linearGradient>
<linearGradient
id="linearGradient3915">
<stop
style="stop-color:#f8f4e1;stop-opacity:1;"
offset="0"
id="stop3917" />
<stop
style="stop-color:#ad9e57;stop-opacity:1;"
offset="1"
id="stop3919" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3861">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3863" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3865" />
</linearGradient>
<linearGradient
id="linearGradient3844">
<stop
style="stop-color:#000000;stop-opacity:0.39215687;"
offset="0"
id="stop3846" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3848" />
</linearGradient>
<linearGradient
id="linearGradient3810">
<stop
style="stop-color:#f2c66f;stop-opacity:1;"
offset="0"
id="stop3812" />
<stop
style="stop-color:#fbd68f;stop-opacity:1;"
offset="1"
id="stop3814" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3810"
id="linearGradient3816"
x1="24"
y1="1046.3622"
x2="24"
y2="1014.3622"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3844"
id="radialGradient3850"
cx="24.075672"
cy="41.38316"
fx="24.075672"
fy="41.38316"
r="21.075672"
gradientTransform="matrix(1,0,0,0.11307633,0,36.703704)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3810"
id="linearGradient3856"
gradientUnits="userSpaceOnUse"
x1="24"
y1="1046.3622"
x2="24"
y2="1014.3622"
gradientTransform="translate(0,-3)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3810"
id="linearGradient3858"
gradientUnits="userSpaceOnUse"
x1="24"
y1="1046.3622"
x2="24"
y2="1014.3622"
gradientTransform="translate(0,-1004.3622)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3861"
id="linearGradient3867"
x1="1.9952807"
y1="28.5625"
x2="46.004719"
y2="28.5625"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3915"
id="linearGradient3921"
x1="35"
y1="8"
x2="38"
y2="5"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3915"
id="linearGradient3933"
gradientUnits="userSpaceOnUse"
x1="35"
y1="8"
x2="38"
y2="5"
gradientTransform="matrix(1.0436562,0,0,1.2222222,26.301501,1003.2511)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3915"
id="linearGradient3954"
x1="35"
y1="11"
x2="44"
y2="5"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(22,1004.3622)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3823"
id="linearGradient3829"
x1="21"
y1="14"
x2="20"
y2="24"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3833"
id="linearGradient3839"
gradientUnits="userSpaceOnUse"
x1="21"
y1="14"
x2="20"
y2="26" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3855"
id="linearGradient3862"
x1="22"
y1="15"
x2="20"
y2="30"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="16.454264"
inkscape:cx="28.559796"
inkscape:cy="65.957432"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2990"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Body"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-956.3622)">
<g
id="g3825"
transform="matrix(2,0,0,2,-30,-1078.3622)">
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3811"
d="m 21,1027.3622 0,14 21,0 0,-7 -1,-6 -8,0 -1,-2 -10,0 c -0.5,0 -1,0.5 -1,1 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 22,22 c -0.5,0 -1,0.5 -1,1 l 0,1 c 0,-0.5 0.5,-1 1,-1 l 9,0 1,2 9,0 1,6 0,-1 -1,-6 -8,0 -1,-2 z"
transform="translate(0,1004.3622)"
id="path3813"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3815"
width="10"
height="3.9999914"
x="23"
y="1029.3622" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 42,1029.3622 0,14 -21,0 0,-13 10,0 1,-2 9,0 c 0.5,0 1,0.5 1,1 z"
id="path3817"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3819"
d="m 21,1042.3622 0,1 21,0 0,-1 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 32,1028.8622 -2.5,1.5 1.5,0 z"
id="path3821"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 32,24 -1,2 -10,0 0,1 11,0 1,-2 8,0 c 0.5,0 1,0.5 1,1 l 0,-1 c 0,-0.5 -0.5,-1 -1,-1 z"
transform="translate(0,1004.3622)"
id="path3823"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
id="path3029"
d="m 42,1002.3622 0,28 42,0 0,-14 -2,-12 -16,0 -2,-4 -20,0 c -1,0 -2,1 -2,2 z"
style="fill:#ef6c00;fill-opacity:1;stroke:none" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 44,1000.3622 c -1,0 -2,1 -2,2 l 0,2 c 0,-1 1,-2 2,-2 l 18,0 2,4 18,0 2,12 0,-2 -2,-12 -16,0 -2,-4 z"
id="path3806"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccccccccs" />
<rect
style="fill:#fffdf0;fill-opacity:1;stroke:none"
id="rect3799"
width="20"
height="7.9999828"
x="46"
y="1006.3622" />
<path
style="fill:#ffa726;fill-opacity:1;stroke:none"
d="m 84,1006.3622 0,28 -42,0 0,-26 20,0 2,-4 18,0 c 1,0 2,1 2,2 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3794"
d="m 42,1032.3622 0,2 42,0 0,-2 z"
style="opacity:0.15;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:none"
d="m 64,1005.3622 -5,3 3,0 z"
id="path3801"
inkscape:connector-curvature="0" />
<path
style="opacity:0.02999998;fill:#000000;fill-opacity:1;stroke:none"
d="m 64,1004.3622 -2,4 -20,0 0,2 22,0 2,-4 16,0 c 1,0 2,1 2,2 l 0,-2 c 0,-1 -1,-2 -2,-2 z"
id="path3033"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccscssc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -24,9 +24,12 @@ def wordCount(text):
def toInt(text):
if text:
return int(text)
else:
return 0
try:
return int(text)
except ValueError:
pass
return 0
def toFloat(text):
@ -355,3 +358,6 @@ def customIcons():
]
return sorted(r)
def statusMessage(message, duration=5000):
mainWindow().statusBar().showMessage(message, duration)

View file

@ -53,7 +53,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
# Var
self.currentProject = None
self._lastFocus = None
self.readSettings()
@ -101,6 +104,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.actImport, self.actCompile, self.actSettings]:
i.setEnabled(False)
# Main Menu:: File
self.actOpen.triggered.connect(self.welcome.openFile)
self.actSave.triggered.connect(self.saveDatas)
self.actSaveAs.triggered.connect(self.welcome.saveAsFile)
@ -111,10 +115,21 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.actSettings.triggered.connect(self.settingsWindow)
self.actCloseProject.triggered.connect(self.closeProject)
self.actQuit.triggered.connect(self.close)
self.actToolFrequency.triggered.connect(self.frequencyAnalyzer)
self.actAbout.triggered.connect(self.about)
self.generateViewMenu()
# Main menu:: Documents
self.actCopy.triggered.connect(self.documentsCopy)
self.actCut.triggered.connect(self.documentsCut)
self.actPaste.triggered.connect(self.documentsPaste)
self.actDuplicate.triggered.connect(self.documentsDuplicate)
self.actDelete.triggered.connect(self.documentsDelete)
self.actMoveUp.triggered.connect(self.documentsMoveUp)
self.actMoveDown.triggered.connect(self.documentsMoveDown)
self.actSplitDialog.triggered.connect(self.documentsSplitDialog)
self.actSplitCursor.triggered.connect(self.documentsSplitCursor)
self.actMerge.triggered.connect(self.documentsMerge)
# Main Menu:: view
self.generateViewMenu()
self.actModeGroup = QActionGroup(self)
self.actModeSimple.setActionGroup(self.actModeGroup)
self.actModeFiction.setActionGroup(self.actModeGroup)
@ -123,6 +138,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.actModeFiction.triggered.connect(self.setViewModeFiction)
self.actModeSnowflake.setEnabled(False)
# Main Menu:: Tool
self.actToolFrequency.triggered.connect(self.frequencyAnalyzer)
self.actAbout.triggered.connect(self.about)
self.makeUIConnections()
# self.loadProject(os.path.join(appPath(), "test_project.zip"))
@ -182,6 +201,33 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.toolbar.setVisible(True)
self.stack.setCurrentIndex(1)
###############################################################################
# GENERAL / UI STUFF
###############################################################################
def tabMainChanged(self):
"Called when main tab changes."
self.menuDocuments.menuAction().setVisible(self.tabMain.currentIndex() == self.TabRedac)
def focusChanged(self, old, new):
"""
We get notified by qApp when focus changes, from old to new widget.
"""
# Determine which view had focus last, to send the keyboard shortcuts
# to the right place
targets = [
self.treeRedacOutline,
self.mainEditor
]
while new is not None:
if new in targets:
self._lastFocus = new
break
new = new.parent()
###############################################################################
# SUMMARY
###############################################################################
@ -386,6 +432,53 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def openIndexes(self, indexes, newTab=True):
self.mainEditor.openIndexes(indexes, newTab=True)
# Menu Documents #############################################################
# Functions called by the menu Documents
# self._lastFocus is the last editor that had focus (either treeView or
# mainEditor). So we just pass along the signal.
def documentsCopy(self):
"Copy selected item(s)."
if self._lastFocus: self._lastFocus.copy()
def documentsCut(self):
"Cut selected item(s)."
if self._lastFocus: self._lastFocus.cut()
def documentsPaste(self):
"Paste clipboard item(s) into selected item."
if self._lastFocus: self._lastFocus.paste()
def documentsDuplicate(self):
"Duplicate selected item(s)."
if self._lastFocus: self._lastFocus.duplicate()
def documentsDelete(self):
"Delete selected item(s)."
if self._lastFocus: self._lastFocus.delete()
def documentsMoveUp(self):
"Move up selected item(s)."
if self._lastFocus: self._lastFocus.moveUp()
def documentsMoveDown(self):
"Move Down selected item(s)."
if self._lastFocus: self._lastFocus.moveDown()
def documentsSplitDialog(self):
"Opens a dialog to split selected items."
if self._lastFocus: self._lastFocus.splitDialog()
# current items or selected items?
pass
# use outlineBasics, to do that on all selected items.
# use editorWidget to do that on selected text.
def documentsSplitCursor(self):
"""
Split current item (open in text editor) at cursor position. If there is
a text selection, that selection becomes the title of the new scene.
"""
if self._lastFocus and self._lastFocus == self.mainEditor:
self.mainEditor.splitCursor()
def documentsMerge(self):
"Merges selected item(s)."
if self._lastFocus: self._lastFocus.merge()
###############################################################################
# LOAD AND SAVE
###############################################################################
@ -667,6 +760,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.btnOutlineRemoveItem.clicked.connect(self.outlineRemoveItemsOutline, AUC)
self.tabMain.currentChanged.connect(self.toolbar.setCurrentGroup)
self.tabMain.currentChanged.connect(self.tabMainChanged)
qApp.focusChanged.connect(self.focusChanged)
def makeConnections(self):
@ -988,16 +1084,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
# Custom "tab" bar on the left
self.lstTabs.setIconSize(QSize(48, 48))
for i in range(self.tabMain.count()):
#icons = ["general-128px.png",
#"summary-128px.png",
#"characters-128px.png",
#"plot-128px.png",
#"world-128px.png",
#"outline-128px.png",
#"editor-128px.png",
#""
#]
#self.tabMain.setTabIcon(i, QIcon(appPath("icons/Custom/Tabs/{}".format(icons[i]))))
icons = [QIcon.fromTheme("stock_view-details"), #info
QIcon.fromTheme("application-text-template"), #applications-publishing

View file

@ -273,6 +273,19 @@ class outlineModel(QAbstractItemModel):
if items is None:
return False
# We check if parent is not a child of one of the items
if self.isParentAChildOfItems(parent, items):
return False
return True
def isParentAChildOfItems(self, parent, items):
"""
Takes a parent index, and a list of outlineItems items. Check whether
parent is in a child of one of the items.
Return True in that case, False if not.
"""
# Get the parent item
if not parent.isValid():
parentItem = self.rootItem
@ -286,9 +299,9 @@ class outlineModel(QAbstractItemModel):
# Is item in the path? It would mean that it tries to get dropped
# as a children of himself.
if item.ID() in path:
return False
return True
return True
return False
def decodeMimeData(self, data):
if not data.hasFormat("application/xml"):
@ -345,12 +358,13 @@ class outlineModel(QAbstractItemModel):
if action == Qt.IgnoreAction:
return True # What is that?
# Strangely, on some cases, we get a call to dropMimeData though
# self.canDropMimeData returned False.
# See https://github.com/olivierkes/manuskript/issues/169 to reproduce.
# So we double check for safety.
if not self.canDropMimeData(data, action, row, column, parent):
return False
if action == Qt.MoveAction:
# Strangely, on some cases, we get a call to dropMimeData though
# self.canDropMimeData returned False.
# See https://github.com/olivierkes/manuskript/issues/169 to reproduce.
# So we double check for safety.
if not self.canDropMimeData(data, action, row, column, parent):
return False
items = self.decodeMimeData(data)
if items is None:
@ -366,14 +380,41 @@ class outlineModel(QAbstractItemModel):
else:
beginRow = self.rowCount() + 1
if action == Qt.CopyAction:
# Behavior if parent is a text item
# For example, we select a text and do: CTRL+C CTRL+V
if parent.isValid() and not parent.internalPointer().isFolder():
# We insert copy in parent folder, just below
beginRow = parent.row() + 1
parent = parent.parent()
if parent.isValid() and parent.internalPointer().isFolder():
while self.isParentAChildOfItems(parent, items):
# We are copying a folder on itself. Assume duplicates.
# Copy not in, but next to
beginRow = parent.row() + 1
parent = parent.parent()
if not items:
return False
r = self.insertItems(items, beginRow, parent)
# In case of copy actions, items might be duplicates, so we need new IDs.
# But they might not be, if we cut, then paste. Paste is a Copy Action.
# The first paste would not need new IDs. But subsequent ones will.
if action == Qt.CopyAction:
IDs = self.rootItem.listAllIDs()
for item in items:
item.getUniqueID()
if item.ID() in IDs:
# Recursively remove ID. So will get a new one when inserted.
def stripID(item):
item.setData(Outline.ID.value, None)
for c in item.children():
stripID(c)
stripID(item)
r = self.insertItems(items, beginRow, parent)
return r
@ -623,6 +664,7 @@ class outlineItem():
if column == Outline.text.value:
wc = wordCount(data)
self.setData(Outline.wordCount.value, wc)
self.emitDataChanged(cols=[Outline.text.value]) # new in 0.5.0
if column == Outline.compile.value:
self.emitDataChanged(cols=[Outline.title.value, Outline.compile.value], recursive=True)
@ -865,9 +907,56 @@ class outlineItem():
item.setData(Outline.text.value, subTxt)
# Inserting item
self.parent().insertChild(self.row()+k, item)
#self.parent().insertChild(self.row()+k, item)
self._model.insertItem(item, self.row()+k, self.parent().index())
k += 1
def splitAt(self, position, length=0):
"""
Splits note at position p.
If length is bigger than 0, it describes the length of the title, made
from the character following position.
"""
txt = self.text()
# Stores the new text
self.setData(Outline.text.value, txt[:position])
# Create a copy
item = self.copy()
# Update title
if length > 0:
title = txt[position:position+length].replace("\n", "")
else:
title = "{}_{}".format(item.title(), 2)
item.setData(Outline.title.value, title)
# Set text
item.setData(Outline.text.value, txt[position+length:])
# Inserting item using the model to signal views
self._model.insertItem(item, self.row()+1, self.parent().index())
def mergeWith(self, items, sep="\n\n"):
"""
Merges item with several other items. Merge is basic, it merges only
the text.
@param items: list of `outlineItem`s.
@param sep: a text added between each item's text.
"""
# Merges the texts
text = [self.text()]
text.extend([i.text() for i in items])
self.setData(Outline.text.value, sep.join(text))
# Removes other items
self._model.removeIndexes([i.index() for i in items])
###############################################################################
# XML
###############################################################################
@ -934,9 +1023,13 @@ class outlineItem():
# IDS
###############################################################################
def getUniqueID(self):
def getUniqueID(self, recursive=False):
self.setData(Outline.ID.value, self._model.rootItem.findUniqueID())
if recursive:
for c in self.children():
c.getUniqueID(recursive)
def checkIDs(self):
"""This is called when a model is loaded.

View file

@ -96,13 +96,14 @@ frequencyAnalyzer = {
viewMode = "fiction" # simple, fiction
saveToZip = True
dontShowDeleteWarning = False
def save(filename=None, protocol=None):
global spellcheck, dict, corkSliderFactor, viewSettings, corkSizeFactor, folderView, lastTab, openIndexes, \
autoSave, autoSaveDelay, saveOnQuit, autoSaveNoChanges, autoSaveNoChangesDelay, outlineViewColumns, \
corkBackground, corkStyle, fullScreenTheme, defaultTextType, textEditor, revisions, frequencyAnalyzer, viewMode, \
saveToZip
saveToZip, dontShowDeleteWarning
allSettings = {
"viewSettings": viewSettings,
@ -127,6 +128,7 @@ def save(filename=None, protocol=None):
"frequencyAnalyzer": frequencyAnalyzer,
"viewMode": viewMode,
"saveToZip": saveToZip,
"dontShowDeleteWarning": dontShowDeleteWarning,
}
#pp=pprint.PrettyPrinter(indent=4, compact=False)
@ -294,3 +296,7 @@ def load(string, fromString=False, protocol=None):
if "saveToZip" in allSettings:
global saveToZip
saveToZip = allSettings["saveToZip"]
if "dontShowDeleteWarning" in allSettings:
global dontShowDeleteWarning
dontShowDeleteWarning = allSettings["dontShowDeleteWarning"]

View file

@ -8,6 +8,7 @@ from manuskript import settings
from manuskript.functions import AUC, mainWindow
from manuskript.ui.editors.editorWidget_ui import Ui_editorWidget_ui
from manuskript.ui.views.textEditView import textEditView
from manuskript.ui.tools.splitDialog import splitDialog
class editorWidget(QWidget, Ui_editorWidget_ui):
@ -266,7 +267,8 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
self.currentIndex = QModelIndex()
self.currentID = None
self.setView()
if self._model:
self.setView()
def updateIndexFromID(self):
"""
@ -323,3 +325,92 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
def setDict(self, dct):
self.currentDict = dct
self.dictChanged.emit(dct)
###############################################################################
# FUNCTIONS FOR MENU ACCESS
###############################################################################
def getCurrentItemView(self):
"""
Returns the current item view, between txtRedacText, outlineView and
corkView. If folder/text view, returns None. (Because handled
differently)
"""
if self.stack.currentIndex() == 0:
return self.txtRedacText
elif self.folderView == "outline":
return self.outlineView
elif self.folderView == "cork":
return self.corkView
else:
return None
def copy(self):
if self.getCurrentItemView(): self.getCurrentItemView().copy()
def cut(self):
if self.getCurrentItemView(): self.getCurrentItemView().cut()
def paste(self):
if self.getCurrentItemView(): self.getCurrentItemView().paste()
def duplicate(self):
if self.getCurrentItemView(): self.getCurrentItemView().duplicate()
def delete(self):
if self.getCurrentItemView(): self.getCurrentItemView().delete()
def moveUp(self):
if self.getCurrentItemView(): self.getCurrentItemView().moveUp()
def moveDown(self):
if self.getCurrentItemView(): self.getCurrentItemView().moveDown()
def splitDialog(self):
"""
Opens a dialog to split selected items.
"""
if self.getCurrentItemView() == self.txtRedacText:
# Text editor
if not self.currentIndex.isValid():
return
sel = self.txtRedacText.textCursor().selectedText()
# selectedText uses \u2029 instead of \n, no idea why.
sel = sel.replace("\u2029", "\n")
splitDialog(self, [self.currentIndex], mark=sel)
elif self.getCurrentItemView():
# One of the views
self.getCurrentItemView().splitDialog()
def splitCursor(self):
"""
Splits items at cursor position. If there is a selection, that selection
becomes the new item's title.
Call context: Only works when editing a file.
"""
if not self.currentIndex.isValid():
return
if self.getCurrentItemView() == self.txtRedacText:
c = self.txtRedacText.textCursor()
title = c.selectedText()
# selection can be backward
pos = min(c.selectionStart(), c.selectionEnd())
item = self.currentIndex.internalPointer()
item.splitAt(pos, len(title))
def merge(self):
"""
Merges selected items together.
Call context: Multiple selection, same parent.
"""
if self.getCurrentItemView() == self.txtRedacText:
# Text editor, nothing to merge
pass
elif self.getCurrentItemView():
# One of the views
self.getCurrentItemView().merge()

View file

@ -172,7 +172,6 @@ class mainEditor(QWidget, Ui_mainEditor):
ts = ts.secondTab
return r
###############################################################################
# SELECTION AND UPDATES
###############################################################################
@ -245,6 +244,21 @@ class mainEditor(QWidget, Ui_mainEditor):
return title
###############################################################################
# FUNCTIONS FOR MENU ACCESS
###############################################################################
def copy(self): self.currentEditor().copy()
def cut(self): self.currentEditor().cut()
def paste(self): self.currentEditor().paste()
def duplicate(self): self.currentEditor().duplicate()
def delete(self): self.currentEditor().delete()
def moveUp(self): self.currentEditor().moveUp()
def moveDown(self): self.currentEditor().moveDown()
def splitDialog(self): self.currentEditor().splitDialog()
def splitCursor(self): self.currentEditor().splitCursor()
def merge(self): self.currentEditor().merge()
###############################################################################
# UI
###############################################################################

View file

@ -1054,6 +1054,8 @@ class Ui_MainWindow(object):
self.menuView.setObjectName("menuView")
self.menuMode = QtWidgets.QMenu(self.menuView)
self.menuMode.setObjectName("menuMode")
self.menuDocuments = QtWidgets.QMenu(self.menubar)
self.menuDocuments.setObjectName("menuDocuments")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
@ -1193,6 +1195,46 @@ class Ui_MainWindow(object):
icon = QtGui.QIcon.fromTheme("document-import")
self.actImport.setIcon(icon)
self.actImport.setObjectName("actImport")
self.actCopy = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("edit-copy")
self.actCopy.setIcon(icon)
self.actCopy.setObjectName("actCopy")
self.actCut = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("edit-cut")
self.actCut.setIcon(icon)
self.actCut.setObjectName("actCut")
self.actPaste = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("edit-paste")
self.actPaste.setIcon(icon)
self.actPaste.setObjectName("actPaste")
self.actSplitDialog = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("split")
self.actSplitDialog.setIcon(icon)
self.actSplitDialog.setObjectName("actSplitDialog")
self.actSplitCursor = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("split")
self.actSplitCursor.setIcon(icon)
self.actSplitCursor.setObjectName("actSplitCursor")
self.actMerge = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("merge")
self.actMerge.setIcon(icon)
self.actMerge.setObjectName("actMerge")
self.actDuplicate = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("folder-copy")
self.actDuplicate.setIcon(icon)
self.actDuplicate.setObjectName("actDuplicate")
self.actDelete = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("edit-delete")
self.actDelete.setIcon(icon)
self.actDelete.setObjectName("actDelete")
self.actMoveUp = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("arrow-up")
self.actMoveUp.setIcon(icon)
self.actMoveUp.setObjectName("actMoveUp")
self.actMoveDown = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("arrow-down")
self.actMoveDown.setIcon(icon)
self.actMoveDown.setObjectName("actMoveDown")
self.menuFile.addAction(self.actOpen)
self.menuFile.addAction(self.menuRecents.menuAction())
self.menuFile.addAction(self.actSave)
@ -1215,8 +1257,21 @@ class Ui_MainWindow(object):
self.menuMode.addAction(self.actModeSnowflake)
self.menuView.addAction(self.menuMode.menuAction())
self.menuView.addSeparator()
self.menuDocuments.addAction(self.actCopy)
self.menuDocuments.addAction(self.actCut)
self.menuDocuments.addAction(self.actPaste)
self.menuDocuments.addAction(self.actDuplicate)
self.menuDocuments.addAction(self.actDelete)
self.menuDocuments.addSeparator()
self.menuDocuments.addAction(self.actMoveUp)
self.menuDocuments.addAction(self.actMoveDown)
self.menuDocuments.addSeparator()
self.menuDocuments.addAction(self.actMerge)
self.menuDocuments.addAction(self.actSplitDialog)
self.menuDocuments.addAction(self.actSplitCursor)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuEdit.menuAction())
self.menubar.addAction(self.menuDocuments.menuAction())
self.menubar.addAction(self.menuView.menuAction())
self.menubar.addAction(self.menuTools.menuAction())
self.menubar.addAction(self.menuHelp.menuAction())
@ -1334,6 +1389,7 @@ class Ui_MainWindow(object):
self.menuEdit.setTitle(_translate("MainWindow", "&Edit"))
self.menuView.setTitle(_translate("MainWindow", "&View"))
self.menuMode.setTitle(_translate("MainWindow", "&Mode"))
self.menuDocuments.setTitle(_translate("MainWindow", "&Documents"))
self.dckCheatSheet.setWindowTitle(_translate("MainWindow", "&Cheat sheet"))
self.dckSearch.setWindowTitle(_translate("MainWindow", "Sea&rch"))
self.dckNavigation.setWindowTitle(_translate("MainWindow", "&Navigation"))
@ -1367,6 +1423,26 @@ class Ui_MainWindow(object):
self.actAbout.setToolTip(_translate("MainWindow", "About Manuskript"))
self.actImport.setText(_translate("MainWindow", "Import…"))
self.actImport.setShortcut(_translate("MainWindow", "F7"))
self.actCopy.setText(_translate("MainWindow", "Copy"))
self.actCopy.setShortcut(_translate("MainWindow", "Ctrl+C"))
self.actCut.setText(_translate("MainWindow", "Cut"))
self.actCut.setShortcut(_translate("MainWindow", "Ctrl+X"))
self.actPaste.setText(_translate("MainWindow", "Paste"))
self.actPaste.setShortcut(_translate("MainWindow", "Ctrl+V"))
self.actSplitDialog.setText(_translate("MainWindow", "Split…"))
self.actSplitDialog.setShortcut(_translate("MainWindow", "Ctrl+Shift+K"))
self.actSplitCursor.setText(_translate("MainWindow", "Split at cursor"))
self.actSplitCursor.setShortcut(_translate("MainWindow", "Ctrl+K"))
self.actMerge.setText(_translate("MainWindow", "Merge"))
self.actMerge.setShortcut(_translate("MainWindow", "Ctrl+M"))
self.actDuplicate.setText(_translate("MainWindow", "&Duplicate"))
self.actDuplicate.setShortcut(_translate("MainWindow", "Ctrl+D"))
self.actDelete.setText(_translate("MainWindow", "Delete"))
self.actDelete.setShortcut(_translate("MainWindow", "Del"))
self.actMoveUp.setText(_translate("MainWindow", "Move Up"))
self.actMoveUp.setShortcut(_translate("MainWindow", "Ctrl+Shift+Up"))
self.actMoveDown.setText(_translate("MainWindow", "Move Down"))
self.actMoveDown.setShortcut(_translate("MainWindow", "Ctrl+Shift+Down"))
from manuskript.ui.cheatSheet import cheatSheet
from manuskript.ui.editors.mainEditor import mainEditor

View file

@ -2158,8 +2158,26 @@
<addaction name="menuMode"/>
<addaction name="separator"/>
</widget>
<widget class="QMenu" name="menuDocuments">
<property name="title">
<string>&amp;Documents</string>
</property>
<addaction name="actCopy"/>
<addaction name="actCut"/>
<addaction name="actPaste"/>
<addaction name="actDuplicate"/>
<addaction name="actDelete"/>
<addaction name="separator"/>
<addaction name="actMoveUp"/>
<addaction name="actMoveDown"/>
<addaction name="separator"/>
<addaction name="actMerge"/>
<addaction name="actSplitDialog"/>
<addaction name="actSplitCursor"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuEdit"/>
<addaction name="menuDocuments"/>
<addaction name="menuView"/>
<addaction name="menuTools"/>
<addaction name="menuHelp"/>
@ -2485,7 +2503,9 @@ QListView::item:hover {
</action>
<action name="actImport">
<property name="icon">
<iconset theme="document-import"/>
<iconset theme="document-import">
<normaloff/>
</iconset>
</property>
<property name="text">
<string>Import…</string>
@ -2494,6 +2514,116 @@ QListView::item:hover {
<string>F7</string>
</property>
</action>
<action name="actCopy">
<property name="icon">
<iconset theme="edit-copy"/>
</property>
<property name="text">
<string>Copy</string>
</property>
<property name="shortcut">
<string>Ctrl+C</string>
</property>
</action>
<action name="actCut">
<property name="icon">
<iconset theme="edit-cut"/>
</property>
<property name="text">
<string>Cut</string>
</property>
<property name="shortcut">
<string>Ctrl+X</string>
</property>
</action>
<action name="actPaste">
<property name="icon">
<iconset theme="edit-paste"/>
</property>
<property name="text">
<string>Paste</string>
</property>
<property name="shortcut">
<string>Ctrl+V</string>
</property>
</action>
<action name="actSplitDialog">
<property name="icon">
<iconset theme="split"/>
</property>
<property name="text">
<string>Split…</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+K</string>
</property>
</action>
<action name="actSplitCursor">
<property name="icon">
<iconset theme="split"/>
</property>
<property name="text">
<string>Split at cursor</string>
</property>
<property name="shortcut">
<string>Ctrl+K</string>
</property>
</action>
<action name="actMerge">
<property name="icon">
<iconset theme="merge"/>
</property>
<property name="text">
<string>Merge</string>
</property>
<property name="shortcut">
<string>Ctrl+M</string>
</property>
</action>
<action name="actDuplicate">
<property name="icon">
<iconset theme="folder-copy"/>
</property>
<property name="text">
<string>&amp;Duplicate</string>
</property>
<property name="shortcut">
<string>Ctrl+D</string>
</property>
</action>
<action name="actDelete">
<property name="icon">
<iconset theme="edit-delete"/>
</property>
<property name="text">
<string>Delete</string>
</property>
<property name="shortcut">
<string>Del</string>
</property>
</action>
<action name="actMoveUp">
<property name="icon">
<iconset theme="arrow-up"/>
</property>
<property name="text">
<string>Move Up</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+Up</string>
</property>
</action>
<action name="actMoveDown">
<property name="icon">
<iconset theme="arrow-down"/>
</property>
<property name="text">
<string>Move Down</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+Down</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View file

@ -0,0 +1,70 @@
#!/usr/bin/env python
# --!-- coding: utf8 --!--
from PyQt5.QtWidgets import QInputDialog
from manuskript.functions import mainWindow
class splitDialog(QInputDialog):
"""
Opens a dialog to split indexes.
"""
def __init__(self, parent, indexes, mark=None):
"""
@param parent: a QWidget, for the dialog.
@param indexes: a list of QModelIndex in the outlineModel
@param default: the default split mark
"""
QInputDialog.__init__(self, parent)
description = self.tr("""
<p>Split selected item(s) at the given mark.</p>
<p>If one of the selected item is a folder, it will be applied
recursively to <i>all</i> of it's children items.</p>
<p>The split mark can contain folling escret ape sequences:
<ul>
<li><b><code>\\n</code></b>: line break</li>
<li><b><code>\\t</code></b>: tab</li>
</ul>
</p>
<p><b>Mark:</b></p>
""")
if not mark:
mark = "\\n---\\n"
mark = mark.replace("\n", "\\n")
mark = mark.replace("\t", "\\t")
self.setLabelText(description)
self.setTextValue(mark)
if len(indexes) == 0:
return
if len(indexes) == 1:
idx = indexes[0]
self.setWindowTitle(
self.tr("Split '{}'").format(self.getItem(idx).title())
)
else:
self.setWindowTitle(self.tr("Split items"))
r = self.exec()
mark = self.textValue()
if r and mark:
mark = mark.replace("\\n", "\n")
mark = mark.replace("\\t", "\t")
for idx in indexes:
item = self.getItem(idx)
item.split(mark)
def getItem(self, index):
if index.isValid():
return index.internalPointer()
else:
return mainWindow().mdlOutline.rootItem

View file

@ -2,14 +2,16 @@
# --!-- coding: utf8 --!--
from PyQt5.QtCore import Qt, QSignalMapper, QSize
from PyQt5.QtGui import QIcon, QCursor
from PyQt5.QtWidgets import QAbstractItemView, qApp, QMenu, QAction
from PyQt5.QtWidgets import QListWidget, QWidgetAction, QListWidgetItem, QLineEdit
from PyQt5.QtWidgets import QAbstractItemView, qApp, QMenu, QAction, \
QListWidget, QWidgetAction, QListWidgetItem, \
QLineEdit, QInputDialog, QMessageBox, QCheckBox
from manuskript import settings
from manuskript.enums import Outline
from manuskript.functions import mainWindow
from manuskript.functions import mainWindow, statusMessage
from manuskript.functions import toInt, customIcons
from manuskript.models.outlineModel import outlineItem
from manuskript.ui.tools.splitDialog import splitDialog
class outlineBasics(QAbstractItemView):
@ -53,7 +55,7 @@ class outlineBasics(QAbstractItemView):
title = mouseIndex.internalPointer().title()
else:
title = self.tr("Root")
title = qApp.translate("outlineBasics", "Root")
if len(title) > 25:
title = title[:25] + ""
@ -67,10 +69,10 @@ class outlineBasics(QAbstractItemView):
# Open item(s) in new tab
if mouseIndex in sel and len(sel) > 1:
actionTitle = self.tr("Open {} items in new tabs").format(len(sel))
actionTitle = qApp.translate("outlineBasics", "Open {} items in new tabs").format(len(sel))
self._indexesToOpen = sel
else:
actionTitle = self.tr("Open {} in a new tab").format(title)
actionTitle = qApp.translate("outlineBasics", "Open {} in a new tab").format(title)
self._indexesToOpen = [mouseIndex]
self.actNewTab = QAction(QIcon.fromTheme("go-right"), actionTitle, menu)
@ -284,8 +286,132 @@ class outlineBasics(QAbstractItemView):
self.delete()
def delete(self):
"""
Shows a warning, and then deletes currently selected indexes.
"""
if not settings.dontShowDeleteWarning:
msg = QMessageBox(QMessageBox.Warning,
qApp.translate("outlineBasics", "About to remove"),
qApp.translate("outlineBasics",
"<p><b>You're about to delete {} item(s).</b></p><p>Are you sure?</p>"
).format(len(self.getSelection())),
QMessageBox.Yes | QMessageBox.Cancel)
chk = QCheckBox("&Don't show this warning in the future.")
msg.setCheckBox(chk)
ret = msg.exec()
if ret == QMessageBox.Cancel:
return
if chk.isChecked():
settings.dontShowDeleteWarning = True
self.model().removeIndexes(self.getSelection())
def duplicate(self):
self.copy()
self.paste()
def move(self, delta=1):
"""
Move selected items up or down.
"""
# we store selected indexesret
currentID = self.model().ID(self.currentIndex())
selIDs = [self.model().ID(i) for i in self.selectedIndexes()]
# Block signals
self.blockSignals(True)
self.selectionModel().blockSignals(True)
# Move each index individually
for idx in self.selectedIndexes():
self.moveIndex(idx, delta)
# Done the hardcore way, so inform views
self.model().layoutChanged.emit()
# restore selection
selIdx = [self.model().getIndexByID(ID) for ID in selIDs]
sm = self.selectionModel()
sm.clear()
[sm.select(idx, sm.Select) for idx in selIdx]
sm.setCurrentIndex(self.model().getIndexByID(currentID), sm.Select)
#self.setSmsgBoxelectionModel(sm)
# Unblock signals
self.blockSignals(False)
self.selectionModel().blockSignals(False)
def moveIndex(self, index, delta=1):
"""
Move the item represented by index. +1 means down, -1 means up.
"""
if not index.isValid():
return
if index.parent().isValid():
parentItem = index.parent().internalPointer()
else:
parentItem = index.model().rootItem
parentItem.childItems.insert(index.row() + delta,
parentItem.childItems.pop(index.row()))
parentItem.updateWordCount(emit=False)
def moveUp(self): self.move(-1)
def moveDown(self): self.move(+1)
def splitDialog(self):
"""
Opens a dialog to split selected items.
Call context: if at least one index is selected. Folder or text.
"""
indexes = self.getSelection()
if len(indexes) == 0:
# No selection, we use parent
indexes = [self.rootIndex()]
splitDialog(self, indexes)
def merge(self):
"""
Merges selected items together.
Call context: Multiple selection, same parent.
"""
# Get selection
indexes = self.getSelection()
# Get items
items = [i.internalPointer() for i in indexes if i.isValid()]
# Remove folders
items = [i for i in items if not i.isFolder()]
# Check that we have at least 2 items
if len(items) < 2:
statusMessage(qApp.translate("outlineBasics",
"Select at least two items. Folders are ignored."))
return
# Check that all share the same parent
p = items[0].parent()
for i in items:
if i.parent() != p:
statusMessage(qApp.translate("outlineBasics",
"All items must be on the same level (share the same parent)."))
return
# Sort items by row
items = sorted(items, key=lambda i: i.row())
items[0].mergeWith(items[1:])
def setPOV(self, POV):
for i in self.getSelection():
self.model().setData(i.sibling(i.row(), Outline.POV.value), str(POV))

View file

@ -1,6 +1,7 @@
#!/usr/bin/env python
# --!-- coding: utf8 --!--
from PyQt5.QtWidgets import QWidget
from PyQt5.QtGui import QIntValidator
from manuskript.enums import Outline
from manuskript.ui.views.propertiesView_ui import Ui_propertiesView
@ -19,6 +20,7 @@ class propertiesView(QWidget, Ui_propertiesView):
self.chkCompile.setModel(mdlOutline)
self.txtTitle.setModel(mdlOutline)
self.txtGoal.setModel(mdlOutline)
self.txtGoal.setValidator(QIntValidator(0, 9999999))
def getIndexes(self, sourceView):
"""Returns a list of indexes from list of QItemSelectionRange"""

View file

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'manuskript/ui/views/propertiesView_ui.ui'
#
# Created by: PyQt5 UI code generator 5.4.2
# Created by: PyQt5 UI code generator 5.9
#
# WARNING! All changes made in this file will be lost!

View file

@ -93,7 +93,7 @@ class textEditView(QTextEdit):
default_locale = QLocale.system().name()
if default_locale is None:
default_locale = enchant.list_dicts()[0][0]
return default_locale
def setModel(self, model):
@ -141,6 +141,21 @@ class textEditView(QTextEdit):
self.setPlainText("")
self.setEnabled(False)
def currentIndex(self):
"""
Getter function used to normalized views acces with QAbstractItemViews.
"""
if self._index:
return self._index
else:
return QModelIndex()
def getSelection(self):
"""
Getter function used to normalized views acces with QAbstractItemViews.
"""
return [self.currentIndex()]
def setCurrentModelIndexes(self, indexes):
self._index = None
self._indexes = []