ange callback, widget and variable names for Chat window in glade and in the code

This commit is contained in:
Yann Leboulanger 2005-02-28 17:08:40 +00:00
parent 68f2a49fe0
commit 2c43088488
2 changed files with 43 additions and 42 deletions

View file

@ -304,7 +304,7 @@
</child> </child>
</widget> </widget>
<widget class="GtkWindow" id="Chat"> <widget class="GtkWindow" id="chat_window">
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes">Chat</property> <property name="title" translatable="yes">Chat</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="type">GTK_WINDOW_TOPLEVEL</property>
@ -488,7 +488,7 @@
</child> </child>
<child> <child>
<widget class="GtkImage" id="image"> <widget class="GtkImage" id="status_image">
<property name="visible">True</property> <property name="visible">True</property>
<property name="stock">gtk-no</property> <property name="stock">gtk-no</property>
<property name="icon_size">4</property> <property name="icon_size">4</property>
@ -505,7 +505,7 @@
</child> </child>
<child> <child>
<widget class="GtkToggleButton" id="toggle_gpg"> <widget class="GtkToggleButton" id="gpg_toggle_button">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NONE</property> <property name="relief">GTK_RELIEF_NONE</property>
@ -538,7 +538,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<child> <child>
<widget class="GtkButton" id="button_contact"> <widget class="GtkButton" id="contact_button">
<property name="width_request">0</property> <property name="width_request">0</property>
<property name="height_request">0</property> <property name="height_request">0</property>
<property name="visible">True</property> <property name="visible">True</property>
@ -586,7 +586,7 @@
<property name="window_placement">GTK_CORNER_TOP_LEFT</property> <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child> <child>
<widget class="GtkTextView" id="conversation"> <widget class="GtkTextView" id="conversation_textview">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="editable">False</property> <property name="editable">False</property>
@ -621,7 +621,7 @@
<property name="window_placement">GTK_CORNER_TOP_LEFT</property> <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child> <child>
<widget class="GtkTextView" id="message"> <widget class="GtkTextView" id="message_textview">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="editable">True</property> <property name="editable">True</property>

View file

