comparison src/gtkconn.c @ 7552:83453431d722

[gaim-migrate @ 8166] A much appreciated patch from Daniel "Guru of the Reconnect Dialog" Atallah committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 18 Nov 2003 04:01:23 +0000
parents 240aca6344b6
children 1ffe44bb2573
comparison
equal deleted inserted replaced
7551:2dfbcda49e65 7552:83453431d722
287 GtkTreeIter iter; 287 GtkTreeIter iter;
288 GValue val = { 0, }; 288 GValue val = { 0, };
289 GtkTreeSelection *sel = NULL; 289 GtkTreeSelection *sel = NULL;
290 GtkTreeModel *model = NULL; 290 GtkTreeModel *model = NULL;
291 GaimAccount *account = NULL; 291 GaimAccount *account = NULL;
292 GaimConnection *gc = NULL;
293 292
294 switch(id) { 293 switch(id) {
295 case GTK_RESPONSE_DELETE_EVENT: 294 case GTK_RESPONSE_DELETE_EVENT:
296 case GTK_RESPONSE_CLOSE: 295 case GTK_RESPONSE_CLOSE:
297 disconnect_window_hide(); 296 disconnect_window_hide();
312 if (!gtk_tree_model_get_iter_first(model, &iter)) 311 if (!gtk_tree_model_get_iter_first(model, &iter))
313 return; 312 return;
314 } 313 }
315 gtk_tree_model_get_value(model, &iter, 4, &val); 314 gtk_tree_model_get_value(model, &iter, 4, &val);
316 account = g_value_get_pointer(&val); 315 account = g_value_get_pointer(&val);
317 gc = gaim_account_connect(account);
318 g_value_unset(&val); 316 g_value_unset(&val);
319 if (gaim_connection_get_state(gc) != GAIM_DISCONNECTED) { 317 gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
320 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); 318 if (!gtk_tree_model_get_iter_first(model, &iter))
321 if (!gtk_tree_model_get_iter_first(model, &iter)) 319 disconnect_window_hide();
322 disconnect_window_hide(); 320 else {
323 else { 321 gtk_tree_selection_select_iter(sel, &iter);
324 gtk_tree_selection_select_iter(sel, &iter); 322 if (!gtk_tree_model_iter_next(model, &iter))
325 if (!gtk_tree_model_iter_next(model, &iter)) 323 gtk_widget_hide_all(disconnect_window->sw);
326 gtk_widget_hide_all(disconnect_window->sw);
327 }
328 } 324 }
325 gaim_account_connect(account);
329 break; 326 break;
330 } 327 }
331 } 328 }
332 329
333 static void disconnect_tree_cb(GtkTreeSelection *sel, GtkTreeModel *model) 330 static void disconnect_tree_cb(GtkTreeSelection *sel, GtkTreeModel *model)