Wed, 21 Sep 2011 06:45:26 +0000
Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.
Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).
We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.
|
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 | } |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
27525
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) { |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
27525
diff
changeset
|
131 | |
|
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
|
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 " |
|
27525
579b9d64b364
A semi-random collection of English spelling and grammatical changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24599
diff
changeset
|
180 | "the conversation window. Intended for use " |
|
579b9d64b364
A semi-random collection of English spelling and grammatical changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24599
diff
changeset
|
181 | "when no physical keyboard is present."), /**< description */ |
|
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
|
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) |