annotate pidgin/plugins/sendbutton.c @ 30018:7ed0ddbdd2a8

Use an inline RC style to get rid of some other padding to make the small buttons even smaller, as suggested by Paradox on trac, and nicked from nautilus. Refs #8727.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 20 Mar 2010 06:22:53 +0000
parents 73c8e1964eef
children a8cc50c2279f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 "
27366
73c8e1964eef A semi-random collection of English spelling and grammatical changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24322
diff changeset
180 "the conversation window. Intended for use "
73c8e1964eef A semi-random collection of English spelling and grammatical changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24322
diff changeset
181 "when no physical keyboard is present."), /**< description */
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
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)