plugins/gestures/gestures.c

Tue, 14 Feb 2006 05:43:43 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Tue, 14 Feb 2006 05:43:43 +0000
changeset 13281
3558cb15ebb9
parent 12912
fdad9199a6e8
permissions
-rw-r--r--

[gaim-migrate @ 15646]
Always show a vertical scrollbar on conversations imhtmls. This will solve the shrinking conversation window bug. I chose this approach instead of saving the size of the window (as I had previous talked about), as this prevents the contents of the scrollback from rewrapping when the scrollbars appear or disappear. It also just seems to feel like the right thing to do, but maybe that's me being lazy.

4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /*
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * Mouse gestures plugin for Gaim
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 *
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 * Copyright (C) 2003 Christian Hammond.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
5 *
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * License, or (at your option) any later version.
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 *
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful, but
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * General Public License for more details.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
15 *
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * 02111-1307, USA.
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 */
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
21 #include "internal.h"
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 8993
diff changeset
22 #include "gtkgaim.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
23
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
24 #include "debug.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
25 #include "prefs.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
26 #include "signals.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
27 #include "version.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
28
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
29 #include "gtkconv.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
30 #include "gtkplugin.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5767
diff changeset
31 #include "gtkutils.h"
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 #include "gstroke.h"
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6225
diff changeset
35 #define GESTURES_PLUGIN_ID "gtk-x11-gestures"
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 static void
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 stroke_close(GtkWidget *widget, void *data)
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
40 GaimConversation *conv;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
41 GaimGtkConversation *gtkconv;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
43 conv = (GaimConversation *)data;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 /* Double-check */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 if (!GAIM_IS_GTK_CONVERSATION(conv))
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 return;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 gtkconv = GAIM_GTK_CONVERSATION(conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 gstroke_cleanup(gtkconv->imhtml);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 gaim_conversation_destroy(conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 static void
12912
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
56 switch_page(GaimGtkWindow *win, GtkDirectionType dir)
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
57 {
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
58 int count, current;
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
59
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
60 #if GTK_CHECK_VERSION(2,2,0)
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
61 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(win->notebook));
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
62 #else
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
63 count = g_list_length(GTK_NOTEBOOK(win->notebook)->children);
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
64 #endif
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
65 current = gtk_notebook_get_current_page(GTK_NOTEBOOK(win->notebook));
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
66
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
67 if (dir == GTK_DIR_LEFT)
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
68 {
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
69 gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), current - 1);
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
70 }
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
71 else if (dir == GTK_DIR_RIGHT)
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
72 {
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
73 if (current == count - 1)
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
74 gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), 0);
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
75 else
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
76 gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), current + 1);
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
77 }
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
78 }
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
79
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
80 static void
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 stroke_prev_tab(GtkWidget *widget, void *data)
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
83 GaimConversation *conv;
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
84 GaimGtkConversation *gtkconv;
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11256
diff changeset
85 GaimGtkWindow *win;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
87 conv = (GaimConversation *)data;
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11256
diff changeset
88 gtkconv = GAIM_GTK_CONVERSATION(conv);
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11256
diff changeset
89 win = gtkconv->win;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90
12912
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
91 switch_page(win, GTK_DIR_LEFT);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 static void
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 stroke_next_tab(GtkWidget *widget, void *data)
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
97 GaimConversation *conv;
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
98 GaimGtkWindow *win;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
100 conv = (GaimConversation *)data;
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
101 win = GAIM_GTK_CONVERSATION(conv)->win;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102
12912
fdad9199a6e8 [gaim-migrate @ 15265]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12816
diff changeset
103 switch_page(win, GTK_DIR_RIGHT);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 11592
diff changeset
106 static void
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
107 stroke_new_win(GtkWidget *widget, void *data)
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
108 {
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
109 GaimGtkWindow *new_win, *old_win;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
110 GaimConversation *conv;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
112 conv = (GaimConversation *)data;
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
113 old_win = GAIM_GTK_CONVERSATION(conv)->win;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
114
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
115 if (gaim_gtk_conv_window_get_gtkconv_count(old_win) <= 1)
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
116 return;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
117
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
118 new_win = gaim_gtk_conv_window_new();
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
120 gaim_gtk_conv_window_remove_gtkconv(old_win, GAIM_GTK_CONVERSATION(conv));
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
121 gaim_gtk_conv_window_add_gtkconv(new_win, GAIM_GTK_CONVERSATION(conv));
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122
11592
441f57340de7 [gaim-migrate @ 13862]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
123 gaim_gtk_conv_window_show(new_win);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 static void
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
127 attach_signals(GaimConversation *conv)
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
129 GaimGtkConversation *gtkconv;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 gtkconv = GAIM_GTK_CONVERSATION(conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
133 gstroke_enable(gtkconv->imhtml);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134 gstroke_signal_connect(gtkconv->imhtml, "14789", stroke_close, conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
135 gstroke_signal_connect(gtkconv->imhtml, "1456", stroke_close, conv);
5016
0e42e5f25880 [gaim-migrate @ 5352]
Christian Hammond <chipx86@chipx86.com>
parents: 4843
diff changeset
136 gstroke_signal_connect(gtkconv->imhtml, "1489", stroke_close, conv);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
137 gstroke_signal_connect(gtkconv->imhtml, "74123", stroke_next_tab, conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
138 gstroke_signal_connect(gtkconv->imhtml, "7456", stroke_next_tab, conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139 gstroke_signal_connect(gtkconv->imhtml, "96321", stroke_prev_tab, conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140 gstroke_signal_connect(gtkconv->imhtml, "9654", stroke_prev_tab, conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141 gstroke_signal_connect(gtkconv->imhtml, "25852", stroke_new_win, conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144 static void
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
145 new_conv_cb(GaimConversation *conv)
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
146 {
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
147 if (GAIM_IS_GTK_CONVERSATION(conv))
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
148 attach_signals(conv);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
149 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
150
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
151 #if 0
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
152 static void
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 mouse_button_menu_cb(GtkMenuItem *item, gpointer data)
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154 {
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155 int button = (int)data;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
157 gstroke_set_mouse_button(button + 2);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
158 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159 #endif
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 static void
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
162 toggle_draw_cb(GtkToggleButton *toggle, gpointer data)
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163 {
5767
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
164 gaim_prefs_set_bool("/plugins/gtk/X11/gestures/visual",
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
165 gtk_toggle_button_get_active(toggle));
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
166 }
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
167
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
168 static void
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12667
diff changeset
169 visual_pref_cb(const char *name, GaimPrefType type, gconstpointer value,
5767
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
170 gpointer data)
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
171 {
7386
9cccb3792018 [gaim-migrate @ 7981]
Luke Schierer <lschiere@pidgin.im>
parents: 7118
diff changeset
172 gstroke_set_draw_strokes((gboolean) GPOINTER_TO_INT(value) );
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
174
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
175 static gboolean
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
176 plugin_load(GaimPlugin *plugin)
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
178 GaimConversation *conv;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179 GList *l;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 for (l = gaim_get_conversations(); l != NULL; l = l->next) {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
182 conv = (GaimConversation *)l->data;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
184 if (!GAIM_IS_GTK_CONVERSATION(conv))
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
185 continue;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
186
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
187 attach_signals(conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
188 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
189
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
190 gaim_signal_connect(gaim_conversations_get_handle(),
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
191 "conversation-created",
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
192 plugin, GAIM_CALLBACK(new_conv_cb), NULL);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
194 return TRUE;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
197 static gboolean
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
198 plugin_unload(GaimPlugin *plugin)
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
200 GaimConversation *conv;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
201 GaimGtkConversation *gtkconv;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
202 GList *l;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
203
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
204 for (l = gaim_get_conversations(); l != NULL; l = l->next) {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
205 conv = (GaimConversation *)l->data;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
206
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
207 if (!GAIM_IS_GTK_CONVERSATION(conv))
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
208 continue;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
209
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
210 gtkconv = GAIM_GTK_CONVERSATION(conv);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
211
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
212 gstroke_cleanup(gtkconv->imhtml);
12667
1677da671689 [gaim-migrate @ 15010]
Richard Laager <rlaager@pidgin.im>
parents: 12600
diff changeset
213 gstroke_disable(gtkconv->imhtml);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
214 }
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
215
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
216 return TRUE;
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
217 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
218
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
219 static GtkWidget *
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
220 get_config_frame(GaimPlugin *plugin)
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
221 {
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
222 GtkWidget *ret;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
223 GtkWidget *vbox;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224 GtkWidget *toggle;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
225 #if 0
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
226 GtkWidget *opt;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
227 GtkWidget *menu, *item;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
228 #endif
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
229
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
230 /* Outside container */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
231 ret = gtk_vbox_new(FALSE, 18);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
232 gtk_container_set_border_width(GTK_CONTAINER(ret), 12);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
234 /* Configuration frame */
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
235 vbox = gaim_gtk_make_frame(ret, _("Mouse Gestures Configuration"));
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
236
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
237 #if 0
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
238 /* Mouse button drop-down menu */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239 menu = gtk_menu_new();
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
240 opt = gtk_option_menu_new();
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
241
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
242 item = gtk_menu_item_new_with_label(_("Middle mouse button"));
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
243 g_signal_connect(G_OBJECT(item), "activate",
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
244 G_CALLBACK(mouse_button_menu_cb), opt);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
245 gtk_menu_append(menu, item);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
246
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
247 item = gtk_menu_item_new_with_label(_("Right mouse button"));
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 g_signal_connect(G_OBJECT(item), "activate",
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249 G_CALLBACK(mouse_button_menu_cb), opt);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
250 gtk_menu_append(menu, item);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
251
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
252 gtk_box_pack_start(GTK_BOX(vbox), opt, FALSE, FALSE, 0);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
253 gtk_option_menu_set_menu(GTK_OPTION_MENU(opt), menu);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254 gtk_option_menu_set_history(GTK_OPTION_MENU(opt),
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255 gstroke_get_mouse_button() - 2);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 #endif
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
258 /* "Visual gesture display" checkbox */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
259 toggle = gtk_check_button_new_with_mnemonic(_("_Visual gesture display"));
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
260 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
5767
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
262 gaim_prefs_get_bool("/plugins/gtk/X11/gestures/visual"));
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263 g_signal_connect(G_OBJECT(toggle), "toggled",
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264 G_CALLBACK(toggle_draw_cb), NULL);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
266 gtk_widget_show_all(ret);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
267
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
268 return ret;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
271 static GaimGtkPluginUiInfo ui_info =
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
272 {
12600
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12323
diff changeset
273 get_config_frame,
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12323
diff changeset
274 0 /* page_num (Reserved) */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
275 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
276
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
277 static GaimPluginInfo info =
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 {
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
279 GAIM_PLUGIN_MAGIC,
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
280 GAIM_MAJOR_VERSION,
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
281 GAIM_MINOR_VERSION,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
282 GAIM_PLUGIN_STANDARD, /**< type */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
283 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
284 0, /**< flags */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
285 NULL, /**< dependencies */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
286 GAIM_PRIORITY_DEFAULT, /**< priority */
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
288 GESTURES_PLUGIN_ID, /**< id */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
289 N_("Mouse Gestures"), /**< name */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
290 VERSION, /**< version */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
291 /** summary */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
292 N_("Provides support for mouse gestures"),
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
293 /** description */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
294 N_("Allows support for mouse gestures in conversation windows.\n"
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
295 "Drag the middle mouse button to perform certain actions:\n\n"
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
296 "Drag down and then to the right to close a conversation.\n"
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
297 "Drag up and then to the left to switch to the previous "
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
298 "conversation.\n"
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
299 "Drag up and then to the right to switch to the next "
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
300 "conversation."),
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
301 "Christian Hammond <chipx86@gnupdate.org>", /**< author */
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6225
diff changeset
302 GAIM_WEBSITE, /**< homepage */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
303
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
304 plugin_load, /**< load */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
305 plugin_unload, /**< unload */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
306 NULL, /**< destroy */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
307
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
308 &ui_info, /**< ui_info */
8993
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
309 NULL, /**< extra_info */
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
310 NULL,
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
311 NULL
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
312 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
313
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
314 static void
5920
963bfdefee02 [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5873
diff changeset
315 init_plugin(GaimPlugin *plugin)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5016
diff changeset
316 {
5767
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
317 gaim_prefs_add_none("/plugins/gtk");
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
318 gaim_prefs_add_none("/plugins/gtk/X11");
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
319 gaim_prefs_add_none("/plugins/gtk/X11/gestures");
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
320 gaim_prefs_add_bool("/plugins/gtk/X11/gestures/visual", FALSE);
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
321
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9943
diff changeset
322 gaim_prefs_connect_callback(plugin, "/plugins/gtk/X11/gestures/visual",
5767
8ae2df3826e8 [gaim-migrate @ 6192]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
323 visual_pref_cb, NULL);
4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
324 }
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325
6063
8fbafa2e1846 [gaim-migrate @ 6513]
Nathan Walp <nwalp@pidgin.im>
parents: 5920
diff changeset
326 GAIM_INIT_PLUGIN(gestures, init_plugin, info)

mercurial