Mercurial > pidgin
annotate plugins/gestures/gestures.c @ 11581:9b3833da6840
[gaim-migrate @ 13851]
goodbye GaimConvWindow.
Still some problems with this patch:
- Scarey warnings console with gaim -d when closing tab
- I tried to seperate gtkconv and gtkconvwin, but failed,
as a result it has its own header, but the code is in the same
file, which is rather weird. Also some code got moved around
for no good reason. Feel free to move it back or reorganize it.
- I broke the gesters plugin, and just disabled it. Hopefully someone
with more time will fix it, it shouldn't take long, but I didn't
feel like bothering.
- This list is incomplete.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Sun, 02 Oct 2005 00:32:49 +0000 |
parents | bb0d7b719af2 |
children | f21d4310717e |
rev | line source |
---|---|
4390 | 1 /* |
2 * Mouse gestures plugin for Gaim | |
3 * | |
4 * Copyright (C) 2003 Christian Hammond. | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
5 * |
4390 | 6 * This program is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU General Public License as | |
8 * published by the Free Software Foundation; either version 2 of the | |
9 * License, or (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, but | |
12 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * General Public License for more details. | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
15 * |
4390 | 16 * You should have received a copy of the GNU General Public License |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
19 * 02111-1307, USA. | |
20 */ | |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
21 #include "internal.h" |
9791 | 22 #include "gtkgaim.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
23 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
24 #include "debug.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
25 #include "prefs.h" |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
26 #include "signals.h" |
9943 | 27 #include "version.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
28 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
29 #include "gtkconv.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
30 #include "gtkplugin.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5767
diff
changeset
|
31 #include "gtkutils.h" |
4390 | 32 |
33 #include "gstroke.h" | |
34 | |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6225
diff
changeset
|
35 #define GESTURES_PLUGIN_ID "gtk-x11-gestures" |
4390 | 36 |
37 static void | |
38 stroke_close(GtkWidget *widget, void *data) | |
39 { | |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
40 GaimConversation *conv; |
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
41 GaimGtkConversation *gtkconv; |
4390 | 42 |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
43 conv = (GaimConversation *)data; |
4390 | 44 |
45 /* Double-check */ | |
46 if (!GAIM_IS_GTK_CONVERSATION(conv)) | |
47 return; | |
48 | |
49 gtkconv = GAIM_GTK_CONVERSATION(conv); | |
50 | |
51 gstroke_cleanup(gtkconv->imhtml); | |
52 gaim_conversation_destroy(conv); | |
53 } | |
54 | |
55 static void | |
56 stroke_prev_tab(GtkWidget *widget, void *data) | |
57 { | |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
58 GaimConversation *conv; |
11581 | 59 GaimGtkConveration *gtkconv; |
60 GaimGtkWindow *win; | |
10842 | 61 GList *conversations; |
4390 | 62 |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
63 conv = (GaimConversation *)data; |
11581 | 64 gtkconv = GAIM_GTK_CONVERSATION(conv); |
65 win = gtkconv->win; | |
4390 | 66 |
11581 | 67 for (conversations = win->gtkconvs; |
10842 | 68 conversations != NULL; |
69 conversations = conversations->next) | |
70 { | |
11581 | 71 if (conversations->data == gtkconv) |
10842 | 72 { |
73 if (conversations->prev != NULL) { | |
11581 | 74 gaim_gtk_conv_window_switch_gtkconv(win, |
10842 | 75 conversations->prev->data); |
76 } else { | |
11581 | 77 gaim_gtk_conv_window_switch_gtkconv(win, |
10842 | 78 g_list_last(conversations)->data); |
79 } | |
4390 | 80 |
10842 | 81 return; |
82 } | |
83 } | |
4390 | 84 } |
85 | |
86 static void | |
87 stroke_next_tab(GtkWidget *widget, void *data) | |
88 { | |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
89 GaimConversation *conv; |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
90 GaimConvWindow *win; |
10842 | 91 GList *conversations; |
4390 | 92 |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
93 conv = (GaimConversation *)data; |
4390 | 94 win = gaim_conversation_get_window(conv); |
95 | |
10842 | 96 for (conversations = gaim_conv_window_get_conversations(win); |
97 conversations != NULL; | |
98 conversations = conversations->next) | |
99 { | |
100 if (conversations->data == conv) | |
101 { | |
102 if (conversations->next != NULL) { | |
103 gaim_conv_window_switch_conversation(win, | |
104 conversations->next->data); | |
105 } else { | |
106 gaim_conv_window_switch_conversation(win, | |
107 g_list_first(conversations)->data); | |
108 } | |
4390 | 109 |
10842 | 110 return; |
111 } | |
112 } | |
4390 | 113 } |
114 | |
115 void | |
116 stroke_new_win(GtkWidget *widget, void *data) | |
117 { | |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
118 GaimConvWindow *new_win, *old_win; |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
119 GaimConversation *conv; |
4390 | 120 |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
121 conv = (GaimConversation *)data; |
4390 | 122 old_win = gaim_conversation_get_window(conv); |
123 | |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
124 if (gaim_conv_window_get_conversation_count(old_win) <= 1) |
4390 | 125 return; |
126 | |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
127 new_win = gaim_conv_window_new(); |
4390 | 128 |
10824 | 129 gaim_conv_window_remove_conversation(old_win, conv); |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
130 gaim_conv_window_add_conversation(new_win, conv); |
4390 | 131 |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
132 gaim_conv_window_show(new_win); |
4390 | 133 } |
134 | |
135 static void | |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
136 attach_signals(GaimConversation *conv) |
4390 | 137 { |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
138 GaimGtkConversation *gtkconv; |
4390 | 139 |
140 gtkconv = GAIM_GTK_CONVERSATION(conv); | |
141 | |
142 gstroke_enable(gtkconv->imhtml); | |
143 gstroke_signal_connect(gtkconv->imhtml, "14789", stroke_close, conv); | |
144 gstroke_signal_connect(gtkconv->imhtml, "1456", stroke_close, conv); | |
5016
ae7760945ef2
[gaim-migrate @ 5352]
Christian Hammond <chipx86@chipx86.com>
parents:
4843
diff
changeset
|
145 gstroke_signal_connect(gtkconv->imhtml, "1489", stroke_close, conv); |
4390 | 146 gstroke_signal_connect(gtkconv->imhtml, "74123", stroke_next_tab, conv); |
147 gstroke_signal_connect(gtkconv->imhtml, "7456", stroke_next_tab, conv); | |
148 gstroke_signal_connect(gtkconv->imhtml, "96321", stroke_prev_tab, conv); | |
149 gstroke_signal_connect(gtkconv->imhtml, "9654", stroke_prev_tab, conv); | |
150 gstroke_signal_connect(gtkconv->imhtml, "25852", stroke_new_win, conv); | |
151 } | |
152 | |
153 static void | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
154 new_conv_cb(GaimConversation *conv) |
4390 | 155 { |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
156 if (GAIM_IS_GTK_CONVERSATION(conv)) |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
157 attach_signals(conv); |
4390 | 158 } |
159 | |
160 #if 0 | |
161 static void | |
162 mouse_button_menu_cb(GtkMenuItem *item, gpointer data) | |
163 { | |
164 int button = (int)data; | |
165 | |
166 gstroke_set_mouse_button(button + 2); | |
167 } | |
168 #endif | |
169 | |
170 static void | |
171 toggle_draw_cb(GtkToggleButton *toggle, gpointer data) | |
172 { | |
5767
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
173 gaim_prefs_set_bool("/plugins/gtk/X11/gestures/visual", |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
174 gtk_toggle_button_get_active(toggle)); |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
175 } |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
176 |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
177 static void |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
178 visual_pref_cb(const char *name, GaimPrefType type, gpointer value, |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
179 gpointer data) |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
180 { |
7386 | 181 gstroke_set_draw_strokes((gboolean) GPOINTER_TO_INT(value) ); |
4390 | 182 } |
183 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
184 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
185 plugin_load(GaimPlugin *plugin) |
4390 | 186 { |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
187 GaimConversation *conv; |
4390 | 188 GList *l; |
189 | |
190 for (l = gaim_get_conversations(); l != NULL; l = l->next) { | |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
191 conv = (GaimConversation *)l->data; |
4390 | 192 |
193 if (!GAIM_IS_GTK_CONVERSATION(conv)) | |
194 continue; | |
195 | |
196 attach_signals(conv); | |
197 } | |
198 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
199 gaim_signal_connect(gaim_conversations_get_handle(), |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
200 "conversation-created", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
201 plugin, GAIM_CALLBACK(new_conv_cb), NULL); |
4390 | 202 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
203 return TRUE; |
4390 | 204 } |
205 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
206 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
207 plugin_unload(GaimPlugin *plugin) |
4390 | 208 { |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
209 GaimConversation *conv; |
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
210 GaimGtkConversation *gtkconv; |
4390 | 211 GList *l; |
212 | |
213 for (l = gaim_get_conversations(); l != NULL; l = l->next) { | |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
214 conv = (GaimConversation *)l->data; |
4390 | 215 |
216 if (!GAIM_IS_GTK_CONVERSATION(conv)) | |
217 continue; | |
218 | |
219 gtkconv = GAIM_GTK_CONVERSATION(conv); | |
220 | |
221 gstroke_cleanup(gtkconv->imhtml); | |
222 } | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
223 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
224 return TRUE; |
4390 | 225 } |
226 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
227 static GtkWidget * |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
228 get_config_frame(GaimPlugin *plugin) |
4390 | 229 { |
230 GtkWidget *ret; | |
231 GtkWidget *vbox; | |
232 GtkWidget *toggle; | |
233 #if 0 | |
234 GtkWidget *opt; | |
235 GtkWidget *menu, *item; | |
236 #endif | |
237 | |
238 /* Outside container */ | |
239 ret = gtk_vbox_new(FALSE, 18); | |
240 gtk_container_set_border_width(GTK_CONTAINER(ret), 12); | |
241 | |
242 /* Configuration frame */ | |
5530
2c4c975620f0
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
243 vbox = gaim_gtk_make_frame(ret, _("Mouse Gestures Configuration")); |
4390 | 244 |
245 #if 0 | |
246 /* Mouse button drop-down menu */ | |
247 menu = gtk_menu_new(); | |
248 opt = gtk_option_menu_new(); | |
249 | |
250 item = gtk_menu_item_new_with_label(_("Middle mouse button")); | |
251 g_signal_connect(G_OBJECT(item), "activate", | |
252 G_CALLBACK(mouse_button_menu_cb), opt); | |
253 gtk_menu_append(menu, item); | |
254 | |
255 item = gtk_menu_item_new_with_label(_("Right mouse button")); | |
256 g_signal_connect(G_OBJECT(item), "activate", | |
257 G_CALLBACK(mouse_button_menu_cb), opt); | |
258 gtk_menu_append(menu, item); | |
259 | |
260 gtk_box_pack_start(GTK_BOX(vbox), opt, FALSE, FALSE, 0); | |
261 gtk_option_menu_set_menu(GTK_OPTION_MENU(opt), menu); | |
262 gtk_option_menu_set_history(GTK_OPTION_MENU(opt), | |
263 gstroke_get_mouse_button() - 2); | |
264 #endif | |
265 | |
266 /* "Visual gesture display" checkbox */ | |
267 toggle = gtk_check_button_new_with_mnemonic(_("_Visual gesture display")); | |
268 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0); | |
269 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), | |
5767
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
270 gaim_prefs_get_bool("/plugins/gtk/X11/gestures/visual")); |
4390 | 271 g_signal_connect(G_OBJECT(toggle), "toggled", |
272 G_CALLBACK(toggle_draw_cb), NULL); | |
273 | |
274 gtk_widget_show_all(ret); | |
275 | |
276 return ret; | |
277 } | |
278 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
279 static GaimGtkPluginUiInfo ui_info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
280 { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
281 get_config_frame |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
282 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
283 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
284 static GaimPluginInfo info = |
4390 | 285 { |
9943 | 286 GAIM_PLUGIN_MAGIC, |
287 GAIM_MAJOR_VERSION, | |
288 GAIM_MINOR_VERSION, | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
289 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
290 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
291 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
292 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
293 GAIM_PRIORITY_DEFAULT, /**< priority */ |
4390 | 294 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
295 GESTURES_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
296 N_("Mouse Gestures"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
297 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
298 /** summary */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
299 N_("Provides support for mouse gestures"), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
300 /** description */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
301 N_("Allows support for mouse gestures in conversation windows.\n" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
302 "Drag the middle mouse button to perform certain actions:\n\n" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
303 "Drag down and then to the right to close a conversation.\n" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
304 "Drag up and then to the left to switch to the previous " |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
305 "conversation.\n" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
306 "Drag up and then to the right to switch to the next " |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
307 "conversation."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
308 "Christian Hammond <chipx86@gnupdate.org>", /**< author */ |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6225
diff
changeset
|
309 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
310 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
311 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
312 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
313 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
314 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
315 &ui_info, /**< ui_info */ |
8993 | 316 NULL, /**< extra_info */ |
317 NULL, | |
318 NULL | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
319 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
320 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
321 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
322 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5016
diff
changeset
|
323 { |
5767
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
324 gaim_prefs_add_none("/plugins/gtk"); |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
325 gaim_prefs_add_none("/plugins/gtk/X11"); |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
326 gaim_prefs_add_none("/plugins/gtk/X11/gestures"); |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
327 gaim_prefs_add_bool("/plugins/gtk/X11/gestures/visual", FALSE); |
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
328 |
10087 | 329 gaim_prefs_connect_callback(plugin, "/plugins/gtk/X11/gestures/visual", |
5767
c97d9ca044a7
[gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
330 visual_pref_cb, NULL); |
4390 | 331 } |
332 | |
6063 | 333 GAIM_INIT_PLUGIN(gestures, init_plugin, info) |