libpurple/request.c

branch
cpw.rekkanoryo.icqxstatus
changeset 24625
4082cd694acb
parent 21990
8184e0101bc2
child 24892
2cbfa7f1b756
--- a/libpurple/request.c	Thu Nov 13 09:00:45 2008 +0000
+++ b/libpurple/request.c	Thu Nov 13 17:04:53 2008 +0000
@@ -790,6 +790,25 @@
 }
 
 void
+purple_request_field_list_set_pixbuf(PurpleRequestField *field,
+										 gboolean pixbuf)
+{
+	g_return_if_fail(field != NULL);
+	g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
+
+	field->u.list.pixbuf = pixbuf;
+}
+
+gboolean
+purple_request_field_list_get_pixbuf(const PurpleRequestField *field)
+{
+	g_return_val_if_fail(field != NULL, FALSE);
+	g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
+
+	return field->u.list.pixbuf;
+}
+
+void
 purple_request_field_list_set_multi_select(PurpleRequestField *field,
 										 gboolean multi_select)
 {
@@ -834,6 +853,22 @@
 }
 
 void
+purple_request_field_list_add_icon(PurpleRequestField *field, const char *item, const char* icon_path,
+							void *data)
+{
+	g_return_if_fail(field != NULL);
+	g_return_if_fail(item  != NULL);
+	g_return_if_fail(data  != NULL);
+	g_return_if_fail(icon_path != NULL);
+	g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
+
+	field->u.list.items = g_list_append(field->u.list.items, g_strdup(item));
+	field->u.list.icons = g_list_append(field->u.list.icons, g_strdup(icon_path));
+
+	g_hash_table_insert(field->u.list.item_data, g_strdup(item), data);
+}
+
+void
 purple_request_field_list_add_selected(PurpleRequestField *field, const char *item)
 {
 	g_return_if_fail(field != NULL);
@@ -935,6 +970,16 @@
 	return field->u.list.items;
 }
 
+GList *
+purple_request_field_list_get_icons(const PurpleRequestField *field)
+{
+	g_return_val_if_fail(field != NULL, NULL);
+	g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL);
+	g_return_val_if_fail(field->u.list.pixbuf == TRUE, NULL);
+
+	return field->u.list.icons;
+}
+
 PurpleRequestField *
 purple_request_field_label_new(const char *id, const char *text)
 {

mercurial