Mercurial > pidgin.yaz
annotate pidgin/plugins/sendbutton.c @ 24538:104f6f755c7e
Make our purple_util_fetch_url_request() function able to handle
fetching stuff from https urls. This is needed by yahoo's
webmessenger style login, if we want to try enable it again.
And it will be needed by the new oscar authentication.
I wrote this maybe a year ago and we've been using it at Meebo
with no problems, but it would be great if one person could look
through these changes.
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sat, 06 Dec 2008 01:08:20 +0000 |
| parents | f0d5d78e8e47 |
| children | 73c8e1964eef |
| rev | line source |
|---|---|
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
1 /* |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
2 * SendButton - Add a Send button to the conversation window entry area. |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
3 * Copyright (C) 2008 Etan Reisner <deryni@pidgin.im> |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
4 * |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
5 * This program is free software; you can redistribute it and/or |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
6 * modify it under the terms of the GNU General Public License |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
7 * as published by the Free Software Foundation; either version 2 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
8 * of the License, or (at your option) any later version. |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
9 * |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
10 * This program is distributed in the hope that it will be useful, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
13 * GNU General Public License for more details. |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
14 * |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
16 * along with this program; if not, write to the Free Software |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA. |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
18 */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
19 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
20 #ifdef HAVE_CONFIG_H |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
21 #include <config.h> |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
22 #endif |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
23 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
24 #include "internal.h" |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
25 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
26 #include "version.h" |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
27 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
28 #include "pidgin.h" |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
29 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
30 #include "gtkconv.h" |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
31 #include "gtkplugin.h" |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
32 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
33 static void |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
34 send_button_cb(GtkButton *button, PidginConversation *gtkconv) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
35 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
36 g_signal_emit_by_name(gtkconv->entry, "message_send"); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
37 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
38 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
39 static void |
|
24322
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
40 input_buffer_changed(GtkTextBuffer *text_buffer, GtkWidget *send_button) |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
41 { |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
42 if (gtk_text_buffer_get_char_count(text_buffer) != 0) |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
43 gtk_widget_set_sensitive(send_button, TRUE); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
44 else |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
45 gtk_widget_set_sensitive(send_button, FALSE); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
46 } |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
47 |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
48 static void |
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
49 create_send_button_pidgin(PidginConversation *gtkconv) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
50 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
51 GtkWidget *send_button; |
|
24322
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
52 GtkTextBuffer *buf; |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
53 guint signal_id; |
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
54 |
|
24321
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
55 send_button = g_object_get_data(G_OBJECT(gtkconv->lower_hbox), |
|
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
56 "send_button"); |
|
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
57 |
|
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
58 if (send_button != NULL) |
|
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
59 return; |
|
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
60 |
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
61 send_button = gtk_button_new_with_mnemonic(_("_Send")); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
62 g_signal_connect(G_OBJECT(send_button), "clicked", |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
63 G_CALLBACK(send_button_cb), gtkconv); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
64 gtk_box_pack_end(GTK_BOX(gtkconv->lower_hbox), send_button, FALSE, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
65 FALSE, 0); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
66 gtk_widget_show(send_button); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
67 |
|
24322
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
68 buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtkconv->entry)); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
69 if (buf) { |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
70 signal_id = g_signal_connect(G_OBJECT(buf), "changed", |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
71 G_CALLBACK(input_buffer_changed), |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
72 send_button); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
73 g_object_set_data(G_OBJECT(send_button), "buffer-signal", |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
74 GINT_TO_POINTER(signal_id)); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
75 input_buffer_changed(buf, send_button); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
76 } |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
77 |
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
78 g_object_set_data(G_OBJECT(gtkconv->lower_hbox), "send_button", |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
79 send_button); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
80 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
81 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
82 static void |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
83 remove_send_button_pidgin(PidginConversation *gtkconv) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
84 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
85 GtkWidget *send_button = NULL; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
86 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
87 send_button = g_object_get_data(G_OBJECT(gtkconv->lower_hbox), |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
88 "send_button"); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
89 if (send_button != NULL) { |
|
24322
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
90 GtkTextBuffer *buf; |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
91 guint signal_id; |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
92 |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
93 buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtkconv->entry)); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
94 signal_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(send_button), |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
95 "buffer-signal")); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
96 if (buf && signal_id) |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
97 g_signal_handler_disconnect(G_OBJECT(buf), signal_id); |
|
f0d5d78e8e47
Make the Send button insensitive when there is no text in the input buffer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24321
diff
changeset
|
98 |
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
99 gtk_widget_destroy(send_button); |
|
24321
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
100 g_object_set_data(G_OBJECT(gtkconv->lower_hbox), |
|
068557dd121a
Don't add the Send button to a gtkconv->lower_hbox when the data specifying it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22668
diff
changeset
|
101 "send_button", NULL); |
|
22668
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
102 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
103 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
104 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
105 static void |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
106 conversation_displayed_cb(PidginConversation *gtkconv) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
107 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
108 GtkWidget *send_button = NULL; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
109 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
110 send_button = g_object_get_data(G_OBJECT(gtkconv->lower_hbox), |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
111 "send_button"); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
112 if (send_button == NULL) { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
113 create_send_button_pidgin(gtkconv); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
114 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
115 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
116 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
117 static gboolean |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
118 plugin_load(PurplePlugin *plugin) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
119 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
120 GList *convs = purple_get_conversations(); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
121 void *gtk_conv_handle = pidgin_conversations_get_handle(); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
122 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
123 purple_signal_connect(gtk_conv_handle, "conversation-displayed", plugin, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
124 PURPLE_CALLBACK(conversation_displayed_cb), NULL); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
125 /* |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
126 purple_signal_connect(gtk_conv_handle, "conversation-hiding", plugin, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
127 PURPLE_CALLBACK(conversation_hiding_cb), NULL); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
128 */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
129 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
130 while (convs) { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
131 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
132 PurpleConversation *conv = (PurpleConversation *)convs->data; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
133 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
134 /* Setup Send button */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
135 if (PIDGIN_IS_PIDGIN_CONVERSATION(conv)) { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
136 create_send_button_pidgin(PIDGIN_CONVERSATION(conv)); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
137 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
138 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
139 convs = convs->next; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
140 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
141 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
142 return TRUE; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
143 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
144 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
145 static gboolean |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
146 plugin_unload(PurplePlugin *plugin) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
147 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
148 GList *convs = purple_get_conversations(); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
149 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
150 while (convs) { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
151 PurpleConversation *conv = (PurpleConversation *)convs->data; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
152 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
153 /* Remove Send button */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
154 if (PIDGIN_IS_PIDGIN_CONVERSATION(conv)) { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
155 remove_send_button_pidgin(PIDGIN_CONVERSATION(conv)); |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
156 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
157 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
158 convs = convs->next; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
159 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
160 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
161 return TRUE; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
162 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
163 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
164 static PurplePluginInfo info = |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
165 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
166 PURPLE_PLUGIN_MAGIC, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
167 PURPLE_MAJOR_VERSION, /**< major version */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
168 PURPLE_MINOR_VERSION, /**< minor version */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
169 PURPLE_PLUGIN_STANDARD, /**< type */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
170 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
171 0, /**< flags */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
172 NULL, /**< dependencies */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
173 PURPLE_PRIORITY_DEFAULT, /**< priority */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
174 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
175 "gtksendbutton", /**< id */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
176 N_("Send Button"), /**< name */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
177 DISPLAY_VERSION, /**< version */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
178 N_("Conversation Window Send Button."), /**< summary */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
179 N_("Adds a Send button to the entry area of " |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
180 "the conversation window. Intended for when " |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
181 "no physical keyboard is present."), /**< description */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
182 "Etan Reisner <deryni@pidgin.im>", /**< author */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
183 PURPLE_WEBSITE, /**< homepage */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
184 plugin_load, /**< load */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
185 plugin_unload, /**< unload */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
186 NULL, /**< destroy */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
187 NULL, /**< ui_info */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
188 NULL, /**< extra_info */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
189 NULL, /**< prefs_info */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
190 NULL, /**< actions */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
191 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
192 /* padding */ |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
193 NULL, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
194 NULL, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
195 NULL, |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
196 NULL |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
197 }; |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
198 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
199 static void |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
200 init_plugin(PurplePlugin *plugin) |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
201 { |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
202 } |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
203 |
|
72090ce17864
Add a plugin to add a Send button to the conversation windows, users of tablet
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
204 PURPLE_INIT_PLUGIN(sendbutton, init_plugin, info) |
