[commit-gajim] r11253 - trunk/src
asterix at gajim.org
asterix at gajim.org
Thu Apr 30 15:36:29 CEST 2009
Author: asterix
Date: 2009-04-30 15:36:29 +0200 (Thu, 30 Apr 2009)
New Revision: 11253
Modified:
trunk/src/chat_control.py
trunk/src/conversation_textview.py
Log:
[Yrogirg & I] add a first quote ability. see #2943
Modified: trunk/src/chat_control.py
===================================================================
--- trunk/src/chat_control.py 2009-04-30 08:32:32 UTC (rev 11252)
+++ trunk/src/chat_control.py 2009-04-30 13:36:29 UTC (rev 11253)
@@ -200,6 +200,8 @@
# Create textviews and connect signals
self.conv_textview = ConversationTextview(self.account)
+ id_ = self.conv_textview.connect('quote', self.on_quote)
+ self.handlers[id_] = self.conv_textview.tv
id_ = self.conv_textview.tv.connect('key_press_event',
self._conv_textview_key_press_event)
self.handlers[id_] = self.conv_textview.tv
@@ -370,6 +372,11 @@
menu.show_all()
+ def on_quote(self, widget, text):
+ text = '>' + text.replace('\n', '\n>') + '\n'
+ message_buffer = self.msg_textview.get_buffer()
+ message_buffer.insert_at_cursor(text)
+
# moved from ChatControl
def _on_banner_eventbox_button_press_event(self, widget, event):
'''If right-clicked, show popup'''
Modified: trunk/src/conversation_textview.py
===================================================================
--- trunk/src/conversation_textview.py 2009-04-30 08:32:32 UTC (rev 11252)
+++ trunk/src/conversation_textview.py 2009-04-30 13:36:29 UTC (rev 11253)
@@ -154,9 +154,15 @@
return False
-class ConversationTextview:
+class ConversationTextview(gobject.GObject):
'''Class for the conversation textview (where user reads already said
messages) for chat/groupchat windows'''
+ __gsignals__ = dict(
+ quote = (gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION,
+ None, # return value
+ (str, ) # arguments
+ )
+ )
FOCUS_OUT_LINE_PIXBUF = gtk.gdk.pixbuf_new_from_file(os.path.join(
gajim.DATA_DIR, 'pixmaps', 'muc_separator.png'))
@@ -170,6 +176,7 @@
def __init__(self, account, used_in_history_window = False):
'''if used_in_history_window is True, then we do not show
Clear menuitem in context menu'''
+ gobject.GObject.__init__(self)
self.used_in_history_window = used_in_history_window
# no need to inherit TextView, use it as atrribute is safer
@@ -688,9 +695,15 @@
item = gtk.SeparatorMenuItem()
menu.prepend(item)
- self.selected_phrase = helpers.reduce_chars_newlines(
+ if not self.used_in_history_window:
+ item = gtk.MenuItem(_('_Quote'))
+ id_ = item.connect('activate', self.on_quote)
+ self.handlers[id_] = item
+ menu.prepend(item)
+
+ _selected_phrase = helpers.reduce_chars_newlines(
self.selected_phrase, 25, 2)
- item = gtk.MenuItem(_('_Actions for "%s"') % self.selected_phrase)
+ item = gtk.MenuItem(_('_Actions for "%s"') % _selected_phrase)
menu.prepend(item)
submenu = gtk.Menu()
item.set_submenu(submenu)
@@ -753,6 +766,9 @@
menu.show_all()
+ def on_quote(self, widget):
+ self.emit('quote', self.selected_phrase)
+
def on_textview_button_press_event(self, widget, event):
# If we clicked on a taged text do NOT open the standard popup menu
# if normal text check if we have sth selected
More information about the Commits
mailing list