Mercurial > pidgin
comparison finch/libgnt/gnttree.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 | 5eb0621e0760 |
children | bc280c341679 |
comparison
equal
deleted
inserted
replaced
16104:f0f9d94928ee | 16105:1983ecd15174 |
---|---|
11 enum | 11 enum |
12 { | 12 { |
13 SIG_SELECTION_CHANGED, | 13 SIG_SELECTION_CHANGED, |
14 SIG_SCROLLED, | 14 SIG_SCROLLED, |
15 SIG_TOGGLED, | 15 SIG_TOGGLED, |
16 SIG_COLLAPSED, | |
16 SIGS, | 17 SIGS, |
17 }; | 18 }; |
18 | 19 |
19 #define TAB_SIZE 3 | 20 #define TAB_SIZE 3 |
20 | 21 |
700 GntTreeRow *row = tree->current; | 701 GntTreeRow *row = tree->current; |
701 if (row && row->child) | 702 if (row && row->child) |
702 { | 703 { |
703 row->collapsed = !row->collapsed; | 704 row->collapsed = !row->collapsed; |
704 redraw_tree(tree); | 705 redraw_tree(tree); |
706 g_signal_emit(tree, signals[SIG_COLLAPSED], 0, row->key, row->collapsed); | |
705 } | 707 } |
706 else if (row && row->choice) | 708 else if (row && row->choice) |
707 { | 709 { |
708 row->isselected = !row->isselected; | 710 row->isselected = !row->isselected; |
709 g_signal_emit(tree, signals[SIG_TOGGLED], 0, row->key); | 711 g_signal_emit(tree, signals[SIG_TOGGLED], 0, row->key); |
853 G_SIGNAL_RUN_LAST, | 855 G_SIGNAL_RUN_LAST, |
854 G_STRUCT_OFFSET(GntTreeClass, toggled), | 856 G_STRUCT_OFFSET(GntTreeClass, toggled), |
855 NULL, NULL, | 857 NULL, NULL, |
856 g_cclosure_marshal_VOID__POINTER, | 858 g_cclosure_marshal_VOID__POINTER, |
857 G_TYPE_NONE, 1, G_TYPE_POINTER); | 859 G_TYPE_NONE, 1, G_TYPE_POINTER); |
860 signals[SIG_COLLAPSED] = | |
861 g_signal_new("collapse-toggled", | |
862 G_TYPE_FROM_CLASS(klass), | |
863 G_SIGNAL_RUN_LAST, | |
864 0, | |
865 NULL, NULL, | |
866 gnt_closure_marshal_VOID__POINTER_BOOLEAN, | |
867 G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_BOOLEAN); | |
858 | 868 |
859 gnt_bindable_class_register_action(bindable, "move-up", action_up, | 869 gnt_bindable_class_register_action(bindable, "move-up", action_up, |
860 GNT_KEY_UP, NULL); | 870 GNT_KEY_UP, NULL); |
861 gnt_bindable_register_binding(bindable, "move-up", GNT_KEY_CTRL_P, NULL); | 871 gnt_bindable_register_binding(bindable, "move-up", GNT_KEY_CTRL_P, NULL); |
862 gnt_bindable_class_register_action(bindable, "move-down", action_down, | 872 gnt_bindable_class_register_action(bindable, "move-down", action_down, |