Mercurial > pidgin
diff libpurple/request.c @ 29790:d0588e403877
Show thumbnail in ft request dialog
New function to create an action request with a PRPL-supplied icon.
Perhaps all macros in request.h should be augmented to supply versions for
_with_icon
As of now, there is only one, needed for file transfers...
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Sat, 04 Jul 2009 21:45:19 +0000 |
parents | 9bdd3ab8087f |
children | 6d3a90b49dba |
line wrap: on
line diff
--- a/libpurple/request.c Sat Jul 04 07:18:19 2009 +0000 +++ b/libpurple/request.c Sat Jul 04 21:45:19 2009 +0000 @@ -1281,6 +1281,29 @@ } void * +purple_request_action_with_icon(void *handle, const char *title, + const char *primary, + const char *secondary, int default_action, + PurpleAccount *account, const char *who, + PurpleConversation *conv, gconstpointer icon_data, + gsize icon_size, void *user_data, size_t action_count, ...) +{ + void *ui_handle; + va_list args; + + g_return_val_if_fail(action_count > 0, NULL); + + va_start(args, action_count); + ui_handle = purple_request_action_varg_with_icon(handle, title, primary, + secondary, default_action, account, who, conv, icon_data, icon_size, + user_data, action_count, args); + va_end(args); + + return ui_handle; +} + + +void * purple_request_action_varg(void *handle, const char *title, const char *primary, const char *secondary, int default_action, @@ -1312,6 +1335,41 @@ } void * +purple_request_action_varg_with_icon(void *handle, const char *title, + const char *primary, const char *secondary, + int default_action, + PurpleAccount *account, const char *who, + PurpleConversation *conv, gconstpointer icon_data, + gsize icon_size, + void *user_data, size_t action_count, va_list actions) +{ + PurpleRequestUiOps *ops; + + g_return_val_if_fail(action_count > 0, NULL); + + ops = purple_request_get_ui_ops(); + + if (ops != NULL && ops->request_action != NULL) { + PurpleRequestInfo *info; + + info = g_new0(PurpleRequestInfo, 1); + info->type = PURPLE_REQUEST_ACTION; + info->handle = handle; + info->ui_handle = ops->request_action_with_icon(title, primary, secondary, + default_action, account, who, conv, + icon_data, icon_size, + user_data, action_count, actions); + + handles = g_list_append(handles, info); + + return info->ui_handle; + } + + return NULL; +} + + +void * purple_request_fields(void *handle, const char *title, const char *primary, const char *secondary, PurpleRequestFields *fields, const char *ok_text, GCallback ok_cb,