view doc/gtkconv-signals.dox @ 28991:8a90bd0a3b79

Plucked d2a1d52b3bbf29baa53b9ddaa635d50b6332064f from im.pidgin.adium by Zac West: Fixed sending DIM messages' encoding. Fixes #9087. The encoding bytes were being written in the wrong location, so the messages were being read back as ASCII and failing conversion, ending up being empty and not being displayed. Plucked f5376d42261b8efc3d889314df9896bb10d3fe16 from im.pidgin.adium: iChat sends direct IM messages with its encoding as 0x000d, which was being forced-interpreted as ASCII. Also, added better debug logging for charset information being received. applied changes from 212bd3655451599364562cabe553c5b7a19134ae through d2a1d52b3bbf29baa53b9ddaa635d50b6332064f applied changes from d2a1d52b3bbf29baa53b9ddaa635d50b6332064f through f5376d42261b8efc3d889314df9896bb10d3fe16
author Evan Schoenberg <evan.s@dreskin.net>
date Sun, 22 Nov 2009 18:56:06 +0000
parents 0d8061bbfc1d
children 02a2e8183b1d
line wrap: on
line source

/** @page gtkconv-signals GtkConv Signals

 @signals
  @signal conversation-dragging
  @signal conversation-timestamp
  @signal displaying-im-msg
  @signal displayed-im-msg
  @signal displaying-chat-msg
  @signal displayed-chat-msg
  @signal conversation-switched
  @signal conversation-hiding
  @signal conversation-displayed
 @endsignals

 @see gtkconv.h

 <hr>

 @signaldef conversation-dragging
  @signalproto
void (*conversation_dragging)(PidginWindow *source, PidginWindow *destination);
  @endsignalproto
  @signaldesc
   Emitted when a conversation is being drag and dropped between windows.
  @param source The window where the conversation is.
  @param destination The window where the conversation will be moved to.
 @endsignaldef

 @signaldef conversation-timestamp
  @signalproto
char *(*conversation_timestamp)(PurpleConversation *conv, time_t when,
                                gboolean show_date);
  @endsignalproto
  @signaldesc
   Emitted to allow plugins to customize the timestamp on a message.
  @param conv      The conversation the message belongs to.
  @param when      The time to be converted to a string.
  @param show_date Whether the date should be displayed.
  @return A textual representation of the time, or @c NULL to use a
          default format.
 @endsignaldef


 @signaldef displaying-im-msg
  @signalproto
gboolean (*displaying_im_msg)(PurpleAccount *account, const char *who,
                              char **message, PurpleConversation *conv,
                              PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted just before a message is displayed in an IM conversation.
   @a message is a pointer to a string, so the plugin can replace the
   message that will be displayed. This can also be used to cancel displaying
   a message by returning @c TRUE.
  @note
   Make sure to free @a *message before you replace it!
  @param account The account.
  @param who     The name of the user.
  @param message A pointer to the message.
  @param conv    The conversation.
  @param flags   Flags for this message.
  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
 @endsignaldef

 @signaldef displayed-im-msg
  @signalproto
void (*displayed_im_msg)(PurpleAccount *account, const char *who,
                         char *message, PurpleConversation *conv,
                         PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted after a message is displayed in an IM conversation.
  @param account The account.
  @param who     The name of the user.
  @param message The message.
  @param conv    The conversation.
  @param flags   Flags for this message.
 @endsignaldef

 @signaldef displaying-chat-msg
  @signalproto
gboolean (*displaying_chat_msg)(PurpleAccount *account, const char *who,
                                char **message, PurpleConversation *conv,
                                PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted just before a message is displayed in a chat.
   @a message is a pointer to a string, so the plugin can replace the
   message that will be displayed. This can also be used to cancel displaying
   a message by returning @c TRUE.
  @note
   Make sure to free @a *message before you replace it!
  @param account The account the message is being displayed and sent on.
  @param who     The name of the user.
  @param message A pointer to the message that will be displayed and sent.
  @param conv    The conversation the message is being displayed and sent on.
  @param flags   Flags for this message.
  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
 @endsignaldef

 @signaldef displayed-chat-msg
  @signalproto
void (*displayed_chat_msg)(PurpleAccount *account, const char *who,
                           char *message, PurpleConversation *conv,
                           PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted after a message is displayed in a chat conversation.
  @param account The account the message is being displayed and sent on.
  @param who     The name of the user.
  @param message A pointer to the message that will be displayed and sent.
  @param conv    The conversation the message is being displayed and sent on.
  @param flags   Flags for this message.
 @endsignaldef

 @signaldef conversation-switched
  @signalproto
void (*conversation_switched)(PurpleConversation *conv);
  @endsignalproto
  @signaldesc
   Emitted when a window switched from one conversation to another.
  @param new_conv The now active conversation.
 @endsignaldef

 @signaldef conversation-hiding
  @signalproto
void (*conversation_hiding)(PidginConversation *gtkconv);
  @endsignalproto
  @signaldesc
   Emitted immediately before an existing conversation is hidden.
  @param gtkconv  The PidginConversation
  @since 2.2.0
 @endsignaldef

 @signaldef conversation-displayed
  @signalproto
void (*conversation_displayed)(PidginConversation *gtkconv);
  @endsignalproto
  @signaldesc
   Emitted right after the Pidgin UI is attached to a new or a hidden conversation.
  @param gtkconv  The PidginConversation
  @since 2.2.0
 @endsignaldef

*/
// vim: syntax=c.doxygen tw=75 et