Commit 9794deea authored by Dicson's avatar Dicson
Browse files

[quickreplies] Fix Quick Replies button

parent 65bd834b
...@@ -70,36 +70,28 @@ class Base(object): ...@@ -70,36 +70,28 @@ class Base(object):
def create_button(self): def create_button(self):
actions_hbox = self.chat_control.xml.get_object('actions_hbox') actions_hbox = self.chat_control.xml.get_object('hbox')
self.button = Gtk.Button(label=None, stock=None, use_underline=True) self.button = Gtk.MenuButton(label=None, stock=None, use_underline=True)
self.button.get_style_context().add_class(
'chatcontrol-actionbar-button')
self.button.set_property('relief', Gtk.ReliefStyle.NONE) self.button.set_property('relief', Gtk.ReliefStyle.NONE)
self.button.set_property('can-focus', False) self.button.set_property('can-focus', False)
img = Gtk.Image() img = Gtk.Image()
img_path = self.plugin.local_file_path('quick_replies.png') img_path = self.plugin.local_file_path('quick_replies.png')
pixbuf = GdkPixbuf.Pixbuf.new_from_file(img_path) pixbuf = GdkPixbuf.Pixbuf.new_from_file(img_path)
iconset = Gtk.IconSet(pixbuf=pixbuf) img.set_from_pixbuf(pixbuf)
factory = Gtk.IconFactory()
factory.add('quickreplies', iconset)
factory.add_default()
img.set_from_stock('quickreplies', Gtk.IconSize.MENU)
self.button.set_image(img) self.button.set_image(img)
self.button.set_tooltip_text(_('Quick replies')) self.button.set_tooltip_text(_('Quick replies'))
actions_hbox.pack_start(self.button, False, False , 0) actions_hbox.pack_start(self.button, False, False , 0)
actions_hbox.reorder_child(self.button, actions_hbox.reorder_child(self.button,
len(actions_hbox.get_children()) - 3) len(actions_hbox.get_children()) - 2)
id_ = self.button.connect('clicked', self.on_button_cliecked)
self.chat_control.handlers[id_] = self.button
self.button.show() self.button.show()
def on_button_cliecked(self, widget):
gtkgui_helpers.popup_emoticons_under_button(self.menu, widget,
self.chat_control.parent_win)
def on_insert(self, widget, text): def on_insert(self, widget, text):
text = text.rstrip() + ' ' text = text.rstrip() + ' '
message_buffer = self.chat_control.msg_textview.get_buffer() message_buffer = self.chat_control.msg_textview.get_buffer()
self.chat_control.msg_textview.remove_placeholder()
message_buffer.insert_at_cursor(text) message_buffer.insert_at_cursor(text)
self.chat_control.msg_textview.grab_focus() self.chat_control.msg_textview.grab_focus()
...@@ -115,10 +107,10 @@ class Base(object): ...@@ -115,10 +107,10 @@ class Base(object):
item.connect('activate', self.on_insert, text) item.connect('activate', self.on_insert, text)
self.menu.append(item) self.menu.append(item)
self.menu.show_all() self.menu.show_all()
self.menu.attach_to_widget(self.button, None) self.button.set_popup(self.menu)
def disconnect_from_chat_control(self): def disconnect_from_chat_control(self):
actions_hbox = self.chat_control.xml.get_object('actions_hbox') actions_hbox = self.chat_control.xml.get_object('hbox')
actions_hbox.remove(self.button) actions_hbox.remove(self.button)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment