Merge from trunk

This commit is contained in:
Charles Haley 2010-07-08 18:25:07 +01:00
commit 4c65b92cad
17 changed files with 4808 additions and 100 deletions

View File

@ -0,0 +1,269 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
id="Livello_1"
width="128"
height="128"
viewBox="0 0 139 139"
overflow="visible"
enable-background="new 0 0 139 139"
xml:space="preserve"
sodipodi:version="0.32"
inkscape:version="0.45+devel"
sodipodi:docname="system-help.svgz"
inkscape:output_extension="org.inkscape.output.svgz.inkscape"
style="overflow:visible"><metadata
id="metadata3164"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs3162"><filter
inkscape:collect="always"
x="-0.132641"
width="1.265282"
y="-0.34752154"
height="1.6950431"
id="filter3547"><feGaussianBlur
inkscape:collect="always"
stdDeviation="2.7512044"
id="feGaussianBlur3549" /></filter><filter
inkscape:collect="always"
id="filter5097"><feGaussianBlur
inkscape:collect="always"
stdDeviation="2.32"
id="feGaussianBlur5099" /></filter><filter
inkscape:collect="always"
x="-0.143268"
width="1.286536"
y="-0.072184406"
height="1.1443688"
id="filter5125"><feGaussianBlur
inkscape:collect="always"
stdDeviation="1.91024"
id="feGaussianBlur5127" /></filter></defs><sodipodi:namedview
inkscape:window-height="697"
inkscape:window-width="1024"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:zoom="2.9352518"
inkscape:cx="99.496726"
inkscape:cy="69.329657"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:current-layer="Livello_1"
height="128px"
width="128px" />
<filter
id="AI_Sfocatura_4">
<feGaussianBlur
stdDeviation="4"
id="feGaussianBlur3096" />
</filter>
<filter
id="AI_Sfocatura_2">
<feGaussianBlur
stdDeviation="2"
id="feGaussianBlur3099" />
</filter>
<radialGradient
id="XMLID_12_"
cx="69.600098"
cy="69.576698"
r="58"
gradientTransform="matrix(1,0,0,-0.1823,0,134.8566)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
style="stop-color:#000000"
id="stop3102" />
<stop
offset="1"
style="stop-color:#000000;stop-opacity:0;"
id="stop3104" />
</radialGradient>
<circle
sodipodi:ry="58"
sodipodi:rx="58"
sodipodi:cy="69.599998"
sodipodi:cx="69.599998"
style="opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter5097)"
id="circle5091"
r="58"
cy="69.599998"
cx="69.599998"
transform="matrix(1.0859375,0,0,1.0859375,-3.9093733,-8.2531233)" /><ellipse
cx="69.599998"
cy="122.173"
rx="58"
ry="10.573"
id="ellipse3106"
style="opacity:0.6;fill:url(#XMLID_12_)"
sodipodi:cx="69.599998"
sodipodi:cy="122.173"
sodipodi:rx="58"
sodipodi:ry="10.573"
transform="translate(-9.9998474e-2,1.9102535)" />
<radialGradient
id="XMLID_13_"
cx="69.600098"
cy="69.600098"
r="58"
gradientUnits="userSpaceOnUse">
<stop
offset="0.6154"
style="stop-color:#EEEEEE"
id="stop3113" />
<stop
offset="0.8225"
style="stop-color:#DDDDDD"
id="stop3115" />
<stop
offset="1"
style="stop-color:#FFFFFF"
id="stop3117" />
</radialGradient>
<circle
cx="69.599998"
cy="69.599998"
r="58"
id="circle3119"
style="fill:url(#XMLID_13_)"
sodipodi:cx="69.599998"
sodipodi:cy="69.599998"
sodipodi:rx="58"
sodipodi:ry="58"
transform="matrix(1.0859375,0,0,1.0859375,-3.9093733,-8.2531233)" />
<linearGradient
id="XMLID_14_"
gradientUnits="userSpaceOnUse"
x1="27.6001"
y1="69.600098"
x2="111.6001"
y2="69.600098"
gradientTransform="matrix(1.0859375,0,0,1.0859375,-3.9093733,-8.2531233)">
<stop
offset="0"
style="stop-color:#2A94EC"
id="stop3122" />
<stop
offset="1"
style="stop-color:#0057AE"
id="stop3124" />
</linearGradient>
<path
d="M 26.062502,67.328127 C 26.062502,92.477355 46.522651,112.9375 71.671877,112.9375 C 96.821104,112.9375 117.28125,92.477355 117.28125,67.328127 C 117.28125,42.178901 96.821104,21.718753 71.671877,21.718753 C 46.522651,21.718753 26.062502,42.178901 26.062502,67.328127 z"
id="path3126"
style="fill:url(#XMLID_14_)" />
<g
id="circle22111"
cy="92"
rx="36"
ry="36"
cx="343.99899"
enable-background="new "
style="opacity:0.3;filter:url(#filter3547)"
transform="matrix(1.0859375,0,0,1.0859375,-3.9093733,-8.2531233)">
<path
d="M 77.041,104.759 C 63.767,106.115 50.122,103.11 46.565,98.042 C 43.007,92.976 50.885,87.768 64.16,86.41 C 77.434,85.054 91.079,88.058 94.637,93.126 C 98.193,98.194 90.315,103.401 77.041,104.759 z"
id="path3129"
style="fill:#a8dde0" />
</g>
<linearGradient
id="circle16776_1_"
gradientUnits="userSpaceOnUse"
x1="135.5601"
y1="417.66461"
x2="161.87621"
y2="417.66461"
gradientTransform="matrix(0,1.7280523,1.7280523,0,-650.07477,-218.71693)">
<stop
offset="0"
style="stop-color:#FFFFFF"
id="stop3132" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3134" />
</linearGradient>
<path
id="circle16776"
enable-background="new "
d="M 71.671877,24.06655 C 50.288682,24.06655 32.41958,38.77123 28.113838,58.349597 C 36.698174,66.142284 52.986151,54.358777 71.671877,54.358777 C 90.357604,54.358777 106.64666,66.142284 115.22991,58.349597 C 110.92417,38.77123 93.056158,24.06655 71.671877,24.06655 z"
style="opacity:0.8;fill:url(#circle16776_1_)" />
<g
id="g3137"
transform="matrix(1.0859375,0,0,1.0859375,-3.9093733,-8.2531233)">
<defs
id="defs3139"><path
id="XMLID_10_"
d="M 27.6,69.6 C 27.6,92.759 46.441,111.6 69.6,111.6 C 92.759,111.6 111.6,92.759 111.6,69.6 C 111.6,46.441 92.759,27.6 69.6,27.6 C 46.441,27.6 27.6,46.441 27.6,69.6 z" /></defs>
<clipPath
id="XMLID_6_">
<use
xlink:href="#XMLID_10_"
id="use3143"
x="0"
y="0"
width="139"
height="139" />
</clipPath>
<g
clip-path="url(#XMLID_6_)"
id="g3145"
style="filter:url(#AI_Sfocatura_2)">
<path
d="M 27.6,69.6 C 27.6,92.759 46.441,111.6 69.6,111.6 C 92.759,111.6 111.6,92.759 111.6,69.6 C 111.6,46.441 92.759,27.6 69.6,27.6 C 46.441,27.6 27.6,46.441 27.6,69.6 z"
id="path3147"
style="fill:none;stroke:#00316e;stroke-width:2" />
</g>
</g>
<g
transform="matrix(1.0859375,0,0,1.1113796,-3.201342,-9.3177223)"
id="g5119"
style="fill:#00316e;filter:url(#filter5125)"><path
style="fill:#00316e"
d="M 63.37,80.089 L 63.192,77.746 C 63.012,73.148 64.44,68.462 68.451,63.684 C 71.304,60.26 73.62,57.286 73.62,54.221 C 73.62,51.157 71.571,48.994 67.202,48.903 C 64.173,48.903 60.696,49.895 58.289,51.517 L 55.348,41.784 C 58.556,39.89 63.815,38.088 70.233,38.088 C 81.91,38.088 87.348,44.668 87.348,52.058 C 87.348,58.997 83.069,63.415 79.681,67.289 C 76.472,70.894 75.046,74.41 75.135,78.466 L 75.135,80.088 L 63.37,80.088 L 63.37,80.089 z"
id="path5121" /><circle
style="fill:#00316e"
sodipodi:ry="8"
sodipodi:rx="8"
sodipodi:cy="93.599998"
sodipodi:cx="69.599998"
cx="69.599998"
cy="93.599998"
r="8"
id="circle5123" /></g><g
id="g5101"
transform="matrix(1.0859375,0,0,1.0859375,-3.201342,-8.2531233)"><path
id="path3157"
d="M 63.37,80.089 L 63.192,77.746 C 63.012,73.148 64.44,68.462 68.451,63.684 C 71.304,60.26 73.62,57.286 73.62,54.221 C 73.62,51.157 71.571,48.994 67.202,48.903 C 64.173,48.903 60.696,49.895 58.289,51.517 L 55.348,41.784 C 58.556,39.89 63.815,38.088 70.233,38.088 C 81.91,38.088 87.348,44.668 87.348,52.058 C 87.348,58.997 83.069,63.415 79.681,67.289 C 76.472,70.894 75.046,74.41 75.135,78.466 L 75.135,80.088 L 63.37,80.088 L 63.37,80.089 z"
style="fill:#ffffff" /><circle
id="circle3159"
r="8"
cy="93.599998"
cx="69.599998"
sodipodi:cx="69.599998"
sodipodi:cy="93.599998"
sodipodi:rx="8"
sodipodi:ry="8"
style="fill:#ffffff" /></g>
</svg>

