pidgin/plugins/sendbutton.c

Tue, 07 May 2013 05:04:46 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 07 May 2013 05:04:46 -0400
changeset 33923
0fcc5635daba
parent 31294
73607ab89c6f
child 34622
753f46dd000f
permissions
-rw-r--r--

Rewrite debug window filter in JS.

Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.

I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.

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)

mercurial