From c5bab8e8c81d8e93b777264a815fd9400309d9ac Mon Sep 17 00:00:00 2001 From: Nick Doiron Date: Fri, 01 Apr 2011 15:34:09 +0000 Subject: La actividad de Memorize, con sensores --- (limited to 'speak/widgets.py') diff --git a/speak/widgets.py b/speak/widgets.py new file mode 100644 index 0000000..e20ae35 --- /dev/null +++ b/speak/widgets.py @@ -0,0 +1,48 @@ +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +from port.widgets import ComboBox + +import voice + +class Voices(ComboBox): + def __init__(self, face, **kwargs): + ComboBox.__init__(self, **kwargs) + + self.face = face + + voices = voice.allVoices() + voicenames = voices.keys() + voicenames.sort() + + for name in voicenames: + self.append_item(voices[name], name) + + self.select(voice.defaultVoice()) + + self.connect('changed', self._changed_cb) + + def _changed_cb(self, widget): + self.face.status.voice = widget.props.value + self.face.say_notification(self.face.status.voice.friendlyname) + + def resume(self, value): + try: + self.handler_block_by_func(self._changed_cb) + self.select(name=value) + self.face.status.voice = self.props.value + finally: + self.handler_unblock_by_func(self._changed_cb) -- cgit v0.9.1