def __on_send(self): tb = self.__txtMessage.get_buffer() body = tb.get_text(tb.get_start_iter(), tb.get_end_iter(), 0) if not body: return m = Message(self.__jid, body, Message.Type.mtChat) m.requestComposing() m.id = self.__app.session.getNextID() self.__app.session.send(m) self.__txtChatview.append(m, 1) tb.set_text("")
def __init__(self, mgr, jid, node=None): BaseGabberWindow.__init__(self, "OOOChat_win") self.__manager = mgr self.__jid = jid self.__init() ## See what type to start if node: self.display(Message(node))
def __on_event_node(self, node): m = Message(node) x = m.findX("jabber:x:event") delivered = x.findElement("delivered") composing = x.findElement("composing") id = x.findElement("id") if composing and id: self.__txtChatview.composing(m.sender) elif not composing and id: self.__txtChatview.cancel_composing(m.sender) elif composing and not id: if self.__composing_id: msg = Message(e.getAttrib("from"), "", Message.Type.mtChat) ix = msg.addX("jabber:x:event") ix.addElement("composing") ix.addElement("id", self.__composing_id) self.__app.session.send(msg) self.__composing_id = m.getID() elif delivered: self.__app.session.send(m.delivered())
def __on_window_event(self, win, ev): if not ev.type == gtk.gdk.KEY_PRESS: return keyval = gtk.gdk.keyval_name(ev.keyval) if keyval == "KP_Enter": keyval = "Return" if keyval == "Escape": self.on_delete_event(None, None) if keyval == "Return": if ev.state & gtk.gdk.SHIFT_MASK: return self.__on_send() return 1 if self.__composing_id: char_count = self.__txtMessage.get_buffer().get_char_count() if (char_count == 0 and self.__sent_composing): ## They deleted stop the event m = Message(self.__jid, "", Message.Type.mtChat) x = m.addX("jabber:x:event") x.addElement("id", self.__composing_id) self.__app.session.send(m) self.__sent_composing = 0 elif (char_count > 0 and not self.__sent_composing): m = Message(self.__jid, "", Message.Type.mtChat) x = m.addX("jabber:x:event") x.addElement("composing") x.addElement("id", self.__composing_id) self.__app.session.send(m) self.__sent_composing = 1
def __on_chat_node(self, node): self.display(Message(node))