After

Width:  |  Height:  |  Size: 8.4 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -13,23 +13,23 @@
id="Layer_1"
x="0px"
y="0px"
width="207.38489"
height="201.668"
viewBox="0 0 207.38488 201.668"
enable-background="new 0 0 595.28 841.89"
width="249.46899"
height="257.47101"
viewBox="0 0 249.469 257.471"
enable-background="new 0 0 595.279 841.89"
xml:space="preserve"
inkscape:version="0.47 r22583"
sodipodi:docname="edit_input.svg"><metadata
id="metadata18"><rdf:RDF><cc:Work
id="metadata16"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs16"><inkscape:perspective
id="defs14"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 420.94501 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="595.28003 : 420.94501 : 1"
inkscape:persp3d-origin="297.64001 : 280.63 : 1"
id="perspective20" /></defs><sodipodi:namedview
inkscape:vp_z="595.27899 : 420.94501 : 1"
inkscape:persp3d-origin="297.6395 : 280.63 : 1"
id="perspective18" /></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
@ -40,41 +40,38 @@
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="489"
id="namedview14"
id="namedview12"
showgrid="false"
inkscape:zoom="0.28032165"
inkscape:cx="98.91389"
inkscape:cy="100.723"
inkscape:cx="134.7405"
inkscape:cy="115.381"
inkscape:window-x="0"
inkscape:window-y="41"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1" />
<g
id="g3"
transform="translate(-198.72612,-320)">
<path
d="m 385.392,452.52 c -11.442,0 -20.717,9.358 -20.717,20.905 0,0.05 0.003,0.099 0.003,0.148 -1.411,-0.137 -3.033,-0.183 -4.9,-0.122 0,0 -32.167,13.432 -41.902,35.031 h -5.372 V 432.77 h 7.911 v -26.368 h -28.293 v -14.841 c 15.416,-2.758 27.121,-16.224 27.121,-32.434 0,-18.203 -14.757,-32.96 -32.959,-32.96 -18.204,0 -32.961,14.757 -32.961,32.96 0,16.209 11.705,29.676 27.122,32.434 v 14.841 h -29.717 v 26.368 h 7.911 v 75.713 h -4.619 c -9.736,-21.6 -41.903,-35.031 -41.903,-35.031 -22.977,-0.753 -9.417,14.69 -9.417,14.69 5.396,1.5 6.258,14.923 6.386,20.341 h -0.359 v 13.185 h 49.912 53.866 49.91 v -10.89 l 0.378,-0.035 c 0,0 -0.378,-20.717 6.402,-22.601 0,0 0.281,-0.317 0.69,-0.86 3.796,4.322 9.335,7.05 15.508,7.05 11.442,0 20.718,-9.36 20.718,-20.906 -0.002,-11.548 -9.277,-20.906 -20.719,-20.906 z m -99.445,-58.884 c -5.618,0 -10.172,-6.672 -10.172,-14.9 0,-8.229 4.554,-14.899 10.172,-14.899 5.616,0 10.17,6.67 10.17,14.899 0,8.228 -4.554,14.9 -10.17,14.9 z m 99.445,93.472 c -5.403,0 -10.052,-3.194 -12.232,-7.807 -0.046,-0.947 -0.324,-1.859 -0.938,-2.672 -0.245,-1.03 -0.39,-2.1 -0.39,-3.205 0,-7.558 6.07,-13.684 13.561,-13.684 7.491,0 13.561,6.126 13.561,13.684 -0.002,7.559 -6.072,13.684 -13.562,13.684 z"
id="path5"
d="M 124.733,7.9999868 C 55.844,7.9999868 0,63.845987 0,132.73599 c 0,68.887 55.846,124.735 124.733,124.735 68.892,0 124.736,-55.848 124.736,-124.735 C 249.469,63.845987 193.624,7.9999868 124.733,7.9999868 z M 157.984,220.23399 H 91.483 v -107 h 66.501 v 107 z m -33.251,-118.499 c -18.362,0 -33.25,-14.887003 -33.25,-33.250003 0,-18.363 14.888,-33.25 33.25,-33.25 18.363,0 33.251,14.887 33.251,33.25 0,18.363 -14.888,33.250003 -33.251,33.250003 z"
id="path3"
style="fill:#ffffff" />
<linearGradient
id="SVGID_1_"
gradientUnits="userSpaceOnUse"
x1="302.418"
y1="320"
x2="302.418"
y2="515.50049">
x1="162.7581"
y1="437.354"
x2="412.22729"
y2="437.354"
gradientTransform="matrix(1,0,0,-1,-162.7589,562.08929)">
<stop
offset="0"
style="stop-color:#4990CD"
id="stop8" />
id="stop6" />
<stop
offset="1"
style="stop-color:#2F67B2"
id="stop10" />
id="stop8" />
</linearGradient>
<path
d="m 385.392,446.353 c -11.442,0 -20.717,9.358 -20.717,20.905 0,0.05 0.003,0.099 0.003,0.148 -1.411,-0.137 -3.033,-0.183 -4.9,-0.122 0,0 -32.167,13.432 -41.902,35.031 h -5.372 v -75.713 h 7.911 v -26.368 h -28.293 v -14.84 c 15.416,-2.758 27.121,-16.225 27.121,-32.434 0,-18.203 -14.757,-32.96 -32.959,-32.96 -18.204,0 -32.961,14.757 -32.961,32.96 0,16.209 11.705,29.676 27.122,32.434 v 14.84 h -29.717 v 26.368 h 7.911 v 75.713 h -4.619 c -9.736,-21.6 -41.903,-35.031 -41.903,-35.031 -22.977,-0.753 -9.417,14.69 -9.417,14.69 5.396,1.5 6.258,14.923 6.386,20.341 h -0.359 V 515.5 h 49.912 53.866 49.91 v -10.89 l 0.378,-0.035 c 0,0 -0.378,-20.717 6.402,-22.601 0,0 0.281,-0.317 0.69,-0.86 3.796,4.322 9.335,7.05 15.508,7.05 11.442,0 20.718,-9.36 20.718,-20.906 -0.002,-11.547 -9.277,-20.905 -20.719,-20.905 z m -99.445,-58.884 c -5.618,0 -10.172,-6.672 -10.172,-14.9 0,-8.229 4.554,-14.899 10.172,-14.899 5.616,0 10.17,6.67 10.17,14.899 0,8.228 -4.554,14.9 -10.17,14.9 z m 99.445,93.472 c -5.403,0 -10.052,-3.194 -12.232,-7.807 -0.046,-0.947 -0.324,-1.859 -0.938,-2.672 -0.245,-1.03 -0.39,-2.1 -0.39,-3.205 0,-7.558 6.07,-13.684 13.561,-13.684 7.491,0 13.561,6.126 13.561,13.684 -0.002,7.559 -6.072,13.684 -13.562,13.684 z"
id="path12"
d="M 124.733,-1.3194025e-5 C 55.844,-1.3194025e-5 0,55.845987 0,124.73599 c 0,68.887 55.846,124.735 124.733,124.735 68.892,0 124.736,-55.848 124.736,-124.735 C 249.469,55.845987 193.624,-1.3194025e-5 124.733,-1.3194025e-5 z M 157.984,212.23399 H 91.483 v -107 h 66.501 v 107 z M 124.733,93.734987 c -18.362,0 -33.25,-14.887 -33.25,-33.25 0,-18.363 14.888,-33.25 33.25,-33.25 18.363,0 33.251,14.887 33.251,33.25 0,18.363 -14.888,33.25 -33.251,33.25 z"
id="path10"
style="fill:url(#SVGID_1_)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -13,10 +13,10 @@
id="Layer_1"
x="0px"
y="0px"
width="148.905"
height="201.16701"
viewBox="0 0 148.90499 201.167"
enable-background="new 0 0 595.28 841.89"
width="148.90399"
height="202.65399"
viewBox="0 0 148.90399 202.65399"
enable-background="new 0 0 595.279 841.89"
xml:space="preserve"
inkscape:version="0.47 r22583"
sodipodi:docname="sync.svg"><metadata
@ -27,8 +27,8 @@
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 420.94501 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="595.28003 : 420.94501 : 1"
inkscape:persp3d-origin="297.64001 : 280.63 : 1"
inkscape:vp_z="595.27899 : 420.94501 : 1"
inkscape:persp3d-origin="297.6395 : 280.63 : 1"
id="perspective18" /></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
@ -43,24 +43,24 @@
id="namedview12"
showgrid="false"
inkscape:zoom="0.28032165"
inkscape:cx="74.307001"
inkscape:cy="99.722002"
inkscape:cx="74.306499"
inkscape:cy="96.520999"
inkscape:window-x="0"
inkscape:window-y="41"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1" />
<path
d="M 138.57699,3.2 H 10.328991 C 4.6249905,3.2 -9.4696599e-6,7.825 -9.4696599e-6,13.529 v 177.31 c 0,5.704 4.6249999696599,10.328 10.3290004696599,10.328 H 138.57699 c 5.703,0 10.328,-4.624 10.328,-10.328 V 13.529 c 0,-5.704 -4.625,-10.329 -10.328,-10.329 z M 74.452991,197.294 c -2.852,0 -5.164,-2.312 -5.164,-5.164 0,-2.854 2.312,-5.164 5.164,-5.164 2.853,0 5.165,2.311 5.165,5.164 0,2.851 -2.312,5.164 -5.165,5.164 z m 63.262999,-24.96 c 0,5.703 -4.625,10.327 -10.328,10.327 H 97.584991 V 127.35 h 12.149999 l -35.603999,-35.605 -35.605,35.605 h 12.15 v 55.312 h -29.157 c -5.704,0 -10.329,-4.624 -10.329,-10.327 V 24.288 c 0,-5.704 4.625,-10.329 10.329,-10.329 H 127.38799 c 5.703,0 10.328,4.625 10.328,10.329 v 148.046 z"
d="M 138.576,4.6879868 H 10.329 C 4.625,4.6879868 0,9.3129868 0,15.016987 V 192.32599 c 0,5.705 4.625,10.328 10.329,10.328 h 128.247 c 5.703,0 10.328,-4.623 10.328,-10.328 V 15.016987 C 148.905,9.3129868 144.28,4.6879868 138.576,4.6879868 z m -0.86,176.1340032 c 0,5.703 -4.625,10.326 -10.328,10.326 H 97.585 v -55.31 h 12.149 l -35.604,-35.606 -35.605,35.606 h 12.15 v 55.311 H 21.518 c -5.704,0 -10.329,-4.623 -10.329,-10.326 V 25.775987 c 0,-5.704 4.625,-10.329 10.329,-10.329 h 105.869 c 5.703,0 10.328,4.625 10.328,10.329 v 148.046003 7 z M 99.286,42.298987 h -74 v -7 h 74 v 7 z m 27,17.111 h -101 v -7 h 101 v 7 z m 0,17.111 h -101 v -7 h 101 v 7 z m 0,17.112 h -101 v -7 h 101 v 7 z"
id="path3"
style="fill:#ffffff" />
<linearGradient
id="SVGID_1_"
gradientUnits="userSpaceOnUse"
x1="297.78561"
y1="320.3335"
x2="297.78561"
y2="517.78369"
gradientTransform="translate(-223.33301,-319.5)">
x1="297.64529"
y1="525.29828"
x2="297.64529"
y2="327.84811"
gradientTransform="matrix(1,0,0,-1,-223.1929,526.13229)">
<stop
offset="0"
style="stop-color:#4990CD"
@ -71,7 +71,7 @@
id="stop8" />
</linearGradient>
<path
d="M 138.57699,0 H 10.328991 C 4.6249905,0 -9.4696599e-6,4.625 -9.4696599e-6,10.329 v 177.31 c 0,5.704 4.6249999696599,10.328 10.3290004696599,10.328 H 138.57699 c 5.703,0 10.328,-4.624 10.328,-10.328 V 10.329 C 148.90499,4.625 144.27999,0 138.57699,0 z M 74.452991,194.094 c -2.852,0 -5.164,-2.312 -5.164,-5.164 0,-2.854 2.312,-5.164 5.164,-5.164 2.853,0 5.165,2.311 5.165,5.164 0,2.851 -2.312,5.164 -5.165,5.164 z m 63.262999,-24.96 c 0,5.703 -4.625,10.327 -10.328,10.327 H 97.584991 v -55.312 h 12.149999 l -35.603999,-35.605 -35.605,35.605 h 12.15 v 55.312 h -29.157 c -5.704,0 -10.329,-4.624 -10.329,-10.327 V 21.088 c 0,-5.704 4.625,-10.329 10.329,-10.329 H 127.38799 c 5.703,0 10.328,4.625 10.328,10.329 v 148.046 z"
d="M 138.576,-1.3194025e-5 H 10.329 C 4.625,-1.3194025e-5 0,4.6249868 0,10.328987 V 187.63799 c 0,5.705 4.625,10.328 10.329,10.328 h 128.247 c 5.703,0 10.328,-4.623 10.328,-10.328 V 10.329987 C 148.905,4.6259868 144.28,-1.3194025e-5 138.576,-1.3194025e-5 z M 137.716,176.13499 c 0,5.703 -4.625,10.326 -10.328,10.326 H 97.585 v -55.311 h 12.149 L 74.13,95.543987 38.525,131.14999 h 12.15 v 55.311 H 21.518 c -5.704,0 -10.329,-4.623 -10.329,-10.326 V 21.087987 c 0,-5.704 4.625,-10.329 10.329,-10.329 h 105.869 c 5.703,0 10.328,4.625 10.328,10.329 v 148.046003 7.001 z M 99.286,37.610987 h -74 v -7 h 74 v 7 z m 27,17.112 h -101 v -7 h 101 v 7 z m 0,17.111 h -101 v -7 h 101 v 7 z m 0,17.111 h -101 v -7 h 101 v 7 z"
id="path10"
style="fill:url(#SVGID_1_)" />
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,40 @@
from calibre.web.feeds.news import BasicNewsRecipe
class AdvancedUserRecipe1278347258(BasicNewsRecipe):
title = u'Anchorage Daily News'
__author__ = 'rty'
oldest_article = 7
max_articles_per_feed = 100
feeds = [(u'Alaska News', u'http://www.adn.com/news/alaska/index.xml'),
(u'Business', u'http://www.adn.com/money/index.xml'),
(u'Sports', u'http://www.adn.com/sports/index.xml'),
(u'Politics', u'http://www.adn.com/politics/index.xml'),
(u'Lifestyles', u'http://www.adn.com/life/index.xml'),
(u'Iditarod', u'http://www.adn.com/iditarod/index.xml')
]
description = ''''Alaska's Newspaper'''
publisher = 'http://www.adn.com'
category = 'news, Alaska, Anchorage'
language = 'en'
extra_css = '''
p{font-weight: normal;text-align: justify}
'''
remove_javascript = True
use_embedded_content = False
no_stylesheets = True
language = 'en'
encoding = 'latin-1'
conversion_options = {'linearize_tables':True}
masthead_url = 'http://media.adn.com/includes/assets/images/adn_logo.2.gif'
keep_only_tags = [
dict(name='div', attrs={'class':'left_col story_mainbar'}),
]
remove_tags = [
dict(name='div', attrs={'class':'story_tools'}),
dict(name='p', attrs={'class':'ad_label'}),
]
remove_tags_after = [
dict(name='div', attrs={'class':'advertisement'}),
]

