Mercurial > pidgin.yaz
diff finch/gntblist.c @ 16105:1983ecd15174
Remember the collapsed state of groups in the blist
author | Richard Nelson <wabz@pidgin.im> |
---|---|
date | Sat, 14 Apr 2007 12:39:33 +0000 |
parents | f00f2e283ffb |
children | b73761ac005e |
line wrap: on
line diff
--- a/finch/gntblist.c Sat Apr 14 12:38:31 2007 +0000 +++ b/finch/gntblist.c Sat Apr 14 12:39:33 2007 +0000 @@ -446,6 +446,8 @@ return; node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), group, gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), NULL, NULL); + gnt_tree_set_expanded(GNT_TREE(ggblist->tree), node, + !purple_blist_node_get_bool(node, "collapsed")); } static const char * @@ -2105,6 +2107,12 @@ } static void +group_collapsed(GntWidget *widget, PurpleBlistNode *node, gboolean collapsed, gpointer null) +{ + purple_blist_node_set_bool(node, "collapsed", collapsed); +} + +static void blist_show(PurpleBuddyList *list) { if (ggblist == NULL) @@ -2171,6 +2179,7 @@ g_signal_connect(G_OBJECT(ggblist->tree), "selection_changed", G_CALLBACK(selection_changed), ggblist); g_signal_connect(G_OBJECT(ggblist->tree), "key_pressed", G_CALLBACK(key_pressed), ggblist); g_signal_connect(G_OBJECT(ggblist->tree), "context-menu", G_CALLBACK(context_menu), ggblist); + g_signal_connect(G_OBJECT(ggblist->tree), "collapse-toggled", G_CALLBACK(group_collapsed), NULL); g_signal_connect_after(G_OBJECT(ggblist->tree), "clicked", G_CALLBACK(blist_clicked), ggblist); g_signal_connect(G_OBJECT(ggblist->tree), "activate", G_CALLBACK(selection_activate), ggblist); g_signal_connect_data(G_OBJECT(ggblist->tree), "gained-focus", G_CALLBACK(draw_tooltip),