Mercurial > pidgin
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) |