annotate plugins/gtk-signals-test.c @ 11249:b4b1be482b4e

[gaim-migrate @ 13418] sf patch #1235519, from Sadrul Habib Chowdhury This is a pretty big patch that makes Gaim correctly save and restore the current status (away/available, away message, available message, invisible, etc). The GaimGtkStatusBoxWidget thing I think defaults to "Available" every time its created, which overrides the setting that was saved to the XML file. So that still needs to be fixed before this will really work. Anyway, mad props to Sadrul for putting up with my requests on this patch committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 13 Aug 2005 05:22:09 +0000
parents 50224ac8184d
children bb0d7b719af2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9609
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
1 /*
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
2 * Signals test plugin.
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
3 *
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
4 * Copyright (C) 2003 Christian Hammond.
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
5 *
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
9 * License, or (at your option) any later version.
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
10 *
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful, but
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
14 * General Public License for more details.
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
15 *
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
19 * 02111-1307, USA.
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
20 */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
21 #define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test"
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
22
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
23 #include <gtk/gtk.h>
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
24
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
25 #include "internal.h"
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
26 #include "debug.h"
9954
a9fb4493ae22 [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
27 #include "version.h"
9609
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
28
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
29 #include "gtkaccount.h"
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
30 #include "gtkblist.h"
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
31 #include "gtkconv.h"
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
32 #include "gtkplugin.h"
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
33
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
34 /**************************************************************************
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
35 * Account subsystem signal callbacks
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
36 **************************************************************************/
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
37 static void
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
38 account_modified_cb(GaimAccount *account, void *data) {
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
39 gaim_debug_info("gtk-signal-test", "account modified cb\n");
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
40 }
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
41
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
42 /**************************************************************************
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
43 * Buddy List subsystem signal callbacks
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
44 **************************************************************************/
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
45 static void
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
46 blist_created_cb(GaimBuddyList *blist, void *data) {
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
47 gaim_debug_info("gtk-signal-test", "buddy list created\n");
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
48 }
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
49
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
50 static void
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
51 blist_drawing_tooltip_cb(GaimBlistNode *node, char **text, void *data) {
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
52 gaim_debug_info("gtk-signal-test", "drawing tooltip cb\n");
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
53 }
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
54
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
55 /**************************************************************************
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
56 * Conversation subsystem signal callbacks
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
57 **************************************************************************/
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
58 static void
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
59 conversation_drag_end_cb(GaimConvWindow *source, GaimConvWindow *destination) {
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
60 gaim_debug_info("gtk-signal-test", "conversation drag ended cb\n");
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
61 }
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
62
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
63 /**************************************************************************
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
64 * Plugin stuff
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
65 **************************************************************************/
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
66 static gboolean
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
67 plugin_load(GaimPlugin *plugin)
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
68 {
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
69 void *accounts_handle = gaim_gtk_account_get_handle();
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
70 void *blist_handle = gaim_gtk_blist_get_handle();
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
71 void *conv_handle = gaim_gtk_conversations_get_handle();
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
72
11033
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
73 gaim_debug_register_category("gtk-signal-test");
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
74
9609
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
75 /* Accounts subsystem signals */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
76 gaim_signal_connect(accounts_handle, "account-modified",
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
77 plugin, GAIM_CALLBACK(account_modified_cb), NULL);
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
78
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
79 /* Buddy List subsystem signals */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
80 gaim_signal_connect(blist_handle, "gtkblist-created",
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
81 plugin, GAIM_CALLBACK(blist_created_cb), NULL);
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
82 gaim_signal_connect(blist_handle, "drawing-tooltip",
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
83 plugin, GAIM_CALLBACK(blist_drawing_tooltip_cb), NULL);
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
84
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
85 /* Conversations subsystem signals */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
86 gaim_signal_connect(conv_handle, "conversation-drag-ended",
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
87 plugin, GAIM_CALLBACK(conversation_drag_end_cb), NULL);
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
88
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
89 return TRUE;
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
90 }
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
91
11033
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
92 static gboolean
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
93 plugin_unload(GaimPlugin *plugin)
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
94 {
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
95 gaim_debug_unregister_category("gtk-signal-test");
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
96 }
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
97
9609
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
98 static GaimPluginInfo info =
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
99 {
9954
a9fb4493ae22 [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
100 GAIM_PLUGIN_MAGIC,
a9fb4493ae22 [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
101 GAIM_MAJOR_VERSION,
a9fb4493ae22 [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9609
diff changeset
102 GAIM_MINOR_VERSION,
9609
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
103 GAIM_PLUGIN_STANDARD, /**< type */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
104 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
105 0, /**< flags */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
106 NULL, /**< dependencies */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
107 GAIM_PRIORITY_DEFAULT, /**< priority */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
108
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
109 GTK_SIGNAL_TEST_PLUGIN_ID, /**< id */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
110 N_("GTK Signals Test"), /**< name */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
111 VERSION, /**< version */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
112 /** summary */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
113 N_("Test to see that all ui signals are working properly."),
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
114 /** description */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
115 N_("Test to see that all ui signals are working properly."),
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
116 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
117 GAIM_WEBSITE, /**< homepage */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
118
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
119 plugin_load, /**< load */
11033
50224ac8184d [gaim-migrate @ 12919]
Etan Reisner <pidgin@unreliablesource.net>
parents: 9954
diff changeset
120 plugin_unload, /**< unload */
9609
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
121 NULL, /**< destroy */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
122
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
123 NULL, /**< ui_info */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
124 NULL, /**< extra_info */
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
125 NULL,
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
126 NULL
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
127 };
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
128
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
129 static void
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
130 init_plugin(GaimPlugin *plugin)
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
131 {
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
132 }
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
133
93211b7538d6 [gaim-migrate @ 10452]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
134 GAIM_INIT_PLUGIN(gtksignalstest, init_plugin, info)