Mercurial > pidgin.yaz
view doc/gtkconv-signals.dox @ 18618:2f0bda21712f
purple_request_action doesn't call any callbacks if the user closes the
window instead of clicking on the buttons. The problem is that
purple_request_action is not required to have a cancel action, so when the
close button is clicked the UI has no idea which action should be called.
The closest one would be the default action, but when the user clicks
cancel, he probably expects to cancel even if that's not the default action.
Workaround by telling the window manager we don't want to have a close
button. Fixes #1947
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Mon, 23 Jul 2007 02:33:41 +0000 |
parents | 8cf53d7a0887 |
children | 7971aadbf56c |
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 @endsignals <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); @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. @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 */ // vim: syntax=c tw=75 et