Mercurial > pidgin.yaz
annotate pidgin/plugins/sendbutton.c @ 28518:8aa7df246e13
Eighth^WNinth time's the charm...
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 31 Aug 2009 20:27:04 +0000 |
parents | 73c8e1964eef |
children | a8cc50c2279f |
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) |