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,