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,