View File

@ -0,0 +1,52 @@
__license__ = 'GPL v3'
__copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
'''
evz.ro
'''
import re
from calibre.web.feeds.news import BasicNewsRecipe
class EVZ_Ro(BasicNewsRecipe):
title = 'evz.ro'
__author__ = 'Darko Miletic'
description = 'News from Romania'
publisher = 'evz.ro'
category = 'news, politics, Romania'
oldest_article = 2
max_articles_per_feed = 200
no_stylesheets = True
encoding = 'utf8'
use_embedded_content = False
language = 'ro'
masthead_url = 'http://www.evz.ro/fileadmin/images/logo.gif'
extra_css = ' body{font-family: Georgia,Arial,Helvetica,sans-serif } .firstP{font-size: 1.125em} .author,.articleInfo{font-size: small} '
conversion_options = {
'comment' : description
, 'tags' : category
, 'publisher' : publisher
, 'language' : language
}
preprocess_regexps = [
(re.compile(r'<head>.*?<title>', re.DOTALL|re.IGNORECASE),lambda match: '<head><title>')
,(re.compile(r'</title>.*?</head>', re.DOTALL|re.IGNORECASE),lambda match: '</title></head>')
]
remove_tags = [
dict(name=['form','embed','iframe','object','base','link','script','noscript'])
,dict(attrs={'class':['section','statsInfo','email il']})
,dict(attrs={'id' :'gallery'})
]
remove_tags_after = dict(attrs={'class':'section'})
keep_only_tags = [dict(attrs={'class':'single'})]
remove_attributes = ['height','width']
feeds = [(u'Articles', u'http://www.evz.ro/rss.xml')]
def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
return soup

