[Sugar-devel] [sugar-artwork PATCH] Multi-Select icons.

Ajay Garg ajay at activitycentral.com
Fri Aug 17 13:44:29 EDT 2012


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



More information about the Sugar-devel mailing list