[Sugar-devel] [PATCH Memorize] Use RadioMenuButton instead ComboBox to change the board size
Gonzalo Odiard
gonzalo at laptop.org
Mon Sep 3 10:56:42 EDT 2012
Pushed and published
Gonzalo
On Fri, Aug 24, 2012 at 11:27 AM, Manuel Kaufmann <humitos at gmail.com> wrote:
> ComboBox doesn't work properly and this have a bad impact on touch
> screen. We decided to use RadioMenuButton instead of ComboBox because
> it make easier changing the board size.
>
> Signed-off-by: Manuel Kaufmann <humitos at gmail.com>
> ---
> icons/4 X 4.svg | 88
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> icons/5 X 5.svg | 88
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> icons/6 X 6.svg | 88
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> icons/change_size.svg | 88
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> memorizetoolbar.py | 16 ++++++----
> 5 files changed, 361 insertions(+), 7 deletions(-)
> create mode 100644 icons/4 X 4.svg
> create mode 100644 icons/5 X 5.svg
> create mode 100644 icons/6 X 6.svg
> create mode 100644 icons/change_size.svg
>
> diff --git a/icons/4 X 4.svg b/icons/4 X 4.svg
> new file mode 100644
> index 0000000..68c8551
> --- /dev/null
> +++ b/icons/4 X 4.svg
> @@ -0,0 +1,88 @@
> +<?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"
> + width="42"
> + height="42"
> + id="svg2"
> + sodipodi:version="0.32"
> + inkscape:version="0.48.2 r9819"
> + version="1.0"
> + sodipodi:docname="4 X 4.svg"
> + inkscape:output_extension="org.inkscape.output.svg.inkscape">
> + <defs
> + id="defs4" />
> + <sodipodi:namedview
> + id="base"
> + pagecolor="#ffffff"
> + bordercolor="#666666"
> + borderopacity="1.0"
> + gridtolerance="10000"
> + guidetolerance="10"
> + objecttolerance="10"
> + inkscape:pageopacity="0.0"
> + inkscape:pageshadow="2"
> + inkscape:zoom="8.65364"
> + inkscape:cx="1.7881141"
> + inkscape:cy="16.282349"
> + inkscape:document-units="px"
> + inkscape:current-layer="layer1"
> + width="42px"
> + height="42px"
> + inkscape:window-width="1152"
> + inkscape:window-height="740"
> + inkscape:window-x="151"
> + inkscape:window-y="307"
> + showgrid="false"
> + inkscape:window-maximized="0" />
> + <metadata
> + id="metadata7">
> + <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>
> + <g
> + inkscape:label="Layer 1"
> + inkscape:groupmode="layer"
> + id="layer1">
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect7017"
> + width="30.046175"
> + height="30.046175"
> + x="9.9769115"
> + y="1.9769124"
> + ry="4.5299301" />
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect3133"
> + width="30.046175"
> + height="30.046175"
> + x="1.9769125"
> + y="9.9769125"
> + ry="4.5299301" />
> + <text
> + xml:space="preserve"
> +
> style="font-size:28.78175545px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
> + x="7.9494867"
> + y="35.491005"
> + id="text3009"
> + sodipodi:linespacing="125%"><tspan
> + sodipodi:role="line"
> + id="tspan3011"
> + x="7.9494867"
> + y="35.491005"
> + style="fill:#ffffff;stroke:none">4</tspan></text>
> + </g>
> +</svg>
> diff --git a/icons/5 X 5.svg b/icons/5 X 5.svg
> new file mode 100644
> index 0000000..b5cff16
> --- /dev/null
> +++ b/icons/5 X 5.svg
> @@ -0,0 +1,88 @@
> +<?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"
> + width="42"
> + height="42"
> + id="svg2"
> + sodipodi:version="0.32"
> + inkscape:version="0.48.2 r9819"
> + version="1.0"
> + sodipodi:docname="4 X 4.svg"
> + inkscape:output_extension="org.inkscape.output.svg.inkscape">
> + <defs
> + id="defs4" />
> + <sodipodi:namedview
> + id="base"
> + pagecolor="#ffffff"
> + bordercolor="#666666"
> + borderopacity="1.0"
> + gridtolerance="10000"
> + guidetolerance="10"
> + objecttolerance="10"
> + inkscape:pageopacity="0.0"
> + inkscape:pageshadow="2"
> + inkscape:zoom="8.65364"
> + inkscape:cx="1.7881141"
> + inkscape:cy="16.282349"
> + inkscape:document-units="px"
> + inkscape:current-layer="layer1"
> + width="42px"
> + height="42px"
> + inkscape:window-width="1152"
> + inkscape:window-height="740"
> + inkscape:window-x="151"
> + inkscape:window-y="307"
> + showgrid="false"
> + inkscape:window-maximized="0" />
> + <metadata
> + id="metadata7">
> + <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>
> + <g
> + inkscape:label="Layer 1"
> + inkscape:groupmode="layer"
> + id="layer1">
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect7017"
> + width="30.046175"
> + height="30.046175"
> + x="9.9769115"
> + y="1.9769124"
> + ry="4.5299301" />
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect3133"
> + width="30.046175"
> + height="30.046175"
> + x="1.9769125"
> + y="9.9769125"
> + ry="4.5299301" />
> + <text
> + xml:space="preserve"
> +
> style="font-size:28.78175545px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
> + x="7.9494867"
> + y="35.491005"
> + id="text3009"
> + sodipodi:linespacing="125%"><tspan
> + sodipodi:role="line"
> + id="tspan3011"
> + x="7.9494867"
> + y="35.491005"
> + style="fill:#ffffff;stroke:none">5</tspan></text>
> + </g>
> +</svg>
> diff --git a/icons/6 X 6.svg b/icons/6 X 6.svg
> new file mode 100644
> index 0000000..cda5de9
> --- /dev/null
> +++ b/icons/6 X 6.svg
> @@ -0,0 +1,88 @@
> +<?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"
> + width="42"
> + height="42"
> + id="svg2"
> + sodipodi:version="0.32"
> + inkscape:version="0.48.2 r9819"
> + version="1.0"
> + sodipodi:docname="5 X 5.svg"
> + inkscape:output_extension="org.inkscape.output.svg.inkscape">
> + <defs
> + id="defs4" />
> + <sodipodi:namedview
> + id="base"
> + pagecolor="#ffffff"
> + bordercolor="#666666"
> + borderopacity="1.0"
> + gridtolerance="10000"
> + guidetolerance="10"
> + objecttolerance="10"
> + inkscape:pageopacity="0.0"
> + inkscape:pageshadow="2"
> + inkscape:zoom="8.65364"
> + inkscape:cx="1.7881141"
> + inkscape:cy="16.282349"
> + inkscape:document-units="px"
> + inkscape:current-layer="layer1"
> + width="42px"
> + height="42px"
> + inkscape:window-width="1152"
> + inkscape:window-height="740"
> + inkscape:window-x="151"
> + inkscape:window-y="307"
> + showgrid="false"
> + inkscape:window-maximized="0" />
> + <metadata
> + id="metadata7">
> + <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>
> + <g
> + inkscape:label="Layer 1"
> + inkscape:groupmode="layer"
> + id="layer1">
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect7017"
> + width="30.046175"
> + height="30.046175"
> + x="9.9769115"
> + y="1.9769124"
> + ry="4.5299301" />
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect3133"
> + width="30.046175"
> + height="30.046175"
> + x="1.9769125"
> + y="9.9769125"
> + ry="4.5299301" />
> + <text
> + xml:space="preserve"
> +
> style="font-size:28.78175545px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
> + x="7.9494867"
> + y="35.491005"
> + id="text3009"
> + sodipodi:linespacing="125%"><tspan
> + sodipodi:role="line"
> + id="tspan3011"
> + x="7.9494867"
> + y="35.491005"
> + style="fill:#ffffff;stroke:none">6</tspan></text>
> + </g>
> +</svg>
> diff --git a/icons/change_size.svg b/icons/change_size.svg
> new file mode 100644
> index 0000000..0336d4b
> --- /dev/null
> +++ b/icons/change_size.svg
> @@ -0,0 +1,88 @@
> +<?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"
> + width="42"
> + height="42"
> + id="svg2"
> + sodipodi:version="0.32"
> + inkscape:version="0.48.2 r9819"
> + version="1.0"
> + sodipodi:docname="change_size.svg"
> + inkscape:output_extension="org.inkscape.output.svg.inkscape">
> + <defs
> + id="defs4" />
> + <sodipodi:namedview
> + id="base"
> + pagecolor="#ffffff"
> + bordercolor="#666666"
> + borderopacity="1.0"
> + gridtolerance="10000"
> + guidetolerance="10"
> + objecttolerance="10"
> + inkscape:pageopacity="0.0"
> + inkscape:pageshadow="2"
> + inkscape:zoom="8.65364"
> + inkscape:cx="2.1138261"
> + inkscape:cy="16.282349"
> + inkscape:document-units="px"
> + inkscape:current-layer="layer1"
> + width="42px"
> + height="42px"
> + inkscape:window-width="1152"
> + inkscape:window-height="740"
> + inkscape:window-x="151"
> + inkscape:window-y="307"
> + showgrid="false"
> + inkscape:window-maximized="0" />
> + <metadata
> + id="metadata7">
> + <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>
> + <g
> + inkscape:label="Layer 1"
> + inkscape:groupmode="layer"
> + id="layer1">
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect7017"
> + width="30.046175"
> + height="30.046175"
> + x="9.9769115"
> + y="1.9769124"
> + ry="4.5299301" />
> + <rect
> +
> style="fill:#4c4d4f;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> + id="rect3133"
> + width="30.046175"
> + height="30.046175"
> + x="1.9769125"
> + y="9.9769125"
> + ry="4.5299301" />
> + <text
> + xml:space="preserve"
> +
> style="font-size:28.78175545px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
> + x="9.333766"
> + y="35.680729"
> + id="text3009"
> + sodipodi:linespacing="125%"><tspan
> + sodipodi:role="line"
> + id="tspan3011"
> + x="9.333766"
> + y="35.680729"
> + style="fill:#ffffff;stroke:none">?</tspan></text>
> + </g>
> +</svg>
> diff --git a/memorizetoolbar.py b/memorizetoolbar.py
> index c7e4366..916c0d4 100644
> --- a/memorizetoolbar.py
> +++ b/memorizetoolbar.py
> @@ -67,14 +67,16 @@ class MemorizeToolbarBuilder(gobject.GObject):
> self.toolbar.insert(self._demo_games, -1)
>
> # Change size combobox
> - self._size_combo = ToolComboBox()
> + self._size_combo = RadioMenuButton(icon_name='change_size')
> + self._size_combo.props.tooltip = _('Change size')
> self._sizes = ['4 X 4', '5 X 5', '6 X 6']
> +
> for i, f in enumerate(self._sizes):
> - self._size_combo.combo.append_item(i, f)
> - self.size_handle_id = self._size_combo.combo.connect( \
> - 'changed', self._game_size_cb)
> + menu_item = MenuItem(f, icon_name=self._sizes[i])
> + menu_item.connect('activate', self._game_size_cb, i)
> + self._size_combo.props.palette.menu.append(menu_item)
> + menu_item.show()
> self.toolbar.insert(self._size_combo, -1)
> - self._size_combo.combo.set_active(0)
>
> # Reset Button
> self._restart_button = ToolButton('game-new')
> @@ -92,8 +94,8 @@ class MemorizeToolbarBuilder(gobject.GObject):
> self._demo_games.set_sensitive(active)
> self._restart_button.set_sensitive(active)
>
> - def _game_size_cb(self, widget):
> - game_size =
> int(self._sizes[self._size_combo.combo.get_active()][0])
> + def _game_size_cb(self, widget, i):
> + game_size = int(self._sizes[i][0])
> self.emit('game_changed', None, game_size, 'size', None, None)
>
> def __activate_game_cb(self, menu, i):
> --
> 1.7.11.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20120903/d7510da7/attachment-0001.html>
More information about the Sugar-devel
mailing list