View File

@ -1,28 +1,33 @@
__license__ = 'GPL v3'
__copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
'''
haaretz.com
www.haaretz.com
'''
import re
from calibre import strftime
from time import gmtime
from calibre.web.feeds.news import BasicNewsRecipe
class Haaretz_en(BasicNewsRecipe):
title = 'Haaretz in English'
class HaaretzPrint_en(BasicNewsRecipe):
title = 'Haaretz - print edition'
__author__ = 'Darko Miletic'
description = 'Haaretz.com, the online edition of Haaretz Newspaper in Israel, and analysis from Israel and the Middle East. Haaretz.com provides extensive and in-depth coverage of Israel, the Jewish World and the Middle East, including defense, diplomacy, the Arab-Israeli conflict, the peace process, Israeli politics, Jerusalem affairs, international relations, Iran, Iraq, Syria, Lebanon, the Palestinian Authority, the West Bank and the Gaza Strip, the Israeli business world and Jewish life in Israel and the Diaspora. '
publisher = 'haaretz.com'
category = 'news, politics, Israel'
description = "Haaretz.com is the world's leading English-language Website for real-time news and analysis of Israel and the Middle East."
publisher = 'Haaretz'
category = "news, Haaretz, Israel news, Israel newspapers, Israel business news, Israel financial news, Israeli news,Israeli newspaper, Israeli newspapers, news from Israel, news in Israel, news Israel, news on Israel, newspaper Israel, Israel sports news, Israel diplomacy news"
oldest_article = 2
max_articles_per_feed = 200
no_stylesheets = True
encoding = 'cp1252'
encoding = 'utf8'
use_embedded_content = False
language = 'en_IL'
publication_type = 'newspaper'
remove_empty_feeds = True
masthead_url = 'http://www.haaretz.com/images/logos/logoGrey.gif'
PREFIX = 'http://www.haaretz.com'
masthead_url = PREFIX + '/images/logos/logoGrey.gif'
extra_css = ' body{font-family: Verdana,Arial,Helvetica,sans-serif } '
preprocess_regexps = [(re.compile(r'</body>.*?</html>', re.DOTALL|re.IGNORECASE),lambda match: '</body></html>')]
conversion_options = {
'comment' : description
, 'tags' : category
@ -30,27 +35,61 @@ class Haaretz_en(BasicNewsRecipe):
, 'language' : language
}
remove_tags = [dict(name='div', attrs={'class':['rightcol']}),dict(name='table')]
remove_tags_before = dict(name='h1')
remove_tags_after = dict(attrs={'id':'innerArticle'})
keep_only_tags = [dict(attrs={'id':'content'})]
keep_only_tags = [dict(attrs={'id':'threecolumns'})]
remove_attributes = ['width','height']
remove_tags = [
dict(name=['iframe','link','object','embed'])
,dict(name='div',attrs={'class':'rightcol'})
]
feeds = [
(u'Opinion' , u'http://www.haaretz.com/cmlink/opinion-rss-1.209234?localLinksEnabled=false' )
,(u'Defense and diplomacy' , u'http://www.haaretz.com/cmlink/defense-and-diplomacy-rss-1.208894?localLinksEnabled=false')
,(u'National' , u'http://www.haaretz.com/cmlink/national-rss-1.208896?localLinksEnabled=false' )
,(u'International' , u'http://www.haaretz.com/cmlink/international-rss-1.208898?localLinksEnabled=false' )
,(u'Jewish World' , u'http://www.haaretz.com/cmlink/jewish-world-rss-1.209085?localLinksEnabled=false' )
,(u'Business' , u'http://www.haaretz.com/cmlink/business-print-rss-1.264904?localLinksEnabled=false' )
,(u'Real Estate' , u'http://www.haaretz.com/cmlink/real-estate-print-rss-1.264977?localLinksEnabled=false' )
,(u'Features' , u'http://www.haaretz.com/cmlink/features-print-rss-1.264912?localLinksEnabled=false' )
,(u'Arts and leisure' , u'http://www.haaretz.com/cmlink/arts-and-leisure-rss-1.286090?localLinksEnabled=false' )
,(u'Books' , u'http://www.haaretz.com/cmlink/books-rss-1.264947?localLinksEnabled=false' )
,(u'Food and Wine' , u'http://www.haaretz.com/cmlink/food-and-wine-print-rss-1.265034?localLinksEnabled=false' )
,(u'Sports' , u'http://www.haaretz.com/cmlink/sports-rss-1.286092?localLinksEnabled=false' )
(u'News' , PREFIX + u'/print-edition/news' )
,(u'Opinion' , PREFIX + u'/print-edition/opinion' )
,(u'Business' , PREFIX + u'/print-edition/business' )
,(u'Real estate' , PREFIX + u'/print-edition/real-estate' )
,(u'Sports' , PREFIX + u'/print-edition/sports' )
,(u'Travel' , PREFIX + u'/print-edition/travel' )
,(u'Books' , PREFIX + u'/print-edition/books' )
,(u'Food & Wine' , PREFIX + u'/print-edition/food-wine' )
,(u'Arts & Leisure', PREFIX + u'/print-edition/arts-leisure' )
,(u'Features' , PREFIX + u'/print-edition/features' )
]
def print_version(self, url):
article = url.rpartition('/')[2]
return 'http://www.haaretz.com/misc/article-print-page/' + article
def parse_index(self):
totalfeeds = []
lfeeds = self.get_feeds()
for feedobj in lfeeds:
feedtitle, feedurl = feedobj
self.report_progress(0, _('Fetching feed')+' %s...'%(feedtitle if feedtitle else feedurl))
articles = []
soup = self.index_to_soup(feedurl)
for item in soup.findAll(attrs={'class':'text'}):
sp = item.find('span',attrs={'class':'h3 font-weight-normal'})
desc = item.find('p')
description = ''
if sp:
if desc:
description = self.tag_to_string(desc)
link = sp.a
url = self.PREFIX + link['href']
title = self.tag_to_string(link)
times = strftime('%a, %d %b %Y %H:%M:%S +0000',gmtime())
articles.append({
'title' :title
,'date' :times
,'url' :url
,'description':description
})
totalfeeds.append((feedtitle, articles))
return totalfeeds
def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']

