Mercurial > pidgin.yaz
annotate plugins/gtk-signals-test.c @ 13721:6a02f71a305a
[gaim-migrate @ 16130]
SF Patch #1480718
Fixes SF Bug #1473246
Close the search window when a conversation is closed, to prevent crashes.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Wed, 03 May 2006 04:12:35 +0000 |
parents | f09c6e8df82c |
children |
rev | line source |
---|---|
9609 | 1 /* |
2 * Signals test plugin. | |
3 * | |
4 * Copyright (C) 2003 Christian Hammond. | |
5 * | |
6 * This program is free software; you can redistribute it and/or | |
7 * modify it under the terms of the GNU General Public License as | |
8 * published by the Free Software Foundation; either version 2 of the | |
9 * License, or (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, but | |
12 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
19 * 02111-1307, USA. | |
20 */ | |
21 #define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test" | |
22 | |
23 #include <gtk/gtk.h> | |
24 | |
25 #include "internal.h" | |
26 #include "debug.h" | |
9954 | 27 #include "version.h" |
9609 | 28 |
29 #include "gtkaccount.h" | |
30 #include "gtkblist.h" | |
31 #include "gtkconv.h" | |
32 #include "gtkplugin.h" | |
33 | |
34 /************************************************************************** | |
35 * Account subsystem signal callbacks | |
36 **************************************************************************/ | |
37 static void | |
38 account_modified_cb(GaimAccount *account, void *data) { | |
39 gaim_debug_info("gtk-signal-test", "account modified cb\n"); | |
40 } | |
41 | |
42 /************************************************************************** | |
43 * Buddy List subsystem signal callbacks | |
44 **************************************************************************/ | |
45 static void | |
46 blist_created_cb(GaimBuddyList *blist, void *data) { | |
47 gaim_debug_info("gtk-signal-test", "buddy list created\n"); | |
48 } | |
49 | |
50 static void | |
12898
e3b4e6787dff
[gaim-migrate @ 15251]
Richard Laager <rlaager@wiktel.com>
parents:
12639
diff
changeset
|
51 blist_drawing_tooltip_cb(GaimBlistNode *node, GString *str, gboolean full, void *data) { |
9609 | 52 gaim_debug_info("gtk-signal-test", "drawing tooltip cb\n"); |
53 } | |
54 | |
55 /************************************************************************** | |
56 * Conversation subsystem signal callbacks | |
57 **************************************************************************/ | |
58 static void | |
11848
434181b96f44
[gaim-migrate @ 14139]
Gary Kramlich <grim@reaperworld.com>
parents:
11447
diff
changeset
|
59 conversation_dragging_cb(GaimGtkWindow *source, GaimGtkWindow *destination) { |
11447
ef6e94bdda08
[gaim-migrate @ 13686]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11256
diff
changeset
|
60 gaim_debug_info("gtk-signal-test", "conversation dragging cb\n"); |
9609 | 61 } |
62 | |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
63 static gboolean |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
64 displaying_im_msg_cb(GaimAccount *account, const char *who, char **buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
65 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
66 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
67 gaim_debug_misc("gtk-signals test", "displaying-im-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
68 gaim_conversation_get_name(conv), *buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
69 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
70 return FALSE; |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
71 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
72 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
73 static void |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
74 displayed_im_msg_cb(GaimAccount *account, const char *who, const char *buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
75 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
76 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
77 gaim_debug_misc("gtk-signals test", "displayed-im-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
78 gaim_conversation_get_name(conv), buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
79 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
80 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
81 static gboolean |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
82 displaying_chat_msg_cb(GaimAccount *account, const char *who, char **buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
83 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
84 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
85 gaim_debug_misc("gtk-signals test", "displaying-chat-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
86 gaim_conversation_get_name(conv), *buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
87 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
88 return FALSE; |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
89 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
90 |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
91 static void |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
92 displayed_chat_msg_cb(GaimAccount *account, const char *who, const char *buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
12898
diff
changeset
|
93 GaimConversation *conv, GaimMessageFlags flags, void *data) |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
94 { |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
95 gaim_debug_misc("gtk-signals test", "displayed-chat-msg (%s, %s)\n", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
96 gaim_conversation_get_name(conv), buffer); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
97 } |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
98 |
12639
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
99 static void |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
100 conversation_switched_cb(GaimConversation *conv, void *data) |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
101 { |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
102 gaim_debug_misc("gtk-signals test", "conversation-switched (%s)\n", |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
103 gaim_conversation_get_name(conv)); |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
104 } |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
105 |
9609 | 106 /************************************************************************** |
107 * Plugin stuff | |
108 **************************************************************************/ | |
109 static gboolean | |
110 plugin_load(GaimPlugin *plugin) | |
111 { | |
112 void *accounts_handle = gaim_gtk_account_get_handle(); | |
113 void *blist_handle = gaim_gtk_blist_get_handle(); | |
114 void *conv_handle = gaim_gtk_conversations_get_handle(); | |
115 | |
116 /* Accounts subsystem signals */ | |
117 gaim_signal_connect(accounts_handle, "account-modified", | |
118 plugin, GAIM_CALLBACK(account_modified_cb), NULL); | |
119 | |
120 /* Buddy List subsystem signals */ | |
121 gaim_signal_connect(blist_handle, "gtkblist-created", | |
122 plugin, GAIM_CALLBACK(blist_created_cb), NULL); | |
123 gaim_signal_connect(blist_handle, "drawing-tooltip", | |
124 plugin, GAIM_CALLBACK(blist_drawing_tooltip_cb), NULL); | |
125 | |
126 /* Conversations subsystem signals */ | |
11447
ef6e94bdda08
[gaim-migrate @ 13686]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11256
diff
changeset
|
127 gaim_signal_connect(conv_handle, "conversation-dragging", |
ef6e94bdda08
[gaim-migrate @ 13686]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11256
diff
changeset
|
128 plugin, GAIM_CALLBACK(conversation_dragging_cb), NULL); |
12604
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
129 gaim_signal_connect(conv_handle, "displaying-im-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
130 plugin, GAIM_CALLBACK(displaying_im_msg_cb), NULL); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
131 gaim_signal_connect(conv_handle, "displayed-im-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
132 plugin, GAIM_CALLBACK(displayed_im_msg_cb), NULL); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
133 gaim_signal_connect(conv_handle, "displaying-chat-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
134 plugin, GAIM_CALLBACK(displaying_chat_msg_cb), NULL); |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
135 gaim_signal_connect(conv_handle, "displayed-chat-msg", |
71299d63801d
[gaim-migrate @ 14939]
Richard Laager <rlaager@wiktel.com>
parents:
11848
diff
changeset
|
136 plugin, GAIM_CALLBACK(displayed_chat_msg_cb), NULL); |
12639
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
137 gaim_signal_connect(conv_handle, "conversation-switched", |
366326fa9cb4
[gaim-migrate @ 14975]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
138 plugin, GAIM_CALLBACK(conversation_switched_cb), NULL); |
9609 | 139 |
140 return TRUE; | |
141 } | |
142 | |
11033
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
143 static gboolean |
11256
bb0d7b719af2
[gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents:
11033
diff
changeset
|
144 plugin_unload(GaimPlugin *plugin) { |
bb0d7b719af2
[gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents:
11033
diff
changeset
|
145 return TRUE; |
11033
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
146 } |
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
147 |
9609 | 148 static GaimPluginInfo info = |
149 { | |
9954 | 150 GAIM_PLUGIN_MAGIC, |
151 GAIM_MAJOR_VERSION, | |
152 GAIM_MINOR_VERSION, | |
9609 | 153 GAIM_PLUGIN_STANDARD, /**< type */ |
154 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ | |
155 0, /**< flags */ | |
156 NULL, /**< dependencies */ | |
157 GAIM_PRIORITY_DEFAULT, /**< priority */ | |
158 | |
159 GTK_SIGNAL_TEST_PLUGIN_ID, /**< id */ | |
160 N_("GTK Signals Test"), /**< name */ | |
161 VERSION, /**< version */ | |
162 /** summary */ | |
163 N_("Test to see that all ui signals are working properly."), | |
164 /** description */ | |
165 N_("Test to see that all ui signals are working properly."), | |
166 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */ | |
167 GAIM_WEBSITE, /**< homepage */ | |
168 | |
169 plugin_load, /**< load */ | |
11033
50224ac8184d
[gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents:
9954
diff
changeset
|
170 plugin_unload, /**< unload */ |
9609 | 171 NULL, /**< destroy */ |
172 | |
173 NULL, /**< ui_info */ | |
174 NULL, /**< extra_info */ | |
175 NULL, | |
176 NULL | |
177 }; | |
178 | |
179 static void | |
180 init_plugin(GaimPlugin *plugin) | |
181 { | |
182 } | |
183 | |
184 GAIM_INIT_PLUGIN(gtksignalstest, init_plugin, info) |