Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAgustin Zubiaga <aguz@sugarlabs.org>2012-05-10 02:23:40 (GMT)
committer Agustin Zubiaga <aguz@sugarlabs.org>2012-05-10 02:23:40 (GMT)
commitd1c87cfdc444d15692421b207ae87384aeac1815 (patch)
tree73aabee95b2bc9c3cafd8683af3ab09027d3f191
parentc7185090f153c089d530a6596c120f1e272cd813 (diff)
Toolbar redesign, Illustrate pallete
-rw-r--r--icons/alert-icon.svg71
-rw-r--r--icons/dialog-icon.svg6
-rw-r--r--icons/notify-alert-icon.svg105
-rw-r--r--illustrate.py51
4 files changed, 226 insertions, 7 deletions
diff --git a/icons/alert-icon.svg b/icons/alert-icon.svg
new file mode 100644
index 0000000..75fac6a
--- /dev/null
+++ b/icons/alert-icon.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+ version="1.1"
+ width="55px"
+ height="55px"
+ id="svg2"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="dialog-icon.svg">
+ <metadata
+ id="metadata14">
+ <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="defs12" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="744"
+ id="namedview10"
+ showgrid="false"
+ inkscape:zoom="4.0014917"
+ inkscape:cx="30.944886"
+ inkscape:cy="25.607541"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg2"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ fit-margin-top="5"
+ fit-margin-left="5"
+ fit-margin-bottom="5"
+ fit-margin-right="5" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:3.05415082;stroke-linejoin:round;stroke-opacity:1"
+ d="m 48.06953,27.769832 a 21.079598,19.666916 0 0 1 -42.1591911,0 21.079598,19.666916 0 1 1 42.1591911,0 z"
+ id="path4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:5.14514017;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 27.161618,15.154553 0.209126,17.372124 z"
+ id="path3801"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:0.89009589;stroke-opacity:1"
+ d="m 24.746663,39.080393 a 2.9093511,2.4508687 0 1 1 5.818701,0 2.9093511,2.4508687 0 0 1 -5.818701,0 z"
+ id="path3863" />
+</svg>
diff --git a/icons/dialog-icon.svg b/icons/dialog-icon.svg
index 2c273b3..1a45505 100644
--- a/icons/dialog-icon.svg
+++ b/icons/dialog-icon.svg
@@ -40,9 +40,9 @@
inkscape:window-height="744"
id="namedview10"
showgrid="false"
- inkscape:zoom="4.2909091"
- inkscape:cx="-11.807142"
- inkscape:cy="25.602905"
+ inkscape:zoom="4.0014917"
+ inkscape:cx="30.944886"
+ inkscape:cy="25.607541"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
diff --git a/icons/notify-alert-icon.svg b/icons/notify-alert-icon.svg
new file mode 100644
index 0000000..4f5d52b
--- /dev/null
+++ b/icons/notify-alert-icon.svg
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+ version="1.1"
+ width="55px"
+ height="55px"
+ id="svg2"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="notify-alert-icon.svg">
+ <metadata
+ id="metadata14">
+ <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="defs12" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="744"
+ id="namedview10"
+ showgrid="false"
+ inkscape:zoom="4.0014917"
+ inkscape:cx="30.944886"
+ inkscape:cy="25.607541"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg2"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ fit-margin-top="5"
+ fit-margin-left="5"
+ fit-margin-bottom="5"
+ fit-margin-right="5" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:2.48807835999999982;stroke-linejoin:round;stroke-opacity:1"
+ d="m 39.855769,23.894545 a 17.114252,16.076363 0 0 1 -34.2285005,0 17.114252,16.076363 0 1 1 34.2285005,0 z"
+ id="path4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:4.19151258000000038;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 22.880906,13.582415 0.169787,14.200527 z"
+ id="path3801"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:0.72512078000000002;stroke-opacity:1;fill-opacity:1"
+ d="m 20.920236,33.140158 a 2.3620644,2.0034181 0 1 1 4.724128,0 2.3620644,2.0034181 0 0 1 -4.724128,0 z"
+ id="path3863" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:3.02743053;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path2186"
+ sodipodi:cx="21.976866"
+ sodipodi:cy="21.815269"
+ sodipodi:rx="19.606812"
+ sodipodi:ry="19.768406"
+ d="m 41.583677,21.815269 a 19.606812,19.768406 0 1 1 -39.2136228,0 19.606812,19.768406 0 1 1 39.2136228,0 z"
+ transform="matrix(0.62306881,0,0,0.56656002,26.791801,24.600376)" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.19915104;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 30.927163,27.079711 -1.835494,1.883218"
+ id="path2188"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.19915104;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 40.349406,37.269799 8.729064,5.3932"
+ id="path4130"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc"
+ id="path2211"
+ d="m 50.50573,27.415881 1.83549,1.88322"
+ style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.19915104;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.19915104;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 37.598624,24.054168 6.235642,6.87e-4"
+ id="path2213"
+ sodipodi:nodetypes="cc" />
+</svg>
diff --git a/illustrate.py b/illustrate.py
index 5dc6a7d..c8fe839 100644
--- a/illustrate.py
+++ b/illustrate.py
@@ -35,7 +35,7 @@ from sugar.graphics.colorbutton import ColorToolButton
from sugar.graphics.toolbarbox import ToolbarBox
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.objectchooser import ObjectChooser
-from sugar.graphics.alert import NotifyAlert
+from sugar.graphics.alert import Alert, NotifyAlert
from helpbutton import HelpButton
from dialogs import ExampleDialog
@@ -78,15 +78,20 @@ class IllustrateActivity(activity.Activity):
toolbarbox.toolbar.insert(activity_button, 0)
separator = gtk.SeparatorToolItem()
- separator.set_expand(True)
- separator.set_draw(False)
+ separator.set_expand(False)
+ separator.set_draw(True)
toolbarbox.toolbar.insert(separator, -1)
dialog_btn = ToolButton("dialog-icon")
- dialog_btn.set_tooltip(_("Show an example of a dialog"))
+ dialog_btn.set_tooltip(_("Dialog example"))
dialog_btn.connect("clicked", self._show_example_dialog)
toolbarbox.toolbar.insert(dialog_btn, -1)
+ alert_btn = ToolButton("alert-icon")
+ alert_btn.set_tooltip(_("Alert example"))
+ alert_btn.connect("clicked", self._show_example_alert)
+ toolbarbox.toolbar.insert(alert_btn, -1)
+
options_button = ToolbarButton(icon_name='preferences-system')
options_toolbar = gtk.Toolbar()
@@ -136,6 +141,24 @@ class IllustrateActivity(activity.Activity):
self.show_all()
self._create_canvas(canvas)
+ self._create_alert_btn_palette(alert_btn)
+
+ def _create_alert_btn_palette(self, button):
+ palette = button.get_palette()
+ hbox = gtk.HBox()
+
+ simple = ToolButton("alert-icon")
+ simple.connect("clicked", self._show_example_alert, False)
+
+ notify = ToolButton("notify-alert-icon")
+ notify.connect("clicked", self._show_example_alert, True)
+
+ hbox.pack_start(simple, False, True, 0)
+ hbox.pack_start(notify, False, True, 0)
+
+ hbox.show_all()
+
+ palette.set_content(hbox)
def load_objectchooser(self, widget):
chooser = ObjectChooser(parent=self,
@@ -157,6 +180,26 @@ class IllustrateActivity(activity.Activity):
def _show_example_dialog(self, widget):
ExampleDialog()
+ def _show_example_alert(self, widget, notify=False):
+ if notify:
+ alert = NotifyAlert(10)
+ alert.props.title = _('Notify Alert')
+
+ elif not notify:
+ alert = Alert()
+ ok_icon = Icon(icon_name='dialog-ok')
+ alert.add_button(gtk.RESPONSE_OK, _('Ok'), ok_icon)
+ ok_icon.show()
+ alert.props.title = _('Simple Alert')
+
+ alert.props.msg = _('Message')
+
+ alert.connect('response', lambda a, r: self.remove_alert(a))
+
+ self.add_alert(alert)
+
+ alert.show()
+
def _set_fill_color(self, widget, pspec):
self._icon.props.fill_color = rgb2html(widget.get_color())