| 312 return; |
312 return; |
| 313 } |
313 } |
| 314 gtk_tree_model_get_value(model, &iter, 4, &val); |
314 gtk_tree_model_get_value(model, &iter, 4, &val); |
| 315 account = g_value_get_pointer(&val); |
315 account = g_value_get_pointer(&val); |
| 316 g_value_unset(&val); |
316 g_value_unset(&val); |
| 317 gaim_account_connect(account); |
317 /* remove all disconnections of the account to be reconnected */ |
| 318 /* remove all disconnections of the account reconnected */ |
|
| 319 if (gtk_tree_model_get_iter_first(model, &iter)) { |
318 if (gtk_tree_model_get_iter_first(model, &iter)) { |
| |
319 GList *l_del = NULL; |
| 320 GaimAccount *account2 = NULL; |
320 GaimAccount *account2 = NULL; |
| 321 gboolean alreadyIterated = FALSE; |
|
| 322 do { |
321 do { |
| 323 alreadyIterated = FALSE; |
|
| 324 gtk_tree_model_get_value(model, &iter, 4, &val); |
322 gtk_tree_model_get_value(model, &iter, 4, &val); |
| 325 account2 = g_value_get_pointer(&val); |
323 account2 = g_value_get_pointer(&val); |
| 326 g_value_unset(&val); |
324 g_value_unset(&val); |
| 327 if (account2 == account) { |
325 if (account2 == account) { |
| 328 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); |
326 GtkTreePath *path = gtk_tree_model_get_path(model, &iter); |
| 329 alreadyIterated = TRUE; |
327 GtkTreeRowReference* del_row = gtk_tree_row_reference_new(model, path); |
| |
328 l_del = g_list_append(l_del, del_row); |
| 330 } |
329 } |
| 331 g_value_unset(&val); |
330 g_value_unset(&val); |
| 332 } while (alreadyIterated || gtk_tree_model_iter_next(model, &iter)); |
331 } while (gtk_tree_model_iter_next(model, &iter)); |
| |
332 |
| |
333 while (l_del != NULL) { |
| |
334 GtkTreeRowReference* del_row = l_del->data; |
| |
335 GtkTreePath *path = gtk_tree_row_reference_get_path(del_row); |
| |
336 if (gtk_tree_model_get_iter(model, &iter, path)) |
| |
337 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); |
| |
338 l_del = l_del->next; |
| |
339 } |
| 333 } |
340 } |
| |
341 |
| |
342 gaim_account_connect(account); |
| 334 |
343 |
| 335 if (!gtk_tree_model_get_iter_first(model, &iter)) |
344 if (!gtk_tree_model_get_iter_first(model, &iter)) |
| 336 disconnect_window_hide(); |
345 disconnect_window_hide(); |
| 337 else { |
346 else { |
| 338 gtk_tree_selection_select_iter(sel, &iter); |
347 gtk_tree_selection_select_iter(sel, &iter); |