plugins/gtk-signals-test.c

Thu, 07 Apr 2005 14:41:18 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Thu, 07 Apr 2005 14:41:18 +0000
changeset 10788
79d6a09303e7
parent 9954
52a14a58a33e
child 11033
dc68e074f10d
permissions
-rw-r--r--

[gaim-migrate @ 12429]
" You can't pass NULL as errormsg as the documentation
implies. If you do, it segfaults. Perhaps that should be
allowable, but as the code stands, it's not. The
documentation should be updated in HEAD and oldstatus
to reflect this. Attached is a patch to that effect." --rlaager

committer: Luke Schierer <lschiere@pidgin.im>

9609
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
1 /*
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
2 * Signals test plugin.
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
3 *
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
4 * Copyright (C) 2003 Christian Hammond.
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
5 *
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
9 * License, or (at your option) any later version.
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
10 *
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful, but
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
14 * General Public License for more details.
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
15 *
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
19 * 02111-1307, USA.
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
20 */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
21 #define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test"
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
22
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
23 #include <gtk/gtk.h>
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
24
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
25 #include "internal.h"
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
26 #include "debug.h"
9954
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
27 #include "version.h"
9609
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
28
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
29 #include "gtkaccount.h"
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
30 #include "gtkblist.h"
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
31 #include "gtkconv.h"
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
32 #include "gtkplugin.h"
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
33
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
34 /**************************************************************************
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
35 * Account subsystem signal callbacks
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
36 **************************************************************************/
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
37 static void
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
38 account_modified_cb(GaimAccount *account, void *data) {
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
39 gaim_debug_info("gtk-signal-test", "account modified cb\n");
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
40 }
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
41
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
42 /**************************************************************************
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
43 * Buddy List subsystem signal callbacks
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
44 **************************************************************************/
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
45 static void
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
46 blist_created_cb(GaimBuddyList *blist, void *data) {
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
47 gaim_debug_info("gtk-signal-test", "buddy list created\n");
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
48 }
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
49
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
50 static void
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
51 blist_drawing_tooltip_cb(GaimBlistNode *node, char **text, void *data) {
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
52 gaim_debug_info("gtk-signal-test", "drawing tooltip cb\n");
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
53 }
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
54
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
55 /**************************************************************************
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
56 * Conversation subsystem signal callbacks
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
57 **************************************************************************/
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
58 static void
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
59 conversation_drag_end_cb(GaimConvWindow *source, GaimConvWindow *destination) {
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
60 gaim_debug_info("gtk-signal-test", "conversation drag ended cb\n");
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
61 }
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
62
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
63 /**************************************************************************
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
64 * Plugin stuff
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
65 **************************************************************************/
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
66 static gboolean
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
67 plugin_load(GaimPlugin *plugin)
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
68 {
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
69 void *accounts_handle = gaim_gtk_account_get_handle();
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
70 void *blist_handle = gaim_gtk_blist_get_handle();
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
71 void *conv_handle = gaim_gtk_conversations_get_handle();
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
72
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
73 /* Accounts subsystem signals */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
74 gaim_signal_connect(accounts_handle, "account-modified",
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
75 plugin, GAIM_CALLBACK(account_modified_cb), NULL);
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
76
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
77 /* Buddy List subsystem signals */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
78 gaim_signal_connect(blist_handle, "gtkblist-created",
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
79 plugin, GAIM_CALLBACK(blist_created_cb), NULL);
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
80 gaim_signal_connect(blist_handle, "drawing-tooltip",
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
81 plugin, GAIM_CALLBACK(blist_drawing_tooltip_cb), NULL);
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
82
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
83 /* Conversations subsystem signals */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
84 gaim_signal_connect(conv_handle, "conversation-drag-ended",
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
85 plugin, GAIM_CALLBACK(conversation_drag_end_cb), NULL);
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
86
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
87 return TRUE;
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
88 }
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
89
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
90 static GaimPluginInfo info =
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
91 {
9954
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
92 GAIM_PLUGIN_MAGIC,
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
93 GAIM_MAJOR_VERSION,
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
94 GAIM_MINOR_VERSION,
9609
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
95 GAIM_PLUGIN_STANDARD, /**< type */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
96 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
97 0, /**< flags */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
98 NULL, /**< dependencies */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
99 GAIM_PRIORITY_DEFAULT, /**< priority */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
100
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
101 GTK_SIGNAL_TEST_PLUGIN_ID, /**< id */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
102 N_("GTK Signals Test"), /**< name */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
103 VERSION, /**< version */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
104 /** summary */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
105 N_("Test to see that all ui signals are working properly."),
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
106 /** description */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
107 N_("Test to see that all ui signals are working properly."),
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
108 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
109 GAIM_WEBSITE, /**< homepage */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
110
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
111 plugin_load, /**< load */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
112 NULL, /**< unload */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
113 NULL, /**< destroy */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
114
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
115 NULL, /**< ui_info */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
116 NULL, /**< extra_info */
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
117 NULL,
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
118 NULL
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
119 };
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
120
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
121 static void
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
122 init_plugin(GaimPlugin *plugin)
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
123 {
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
124 }
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
125
509595c974af [gaim-migrate @ 10452]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
126 GAIM_INIT_PLUGIN(gtksignalstest, init_plugin, info)

mercurial