def _on_entry_changed(self, entry): self.btn_add_term.props.sensitive = True self.eb_add_term_errors.hide() src_text = self.ent_source.get_text() tgt_text = self.ent_target.get_text() dup = self.term_model.get_duplicates(src_text, tgt_text) if dup: self.lbl_add_term_errors.set_text(_("Identical entry already exists.")) self.eb_add_term_errors.modify_bg(gtk.STATE_NORMAL, gdk.color_parse(current_theme["warning_bg"])) self.eb_add_term_errors.show_all() self.btn_add_term.props.sensitive = False return same_src_units = self.term_model.get_units_with_source(src_text) if src_text and same_src_units: # We want to separate multiple terms with the correct list # separator for the UI language: separator = lang_factory.getlanguage(get_ui_lang()).listseperator # l10n: The variable is an existing term formatted for emphasis. The default is bold formatting, but you can remove/change the markup if needed. Leave it unchanged if you are unsure. translations = separator.join([_("<b>%s</b>") % (u.target) for u in same_src_units]) errormsg = _("Existing translations: %(translations)s") % {"translations": translations} self.lbl_add_term_errors.set_markup(errormsg) self.eb_add_term_errors.modify_bg(gtk.STATE_NORMAL, gdk.color_parse(current_theme["warning_bg"])) self.eb_add_term_errors.show_all() return
def __init__(self, controller): self.controller = controller main_controller = controller.main_controller self.popup_content = self._create_popup_content() self._create_checks_button(self.popup_content) self._create_menu_item() main_controller.store_controller.connect('store-closed', self._on_store_closed) self._listsep = lang_factory.getlanguage(get_ui_lang()).listseperator self._prev_failures = None