View File

@ -336,7 +336,7 @@ class NYTimes(BasicNewsRecipe):
self.log(">>> No class:'columnGroup first' found <<<")
# Change class="kicker" to <h3>
kicker = soup.find(True, {'class':'kicker'})
if kicker and kicker.contents[0]:
if kicker and kicker.contents and kicker.contents[0]:
h3Tag = Tag(soup, "h3")
h3Tag.insert(0, self.fixChars(self.tag_to_string(kicker,
use_alt=False)))
@ -460,7 +460,9 @@ class NYTimes(BasicNewsRecipe):
return self.massageNCXText(self.tag_to_string(p,use_alt=False))
return None
if not article.author:
article.author = extract_author(soup)
if not article.summary:
article.summary = article.text_summary = extract_description(soup)
def strip_anchors(self,soup):

View File

@ -226,10 +226,11 @@ def error_dialog(parent, title, msg, det_msg='', show=False,
return d.exec_()
return d
def question_dialog(parent, title, msg, det_msg='', show_copy_button=True):
d = MessageBox(QMessageBox.Question, title, msg, QMessageBox.Yes|QMessageBox.No,
def question_dialog(parent, title, msg, det_msg='', show_copy_button=True,
buttons=QMessageBox.Yes|QMessageBox.No):
d = MessageBox(QMessageBox.Question, title, msg, buttons,
parent, det_msg)
d.setIconPixmap(QPixmap(I('dialog_information.svg')))
d.setIconPixmap(QPixmap(I('dialog_question.svg')))
d.setEscapeButton(QMessageBox.No)
if not show_copy_button:
d.cb.setVisible(False)
@ -592,6 +593,9 @@ def open_url(qurl):
def open_local_file(path):
if iswindows:
os.startfile(os.path.normpath(path))
else:
url = QUrl.fromLocalFile(path)
open_url(url)

View File

@ -10,7 +10,7 @@ from functools import partial
from binascii import unhexlify
from PyQt4.Qt import QMenu, QAction, QActionGroup, QIcon, SIGNAL, QPixmap, \
Qt, pyqtSignal, QColor, QPainter, QDialog
Qt, pyqtSignal, QColor, QPainter, QDialog, QMessageBox
from PyQt4.QtSvg import QSvgRenderer
from calibre.customize.ui import available_input_formats, available_output_formats, \
@ -953,7 +953,8 @@ class DeviceMixin(object): # {{{
autos = '\n'.join('%s'%i for i in autos)
if question_dialog(self, _('No suitable formats'),
_('Auto convert the following books before sending via '
'email?'), det_msg=autos):
'email?'), det_msg=autos,
buttons=QMessageBox.Yes|QMessageBox.Cancel):
self.auto_convert_mail(to, fmts, delete_from_library, auto, format)
if bad:
@ -1052,7 +1053,8 @@ class DeviceMixin(object): # {{{
autos = '\n'.join('%s'%i for i in autos)
if question_dialog(self, _('No suitable formats'),
_('Auto convert the following books before uploading to '
'the device?'), det_msg=autos):
'the device?'), det_msg=autos,
buttons=QMessageBox.Yes|QMessageBox.Cancel):
self.auto_convert_catalogs(auto, format)
files = [f for f in files if f is not None]
if not files:
@ -1113,7 +1115,8 @@ class DeviceMixin(object): # {{{
autos = '\n'.join('%s'%i for i in autos)
if question_dialog(self, _('No suitable formats'),
_('Auto convert the following books before uploading to '
'the device?'), det_msg=autos):
'the device?'), det_msg=autos,
buttons=QMessageBox.Yes|QMessageBox.Cancel):
self.auto_convert_news(auto, format)
files = [f for f in files if f is not None]
for f in files:
@ -1231,7 +1234,8 @@ class DeviceMixin(object): # {{{
autos = '\n'.join('%s'%i for i in autos)
if question_dialog(self, _('No suitable formats'),
_('Auto convert the following books before uploading to '
'the device?'), det_msg=autos):
'the device?'), det_msg=autos,
buttons=QMessageBox.Yes|QMessageBox.Cancel):
self.auto_convert(auto, on_card, format)
if bad:

