diff plugins/gtk-signals-test.c @ 9609:93211b7538d6

[gaim-migrate @ 10452] " To write this cleanly I had to add a handle, init, and uninit functions to gtkaccount.c Also, made doc/gtkaccount-signals.dox as well as update plugins/ChangeLog.API Added plugins/gtk-signals-test.c since we're starting to get some more ui signals, and it's a great place to test new signals." --Gary Kramlich committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 28 Jul 2004 00:49:22 +0000
parents
children a9fb4493ae22
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/gtk-signals-test.c	Wed Jul 28 00:49:22 2004 +0000
@@ -0,0 +1,123 @@
+/*
+ * Signals test plugin.
+ *
+ * Copyright (C) 2003 Christian Hammond.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+#define GTK_SIGNAL_TEST_PLUGIN_ID "gtk-signals-test"
+
+#include <gtk/gtk.h>
+
+#include "internal.h"
+#include "debug.h"
+
+#include "gtkaccount.h"
+#include "gtkblist.h"
+#include "gtkconv.h"
+#include "gtkplugin.h"
+
+/**************************************************************************
+ * Account subsystem signal callbacks
+ **************************************************************************/
+static void
+account_modified_cb(GaimAccount *account, void *data) {
+	gaim_debug_info("gtk-signal-test", "account modified cb\n");
+}
+
+/**************************************************************************
+ * Buddy List subsystem signal callbacks
+ **************************************************************************/
+static void
+blist_created_cb(GaimBuddyList *blist, void *data) {
+	gaim_debug_info("gtk-signal-test", "buddy list created\n");
+}
+
+static void
+blist_drawing_tooltip_cb(GaimBlistNode *node, char **text, void *data) {
+	gaim_debug_info("gtk-signal-test", "drawing tooltip cb\n");
+}
+
+/**************************************************************************
+ * Conversation subsystem signal callbacks
+ **************************************************************************/
+static void
+conversation_drag_end_cb(GaimConvWindow *source, GaimConvWindow *destination) {
+	gaim_debug_info("gtk-signal-test", "conversation drag ended cb\n");
+}
+
+/**************************************************************************
+ * Plugin stuff
+ **************************************************************************/
+static gboolean
+plugin_load(GaimPlugin *plugin)
+{
+	void *accounts_handle = gaim_gtk_account_get_handle();
+	void *blist_handle = gaim_gtk_blist_get_handle();
+	void *conv_handle = gaim_gtk_conversations_get_handle();
+
+	/* Accounts subsystem signals */
+	gaim_signal_connect(accounts_handle, "account-modified",
+						plugin, GAIM_CALLBACK(account_modified_cb), NULL);
+
+	/* Buddy List subsystem signals */
+	gaim_signal_connect(blist_handle, "gtkblist-created",
+						plugin, GAIM_CALLBACK(blist_created_cb), NULL);
+	gaim_signal_connect(blist_handle, "drawing-tooltip",
+						plugin, GAIM_CALLBACK(blist_drawing_tooltip_cb), NULL);
+
+	/* Conversations subsystem signals */
+	gaim_signal_connect(conv_handle, "conversation-drag-ended",
+						plugin, GAIM_CALLBACK(conversation_drag_end_cb), NULL);
+
+	return TRUE;
+}
+
+static GaimPluginInfo info =
+{
+	GAIM_PLUGIN_API_VERSION,                          /**< api_version    */
+	GAIM_PLUGIN_STANDARD,                             /**< type           */
+	GAIM_GTK_PLUGIN_TYPE,                             /**< ui_requirement */
+	0,                                                /**< flags          */
+	NULL,                                             /**< dependencies   */
+	GAIM_PRIORITY_DEFAULT,                            /**< priority       */
+
+	GTK_SIGNAL_TEST_PLUGIN_ID,                        /**< id             */
+	N_("GTK Signals Test"),                             /**< name           */
+	VERSION,                                          /**< version        */
+	                                                  /**  summary        */
+	N_("Test to see that all ui signals are working properly."),
+	                                                  /**  description    */
+	N_("Test to see that all ui signals are working properly."),
+	"Gary Kramlich <amc_grim@users.sf.net>",              /**< author         */
+	GAIM_WEBSITE,                                     /**< homepage       */
+
+	plugin_load,                                      /**< load           */
+	NULL,                                             /**< unload         */
+	NULL,                                             /**< destroy        */
+
+	NULL,                                             /**< ui_info        */
+	NULL,                                             /**< extra_info     */
+	NULL,
+	NULL
+};
+
+static void
+init_plugin(GaimPlugin *plugin)
+{
+}
+
+GAIM_INIT_PLUGIN(gtksignalstest, init_plugin, info)