diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2013-12-30 04:30:33 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2013-12-30 04:30:33 (GMT) |
commit | a70863b4eb8abc2daa010c565a35481fa0372ebf (patch) | |
tree | 2c4d4524e86f37390b84135daa502d159838f69b | |
parent | c16957e67d502e57248deaa45e33a83d6dda3379 (diff) |
add restart button
-rwxr-xr-x | activity.py | 19 | ||||
-rw-r--r-- | icons/new-game.svg | 310 |
2 files changed, 329 insertions, 0 deletions
diff --git a/activity.py b/activity.py index 126526f..bfa3cee 100755 --- a/activity.py +++ b/activity.py @@ -11,6 +11,7 @@ from sugar.activity.widgets import ActivityToolbarButton from sugar.activity.widgets import StopButton from sugar.graphics.colorbutton import ColorToolButton from sugar.graphics.toolbarbox import ToolbarButton +from sugar.graphics.toolbutton import ToolButton import sugargame.canvas @@ -37,12 +38,26 @@ class ReversiActivity(activity.Activity): toolbar_box.toolbar.insert(activity_button, -1) activity_button.show() + separator = gtk.SeparatorToolItem() + toolbar_box.toolbar.insert(separator, -1) + separator.show() + self.build_colors_toolbar(toolbar_box) separator = gtk.SeparatorToolItem() toolbar_box.toolbar.insert(separator, -1) separator.show() + # new game button + new_game = ToolButton('new-game') + new_game.connect('clicked', self._new_game) + new_game.set_tooltip(_('New game')) + toolbar_box.toolbar.insert(new_game, -1) + + separator = gtk.SeparatorToolItem() + toolbar_box.toolbar.insert(separator, -1) + separator.show() + #current item = gtk.ToolItem() label = gtk.Label() @@ -57,6 +72,7 @@ class ReversiActivity(activity.Activity): item.add(self.current_label) toolbar_box.toolbar.insert(item, -1) + # separator and stop separator = gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) @@ -186,6 +202,9 @@ class ReversiActivity(activity.Activity): toolbox.toolbar.insert(colors_button, -1) colors_button.show() + def _new_game(self, widget): + self.game.handle_restart_button_click() + def color_player1_change(self, widget, pspec): color = widget.get_color() new_color = self.color_to_rgb(color) diff --git a/icons/new-game.svg b/icons/new-game.svg new file mode 100644 index 0000000..2b536da --- /dev/null +++ b/icons/new-game.svg @@ -0,0 +1,310 @@ +<?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" + version="1.0" + width="55" + height="55" + id="svg2" + inkscape:version="0.48.4 r9939" + sodipodi:docname="new-game.svg"> + <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="744" + id="namedview16" + showgrid="false" + inkscape:zoom="4.2909091" + inkscape:cx="23.42161" + inkscape:cy="27.5" + inkscape:window-x="0" + inkscape:window-y="24" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /> + <metadata + id="metadata12"> + <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="defs4" /> + <g + id="g3813" + transform="translate(56.631356,12.351695)"> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-45.286058,7.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-4" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-45.286058,17.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-47" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-45.286058,-12.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-6" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-45.286058,-2.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-5" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-45.286058,27.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-49" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-35.286058,7.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-4-9" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-35.286058,17.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-47-2" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-35.286058,-12.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-6-8" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-35.286058,-2.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-5-9" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-35.286058,27.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-0" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-25.286058,7.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-4-5" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-25.286058,17.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-47-7" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-25.286058,-12.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-6-1" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-25.286058,-2.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-5-2" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-25.286058,27.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-53" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-15.286058,7.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-4-4" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-15.286058,17.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-47-6" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-15.286058,-12.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-6-4" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-15.286058,-2.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-5-5" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-15.286058,27.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-50" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-55.286058,7.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-4-93" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-55.286058,17.0729)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-47-28" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-55.286058,-12.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-6-7" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-55.286058,-2.9271)" /> + <path + style="fill:#ffffff;fill-opacity:1" + d="m 21.844548,20.781082 c 0,5.578919 -4.522607,10.101525 -10.101525,10.101525 -5.5789185,0 -10.1015254,-4.522606 -10.1015254,-10.101525 0,-5.578918 4.5226069,-10.101525 10.1015254,-10.101525 5.578918,0 10.101525,4.522607 10.101525,10.101525 z" + id="path2985-5-6" + sodipodi:cx="11.743023" + sodipodi:cy="20.781082" + sodipodi:rx="10.101525" + sodipodi:ry="10.101525" + sodipodi:type="arc" + transform="matrix(0.18673532,0,0,0.18673532,-55.286058,27.0729)" /> + </g> + <path + d="m 42.645186,31.124796 c -1.10877,0 -2.018763,0.909992 -2.018763,2.018761 l 0,4.629689 -3.283849,-3.283849 c -0.784855,-0.783184 -2.043082,-0.78485 -2.826264,0 -0.783183,0.784854 -0.784823,2.069998 0,2.85318 l 3.310766,3.28385 -4.683521,0 c -1.10877,0 -2.018762,0.909991 -2.018762,2.018762 0,1.108769 0.909992,1.991843 2.018762,1.991843 l 4.656605,0 -3.28385,3.283849 c -0.783181,0.784854 -0.784823,2.069999 0,2.85318 0.784855,0.783182 2.07,0.757938 2.85318,-0.02692 l 3.256933,-3.283849 0,4.683524 c 0,1.10877 0.909993,1.991844 2.018763,1.991844 1.108769,0 1.991843,-0.883074 1.991843,-1.991844 l 0,-4.71044 3.337683,3.310765 c 0.784853,0.783182 2.043082,0.784855 2.826262,0 0.783182,-0.784853 0.784858,-2.043082 0,-2.826262 l -3.310765,-3.28385 4.656607,0 c 1.10877,0 1.991844,-0.883074 1.991844,-1.991843 0,-1.108771 -0.883074,-2.018763 -1.991844,-2.018763 l -4.683523,0 3.310765,-3.337683 c 0.783182,-0.784854 0.784857,-2.016165 0,-2.799347 -0.784854,-0.78318 -2.043082,-0.811775 -2.826263,-0.02691 l -3.310766,3.337682 0,-4.656604 c 0,-1.10877 -0.883074,-2.018763 -1.991843,-2.018763 z" + id="rect3894" + style="fill:#ffffff;fill-opacity:1;stroke:#282828;stroke-width:1.72267997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> +</svg> |