libpurple/protocols/jabber/si.c

changeset 42128
118067ca0367
parent 42127
18acb99a0fa6
child 42139
c053558f1236
equal deleted inserted replaced
42127:18acb99a0fa6 42128:118067ca0367
1467 } 1467 }
1468 } 1468 }
1469 1469
1470 static void 1470 static void
1471 resource_select_cancel_cb(PurpleXfer *xfer, 1471 resource_select_cancel_cb(PurpleXfer *xfer,
1472 G_GNUC_UNUSED PurpleRequestFields *fields) 1472 G_GNUC_UNUSED PurpleRequestPage *page)
1473 { 1473 {
1474 purple_xfer_cancel_local(xfer); 1474 purple_xfer_cancel_local(xfer);
1475 } 1475 }
1476 1476
1477 static void do_transfer_send(PurpleXfer *xfer, const char *resource) 1477 static void do_transfer_send(PurpleXfer *xfer, const char *resource)
1514 } 1514 }
1515 1515
1516 g_free(who); 1516 g_free(who);
1517 } 1517 }
1518 1518
1519 static void resource_select_ok_cb(PurpleXfer *xfer, PurpleRequestFields *fields) 1519 static void
1520 { 1520 resource_select_ok_cb(PurpleXfer *xfer, PurpleRequestPage *page)
1521 PurpleRequestField *field = purple_request_fields_get_field(fields, "resource"); 1521 {
1522 PurpleRequestField *field = purple_request_page_get_field(page, "resource");
1522 const char *selected_label = purple_request_field_choice_get_value(field); 1523 const char *selected_label = purple_request_field_choice_get_value(field);
1523 1524
1524 do_transfer_send(xfer, selected_label); 1525 do_transfer_send(xfer, selected_label);
1525 } 1526 }
1526 1527
1585 do_transfer_send(xfer, jbr->name); 1586 do_transfer_send(xfer, jbr->name);
1586 } else { 1587 } else {
1587 /* we've got multiple resources, we need to pick one to send to */ 1588 /* we've got multiple resources, we need to pick one to send to */
1588 GList *l; 1589 GList *l;
1589 char *msg = g_strdup_printf(_("Please select the resource of %s to which you would like to send a file"), purple_xfer_get_remote_user(xfer)); 1590 char *msg = g_strdup_printf(_("Please select the resource of %s to which you would like to send a file"), purple_xfer_get_remote_user(xfer));
1590 PurpleRequestFields *fields = purple_request_fields_new(); 1591 PurpleRequestPage *page = purple_request_page_new();
1591 PurpleRequestField *field = purple_request_field_choice_new("resource", _("Resource"), 0); 1592 PurpleRequestField *field = purple_request_field_choice_new("resource", _("Resource"), 0);
1592 PurpleRequestGroup *group = purple_request_group_new(NULL); 1593 PurpleRequestGroup *group = purple_request_group_new(NULL);
1593 1594
1594 for(l = resources; l; l = l->next) { 1595 for(l = resources; l; l = l->next) {
1595 jbr = l->data; 1596 jbr = l->data;
1596 purple_request_field_choice_add_full(field, jbr->name, g_strdup(jbr->name), g_free); 1597 purple_request_field_choice_add_full(field, jbr->name, g_strdup(jbr->name), g_free);
1597 } 1598 }
1598 1599
1599 purple_request_group_add_field(group, field); 1600 purple_request_group_add_field(group, field);
1600 1601
1601 purple_request_fields_add_group(fields, group); 1602 purple_request_page_add_group(page, group);
1602 1603
1603 purple_request_fields(jsx->js->gc, _("Select a Resource"), msg, NULL, fields, 1604 purple_request_fields(jsx->js->gc, _("Select a Resource"), msg, NULL, page,
1604 _("Send File"), G_CALLBACK(resource_select_ok_cb), _("Cancel"), G_CALLBACK(resource_select_cancel_cb), 1605 _("Send File"), G_CALLBACK(resource_select_ok_cb), _("Cancel"), G_CALLBACK(resource_select_cancel_cb),
1605 purple_request_cpar_from_connection(jsx->js->gc), xfer); 1606 purple_request_cpar_from_connection(jsx->js->gc), xfer);
1606 1607
1607 g_free(msg); 1608 g_free(msg);
1608 } 1609 }

mercurial