[Sugar-devel] [PATCH shell] Fix Speech device icon - SL #3931
Manuel Quiñones
manuq at laptop.org
Wed Sep 19 22:41:46 EDT 2012
- 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'
[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 at laptop.org>
---
extensions/deviceicon/speech.py | 44 ++++++++++++++++++++++++-----------------
src/jarabe/model/speech.py | 5 +++--
2 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/extensions/deviceicon/speech.py b/extensions/deviceicon/speech.py
index d89ad51..ba27e7a 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
@@ -74,47 +75,54 @@ class SpeechPalette(Palette):
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(
+ text_label=_('Say selected text'))
self._play_pause_menu.set_image(self._play_icon)
self._play_pause_menu.connect('activate', self.__play_activated_cb)
self._play_pause_menu.show()
+ vbox.pack_start(self._play_pause_menu, True, True, 0)
- 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)
self._stop_menu.show()
+ vbox.pack_start(self._stop_menu, True, True, 0)
- self.menu.append(self._play_pause_menu)
- self.menu.append(self._stop_menu)
+ separator = PaletteMenuItemSeparator()
+ vbox.pack_start(separator, True, True, 0)
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(Gtk.Label(_('Pitch')), True, True,
+ padding=style.DEFAULT_PADDING)
vbox.pack_start(self._hscale_pitch, True, True, 0)
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(Gtk.Label(_('Rate')), True, True,
+ padding=style.DEFAULT_PADDING)
vbox.pack_start(self._hscale_rate, True, True, 0)
vbox.show_all()
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:
diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py
index 864f639..d34237a 100644
--- a/src/jarabe/model/speech.py
+++ b/src/jarabe/model/speech.py
@@ -20,6 +20,7 @@ import logging
from gi.repository import GConf
from gi.repository import Gst
from gi.repository import Gtk
+from gi.repository import Gdk
from gi.repository import GObject
@@ -96,8 +97,8 @@ class SpeechManager(GObject.GObject):
self._player.speak(self._pitch, self._rate, self._voice_name, text)
def say_selected_text(self):
- clipboard = Gtk.clipboard_get(selection='PRIMARY')
- clipboard.request_text(self.__primary_selection_cb)
+ clipboard = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY)
+ clipboard.request_text(self.__primary_selection_cb, None)
def pause(self):
self._player.pause_sound_device()
--
1.7.11.4
More information about the Sugar-devel
mailing list