def _layout_update_sources(self): num_source_widgets = len(self.sources) if num_source_widgets < self.MAX_SOURCES: # Technically the condition above will only be True when num_target_widgets == 0, ie. # no target text boxes has been created yet. self._create_sources() num_source_widgets = len(self.sources) if self.unit is None: if num_source_widgets >= 1: # The above condition should *never* be False textbox = self.sources[0] textbox.set_text(u'') textbox.parent.show() for i in range(1, num_source_widgets): self.sources[i].parent.hide_all() return num_unit_sources = 1 if self.unit.hasplural(): num_unit_sources = len(self.unit.source.strings) for i in range(self.MAX_SOURCES): if i < num_unit_sources: sourcestr = self.unit.rich_source[i] self.sources[i].modify_font(rendering.get_source_font_description()) # FIXME: This modfies the unit's copy - we should not do this self.sources[i].set_text(sourcestr) self.sources[i].parent.show_all() #logging.debug('Showing source #%d: %s' % (i, self.sources[i])) else: #logging.debug('Hiding source #%d: %s' % (i, self.sources[i])) self.sources[i].parent.hide_all()
def update_languages(self): srclang = self.controller.main_controller.lang_controller.source_lang.code tgtlang = self.controller.main_controller.lang_controller.target_lang.code for textview in self.sources: self._update_textview_language(textview, srclang) textview.modify_font(rendering.get_source_font_description()) # This causes some problems, so commented out for now #textview.get_pango_context().set_font_description(rendering.get_source_font_description()) for textview in self.targets: self._update_textview_language(textview, tgtlang) textview.modify_font(rendering.get_target_font_description()) textview.get_pango_context().set_font_description(rendering.get_target_font_description())
def _create_sources(self): for i in range(len(self.sources), self.MAX_SOURCES): source = self._create_textbox(u'', editable=False, role='source') textbox = source.get_child() textbox.modify_font(rendering.get_source_font_description()) self._widgets['vbox_sources'].pack_start(source) self.sources.append(textbox) # The following fixes a very weird crash (bug #810) def ignore_tab(txtbx, event, eventname): if event.keyval in (gtk.keysyms.Tab, gtk.keysyms.ISO_Left_Tab): self.focused_target_n = 0 return True textbox.connect('key-pressed', ignore_tab)
def _create_sources(self): for i in range(len(self.sources), self.MAX_SOURCES): source = self._create_textbox(u'', editable=False, role='source') textbox = source.get_child() textbox.modify_font(rendering.get_source_font_description()) self._widgets['vbox_sources'].pack_start(source) self.sources.append(textbox) # The following fixes a very weird crash (bug #810) def ignore_tab(txtbx, event, eventname): if event.keyval in (gtk.keysyms.Tab, gtk.keysyms.ISO_Left_Tab): self.focused_target_n = 0 return True textbox.connect('key-pressed', ignore_tab) self.emit('sources-created', self.sources)