Codebase list sugar-read-activity / 15cc1dd
Save/load tts pitch/rate params from gconf Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org> Gonzalo Odiard 12 years ago
1 changed file(s) with 19 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
1818 from gettext import gettext as _
1919
2020 from gi.repository import Gtk
21 from gi.repository import GConf
2122
2223 from sugar3.graphics.toggletoolbutton import ToggleToolButton
2324 from sugar3.graphics.combobox import ComboBox
3435 if not speech.supported:
3536 return
3637
38 self._cnf_client = GConf.Client.get_default()
3739 self.load_speech_parameters()
3840
3941 self.sorted_voices = [i for i in speech.voices()]
8385 try:
8486 speech_parameters = simplejson.load(f)
8587 speech.voice = speech_parameters['voice']
86
87 # load from gconf
88 #speech.pitch = speech_parameters['pitch']
89 #speech.rate = speech_parameters['rate']
9088 finally:
9189 f.close()
90
91 self._cnf_client.add_dir('/desktop/sugar/speech',
92 GConf.ClientPreloadType.PRELOAD_NONE)
93 speech.pitch = self._cnf_client.get_int('/desktop/sugar/speech/pitch')
94 speech.rate = self._cnf_client.get_int('/desktop/sugar/speech/rate')
95 self._cnf_client.notify_add('/desktop/sugar/speech/pitch', \
96 self.__conf_changed_cb, None)
97 self._cnf_client.notify_add('/desktop/sugar/speech/rate', \
98 self.__conf_changed_cb, None)
99
100 def __conf_changed_cb(self, client, connection_id, entry, args):
101 key = entry.get_key()
102 value = client.get_int(key)
103 if key == '/desktop/sugar/speech/pitch':
104 speech.pitch = value
105 if key == '/desktop/sugar/speech/rate':
106 speech.rate = value
92107
93108 def save_speech_parameters(self):
94109 speech_parameters = {}