comparison finch/gntft.c @ 32672:3828a61c44da

A boring and large patch so I can merge heads.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 23 Dec 2011 08:21:58 +0000
parents a8cc50c2279f
children
comparison
equal deleted inserted replaced
32671:0e69949b3e61 32672:3828a61c44da
40 #include "util.h" 40 #include "util.h"
41 41
42 #include "gntft.h" 42 #include "gntft.h"
43 #include "prefs.h" 43 #include "prefs.h"
44 44
45 #define FINCHXFER(xfer) \
46 (PurpleGntXferUiData *)FINCH_GET_DATA(xfer)
47
48 typedef struct 45 typedef struct
49 { 46 {
50 gboolean keep_open; 47 gboolean keep_open;
51 gboolean auto_clear; 48 gboolean auto_clear;
52 gint num_transfers; 49 gint num_transfers;
150 if (xfer_dialog->auto_clear) { 147 if (xfer_dialog->auto_clear) {
151 GList *iter = purple_xfers_get_all(); 148 GList *iter = purple_xfers_get_all();
152 while (iter) { 149 while (iter) {
153 PurpleXfer *xfer = iter->data; 150 PurpleXfer *xfer = iter->data;
154 iter = iter->next; 151 iter = iter->next;
155 if (purple_xfer_is_completed(xfer) || purple_xfer_is_canceled(xfer)) 152 if (purple_xfer_is_completed(xfer) || purple_xfer_is_cancelled(xfer))
156 finch_xfer_dialog_remove_xfer(xfer); 153 finch_xfer_dialog_remove_xfer(xfer);
157 } 154 }
158 } 155 }
159 } 156 }
160 157
161 static void 158 static void
162 remove_button_cb(GntButton *button) 159 remove_button_cb(GntButton *button)
163 { 160 {
164 PurpleXfer *selected_xfer = gnt_tree_get_selection_data(GNT_TREE(xfer_dialog->tree)); 161 PurpleXfer *selected_xfer = gnt_tree_get_selection_data(GNT_TREE(xfer_dialog->tree));
165 if (selected_xfer && (purple_xfer_is_completed(selected_xfer) || 162 if (selected_xfer && (purple_xfer_is_completed(selected_xfer) ||
166 purple_xfer_is_canceled(selected_xfer))) { 163 purple_xfer_is_cancelled(selected_xfer))) {
167 finch_xfer_dialog_remove_xfer(selected_xfer); 164 finch_xfer_dialog_remove_xfer(selected_xfer);
168 } 165 }
169 } 166 }
170 167
171 static void 168 static void
260 257
261 gnt_box_add_widget(GNT_BOX(window), bbox); 258 gnt_box_add_widget(GNT_BOX(window), bbox);
262 259
263 for (iter = purple_xfers_get_all(); iter; iter = iter->next) { 260 for (iter = purple_xfers_get_all(); iter; iter = iter->next) {
264 PurpleXfer *xfer = (PurpleXfer *)iter->data; 261 PurpleXfer *xfer = (PurpleXfer *)iter->data;
265 PurpleGntXferUiData *data = FINCHXFER(xfer); 262 PurpleGntXferUiData *data = purple_xfer_get_ui_data(xfer);
266 if (data->in_list) { 263 if (data->in_list) {
267 finch_xfer_dialog_add_xfer(xfer); 264 finch_xfer_dialog_add_xfer(xfer);
268 finch_xfer_dialog_update_xfer(xfer); 265 finch_xfer_dialog_update_xfer(xfer);
269 gnt_tree_set_selected(GNT_TREE(tree), xfer); 266 gnt_tree_set_selected(GNT_TREE(tree), xfer);
270 } 267 }
300 g_return_if_fail(xfer_dialog != NULL); 297 g_return_if_fail(xfer_dialog != NULL);
301 g_return_if_fail(xfer != NULL); 298 g_return_if_fail(xfer != NULL);
302 299
303 purple_xfer_ref(xfer); 300 purple_xfer_ref(xfer);
304 301
305 data = FINCHXFER(xfer); 302 data = purple_xfer_get_ui_data(xfer);
306 data->in_list = TRUE; 303 data->in_list = TRUE;
307 304
308 finch_xfer_dialog_show(); 305 finch_xfer_dialog_show();
309 306
310 data->last_updated_time = 0; 307 data->last_updated_time = 0;
338 PurpleGntXferUiData *data; 335 PurpleGntXferUiData *data;
339 336
340 g_return_if_fail(xfer_dialog != NULL); 337 g_return_if_fail(xfer_dialog != NULL);
341 g_return_if_fail(xfer != NULL); 338 g_return_if_fail(xfer != NULL);
342 339
343 data = FINCHXFER(xfer); 340 data = purple_xfer_get_ui_data(xfer);
344 341
345 if (data == NULL) 342 if (data == NULL)
346 return; 343 return;
347 344
348 if (!data->in_list) 345 if (!data->in_list)
368 const gchar *status; 365 const gchar *status;
369 366
370 g_return_if_fail(xfer_dialog != NULL); 367 g_return_if_fail(xfer_dialog != NULL);
371 g_return_if_fail(xfer != NULL); 368 g_return_if_fail(xfer != NULL);
372 369
373 data = FINCHXFER(xfer); 370 data = purple_xfer_get_ui_data(xfer);
374 371
375 if (data == NULL) 372 if (data == NULL)
376 return; 373 return;
377 374
378 if (!data->in_list) 375 if (!data->in_list)
383 return; 380 return;
384 } 381 }
385 382
386 update_title_progress(); 383 update_title_progress();
387 384
388 if (purple_xfer_is_canceled(xfer)) 385 if (purple_xfer_is_cancelled(xfer))
389 status = _("Cancelled"); 386 status = _("Cancelled");
390 else 387 else
391 status = _("Failed"); 388 status = _("Failed");
392 389
393 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, status); 390 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, status);
414 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0); 411 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0);
415 412
416 g_return_if_fail(xfer_dialog != NULL); 413 g_return_if_fail(xfer_dialog != NULL);
417 g_return_if_fail(xfer != NULL); 414 g_return_if_fail(xfer != NULL);
418 415
419 if ((data = FINCHXFER(xfer)) == NULL) 416 if ((data = purple_xfer_get_ui_data(xfer)) == NULL)
420 return; 417 return;
421 418
422 if (data->in_list == FALSE || data->notified) 419 if (data->in_list == FALSE || data->notified)
423 return; 420 return;
424 421
469 static void 466 static void
470 finch_xfer_new_xfer(PurpleXfer *xfer) 467 finch_xfer_new_xfer(PurpleXfer *xfer)
471 { 468 {
472 PurpleGntXferUiData *data; 469 PurpleGntXferUiData *data;
473 470
474 /* This is where we're setting xfer->ui_data for the first time. */ 471 /* This is where we're setting xfer's "ui_data" for the first time. */
475 data = g_new0(PurpleGntXferUiData, 1); 472 data = g_new0(PurpleGntXferUiData, 1);
476 FINCH_SET_DATA(xfer, data); 473 purple_xfer_set_ui_data(xfer, data);
477 } 474 }
478 475
479 static void 476 static void
480 finch_xfer_destroy(PurpleXfer *xfer) 477 finch_xfer_destroy(PurpleXfer *xfer)
481 { 478 {
482 PurpleGntXferUiData *data; 479 PurpleGntXferUiData *data;
483 480
484 data = FINCHXFER(xfer); 481 data = purple_xfer_get_ui_data(xfer);
485 if (data) { 482 if (data) {
486 g_free(data->name); 483 g_free(data->name);
487 g_free(data); 484 g_free(data);
488 FINCH_SET_DATA(xfer, NULL); 485 purple_xfer_set_ui_data(xfer, NULL);
489 } 486 }
490 } 487 }
491 488
492 static void 489 static void
493 finch_xfer_add_xfer(PurpleXfer *xfer) 490 finch_xfer_add_xfer(PurpleXfer *xfer)