def __init__(self, activity): Gtk.Toolbar.__init__(self) self._activity = activity self._speech = SpeechManager() self._is_paused = False self.load_speech_parameters() self._voices = self._speech.get_all_voices() # a dictionary locale = os.environ.get('LANG', '') language_location = locale.split('.', 1)[0].lower() language = language_location.split('_')[0] # if the language is es but not es_es default to es_la (latin voice) if language == 'es' and language_location != 'es_es': language_location = 'es_la' self._voice = 'en_us' if language_location in self._voices: self._voice = language_location elif language in self._voices: self._voice = language voice_names = [] for language, name in self._voices.iteritems(): voice_names.append((language, name)) voice_names.sort(self._compare_voice) # Play button self._play_button = ToggleToolButton('media-playback-start') self._play_button.show() self._play_button.connect('toggled', self._play_toggled_cb) self.insert(self._play_button, -1) self._play_button.set_tooltip(_('Play / Pause')) # Stop button self._stop_button = ToolButton('media-playback-stop') self._stop_button.show() self._stop_button.connect('clicked', self._stop_clicked_cb) self._stop_button.set_sensitive(False) self.insert(self._stop_button, -1) self._stop_button.set_tooltip(_('Stop')) # Language list combo = ComboBox() which = 0 for pair in voice_names: language, name = pair combo.append_item(language, name) if language == self._voice: combo.set_active(which) which += 1 combo.connect('changed', self._voice_changed_cb) combotool = ToolComboBox(combo) self.insert(combotool, -1) combotool.show() self._speech.connect('stop', self._reset_buttons_cb)
def __init__(self, activity): Gtk.Toolbar.__init__(self) voicebar = Gtk.Toolbar() self._activity = activity if not speech.supported: return self.load_speech_parameters() self.sorted_voices = [i for i in speech.voices()] self.sorted_voices.sort(self.compare_voices) default = 0 for voice in self.sorted_voices: if voice[0] == speech.voice[0]: break default = default + 1 # Play button self.play_btn = ToggleToolButton('media-playback-start') self.play_btn.show() self.play_btn.connect('toggled', self.play_cb) self.insert(self.play_btn, -1) self.play_btn.set_tooltip(_('Play / Pause')) self.voice_combo = ComboBox() for voice in self.sorted_voices: self.voice_combo.append_item(voice, voice[0]) self.voice_combo.set_active(default) self.voice_combo.connect('changed', self.voice_changed_cb) combotool = ToolComboBox(self.voice_combo) self.insert(combotool, -1) combotool.show() self.pitchadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) pitchbar = Gtk.HScale(self.pitchadj) pitchbar.set_draw_value(False) pitchbar.set_update_policy(Gtk.UPDATE_DISCONTINUOUS) pitchbar.set_size_request(150, 15) self.pitchadj.set_value(speech.pitch) pitchtool = Gtk.ToolItem() pitchtool.add(pitchbar) pitchtool.show() self.insert(pitchtool, -1) pitchbar.show() self.rateadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) ratebar = Gtk.HScale(self.rateadj) ratebar.set_draw_value(False) ratebar.set_update_policy(Gtk.UPDATE_DISCONTINUOUS) ratebar.set_size_request(150, 15) self.rateadj.set_value(speech.rate) ratetool = Gtk.ToolItem() ratetool.add(ratebar) ratetool.show() self.insert(ratetool, -1) ratebar.show() self.pitchadj.connect("value_changed", self.pitch_adjusted_cb) self.rateadj.connect("value_changed", self.rate_adjusted_cb)
def _add_search_controls(self, toolbar): book_search_item = Gtk.ToolItem() toolbar.search_entry = iconentry.IconEntry() toolbar.search_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY, 'system-search') toolbar.search_entry.add_clear_button() toolbar.search_entry.connect('activate', self.__search_entry_activate_cb) width = int(Gdk.Screen.width() / 4) toolbar.search_entry.set_size_request(width, -1) book_search_item.add(toolbar.search_entry) toolbar.search_entry.show() toolbar.insert(book_search_item, -1) book_search_item.show() toolbar.source_combo = ComboBox() toolbar.source_combo.props.sensitive = True toolbar.source_changed_cb_id = \ toolbar.source_combo.connect('changed', self.__source_changed_cb) combotool = ToolComboBox(toolbar.source_combo) toolbar.insert(combotool, -1) combotool.show() self.bt_catalogs = ToggleToolButton('books') self.bt_catalogs.set_tooltip(_('Catalogs')) toolbar.insert(self.bt_catalogs, -1) self.bt_catalogs.connect('toggled', self.__toggle_cats_cb) if len(self.catalogs) > 0: self.bt_catalogs.show() if len(self.languages) > 0: toolbar.config_toolbarbutton = ToolbarButton() toolbar.config_toolbarbutton.props.icon_name = 'preferences-system' toolbar.config_toolbarbox = Gtk.Toolbar() toolbar.config_toolbarbutton.props.page = toolbar.config_toolbarbox toolbar.language_combo = ComboBox() toolbar.language_combo.props.sensitive = True combotool = ToolComboBox(toolbar.language_combo) toolbar.language_combo.append_item('all', _('Any language')) for key in self.languages.keys(): toolbar.language_combo.append_item(key, self.languages[key]) toolbar.language_combo.set_active(0) toolbar.config_toolbarbutton.props.page.insert(combotool, -1) toolbar.insert(toolbar.config_toolbarbutton, -1) toolbar.config_toolbarbutton.show() combotool.show() toolbar.language_changed_cb_id = \ toolbar.language_combo.connect('changed', self.__language_changed_cb) self._device_manager = devicemanager.DeviceManager() self._refresh_sources(toolbar) self._device_manager.connect('device-changed', self.__device_changed_cb) toolbar.search_entry.grab_focus() return toolbar
class SearchToolbar(Gtk.Toolbar): def __init__(self, activity): Gtk.Toolbar.__init__(self) self._activity = activity self._providercombo = ToolComboBox() self.insert(self._providercombo, -1) self._providercombo.show() search_url = 'http://'+ activity.confvars['ip'] + ':' + \ str(activity.confvars['port']) + '/search?q=%s' default_search_providers = { 'schoolserver': { 'order': 3, 'name': _('Wiki'), 'url': search_url, 'icon': 'zoom-home' }, } self.set_providers(default_search_providers) self._entry = Gtk.Entry() self._entry.connect('activate', self._entry_activate_cb) entry_item = Gtk.ToolItem() entry_item.set_expand(True) entry_item.add(self._entry) self._entry.show() self.insert(entry_item, -1) entry_item.show() def _entry_activate_cb(self, entry): k = self._providercombo.combo.get_active_item()[0] p = self._providers[k] browser = self._activity._get_browser() browser.load_uri(p['url'] % entry.props.text) browser.grab_focus() def _cmp_provider_order(self, a, b): return self._providers[a]['order'] - self._providers[b]['order'] def set_providers(self, providers): self._providers = providers self._providercombo.combo.remove_all() for k in sorted(self._providers.keys(), cmp=self._cmp_provider_order): p = self._providers[k] self._providercombo.combo.append_item(k, p['name'], p['icon']) self._providercombo.combo.set_active(0)
def __init__(self): ToolbarBox.__init__(self) self._mount_point = None self._filter_type = None self._what_filter = None self.search_entry = iconentry.IconEntry() self.search_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY, 'entry-search') text = _('Search in %s') % _('Journal') self.search_entry.set_placeholder_text(text) self.search_entry.connect('activate', self._search_entry_activated_cb) self.search_entry.connect('changed', self._search_entry_changed_cb) self.search_entry.add_clear_button() self._autosearch_timer = None self._add_widget(self.search_entry, expand=True) self._favorite_button = ToggleToolButton('emblem-favorite') self._favorite_button.set_tooltip(_('Favorite entries')) self._favorite_button.connect('toggled', self.__favorite_button_toggled_cb) self.toolbar.insert(self._favorite_button, -1) self._favorite_button.show() self._what_search_combo = ComboBox() self._what_combo_changed_sid = self._what_search_combo.connect( 'changed', self._combo_changed_cb) tool_item = ToolComboBox(self._what_search_combo) self.toolbar.insert(tool_item, -1) tool_item.show() self._when_search_combo = self._get_when_search_combo() tool_item = ToolComboBox(self._when_search_combo) self.toolbar.insert(tool_item, -1) tool_item.show() self._sorting_button = SortingButton() self.toolbar.insert(self._sorting_button, -1) self._sorting_button.connect('sort-property-changed', self.__sort_changed_cb) self._sorting_button.show() # TODO: enable it when the DS supports saving the buddies. # self._with_search_combo = self._get_with_search_combo() # tool_item = ToolComboBox(self._with_search_combo) # self.insert(tool_item, -1) # tool_item.show() self._query = self._build_query() self.refresh_filters()
def create_new_toolbar(self): toolbar_box = ToolbarBox() book_search_item = Gtk.ToolItem() self.search_entry = Gtk.Entry() self.search_entry.connect('activate', self.search_entry_activate_cb) width = int(Gdk.Screen.width() / 2.1) self.search_entry.set_size_request(width, -1) book_search_item.add(self.search_entry) self.search_entry.show() toolbar_box.toolbar.insert(book_search_item, -1) book_search_item.show() self._download = ToolButton('go-down') self._download.set_tooltip(_('Get Book')) self._download.props.sensitive = False self._download.connect('clicked', self._get_book_cb) toolbar_box.toolbar.insert(self._download, -1) self._download.show() self.format_combo = ComboBox() self.format_combo.connect('changed', self.format_changed_cb) self.format_combo.append_item('.djvu', 'Deja Vu') self.format_combo.append_item('_bw.pdf', 'B/W PDF') self.format_combo.append_item('.pdf', 'Color PDF') self.format_combo.append_item('.epub', 'EPUB') self.format_combo.set_active(0) self.format_combo.props.sensitive = False combotool = ToolComboBox(self.format_combo) toolbar_box.toolbar.insert(combotool, -1) combotool.show() self.search_entry.grab_focus() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) stop_button.props.accelerator = '<Ctrl><Shift>Q' toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show()
class SearchToolbar(Gtk.Toolbar): def __init__(self, activity): Gtk.Toolbar.__init__(self) self._activity = activity self._providercombo = ToolComboBox() self.insert(self._providercombo, -1) self._providercombo.show() search_url = "http://localhost:" + str(activity.confvars["port"]) + "/search?q=%s" default_search_providers = { "schoolserver": {"order": 3, "name": _("Wiki"), "url": search_url, "icon": "zoom-home"} } self.set_providers(default_search_providers) self._entry = Gtk.Entry() self._entry.connect("activate", self._entry_activate_cb) entry_item = Gtk.ToolItem() entry_item.set_expand(True) entry_item.add(self._entry) self._entry.show() self.insert(entry_item, -1) entry_item.show() def _entry_activate_cb(self, entry): k = self._providercombo.combo.get_active_item()[0] p = self._providers[k] browser = self._activity._get_browser() browser.load_uri(p["url"] % entry.props.text) browser.grab_focus() def _cmp_provider_order(self, a, b): return self._providers[a]["order"] - self._providers[b]["order"] def set_providers(self, providers): self._providers = providers self._providercombo.combo.remove_all() for k in sorted(self._providers.keys(), cmp=self._cmp_provider_order): p = self._providers[k] self._providercombo.combo.append_item(k, p["name"], p["icon"]) self._providercombo.combo.set_active(0)
def __init__(self, activity): GObject.GObject.__init__(self) self._activity = activity if not speech.supported: return self.is_paused = False self._cnf_client = GConf.Client.get_default() self.load_speech_parameters() self.sorted_voices = [i for i in speech.voices()] self.sorted_voices.sort(self.compare_voices) default = 0 for voice in self.sorted_voices: if voice[0] == speech.voice[0]: break default = default + 1 # Play button self.play_btn = ToggleToolButton('media-playback-start') self.play_btn.show() self.play_toggled_handler = self.play_btn.connect( 'toggled', self.play_cb) self.insert(self.play_btn, -1) self.play_btn.set_tooltip(_('Play / Pause')) # Stop button self.stop_btn = ToolButton('media-playback-stop') self.stop_btn.show() self.stop_btn.connect('clicked', self.stop_cb) self.stop_btn.set_sensitive(False) self.insert(self.stop_btn, -1) self.stop_btn.set_tooltip(_('Stop')) self.voice_combo = ComboBox() for voice in self.sorted_voices: self.voice_combo.append_item(voice, voice[0]) self.voice_combo.set_active(default) self.voice_combo.connect('changed', self.voice_changed_cb) combotool = ToolComboBox(self.voice_combo) self.insert(combotool, -1) combotool.show() speech.reset_cb = self.reset_buttons_cb speech.end_text_cb = self.reset_buttons_cb
def __init__(self, activity): GObject.GObject.__init__(self) self._activity = activity if not speech.supported: return self.is_paused = False self._cnf_client = GConf.Client.get_default() self.load_speech_parameters() self.sorted_voices = [i for i in speech.voices()] self.sorted_voices.sort(self.compare_voices) default = 0 for voice in self.sorted_voices: if voice[0] == speech.voice[0]: break default = default + 1 # Play button self.play_btn = ToggleToolButton("media-playback-start") self.play_btn.show() self.play_toggled_handler = self.play_btn.connect("toggled", self.play_cb) self.insert(self.play_btn, -1) self.play_btn.set_tooltip(_("Play / Pause")) # Stop button self.stop_btn = ToolButton("media-playback-stop") self.stop_btn.show() self.stop_btn.connect("clicked", self.stop_cb) self.stop_btn.set_sensitive(False) self.insert(self.stop_btn, -1) self.stop_btn.set_tooltip(_("Stop")) self.voice_combo = ComboBox() for voice in self.sorted_voices: self.voice_combo.append_item(voice, voice[0]) self.voice_combo.set_active(default) self.voice_combo.connect("changed", self.voice_changed_cb) combotool = ToolComboBox(self.voice_combo) self.insert(combotool, -1) combotool.show() speech.reset_cb = self.reset_buttons_cb speech.end_text_cb = self.reset_buttons_cb
def __init__(self): Gtk.Toolbar.__init__(self) book_search_item = Gtk.ToolItem() self.search_entry = Gtk.Entry() self.search_entry.connect('activate', self.search_entry_activate_cb) width = int(Gdk.Screen.width() / 2) self.search_entry.set_size_request(width, -1) book_search_item.add(self.search_entry) self.search_entry.show() self.insert(book_search_item, -1) book_search_item.show() self._download = ToolButton('go-down') self._download.set_tooltip(_('Get Book')) self._download.props.sensitive = False self._download.connect('clicked', self._get_book_cb) self.insert(self._download, -1) self._download.show() self.format_combo = ComboBox() self.format_combo.connect('changed', self.format_changed_cb) self.format_combo.append_item('.djvu', 'Deja Vu') self.format_combo.append_item('_bw.pdf', 'B/W PDF') self.format_combo.append_item('.pdf', 'Color PDF') self.format_combo.append_item('.epub', 'EPUB') self.format_combo.set_active(0) self.format_combo.props.sensitive = False combotool = ToolComboBox(self.format_combo) self.insert(combotool, -1) combotool.show() self.search_entry.grab_focus()
def __init__(self): Gtk.Toolbar.__init__(self) self.activity = None self._speech = SpeechManager() self._voices = self._speech.get_all_voices() # a dictionary locale = os.environ.get('LANG', '') language_location = locale.split('.', 1)[0].lower() language = language_location.split('_')[0] # if the language is es but not es_es default to es_la (latin voice) if language == 'es' and language_location != 'es_es': language_location = 'es_la' self._voice = 'en_us' if language_location in self._voices: self._voice = language_location elif language in self._voices: self._voice = language voice_names = [] for language, name in self._voices.items(): voice_names.append((language, name)) voice_names.sort() # Play button Image play_img = Gtk.Image() play_img.show() play_img.set_from_icon_name('media-playback-start', Gtk.IconSize.LARGE_TOOLBAR) # Pause button Image pause_img = Gtk.Image() pause_img.show() pause_img.set_from_icon_name('media-playback-pause', Gtk.IconSize.LARGE_TOOLBAR) # Play button self.play_button = ToggleToolButton('media-playback-start') self.play_button.show() self.play_button.connect('toggled', self._play_toggled_cb, [play_img, pause_img]) self.insert(self.play_button, -1) self.play_button.set_tooltip(_('Play / Pause')) combo = ComboBox() which = 0 for pair in voice_names: language, name = pair combo.append_item(language, name) if language == self._voice: combo.set_active(which) which += 1 combo.connect('changed', self._voice_changed_cb) combotool = ToolComboBox(combo) self.insert(combotool, -1) combotool.show() self.pitchadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) pitchbar = Gtk.HScale() pitchbar.set_adjustment(self.pitchadj) pitchbar.set_draw_value(False) # pitchbar.set_update_policy(Gtk.UpdatePolicy.ALWAYS) pitchbar.set_size_request(150, 15) pitchtool = Gtk.ToolItem() pitchtool.add(pitchbar) pitchtool.show() self.insert(pitchtool, -1) pitchbar.show() self.rateadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) ratebar = Gtk.HScale() ratebar.set_adjustment(self.rateadj) ratebar.set_draw_value(False) # ratebar.set_update_policy(Gtk.UpdatePolicy.ALWAYS) ratebar.set_size_request(150, 15) ratetool = Gtk.ToolItem() ratetool.add(ratebar) ratetool.show() self.insert(ratetool, -1) ratebar.show()
def __init__(self, handle): """Set up the Weather activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 self.wind_scale = 'm/s' self.pressure_scale = 'hPa' self.humidity_scale = '%' self.cloud_scale = '%' self.temp_scale = 'K' self.input = '' self.selected_city = None self.temp_scales = { 'Kelvin': 'K', 'Celcius': u'\u00b0C'.encode('utf-8'), 'Farenheit': u'\u00b0F'.encode('utf-8') } # view toolbar view_toolbar = Gtk.Toolbar() toolbar_box = ToolbarBox() activity_button = ActivityToolbarButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() temp_label = Gtk.Label(_('Temperature:')) temp_label.show() temp_label_item = Gtk.ToolItem() temp_label_item.add(temp_label) temp_label_item.show() temp_scale_store = Gtk.ListStore(str) for key in self.temp_scales.keys(): temp_scale_store.append([key]) self.temp_scale_combo = Gtk.ComboBox.new_with_model(temp_scale_store) renderer_text = Gtk.CellRendererText() self.temp_scale_combo.pack_start(renderer_text, True) self.temp_scale_combo.add_attribute(renderer_text, 'text', 0) self.temp_scale_combo.connect('changed', self.temp_scale_combo_toggled) self.temp_scale_combo.show() temp_scale_combo_item = ToolComboBox(self.temp_scale_combo) temp_scale_combo_item.show() view_toolbar.insert(temp_label_item, -1) view_toolbar.insert(temp_scale_combo_item, -1) view_toolbar.show() view_toolbar_button = ToolbarButton(icon_name='toolbar-view', page=view_toolbar) toolbar_box.toolbar.insert(view_toolbar_button, -1) view_toolbar_button.show() # toolbar separator = Gtk.SeparatorToolItem() toolbar_box.toolbar.insert(separator, -1) separator.set_draw(False) separator.set_expand(True) separator.show() self.search_entry = iconentry.IconEntry() self.search_entry.connect('key-press-event', self.entry_key_press_cb) self.search_entry.connect('icon-press', self.refresh) self.search_entry.show() self.search_entry_item = Gtk.ToolItem() self.search_entry_item.set_size_request(SCREEN_WIDTH / 3, -1) self.search_entry_item.add(self.search_entry) toolbar_box.toolbar.insert(self.search_entry_item, -1) self.search_entry_item.show() self.back_button = ToolButton('go-previous-paired') self.back_button.connect('clicked', self.back_button_clicked) self.back_button.set_sensitive(False) self.back_button.set_tooltip(_('Back')) toolbar_box.toolbar.insert(self.back_button, -1) self.back_button.show() self.forecast_button = ToolButton('go-next-paired') self.forecast_button.connect('clicked', self.forecast_button_clicked) self.forecast_button.set_sensitive(False) self.forecast_button.set_tooltip(_('Forecast')) toolbar_box.toolbar.insert(self.forecast_button, -1) self.forecast_button.show() separator = Gtk.SeparatorToolItem() toolbar_box.toolbar.insert(separator, -1) separator.set_draw(False) separator.set_expand(True) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # set up screen self.search_screen = searchscreen.SearchScreen(self) self.forecast_screen = forecastscreen.ForecastScreen(self) self.screen = self.search_screen howto_label = Gtk.Label() howto_label.set_justify(Gtk.Justification.CENTER) howto_label.set_markup(howto) howto_label.show() world_image = Gtk.Image() world_image.modify_bg(Gtk.StateType.NORMAL, Gdk.Color.parse(GREY)[1]) pixbuf = GdkPixbuf.Pixbuf.new_from_file('world.svg') scaled_pixbuf = pixbuf.scale_simple(SCREEN_WIDTH, SCREEN_HEIGHT - 170, GdkPixbuf.InterpType.BILINEAR) world_image.set_from_pixbuf(scaled_pixbuf) world_image.show() box = Gtk.Box() box.set_orientation(Gtk.Orientation.VERTICAL) box.pack_start(howto_label, expand=True, fill=False, padding=0) box.pack_start(world_image, expand=True, fill=True, padding=0) box.show() self.set_canvas(box) self.temp_scale_combo.set_active(1) self.search_entry.grab_focus()
def __init__(self): Gtk.Toolbar.__init__(self) voicebar = Gtk.Toolbar() self.activity = None self.sorted_voices = [i for i in speech.voices()] self.sorted_voices.sort(self.compare_voices) default = 0 for voice in self.sorted_voices: if voice[0] == 'default': break default = default + 1 # Play button Image play_img = Gtk.Image() play_img.show() play_img.set_from_icon_name('media-playback-start', Gtk.IconSize.LARGE_TOOLBAR) # Pause button Image pause_img = Gtk.Image() pause_img.show() pause_img.set_from_icon_name('media-playback-pause', Gtk.IconSize.LARGE_TOOLBAR) # Play button self.play_btn = ToggleToolButton('media-playback-start') self.play_btn.show() self.play_btn.connect('toggled', self.play_cb, [play_img, pause_img]) self.insert(self.play_btn, -1) self.play_btn.set_tooltip(_('Play / Pause')) self.voice_combo = ComboBox() self.voice_combo.connect('changed', self.voice_changed_cb) for voice in self.sorted_voices: self.voice_combo.append_item(voice, voice[0]) self.voice_combo.set_active(default) combotool = ToolComboBox(self.voice_combo) self.insert(combotool, -1) combotool.show() self.pitchadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) pitchbar = Gtk.HScale() pitchbar.set_adjustment(self.pitchadj) pitchbar.set_draw_value(False) # pitchbar.set_update_policy(Gtk.UpdatePolicy.ALWAYS) pitchbar.set_size_request(150,15) pitchtool = Gtk.ToolItem() pitchtool.add(pitchbar) pitchtool.show() self.insert(pitchtool, -1) pitchbar.show() self.rateadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) ratebar = Gtk.HScale() ratebar.set_adjustment(self.rateadj) ratebar.set_draw_value(False) #ratebar.set_update_policy(Gtk.UpdatePolicy.ALWAYS) ratebar.set_size_request(150,15) ratetool = Gtk.ToolItem() ratetool.add(ratebar) ratetool.show() self.insert(ratetool, -1) ratebar.show()
def __init__(self): Gtk.Toolbar.__init__(self) self.activity = None self._speech = SpeechManager() self._voices = self._speech.get_all_voices() # a dictionary locale = os.environ.get('LANG', '') language_location = locale.split('.', 1)[0].lower() language = language_location.split('_')[0] # if the language is es but not es_es default to es_la (latin voice) if language == 'es' and language_location != 'es_es': language_location = 'es_la' self._voice = 'en_us' if language_location in self._voices: self._voice = language_location elif language in self._voices: self._voice = language voice_names = [] for language, name in self._voices.iteritems(): voice_names.append((language, name)) voice_names.sort(self._compare_voices) # Play button Image play_img = Gtk.Image() play_img.show() play_img.set_from_icon_name('media-playback-start', Gtk.IconSize.LARGE_TOOLBAR) # Pause button Image pause_img = Gtk.Image() pause_img.show() pause_img.set_from_icon_name('media-playback-pause', Gtk.IconSize.LARGE_TOOLBAR) # Play button self.play_button = ToggleToolButton('media-playback-start') self.play_button.show() self.play_button.connect('toggled', self._play_toggled_cb, [play_img, pause_img]) self.insert(self.play_button, -1) self.play_button.set_tooltip(_('Play / Pause')) combo = ComboBox() which = 0 for pair in voice_names: language, name = pair combo.append_item(language, name) if language == self._voice: combo.set_active(which) which += 1 combo.connect('changed', self._voice_changed_cb) combotool = ToolComboBox(combo) self.insert(combotool, -1) combotool.show() self.pitchadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) pitchbar = Gtk.HScale() pitchbar.set_adjustment(self.pitchadj) pitchbar.set_draw_value(False) # pitchbar.set_update_policy(Gtk.UpdatePolicy.ALWAYS) pitchbar.set_size_request(150,15) pitchtool = Gtk.ToolItem() pitchtool.add(pitchbar) pitchtool.show() self.insert(pitchtool, -1) pitchbar.show() self.rateadj = Gtk.Adjustment(0, -100, 100, 1, 10, 0) ratebar = Gtk.HScale() ratebar.set_adjustment(self.rateadj) ratebar.set_draw_value(False) #ratebar.set_update_policy(Gtk.UpdatePolicy.ALWAYS) ratebar.set_size_request(150,15) ratetool = Gtk.ToolItem() ratetool.add(ratebar) ratetool.show() self.insert(ratetool, -1) ratebar.show()