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