comparison src/gtkblist.c @ 13510:65486b7e8e45

[gaim-migrate @ 15886] SF Patch #1446662 from Sadrul "This patch keeps the selected node selected after the buddy-list is redrawn." committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 14 Mar 2006 07:30:52 +0000
parents 56abb67edec9
children 0bdcd590cd05
comparison
equal deleted inserted replaced
13509:56abb67edec9 13510:65486b7e8e45
3345 gaim_gtk_blist_sort_method_set(gaim_prefs_get_string("/gaim/gtk/blist/sort_type")); 3345 gaim_gtk_blist_sort_method_set(gaim_prefs_get_string("/gaim/gtk/blist/sort_type"));
3346 } 3346 }
3347 3347
3348 static void _prefs_change_redo_list() 3348 static void _prefs_change_redo_list()
3349 { 3349 {
3350 GtkTreeSelection *sel;
3351 GtkTreeIter iter;
3352 GaimBlistNode *node = NULL;
3353
3354 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(gtkblist->treeview));
3355 if (gtk_tree_selection_get_selected(sel, NULL, &iter))
3356 {
3357 gtk_tree_model_get(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &node, -1);
3358 }
3359
3350 redo_buddy_list(gaim_get_blist(), TRUE); 3360 redo_buddy_list(gaim_get_blist(), TRUE);
3351 #if GTK_CHECK_VERSION(2,6,0) 3361 #if GTK_CHECK_VERSION(2,6,0)
3352 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(gtkblist->treeview)); 3362 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(gtkblist->treeview));
3353 #endif 3363 #endif
3364
3365 if (node)
3366 {
3367 struct _gaim_gtk_blist_node *gtknode;
3368 GtkTreePath *path;
3369
3370 gtknode = node->ui_data;
3371 if (gtknode && gtknode->row)
3372 {
3373 path = gtk_tree_row_reference_get_path(gtknode->row);
3374 gtk_tree_selection_select_path(sel, path);
3375 gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(gtkblist->treeview), path, NULL, FALSE, 0, 0);
3376 gtk_tree_path_free(path);
3377 }
3378 }
3354 } 3379 }
3355 3380
3356 static void _prefs_change_sort_method(const char *pref_name, GaimPrefType type, 3381 static void _prefs_change_sort_method(const char *pref_name, GaimPrefType type,
3357 gconstpointer val, gpointer data) 3382 gconstpointer val, gpointer data)
3358 { 3383 {