def __sort_engines(self, model, a, b, data): engine_a = model[a][0] engine_b = model[b][0] language_a = IBus.get_language_name(engine_a.get_language()) language_b = IBus.get_language_name(engine_b.get_language()) longname_a = i18n.gettext_engine_longname(engine_a) longname_b = i18n.gettext_engine_longname(engine_b) label_a = "%s - %s" % (language_a, longname_a) label_b = "%s - %s" % (language_b, longname_b) # http://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons return (label_a > label_b) - (label_a < label_b)
def __fill_text_view(self): text_buffer = self.__text_view.get_buffer() self.__create_tags(text_buffer) iter = text_buffer.get_iter_at_offset(0) text_buffer.insert_with_tags_by_name(iter, "\n ", "left_margin_16") text_buffer.insert_pixbuf(iter, self.__load_icon(self.__engine_desc.get_icon())) text_buffer.insert_with_tags_by_name(iter, "\n%s\n" % i18n.gettext_engine_longname(self.__engine_desc), "heading", "left_margin_16") text_buffer.insert_with_tags_by_name(iter, _("Language: %s\n") % IBus.get_language_name(self.__engine_desc.get_language()), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name(iter, _("Keyboard layout: %s\n") % self.__engine_desc.get_layout(), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name(iter, _("Author: %s\n") % self.__engine_desc.get_author(), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name(iter, _("Description:\n"), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name(iter, i18n.gettext_engine_description(self.__engine_desc), "wrap_text", "left_margin_32")
def __fill_text_view(self): text_buffer = self.__text_view.get_buffer() self.__create_tags(text_buffer) iter = text_buffer.get_iter_at_offset(0) text_buffer.insert_with_tags_by_name(iter, "\n ", "left_margin_16") text_buffer.insert_pixbuf( iter, self.__load_icon(self.__engine_desc.get_icon())) text_buffer.insert_with_tags_by_name( iter, "\n%s\n" % i18n.gettext_engine_longname(self.__engine_desc), "heading", "left_margin_16") text_buffer.insert_with_tags_by_name( iter, _("Language: %s\n") % IBus.get_language_name(self.__engine_desc.get_language()), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name( iter, _("Keyboard layout: %s\n") % self.__engine_desc.get_layout(), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name( iter, _("Author: %s\n") % self.__engine_desc.get_author(), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name(iter, _("Description:\n"), "small", "bold", "left_margin_16") text_buffer.insert_with_tags_by_name( iter, i18n.gettext_engine_description(self.__engine_desc), "wrap_text", "left_margin_32")
def __engine_row_new(self, engine): longname = i18n.gettext_engine_longname(engine) description = i18n.gettext_engine_description(engine) row = self.__list_box_row_new(longname) row.untrans = engine.get_longname() row.set_tooltip_text(description) row.engine = engine widget = self.__padded_label_new(longname, engine.get_icon(), Gtk.Align.START, ROW_TRAVEL_DIRECTION_NONE) row.add(widget) return row
def __name_cell_data_cb(self, celllayout, renderer, model, it, data): engine = self.__model.get_value(it, 0) # When append_engine() is called, self.__model.append(None) # is called internally and engine == None could happen in # a slow system. if engine == None: return renderer.set_property("sensitive", True) language = IBus.get_language_name(engine.get_language()) longname = i18n.gettext_engine_longname(engine) renderer.set_property("text", "%s - %s" % (language, longname)) renderer.set_property("weight", Pango.Weight.NORMAL)
def cmp_engine(a, b): if a.get_rank() == b.get_rank(): a_longname = i18n.gettext_engine_longname(a) b_longname = i18n.gettext_engine_longname(b) return locale.strcoll(a_longname, b_longname) return int(b.get_rank() - a.get_rank())