View File

@ -546,7 +546,8 @@ class Main(MainWindow, Ui_MainWindow, DeviceMixin, ToolbarMixin, # {{{
'''
MSG = _('is the result of the efforts of many volunteers from all '
'over the world. If you find it useful, please consider '
'donating to support its development.')
'donating to support its development. Your donation helps '
'keep calibre development going.')
HTML = u'''
<html>
<head>

View File

@ -243,7 +243,7 @@
<action name="action_copy">
<property name="icon">
<iconset resource="../../../../resources/images.qrc">
<normaloff>:/images/convert.svg</normaloff>:/images/convert.svg</iconset>
<normaloff>:/images/edit_copy.svg</normaloff>:/images/edit_copy.svg</iconset>
</property>
<property name="text">
<string>Copy to clipboard</string>

View File

@ -504,7 +504,7 @@ Meaning, it is very difficult to determine where one paragraph ends and another
paragraphs using a configurable, :guilabel:`Line Un-Wrapping Factor`. This is a scale used to determine the length
at which a line should be unwrapped. Valid values are a decimal
between 0 and 1. The default is 0.5, this is the median line length. Lower this value to include more
text in the unwrapping. Increase to include less.
text in the unwrapping. Increase to include less. You can adjust this value in the conversion settings under PDF Input.
Also, they often have headers and footers as part of the document that will become included with the text.
Use the options to remove headers and footers to mitigate this issue. If the headers and footers are not

View File

@ -683,6 +683,8 @@ class BasicNewsRecipe(Recipe):
base.extract()
ans = self.postprocess_html(soup, first_fetch)
if job_info:
url, f, a, feed_len = job_info
try:
article = self.feed_objects[f].articles[a]
except:

View File

@ -22,7 +22,7 @@ E = ElementMaker(namespace=NS, nsmap={None:NS})
def iterate_over_builtin_recipe_files():
exclude = ['craigslist', 'iht', 'outlook_india', 'toronto_sun',
'indian_express', 'india_today']
'indian_express', 'india_today', 'livemint']
d = os.path.dirname
base = os.path.join(d(d(d(d(d(d(os.path.abspath(__file__))))))), 'resources', 'recipes')
for x in os.walk(base):