@ -587,15 +587,15 @@ class message_Window:
if contact is set to status : it's a status message if contact is set to status : it's a status message
if contact is set to another value : it's an outgoing message if contact is set to another value : it's an outgoing message
if contact is not set : it's an incomming message""" if contact is not set : it's an incomming message"""
conversation = self.xml.get_widget('conversation') conversation_textview = self.xml.get_widget('conversation_textview')
buffer = conversation.get_buffer() conversation_buffer = conversation_textview.get_buffer()
if not txt: if not txt:
txt = "" txt = ""
end_iter = buffer.get_end_iter() end_iter = conversation_buffer.get_end_iter()
if not tim: if not tim:
tim = time.localtime() tim = time.localtime()
tims = time.strftime("[%H:%M:%S]", tim) tims = time.strftime("[%H:%M:%S]", tim)
buffer.insert(end_iter, tims + ' ') conversation_buffer.insert(end_iter, tims + ' ')
otxt = '' otxt = ''
ttxt = '' ttxt = ''
@ -616,7 +616,7 @@ class message_Window:
ttxt = '<' + name + '> ' ttxt = '<' + name + '> '
otxt = txt + '\n' otxt = txt + '\n'
buffer.insert_with_tags_by_name(end_iter, ttxt, tag) conversation_buffer.insert_with_tags_by_name(end_iter, ttxt, tag)
if len(otxt) > 0: if len(otxt) > 0:
beg = 0 beg = 0
if self.plugin.config['useemoticons']: if self.plugin.config['useemoticons']:
@ -626,15 +626,16 @@ class message_Window:
for s in self.plugin.roster.emoticons: for s in self.plugin.roster.emoticons:
l = len(s) l = len(s)
if s == otxt[index:index+l]: if s == otxt[index:index+l]:
buffer.insert(end_iter, otxt[beg:index]) conversation_buffer.insert(end_iter, otxt[beg:index])
buffer.insert_pixbuf(end_iter, self.plugin.roster.emoticons[s]) conversation_buffer.insert_pixbuf(end_iter, self.plugin.roster.emoticons[s])
index+=l index+=l
beg = index beg = index
index+=1 index+=1
buffer.insert(end_iter, otxt[beg:]) conversation_buffer.insert(end_iter, otxt[beg:])
#scroll to the end of the textview #scroll to the end of the textview
conversation.scroll_to_mark(buffer.get_mark('end'), 0.1, 0, 0, 0) conversation_textview.scroll_to_mark(conversation_buffer.get_mark('end'),\
0.1, 0, 0, 0)
if not self.window.is_active() and contact != 'status': if not self.window.is_active() and contact != 'status':
self.nb_unread += 1 self.nb_unread += 1
self.show_title() self.show_title()
@ -655,9 +656,9 @@ class message_Window:
def set_image(self, image, jid): def set_image(self, image, jid):
if image.get_storage_type() == gtk.IMAGE_ANIMATION: if image.get_storage_type() == gtk.IMAGE_ANIMATION:
self.img.set_from_animation(image.get_animation()) self.status_image.set_from_animation(image.get_animation())
elif image.get_storage_type() == gtk.IMAGE_PIXBUF: elif image.get_storage_type() == gtk.IMAGE_PIXBUF:
self.img.set_from_pixbuf(image.get_pixbuf()) self.status_image.set_from_pixbuf(image.get_pixbuf())
def read_queue(self, q): def read_queue(self, q):
"""read queue and print messages containted in it""" """read queue and print messages containted in it"""
@ -686,16 +687,16 @@ class message_Window:
if event.keyval == gtk.keysyms.Return: if event.keyval == gtk.keysyms.Return:
if (event.state & gtk.gdk.SHIFT_MASK): if (event.state & gtk.gdk.SHIFT_MASK):
return 0 return 0
txt_buffer = widget.get_buffer() message_buffer = widget.get_buffer()
start_iter = txt_buffer.get_start_iter() start_iter = message_buffer.get_start_iter()
end_iter = txt_buffer.get_end_iter() end_iter = message_buffer.get_end_iter()
txt = txt_buffer.get_text(start_iter, end_iter, 0) txt = message_buffer.get_text(start_iter, end_iter, 0)
if txt != '': if txt != '':
keyID = '' keyID = ''
if self.xml.get_widget('toggle_gpg').get_active(): if self.xml.get_widget('gpg_toggle_button').get_active():
keyID = self.keyID keyID = self.keyID
self.plugin.send('MSG', self.account, (self.user.jid, txt, keyID)) self.plugin.send('MSG', self.account, (self.user.jid, txt, keyID))
txt_buffer.set_text('', -1) message_buffer.set_text('', -1)
self.print_conversation(txt, self.user.jid, self.user.jid) self.print_conversation(txt, self.user.jid, self.user.jid)
widget.grab_focus() widget.grab_focus()
return 1 return 1
@ -704,9 +705,10 @@ class message_Window:
def on_clear(self, widget): def on_clear(self, widget):
"""When clear button is pressed : """When clear button is pressed :
clear the conversation""" clear the conversation"""
buffer = self.xml.get_widget('conversation').get_buffer() conversation_buffer = self.xml.get_widget('conversation_textview').\
deb, end = buffer.get_bounds() get_buffer()
buffer.delete(deb, end) deb, end = conversation_buffer.get_bounds()
conversation_buffer.delete(deb, end)
def on_history(self, widget): def on_history(self, widget):
"""When history button is pressed : call log window""" """When history button is pressed : call log window"""
@ -733,23 +735,22 @@ class message_Window:
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'Chat', APP) self.xml = gtk.glade.XML(GTKGUI_GLADE, 'Chat', APP)
self.window = self.xml.get_widget('Chat') self.window = self.xml.get_widget('Chat')
self.show_title() self.show_title()
self.img = self.xml.get_widget('image') self.status_image = self.xml.get_widget('status_image')
image = self.plugin.roster.pixbufs[user.show] image = self.plugin.roster.pixbufs[user.show]
if image.get_storage_type() == gtk.IMAGE_ANIMATION: if image.get_storage_type() == gtk.IMAGE_ANIMATION:
self.img.set_from_animation(image.get_animation()) self.status_image.set_from_animation(image.get_animation())
elif image.get_storage_type() == gtk.IMAGE_PIXBUF: elif image.get_storage_type() == gtk.IMAGE_PIXBUF:
self.img.set_from_pixbuf(image.get_pixbuf()) self.status_image.set_from_pixbuf(image.get_pixbuf())
self.xml.get_widget('button_contact').set_label(user.name + ' <'\ contact_button = self.xml.get_widget('contact_button')
+ user.jid + '>') contact_button.set_label(user.name + ' <' + user.jid + '>')
self.xml.get_widget('button_contact').set_resize_mode(gtk.RESIZE_QUEUE)
if not self.keyID: if not self.keyID:
self.xml.get_widget('toggle_gpg').set_sensitive(False) self.xml.get_widget('gpg_toggle_button').set_sensitive(False)
message = self.xml.get_widget('message') message_textview = self.xml.get_widget('message_textview')
message.grab_focus() message_textview.grab_focus()
conversation = self.xml.get_widget('conversation') conversation_textview = self.xml.get_widget('conversation_textview')
buffer = conversation.get_buffer() conversation_buffer = conversation_textview.get_buffer()
end_iter = buffer.get_end_iter() end_iter = conversation_buffer.get_end_iter()
buffer.create_mark('end', end_iter, 0) conversation_buffer.create_mark('end', end_iter, 0)
self.xml.signal_connect('gtk_widget_destroy', self.delete_event) self.xml.signal_connect('gtk_widget_destroy', self.delete_event)
self.xml.signal_connect('on_clear_clicked', self.on_clear) self.xml.signal_connect('on_clear_clicked', self.on_clear)
self.xml.signal_connect('on_button_contact_clicked', \ self.xml.signal_connect('on_button_contact_clicked', \
@ -761,13 +762,13 @@ class message_Window:
self.on_msg_key_press_event) self.on_msg_key_press_event)
self.xml.signal_connect('on_chat_key_press_event', \ self.xml.signal_connect('on_chat_key_press_event', \
self.on_chat_key_press_event) self.on_chat_key_press_event)
self.tagIn = buffer.create_tag("incoming") self.tagIn = conversation_buffer.create_tag("incoming")
color = self.plugin.config['inmsgcolor'] color = self.plugin.config['inmsgcolor']
self.tagIn.set_property("foreground", color) self.tagIn.set_property("foreground", color)
self.tagOut = buffer.create_tag("outgoing") self.tagOut = conversation_buffer.create_tag("outgoing")
color = self.plugin.config['outmsgcolor'] color = self.plugin.config['outmsgcolor']
self.tagOut.set_property("foreground", color) self.tagOut.set_property("foreground", color)
self.tagStatus = buffer.create_tag("status") self.tagStatus = conversation_buffer.create_tag("status")
color = self.plugin.config['statusmsgcolor'] color = self.plugin.config['statusmsgcolor']
self.tagStatus.set_property("foreground", color) self.tagStatus.set_property("foreground", color)
#print queued messages #print queued messages