def __init__(self):
Gtk.Window.__init__(
self, title='Pick emoji',
accept_focus=False,
skip_taskbar_hint=True)
self.set_keep_above(True)
self.set_icon_name(shared.icon)
self.set_type_hint(Gdk.WindowTypeHint.UTILITY)
self.set_border_width(6)
if shared.settings['keyboard_use_compact']:
self.set_default_size(*shared.settings['keyboard_size_compact'])
else:
self.set_default_size(*shared.settings['keyboard_size_full'])
self.connect('show', self.window_shown)
self.connect('delete-event', self.hide_window)
self.connect('configure-event', self.window_resized)
self.notebook = Gtk.Notebook()
self.add(self.notebook)
self.emoji_views = []
for category in shared.categories:
scrolled_window = Gtk.ScrolledWindow()
model = shared.emoji.categories[category]
page = Gtk.IconView.new_with_model(model)
page.set_selection_mode(Gtk.SelectionMode.NONE)
page.set_activate_on_single_click(True)
page.connect('item-activated', self.paste_emoji)
page.set_pixbuf_column(0)
page.set_tooltip_column(1)
self.emoji_views.append(page)
scrolled_window.add(page)
label = Gtk.Box(spacing=2)
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(os.path.join(
shared.data_dir,
'category-icons',
shared.categories[category] + '.svg'),
16, 16, True)
image = Gtk.Image.new_from_pixbuf(pixbuf)
text = Gtk.Label(shared.categories[category].title())
label.pack_start(image, True, True, 0)
label.pack_start(text, True, True, 0)
image.show()
if shared.settings['keyboard_use_compact']:
page.set_columns(shared.settings['keyboard_columns_compact'])
else:
page.set_columns(shared.settings['keyboard_columns_full'])
text.show()
self.notebook.append_page(scrolled_window, label)
评论列表
文章目录