Wed, 07 Sep 2011 05:00:48 +0000
Get rid of a wrapper function.
|
17586
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
1 | /** |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
2 | * GNT - The GLib Ncurses Toolkit |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
3 | * |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
4 | * GNT is the legal property of its developers, whose names are too numerous |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
6 | * source distribution. |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
7 | * |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
8 | * This library is free software; you can redistribute it and/or modify |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
11 | * (at your option) any later version. |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
12 | * |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
16 | * GNU General Public License for more details. |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
17 | * |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19317
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
17586
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
21 | */ |
|
5beb8d987e84
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
15886
diff
changeset
|
22 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
23 | #include <string.h> |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
24 | |
|
24822
d7774462f2ba
Use glib log functions to show error messages.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23064
diff
changeset
|
25 | #include "gntinternal.h" |
|
d7774462f2ba
Use glib log functions to show error messages.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23064
diff
changeset
|
26 | #undef GNT_LOG_DOMAIN |
|
d7774462f2ba
Use glib log functions to show error messages.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23064
diff
changeset
|
27 | #define GNT_LOG_DOMAIN "Bindable" |
|
d7774462f2ba
Use glib log functions to show error messages.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23064
diff
changeset
|
28 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | #include "gntbindable.h" |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | #include "gntstyle.h" |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | #include "gnt.h" |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | #include "gntutils.h" |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
33 | #include "gnttextview.h" |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
34 | #include "gnttree.h" |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
35 | #include "gntbox.h" |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
36 | #include "gntbutton.h" |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
37 | #include "gntwindow.h" |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
38 | #include "gntlabel.h" |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | static GObjectClass *parent_class = NULL; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
42 | static struct |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
43 | { |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
44 | char * okeys; /* Old keystrokes */ |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
45 | char * keys; /* New Keystrokes being bound to the action */ |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
46 | GntBindableClass * klass; /* Class of the object that's getting keys rebound */ |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
47 | char * name; /* The name of the action */ |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
48 | GList * params; /* The list of paramaters */ |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
49 | } rebind_info; |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
50 | |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
51 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
52 | gnt_bindable_free_rebind_info(void) |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
53 | { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
54 | g_free(rebind_info.name); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
55 | g_free(rebind_info.keys); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
56 | g_free(rebind_info.okeys); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
57 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
58 | |
|
18438
972b13b06ba0
Cleaned up a few poorly written "activate" callbacks.
Eric Polino <aluink@pidgin.im>
parents:
17592
diff
changeset
|
59 | static void |
|
972b13b06ba0
Cleaned up a few poorly written "activate" callbacks.
Eric Polino <aluink@pidgin.im>
parents:
17592
diff
changeset
|
60 | gnt_bindable_rebinding_cancel(GntWidget *button, gpointer data) |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
61 | { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
62 | gnt_bindable_free_rebind_info(); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
63 | gnt_widget_destroy(GNT_WIDGET(data)); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
64 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
65 | |
|
18438
972b13b06ba0
Cleaned up a few poorly written "activate" callbacks.
Eric Polino <aluink@pidgin.im>
parents:
17592
diff
changeset
|
66 | static void |
|
972b13b06ba0
Cleaned up a few poorly written "activate" callbacks.
Eric Polino <aluink@pidgin.im>
parents:
17592
diff
changeset
|
67 | gnt_bindable_rebinding_rebind(GntWidget *button, gpointer data) |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
68 | { |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
69 | if (rebind_info.keys) { |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
70 | gnt_bindable_register_binding(rebind_info.klass, |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
71 | NULL, |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
72 | rebind_info.okeys, |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
73 | rebind_info.params); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
74 | gnt_bindable_register_binding(rebind_info.klass, |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
75 | rebind_info.name, |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
76 | rebind_info.keys, |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
77 | rebind_info.params); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
78 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
79 | gnt_bindable_free_rebind_info(); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
80 | gnt_widget_destroy(GNT_WIDGET(data)); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
81 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
82 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
83 | static gboolean |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
84 | gnt_bindable_rebinding_grab_key(GntBindable *bindable, const char *text, gpointer data) |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
85 | { |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
86 | GntTextView *textview = GNT_TEXT_VIEW(data); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
87 | char *new_text; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
88 | const char *tmp; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
89 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
90 | if (text && *text) { |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
91 | /* Rebinding tab or enter for something is probably not that great an idea */ |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
92 | if (!strcmp(text, GNT_KEY_CTRL_I) || !strcmp(text, GNT_KEY_ENTER)) { |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
93 | return FALSE; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
94 | } |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
95 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
96 | tmp = gnt_key_lookup(text); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
97 | new_text = g_strdup_printf("KEY: \"%s\"", tmp); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
98 | gnt_text_view_clear(textview); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
99 | gnt_text_view_append_text_with_flags(textview, new_text, GNT_TEXT_FLAG_NORMAL); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
100 | g_free(new_text); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
101 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
102 | g_free(rebind_info.keys); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
103 | rebind_info.keys = g_strdup(text); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
104 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
105 | return TRUE; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
106 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
107 | return FALSE; |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
108 | } |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
109 | static void |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
110 | gnt_bindable_rebinding_activate(GntBindable *data, gpointer bindable) |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
111 | { |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
112 | const char *widget_name = g_type_name(G_OBJECT_TYPE(bindable)); |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
113 | char *keys; |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
114 | GntWidget *key_textview; |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
115 | GntWidget *label; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
116 | GntWidget *bind_button, *cancel_button; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
117 | GntWidget *button_box; |
|
19315
0bc6119bbf7b
Fix a memory leak.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19314
diff
changeset
|
118 | GList *current_row_data; |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
119 | char *tmp; |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
120 | GntWidget *win = gnt_window_new(); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
121 | GntTree *tree = GNT_TREE(data); |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
122 | GntWidget *vbox = gnt_box_new(FALSE, TRUE); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
123 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
124 | rebind_info.klass = GNT_BINDABLE_GET_CLASS(bindable); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
125 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
126 | current_row_data = gnt_tree_get_selection_text_list(tree); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
127 | rebind_info.name = g_strdup(g_list_nth_data(current_row_data, 1)); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
128 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
129 | keys = gnt_tree_get_selection_data(tree); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
130 | rebind_info.okeys = g_strdup(gnt_key_translate(keys)); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
131 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
132 | rebind_info.params = NULL; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
133 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
134 | g_list_foreach(current_row_data, (GFunc)g_free, NULL); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
135 | g_list_free(current_row_data); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
136 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
137 | gnt_box_set_alignment(GNT_BOX(vbox), GNT_ALIGN_MID); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
138 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
139 | gnt_box_set_title(GNT_BOX(win), "Key Capture"); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
140 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
141 | tmp = g_strdup_printf("Type the new bindings for %s in a %s.", rebind_info.name, widget_name); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
142 | label = gnt_label_new(tmp); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
143 | g_free(tmp); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
144 | gnt_box_add_widget(GNT_BOX(vbox), label); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
145 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
146 | tmp = g_strdup_printf("KEY: \"%s\"", keys); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
147 | key_textview = gnt_text_view_new(); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
148 | gnt_widget_set_size(key_textview, key_textview->priv.x, 2); |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
149 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(key_textview), tmp, GNT_TEXT_FLAG_NORMAL); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
150 | g_free(tmp); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
151 | gnt_widget_set_name(key_textview, "keystroke"); |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
152 | gnt_box_add_widget(GNT_BOX(vbox), key_textview); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
153 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
154 | g_signal_connect(G_OBJECT(win), "key_pressed", G_CALLBACK(gnt_bindable_rebinding_grab_key), key_textview); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
155 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
156 | button_box = gnt_box_new(FALSE, FALSE); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
157 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
158 | bind_button = gnt_button_new("BIND"); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
159 | gnt_widget_set_name(bind_button, "bind"); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
160 | gnt_box_add_widget(GNT_BOX(button_box), bind_button); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
161 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
162 | cancel_button = gnt_button_new("Cancel"); |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
163 | gnt_widget_set_name(cancel_button, "cancel"); |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
164 | gnt_box_add_widget(GNT_BOX(button_box), cancel_button); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
165 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
166 | g_signal_connect(G_OBJECT(bind_button), "activate", G_CALLBACK(gnt_bindable_rebinding_rebind), win); |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
167 | g_signal_connect(G_OBJECT(cancel_button), "activate", G_CALLBACK(gnt_bindable_rebinding_cancel), win); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
168 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
169 | gnt_box_add_widget(GNT_BOX(vbox), button_box); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
170 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
171 | gnt_box_add_widget(GNT_BOX(win), vbox); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
172 | gnt_widget_show(win); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
173 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
174 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
175 | typedef struct |
|
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
176 | { |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
177 | GHashTable *hash; |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
178 | GntTree *tree; |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
179 | } BindingView; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
180 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
181 | static void |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
182 | add_binding(gpointer key, gpointer value, gpointer data) |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
183 | { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
184 | BindingView *bv = data; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
185 | GntBindableActionParam *act = value; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
186 | const char *name = g_hash_table_lookup(bv->hash, act->action); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
187 | if (name && *name) { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
188 | const char *k = gnt_key_lookup(key); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
189 | if (!k) |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
190 | k = key; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
191 | gnt_tree_add_row_after(bv->tree, (gpointer)k, |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
192 | gnt_tree_create_row(bv->tree, k, name), NULL, NULL); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
193 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
194 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
195 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
196 | static void |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
197 | add_action(gpointer key, gpointer value, gpointer data) |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
198 | { |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
199 | BindingView *bv = data; |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
200 | g_hash_table_insert(bv->hash, value, key); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
201 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
202 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
203 | static void |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
204 | gnt_bindable_class_init(GntBindableClass *klass) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
205 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
206 | parent_class = g_type_class_peek_parent(klass); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
207 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
208 | klass->actions = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
209 | (GDestroyNotify)gnt_bindable_action_free); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
210 | klass->bindings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
211 | (GDestroyNotify)gnt_bindable_action_param_free); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
212 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
213 | gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), GNT_BINDABLE_CLASS(klass)); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
214 | GNTDEBUG; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
215 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
216 | |
|
15365
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
217 | static gpointer |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
218 | bindable_clone(GntBindableAction *action) |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
219 | { |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
220 | GntBindableAction *ret = g_new0(GntBindableAction, 1); |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
221 | ret->name = g_strdup(action->name); |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
222 | ret->u = action->u; |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
223 | return ret; |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
224 | } |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
225 | |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
226 | static gpointer |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
227 | binding_clone(GntBindableActionParam *param) |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
228 | { |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
229 | GntBindableActionParam *p = g_new0(GntBindableActionParam, 1); |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
230 | p->list = g_list_copy(param->list); |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
231 | p->action = param->action; |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
232 | return p; |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
233 | } |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
234 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
235 | static void |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
236 | duplicate_hashes(GntBindableClass *klass) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
237 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
238 | /* Duplicate the bindings from parent class */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
239 | if (klass->actions) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
240 | klass->actions = g_hash_table_duplicate(klass->actions, g_str_hash, |
|
15365
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
241 | g_str_equal, g_free, (GDestroyNotify)gnt_bindable_action_free, |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
242 | (GDupFunc)g_strdup, (GDupFunc)bindable_clone); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
243 | klass->bindings = g_hash_table_duplicate(klass->bindings, g_str_hash, |
|
15365
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
244 | g_str_equal, g_free, (GDestroyNotify)gnt_bindable_action_param_free, |
|
5a83efd6955d
[gaim-migrate @ 18094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15272
diff
changeset
|
245 | (GDupFunc)g_strdup, (GDupFunc)binding_clone); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
246 | } else { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
247 | klass->actions = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
248 | (GDestroyNotify)gnt_bindable_action_free); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
249 | klass->bindings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
250 | (GDestroyNotify)gnt_bindable_action_param_free); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
251 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
252 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
253 | GNTDEBUG; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
254 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
255 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
256 | /****************************************************************************** |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
257 | * GntBindable API |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
258 | *****************************************************************************/ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
259 | GType |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
260 | gnt_bindable_get_gtype(void) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
261 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
262 | static GType type = 0; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
263 | |
|
19314
472ad9489d68
Fix some white-space and other similar issues. Preparing for a merge.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18438
diff
changeset
|
264 | if (type == 0) { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
265 | static const GTypeInfo info = { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
266 | sizeof(GntBindableClass), |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
267 | (GBaseInitFunc)duplicate_hashes, /* base_init */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
268 | NULL, /* base_finalize */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
269 | (GClassInitFunc)gnt_bindable_class_init, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
270 | NULL, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
271 | NULL, /* class_data */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
272 | sizeof(GntBindable), |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
273 | 0, /* n_preallocs */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
274 | NULL, /* instance_init */ |
|
15874
46df7421a1b5
Enable DEBUG_CFLAGS in libgnt and fix up a number of compile warnings and
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15839
diff
changeset
|
275 | NULL /* value_table */ |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
276 | }; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
277 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
278 | type = g_type_register_static(G_TYPE_OBJECT, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
279 | "GntBindable", |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
280 | &info, G_TYPE_FLAG_ABSTRACT); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
281 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
282 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
283 | return type; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
284 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
285 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
286 | /** |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
287 | * Key Remaps |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
288 | */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
289 | const char * |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
290 | gnt_bindable_remap_keys(GntBindable *bindable, const char *text) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
291 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
292 | const char *remap = NULL; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
293 | GType type = G_OBJECT_TYPE(bindable); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
294 | GntBindableClass *klass = GNT_BINDABLE_CLASS(GNT_BINDABLE_GET_CLASS(bindable)); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
295 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
296 | if (klass->remaps == NULL) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
297 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
298 | klass->remaps = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
299 | gnt_styles_get_keyremaps(type, klass->remaps); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
300 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
301 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
302 | remap = g_hash_table_lookup(klass->remaps, text); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
303 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
304 | return (remap ? remap : text); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
305 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
306 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
307 | /** |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
308 | * Actions and Bindings |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
309 | */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
310 | gboolean |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
311 | gnt_bindable_perform_action_named(GntBindable *bindable, const char *name, ...) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
312 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
313 | GntBindableClass *klass = GNT_BINDABLE_CLASS(GNT_BINDABLE_GET_CLASS(bindable)); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
314 | GList *list = NULL; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
315 | va_list args; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
316 | GntBindableAction *action; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
317 | void *p; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
318 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
319 | va_start(args, name); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
320 | while ((p = va_arg(args, void *)) != NULL) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
321 | list = g_list_append(list, p); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
322 | va_end(args); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
24822
diff
changeset
|
323 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
324 | action = g_hash_table_lookup(klass->actions, name); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
325 | if (action && action->u.action) { |
|
15272
c6e322c9c9b2
[gaim-migrate @ 18000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15038
diff
changeset
|
326 | return action->u.action(bindable, list); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
327 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
328 | return FALSE; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
329 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
330 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
331 | gboolean |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
332 | gnt_bindable_perform_action_key(GntBindable *bindable, const char *keys) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
333 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
334 | GntBindableClass *klass = GNT_BINDABLE_CLASS(GNT_BINDABLE_GET_CLASS(bindable)); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
335 | GntBindableActionParam *param = g_hash_table_lookup(klass->bindings, keys); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
336 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
337 | if (param && param->action) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
338 | if (param->list) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
339 | return param->action->u.action(bindable, param->list); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
340 | else |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
341 | return param->action->u.action_noparam(bindable); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
342 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
343 | return FALSE; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
344 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
345 | |
|
23064
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
346 | gboolean |
|
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
347 | gnt_bindable_check_key(GntBindable *bindable, const char *keys) { |
|
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
348 | GntBindableClass *klass = GNT_BINDABLE_CLASS(GNT_BINDABLE_GET_CLASS(bindable)); |
|
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
349 | GntBindableActionParam *param = g_hash_table_lookup(klass->bindings, keys); |
|
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
350 | return (param && param->action); |
|
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
351 | } |
|
1a35c6029964
Check if a key is already bound before assigning a menu trigger
Richard Nelson <wabz@pidgin.im>
parents:
22104
diff
changeset
|
352 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
353 | static void |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
354 | register_binding(GntBindableClass *klass, const char *name, const char *trigger, GList *list) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
355 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
356 | GntBindableActionParam *param; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
357 | GntBindableAction *action; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
358 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
359 | if (name == NULL || *name == '\0') { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
360 | g_hash_table_remove(klass->bindings, (char*)trigger); |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15365
diff
changeset
|
361 | gnt_keys_del_combination(trigger); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
362 | return; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
363 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
364 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
365 | action = g_hash_table_lookup(klass->actions, name); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
366 | if (!action) { |
|
24822
d7774462f2ba
Use glib log functions to show error messages.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23064
diff
changeset
|
367 | gnt_warning("Invalid action name %s for %s", |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
368 | name, g_type_name(G_OBJECT_CLASS_TYPE(klass))); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
369 | if (list) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
370 | g_list_free(list); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
371 | return; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
372 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
373 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
374 | param = g_new0(GntBindableActionParam, 1); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
375 | param->action = action; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
376 | param->list = list; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
377 | g_hash_table_replace(klass->bindings, g_strdup(trigger), param); |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15365
diff
changeset
|
378 | gnt_keys_add_combination(trigger); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
379 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
380 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
381 | void gnt_bindable_register_binding(GntBindableClass *klass, const char *name, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
382 | const char *trigger, ...) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
383 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
384 | GList *list = NULL; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
385 | va_list args; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
386 | void *data; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
387 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
388 | va_start(args, trigger); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
389 | while ((data = va_arg(args, void *))) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
390 | list = g_list_append(list, data); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
391 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
392 | va_end(args); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
393 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
394 | register_binding(klass, name, trigger, list); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
395 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
396 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
397 | void gnt_bindable_class_register_action(GntBindableClass *klass, const char *name, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
398 | GntBindableActionCallback callback, const char *trigger, ...) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
399 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
400 | void *data; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
401 | va_list args; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
402 | GntBindableAction *action = g_new0(GntBindableAction, 1); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
403 | GList *list; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
404 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
405 | action->name = g_strdup(name); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
406 | action->u.action = callback; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
407 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
408 | g_hash_table_replace(klass->actions, g_strdup(name), action); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
409 | |
|
15038
e57ca0ff0489
[gaim-migrate @ 17755]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
410 | if (trigger && *trigger) { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
411 | list = NULL; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
412 | va_start(args, trigger); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
413 | while ((data = va_arg(args, void *))) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
414 | list = g_list_append(list, data); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
415 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
416 | va_end(args); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
417 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
418 | register_binding(klass, name, trigger, list); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
419 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
420 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
421 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
422 | void gnt_bindable_action_free(GntBindableAction *action) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
423 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
424 | g_free(action->name); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
425 | g_free(action); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
426 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
427 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
428 | void gnt_bindable_action_param_free(GntBindableActionParam *param) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
429 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
430 | g_list_free(param->list); /* XXX: There may be a leak here for string parameters */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
431 | g_free(param); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
432 | } |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
433 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
434 | GntBindable * gnt_bindable_bindings_view(GntBindable *bind) |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
435 | { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
436 | GntBindable *tree = GNT_BINDABLE(gnt_tree_new_with_columns(2)); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
437 | GntBindableClass *klass = GNT_BINDABLE_CLASS(GNT_BINDABLE_GET_CLASS(bind)); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
438 | GHashTable *hash = g_hash_table_new(g_direct_hash, g_direct_equal); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
439 | BindingView bv = {hash, GNT_TREE(tree)}; |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
440 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
441 | gnt_tree_set_compare_func(bv.tree, (GCompareFunc)g_utf8_collate); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
442 | g_hash_table_foreach(klass->actions, add_action, &bv); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
443 | g_hash_table_foreach(klass->bindings, add_binding, &bv); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
444 | if (GNT_TREE(tree)->list == NULL) { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
445 | gnt_widget_destroy(GNT_WIDGET(tree)); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
446 | tree = NULL; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
447 | } else |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
448 | gnt_tree_adjust_columns(bv.tree); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
449 | g_hash_table_destroy(hash); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
450 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
451 | return tree; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
452 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
453 | |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
454 | static void |
|
17592
066b1786516f
FIX: The help_window pointer wasn't being set to null properly in the destroy callback.
Eric Polino <aluink@pidgin.im>
parents:
17590
diff
changeset
|
455 | reset_binding_window(GntBindableClass *window, gpointer k) |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
456 | { |
|
17592
066b1786516f
FIX: The help_window pointer wasn't being set to null properly in the destroy callback.
Eric Polino <aluink@pidgin.im>
parents:
17590
diff
changeset
|
457 | GntBindableClass *klass = GNT_BINDABLE_CLASS(k); |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
458 | klass->help_window = NULL; |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
459 | } |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
460 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
461 | gboolean |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
462 | gnt_bindable_build_help_window(GntBindable *bindable) |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
463 | { |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
464 | GntWidget *tree; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
465 | GntBindableClass *klass = GNT_BINDABLE_GET_CLASS(bindable); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
466 | char *title; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
467 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
468 | tree = GNT_WIDGET(gnt_bindable_bindings_view(bindable)); |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
469 | |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
470 | klass->help_window = GNT_BINDABLE(gnt_window_new()); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
471 | title = g_strdup_printf("Bindings for %s", g_type_name(G_OBJECT_TYPE(bindable))); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
472 | gnt_box_set_title(GNT_BOX(klass->help_window), title); |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
473 | if (tree) { |
|
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
474 | g_signal_connect(G_OBJECT(tree), "activate", G_CALLBACK(gnt_bindable_rebinding_activate), bindable); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
475 | gnt_box_add_widget(GNT_BOX(klass->help_window), tree); |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
476 | } else |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
477 | gnt_box_add_widget(GNT_BOX(klass->help_window), gnt_label_new("This widget has no customizable bindings.")); |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
478 | |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
479 | g_signal_connect(G_OBJECT(klass->help_window), "destroy", G_CALLBACK(reset_binding_window), klass); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
480 | gnt_widget_show(GNT_WIDGET(klass->help_window)); |
|
17590
b6e8c396671a
Mostly whitespace changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17589
diff
changeset
|
481 | g_free(title); |
|
17589
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
482 | |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
483 | return TRUE; |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
484 | } |
|
193d380e5261
Moved rebinding functionality into GntBindable.
Eric Polino <aluink@pidgin.im>
parents:
17586
diff
changeset
|
485 |