Mercurial > pidgin
comparison 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 |
comparison
equal
deleted
inserted
replaced
29789:4beb825ff4bc | 29790:d0588e403877 |
---|---|
1279 | 1279 |
1280 return ui_handle; | 1280 return ui_handle; |
1281 } | 1281 } |
1282 | 1282 |
1283 void * | 1283 void * |
1284 purple_request_action_with_icon(void *handle, const char *title, | |
1285 const char *primary, | |
1286 const char *secondary, int default_action, | |
1287 PurpleAccount *account, const char *who, | |
1288 PurpleConversation *conv, gconstpointer icon_data, | |
1289 gsize icon_size, void *user_data, size_t action_count, ...) | |
1290 { | |
1291 void *ui_handle; | |
1292 va_list args; | |
1293 | |
1294 g_return_val_if_fail(action_count > 0, NULL); | |
1295 | |
1296 va_start(args, action_count); | |
1297 ui_handle = purple_request_action_varg_with_icon(handle, title, primary, | |
1298 secondary, default_action, account, who, conv, icon_data, icon_size, | |
1299 user_data, action_count, args); | |
1300 va_end(args); | |
1301 | |
1302 return ui_handle; | |
1303 } | |
1304 | |
1305 | |
1306 void * | |
1284 purple_request_action_varg(void *handle, const char *title, | 1307 purple_request_action_varg(void *handle, const char *title, |
1285 const char *primary, const char *secondary, | 1308 const char *primary, const char *secondary, |
1286 int default_action, | 1309 int default_action, |
1287 PurpleAccount *account, const char *who, PurpleConversation *conv, | 1310 PurpleAccount *account, const char *who, PurpleConversation *conv, |
1288 void *user_data, size_t action_count, va_list actions) | 1311 void *user_data, size_t action_count, va_list actions) |
1308 return info->ui_handle; | 1331 return info->ui_handle; |
1309 } | 1332 } |
1310 | 1333 |
1311 return NULL; | 1334 return NULL; |
1312 } | 1335 } |
1336 | |
1337 void * | |
1338 purple_request_action_varg_with_icon(void *handle, const char *title, | |
1339 const char *primary, const char *secondary, | |
1340 int default_action, | |
1341 PurpleAccount *account, const char *who, | |
1342 PurpleConversation *conv, gconstpointer icon_data, | |
1343 gsize icon_size, | |
1344 void *user_data, size_t action_count, va_list actions) | |
1345 { | |
1346 PurpleRequestUiOps *ops; | |
1347 | |
1348 g_return_val_if_fail(action_count > 0, NULL); | |
1349 | |
1350 ops = purple_request_get_ui_ops(); | |
1351 | |
1352 if (ops != NULL && ops->request_action != NULL) { | |
1353 PurpleRequestInfo *info; | |
1354 | |
1355 info = g_new0(PurpleRequestInfo, 1); | |
1356 info->type = PURPLE_REQUEST_ACTION; | |
1357 info->handle = handle; | |
1358 info->ui_handle = ops->request_action_with_icon(title, primary, secondary, | |
1359 default_action, account, who, conv, | |
1360 icon_data, icon_size, | |
1361 user_data, action_count, actions); | |
1362 | |
1363 handles = g_list_append(handles, info); | |
1364 | |
1365 return info->ui_handle; | |
1366 } | |
1367 | |
1368 return NULL; | |
1369 } | |
1370 | |
1313 | 1371 |
1314 void * | 1372 void * |
1315 purple_request_fields(void *handle, const char *title, const char *primary, | 1373 purple_request_fields(void *handle, const char *title, const char *primary, |
1316 const char *secondary, PurpleRequestFields *fields, | 1374 const char *secondary, PurpleRequestFields *fields, |
1317 const char *ok_text, GCallback ok_cb, | 1375 const char *ok_text, GCallback ok_cb, |