Thanks to Anish. This patch was built exclusively by him.
This patch adds the "Multi-Select" facility, to easy copying/erasing multiple items in one go (after selecting the required "target" entries). Note that, the corresponding "sugar" and "sugar-toolkit" patches also need to be applied, for this feature to work. ==================== Courtesy Gary Martin, this feature has been made fully robust and bullet-proof. ==================== In particular, following things are intended via this patch :: a) Solves the basic purpose ( of course :P ) b) There should be no sequence of events, that renders the UI in unusable state. c) There should be no moment, wherein the user may act "impatient", and may cause an undesirable sequence of actions (may/may-not be leading to an unusable state). d) Speed optimisation, as far, and as logically, as possible. Again, all credit goes to Gary, for having rendered this feature such robustness !!! =========================================== The only "issue" that may be hit while testing this feature, is the bug :: http://bugs.sugarlabs.org/ticket/3813 which actually, has nothing to do with this feature as per say; it occurs even with this patch unapplied. icons/scalable/actions/Makefile.am | 2 + icons/scalable/actions/select-all.svg | 80 +++++++++++++++++++++++++++ icons/scalable/actions/select-none.svg | 72 ++++++++++++++++++++++++ icons/scalable/emblems/Makefile.am | 4 +- icons/scalable/emblems/emblem-checked.svg | 38 +++++++++++++ icons/scalable/emblems/emblem-unchecked.svg | 10 +++ 6 files changed, 205 insertions(+), 1 deletions(-) mode change 100644 => 100755 icons/scalable/actions/Makefile.am create mode 100644 icons/scalable/actions/select-all.svg create mode 100644 icons/scalable/actions/select-none.svg create mode 100644 icons/scalable/emblems/emblem-checked.svg create mode 100644 icons/scalable/emblems/emblem-unchecked.svg diff --git a/icons/scalable/actions/Makefile.am b/icons/scalable/actions/Makefile.am old mode 100644 new mode 100755 index b589fb5..8ceaffd --- a/icons/scalable/actions/Makefile.am +++ b/icons/scalable/actions/Makefile.am @@ -68,6 +68,8 @@ icon_DATA = \ media-seek-forward.svg \ row-insert.svg \ row-remove.svg \ + select-all.svg \ + select-none.svg \ system-logout.svg \ system-restart.svg \ system-search.svg \ diff --git a/icons/scalable/actions/select-all.svg b/icons/scalable/actions/select-all.svg new file mode 100644 index 0000000..f1c29a9 --- /dev/null +++ b/icons/scalable/actions/select-all.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" + 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" + enable-background="new 0 0 55 54.696" + height="54.696px" + version="1.1" + viewBox="0 0 55 54.696" + width="55px" + x="0px" + xml:space="preserve" + y="0px" + id="svg2" + inkscape:version="0.48.1 r9760" + sodipodi:docname="select-all.svg"><metadata + id="metadata13"><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><defs + id="defs11"><linearGradient + id="linearGradient5208" + osb:paint="solid"><stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop5210" /></linearGradient><linearGradient + id="linearGradient3758" + osb:paint="solid"><stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3760" /></linearGradient></defs><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="693" + id="namedview9" + showgrid="false" + inkscape:zoom="5.4300132" + inkscape:cx="21.684358" + inkscape:cy="27.348" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /><rect + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect5214" + width="36.219181" + height="42.29937" + x="9.3664637" + y="6.4843678" /><rect + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect5216" + width="9.9359331" + height="9.7244711" + x="14.04011" + y="13.671784" /><rect + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect5216-4" + width="9.9359331" + height="9.7244711" + x="14.10379" + y="32.684673" /><path + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + d="m 29.44008,18.968646 3.683233,3.683232 6.629818,-9.20808" + id="path5298" + inkscape:connector-curvature="0" /><path + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 29.834181,38.83604 3.683233,3.683232 6.629818,-9.20808" + id="path5298-0" + inkscape:connector-curvature="0" /></svg> diff --git a/icons/scalable/actions/select-none.svg b/icons/scalable/actions/select-none.svg new file mode 100644 index 0000000..0427384 --- /dev/null +++ b/icons/scalable/actions/select-none.svg @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" + 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" + enable-background="new 0 0 55 54.696" + height="54.696px" + version="1.1" + viewBox="0 0 55 54.696" + width="55px" + x="0px" + xml:space="preserve" + y="0px" + id="svg2" + inkscape:version="0.48.1 r9760" + sodipodi:docname="select-all.svg"><metadata + id="metadata13"><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><defs + id="defs11"><linearGradient + id="linearGradient5208" + osb:paint="solid"><stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop5210" /></linearGradient><linearGradient + id="linearGradient3758" + osb:paint="solid"><stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3760" /></linearGradient></defs><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="693" + id="namedview9" + showgrid="false" + inkscape:zoom="5.4300132" + inkscape:cx="-2.978747" + inkscape:cy="27.348" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /><rect + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect5214" + width="36.219181" + height="42.29937" + x="9.3664637" + y="6.4843678" /><rect + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect5216" + width="9.9359331" + height="9.7244711" + x="14.04011" + y="13.671784" /><rect + style="fill:none;stroke:#ffffff;stroke-width:3.0;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect5216-4" + width="9.9359331" + height="9.7244711" + x="14.10379" + y="32.684673" /></svg> diff --git a/icons/scalable/emblems/Makefile.am b/icons/scalable/emblems/Makefile.am index e08d9ac..110ce45 100644 --- a/icons/scalable/emblems/Makefile.am +++ b/icons/scalable/emblems/Makefile.am @@ -12,7 +12,9 @@ icon_DATA = \ emblem-outofrange.svg \ emblem-question.svg \ emblem-view-source.svg \ - emblem-warning.svg + emblem-warning.svg \ + emblem-checked.svg \ + emblem-unchecked.svg EXTRA_DIST = $(icon_DATA) diff --git a/icons/scalable/emblems/emblem-checked.svg b/icons/scalable/emblems/emblem-checked.svg new file mode 100644 index 0000000..b8356fa --- /dev/null +++ b/icons/scalable/emblems/emblem-checked.svg @@ -0,0 +1,38 @@ +<?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" + version="1.1" + width="55" + height="55" + viewBox="0 0 55 55" + id="svg2" + xml:space="preserve"><metadata + id="metadata13"><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><defs + id="defs11" /><g + id="emblem-charging" + style="display:block"> + <g + id="g5" + style="display:inline"> + + <rect + width="40" + height="40" + x="7.5" + y="7.5" + id="rect7" + style="fill:#ffffff;stroke:#666666;stroke-width:3.5" /> + + </g> +</g><path + d="m 15.612649,28.114068 8.610026,7.910888 14.904808,-19.138058" + id="path2990" + style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /></svg> \ No newline at end of file diff --git a/icons/scalable/emblems/emblem-unchecked.svg b/icons/scalable/emblems/emblem-unchecked.svg new file mode 100644 index 0000000..a97da3a --- /dev/null +++ b/icons/scalable/emblems/emblem-unchecked.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [ + <!ENTITY stroke_color "#666666"> + <!ENTITY fill_color "#ffffff"> +]><svg enable-background="new 0 0 55 55" height="55px" version="1.1" viewBox="0 0 55 55" width="55px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px"><g display="block" id="emblem-charging"> + <g display="inline"> + + <rect fill="&fill_color;" height="40" stroke="&stroke_color;" stroke-width="3.5" width="40" x="7.5" y="7.5"/> + + </g> +</g></svg> -- 1.7.4.4 _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel