4 * Copyright (C) 2003 Christian Hammond.
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.
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.
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., 51 Franklin Street, Fifth Floor, Boston, MA
21 #define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test"
30 #include "gtkaccount.h"
33 #include "gtkplugin.h"
35 /**************************************************************************
36 * Account subsystem signal callbacks
37 **************************************************************************/
39 account_modified_cb(PurpleAccount
*account
, void *data
) {
40 purple_debug_info("gtk-signal-test", "account modified cb\n");
43 /**************************************************************************
44 * Buddy List subsystem signal callbacks
45 **************************************************************************/
47 blist_created_cb(PurpleBuddyList
*blist
, void *data
) {
48 purple_debug_info("gtk-signal-test", "buddy list created\n");
52 blist_drawing_tooltip_cb(PurpleBlistNode
*node
, GString
*str
, gboolean full
, void *data
) {
53 purple_debug_info("gtk-signal-test", "drawing tooltip cb\n");
56 /**************************************************************************
57 * Conversation subsystem signal callbacks
58 **************************************************************************/
60 conversation_dragging_cb(PidginWindow
*source
, PidginWindow
*destination
) {
61 purple_debug_info("gtk-signal-test", "conversation dragging cb\n");
65 displaying_im_msg_cb(PurpleAccount
*account
, const char *who
, char **buffer
,
66 PurpleConversation
*conv
, PurpleMessageFlags flags
, void *data
)
68 purple_debug_misc("gtk-signals test", "displaying-im-msg (%s, %s)\n",
69 purple_conversation_get_name(conv
), *buffer
);
75 displayed_im_msg_cb(PurpleAccount
*account
, const char *who
, const char *buffer
,
76 PurpleConversation
*conv
, PurpleMessageFlags flags
, void *data
)
78 purple_debug_misc("gtk-signals test", "displayed-im-msg (%s, %s)\n",
79 purple_conversation_get_name(conv
), buffer
);
83 displaying_chat_msg_cb(PurpleAccount
*account
, const char *who
, char **buffer
,
84 PurpleConversation
*conv
, PurpleMessageFlags flags
, void *data
)
86 purple_debug_misc("gtk-signals test", "displaying-chat-msg (%s, %s)\n",
87 purple_conversation_get_name(conv
), *buffer
);
93 displayed_chat_msg_cb(PurpleAccount
*account
, const char *who
, const char *buffer
,
94 PurpleConversation
*conv
, PurpleMessageFlags flags
, void *data
)
96 purple_debug_misc("gtk-signals test", "displayed-chat-msg (%s, %s)\n",
97 purple_conversation_get_name(conv
), buffer
);
101 conversation_switched_cb(PurpleConversation
*conv
, void *data
)
103 purple_debug_misc("gtk-signals test", "conversation-switched (%s)\n",
104 purple_conversation_get_name(conv
));
107 /**************************************************************************
109 **************************************************************************/
111 plugin_load(PurplePlugin
*plugin
)
113 void *accounts_handle
= pidgin_account_get_handle();
114 void *blist_handle
= pidgin_blist_get_handle();
115 void *conv_handle
= pidgin_conversations_get_handle();
117 /* Accounts subsystem signals */
118 purple_signal_connect(accounts_handle
, "account-modified",
119 plugin
, PURPLE_CALLBACK(account_modified_cb
), NULL
);
121 /* Buddy List subsystem signals */
122 purple_signal_connect(blist_handle
, "gtkblist-created",
123 plugin
, PURPLE_CALLBACK(blist_created_cb
), NULL
);
124 purple_signal_connect(blist_handle
, "drawing-tooltip",
125 plugin
, PURPLE_CALLBACK(blist_drawing_tooltip_cb
), NULL
);
127 /* Conversations subsystem signals */
128 purple_signal_connect(conv_handle
, "conversation-dragging",
129 plugin
, PURPLE_CALLBACK(conversation_dragging_cb
), NULL
);
130 purple_signal_connect(conv_handle
, "displaying-im-msg",
131 plugin
, PURPLE_CALLBACK(displaying_im_msg_cb
), NULL
);
132 purple_signal_connect(conv_handle
, "displayed-im-msg",
133 plugin
, PURPLE_CALLBACK(displayed_im_msg_cb
), NULL
);
134 purple_signal_connect(conv_handle
, "displaying-chat-msg",
135 plugin
, PURPLE_CALLBACK(displaying_chat_msg_cb
), NULL
);
136 purple_signal_connect(conv_handle
, "displayed-chat-msg",
137 plugin
, PURPLE_CALLBACK(displayed_chat_msg_cb
), NULL
);
138 purple_signal_connect(conv_handle
, "conversation-switched",
139 plugin
, PURPLE_CALLBACK(conversation_switched_cb
), NULL
);
145 plugin_unload(PurplePlugin
*plugin
) {
149 static PurplePluginInfo info
=
152 PURPLE_MAJOR_VERSION
,
153 PURPLE_MINOR_VERSION
,
154 PURPLE_PLUGIN_STANDARD
, /**< type */
155 PIDGIN_PLUGIN_TYPE
, /**< ui_requirement */
157 NULL
, /**< dependencies */
158 PURPLE_PRIORITY_DEFAULT
, /**< priority */
160 GTK_SIGNAL_TEST_PLUGIN_ID
, /**< id */
161 N_("GTK Signals Test"), /**< name */
162 DISPLAY_VERSION
, /**< version */
164 N_("Test to see that all ui signals are working properly."),
166 N_("Test to see that all ui signals are working properly."),
167 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */
168 PURPLE_WEBSITE
, /**< homepage */
170 plugin_load
, /**< load */
171 plugin_unload
, /**< unload */
172 NULL
, /**< destroy */
174 NULL
, /**< ui_info */
175 NULL
, /**< extra_info */
187 init_plugin(PurplePlugin
*plugin
)
191 PURPLE_INIT_PLUGIN(gtksignalstest
, init_plugin
, info
)