Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorManuel Quiñones <manuq@laptop.org>2012-09-20 02:21:17 (GMT)
committer Manuel Quiñones <manuq@laptop.org>2012-09-20 12:44:45 (GMT)
commite92baeeba033ae2fc4276ea088d6036e284dfd56 (patch)
tree16919bdd6b75d4b70a2955a36d558515e59a1e26 /extensions
parent4d661c3fa5a6790a92c7b15efac422960ff77b63 (diff)
Fix Speech device icon - SL #3931
- Port palette with mixed content to new API. - pack_start: the convert script got confused here. - Gtk.HScale API change: set adjustment with set_adjustment method, not in the constructor. - Gtk.Adjustment API change: use get_value method because value property was removed. - Gdk.Clipboard API changes: Gtk.Clipboard.get needs a GdkAtom [1] and Gdk.SELECTION_PRIMARY is the one we need. Gtk.Clipboard.request_text needs another argument user_data [2], passing None seems to work, but maybe the annotations are wrong. - fixed long lines and a few indentations - fixed mispelled variable name 'adjustement' to 'adjustment' - style: call show() after packing widgets, not before [1] http://developer.gnome.org/gtk3/stable/gtk3-Clipboards.html#gtk-clipboard-get [2] http://developer.gnome.org/gtk3/stable/gtk3-Clipboards.html#gtk-clipboard-request-text Signed-off-by: Manuel Quiñones <manuq@laptop.org> Acked-by: Simon Schampijer <simon@laptop.org>
Diffstat (limited to 'extensions')
-rw-r--r--extensions/deviceicon/speech.py55
1 files changed, 36 insertions, 19 deletions
diff --git a/extensions/deviceicon/speech.py b/extensions/deviceicon/speech.py
index d89ad51..c3115f7 100644
--- a/extensions/deviceicon/speech.py
+++ b/extensions/deviceicon/speech.py
@@ -24,8 +24,9 @@ from gi.repository import GObject
from sugar3.graphics.icon import Icon
from sugar3.graphics.tray import TrayIcon
from sugar3.graphics.palette import Palette
+from sugar3.graphics.palettemenuitem import PaletteMenuItem
+from sugar3.graphics.palettemenuitem import PaletteMenuItemSeparator
from sugar3.graphics.xocolor import XoColor
-from sugar3.graphics.menuitem import MenuItem
from sugar3.graphics import style
from jarabe.frame.frameinvoker import FrameWidgetInvoker
@@ -71,50 +72,66 @@ class SpeechPalette(Palette):
vbox = Gtk.VBox()
self.set_content(vbox)
+ vbox.show()
self._play_icon = Icon(icon_name='player_play')
self._pause_icon = Icon(icon_name='player_pause')
- self._play_pause_menu = MenuItem(text_label=_('Say selected text'))
+ self._play_pause_menu = PaletteMenuItem(
+ icon_name='player_play',
+ text_label=_('Say selected text'))
self._play_pause_menu.set_image(self._play_icon)
self._play_pause_menu.connect('activate', self.__play_activated_cb)
+ vbox.pack_start(self._play_pause_menu, True, True, 0)
self._play_pause_menu.show()
- self._stop_menu = MenuItem(icon_name='player_stop',
- text_label=_('Stop playback'))
+ self._stop_menu = PaletteMenuItem(icon_name='player_stop',
+ text_label=_('Stop playback'))
self._stop_menu.connect('activate', self.__stop_activated_cb)
self._stop_menu.set_sensitive(False)
+ vbox.pack_start(self._stop_menu, True, True, 0)
self._stop_menu.show()
- self.menu.append(self._play_pause_menu)
- self.menu.append(self._stop_menu)
+ separator = PaletteMenuItemSeparator()
+ vbox.pack_start(separator, True, True, 0)
+ separator.show()
+
+ pitch_label = Gtk.Label(_('Pitch'))
+ vbox.pack_start(pitch_label, True, True, padding=style.DEFAULT_PADDING)
+ pitch_label.show()
self._adj_pitch = Gtk.Adjustment(value=self._manager.get_pitch(),
- lower=self._manager.MIN_PITCH,
- upper=self._manager.MAX_PITCH)
- self._hscale_pitch = Gtk.HScale(self._adj_pitch)
+ lower=self._manager.MIN_PITCH,
+ upper=self._manager.MAX_PITCH)
+ self._hscale_pitch = Gtk.HScale()
+ self._hscale_pitch.set_adjustment(self._adj_pitch)
self._hscale_pitch.set_draw_value(False)
- vbox.pack_start(Gtk.Label(_('Pitch', True, True, 0)), padding=style.DEFAULT_PADDING)
vbox.pack_start(self._hscale_pitch, True, True, 0)
+ self._hscale_pitch.show()
+
+ rate_label = Gtk.Label(_('Rate'))
+ vbox.pack_start(rate_label, True, True,
+ padding=style.DEFAULT_PADDING)
+ rate_label.show()
self._adj_rate = Gtk.Adjustment(value=self._manager.get_rate(),
- lower=self._manager.MIN_RATE,
- upper=self._manager.MAX_RATE)
- self._hscale_rate = Gtk.HScale(self._adj_rate)
+ lower=self._manager.MIN_RATE,
+ upper=self._manager.MAX_RATE)
+ self._hscale_rate = Gtk.HScale()
+ self._hscale_rate.set_adjustment(self._adj_rate)
self._hscale_rate.set_draw_value(False)
- vbox.pack_start(Gtk.Label(_('Rate', True, True, 0)), padding=style.DEFAULT_PADDING)
vbox.pack_start(self._hscale_rate, True, True, 0)
- vbox.show_all()
+ self._hscale_rate.show()
self._adj_pitch.connect('value_changed', self.__adj_pitch_changed_cb)
self._adj_rate.connect('value_changed', self.__adj_rate_changed_cb)
- def __adj_pitch_changed_cb(self, adjustement):
- self._manager.set_pitch(int(adjustement.value))
+ def __adj_pitch_changed_cb(self, adjustment):
+ self._manager.set_pitch(int(adjustment.get_value()))
- def __adj_rate_changed_cb(self, adjustement):
- self._manager.set_rate(int(adjustement.value))
+ def __adj_rate_changed_cb(self, adjustment):
+ self._manager.set_rate(int(adjustment.get_value()))
def __play_activated_cb(self, widget):
if self._manager.is_paused: