pidgin/gtkrequest.c

changeset 42208
0d14fedafd4a
parent 42202
2273647d24b0
child 42209
6996b5faa09e
equal deleted inserted replaced
42207:7c16e3b1cce8 42208:0d14fedafd4a
1190 1190
1191 return widget; 1191 return widget;
1192 } 1192 }
1193 1193
1194 static gboolean 1194 static gboolean
1195 field_custom_account_filter_cb(gpointer item, G_GNUC_UNUSED gpointer data) { 1195 field_custom_account_filter_cb(gpointer item, gpointer data) {
1196 PurpleFilterAccountFunc func = data; 1196 PurpleRequestFieldAccount *field = data;
1197 gboolean ret = FALSE; 1197 gboolean ret = FALSE;
1198 1198
1199 if(PURPLE_IS_ACCOUNT(item)) { 1199 if(PURPLE_IS_ACCOUNT(item)) {
1200 ret = func(PURPLE_ACCOUNT(item)); 1200 ret = purple_request_field_account_match(field, PURPLE_ACCOUNT(item));
1201 } 1201 }
1202 1202
1203 return ret; 1203 return ret;
1204 } 1204 }
1205 1205
1207 create_account_field(PurpleRequestField *field, GtkWidget **account_hint) 1207 create_account_field(PurpleRequestField *field, GtkWidget **account_hint)
1208 { 1208 {
1209 PurpleRequestFieldAccount *afield = NULL; 1209 PurpleRequestFieldAccount *afield = NULL;
1210 GtkWidget *widget = NULL; 1210 GtkWidget *widget = NULL;
1211 PurpleAccount *account = NULL; 1211 PurpleAccount *account = NULL;
1212 PurpleFilterAccountFunc account_filter = NULL; 1212 GtkCustomFilter *custom_filter = NULL;
1213 GtkFilter *filter = NULL; 1213 GtkFilter *filter = NULL;
1214 const char *type_hint = NULL; 1214 const char *type_hint = NULL;
1215 1215
1216 widget = pidgin_account_chooser_new(); 1216 widget = pidgin_account_chooser_new();
1217 afield = PURPLE_REQUEST_FIELD_ACCOUNT(field); 1217 afield = PURPLE_REQUEST_FIELD_ACCOUNT(field);
1218 account = purple_request_field_account_get_default_value(afield); 1218 account = purple_request_field_account_get_default_value(afield);
1219 1219
1220 account_filter = purple_request_field_account_get_filter(afield); 1220 custom_filter = gtk_custom_filter_new(field_custom_account_filter_cb,
1221 if(account_filter != NULL) { 1221 afield, NULL);
1222 GtkCustomFilter *custom_filter = NULL; 1222 filter = GTK_FILTER(custom_filter);
1223
1224 custom_filter = gtk_custom_filter_new(field_custom_account_filter_cb,
1225 account_filter, NULL);
1226
1227 filter = GTK_FILTER(custom_filter);
1228 }
1229 1223
1230 if(!purple_request_field_account_get_show_all(afield)) { 1224 if(!purple_request_field_account_get_show_all(afield)) {
1231 GtkEveryFilter *every = NULL; 1225 GtkEveryFilter *every = NULL;
1232 1226
1233 every = gtk_every_filter_new(); 1227 every = gtk_every_filter_new();

mercurial