diff finch/gntblist.c @ 15823:32c366eeeb99

sed -ie 's/gaim/purple/g'
author Sean Egan <seanegan@gmail.com>
date Mon, 19 Mar 2007 07:01:17 +0000
parents 0e3a8505ebbe
children e74c2488448b
line wrap: on
line diff
--- a/finch/gntblist.c	Mon Mar 19 06:11:46 2007 +0000
+++ b/finch/gntblist.c	Mon Mar 19 07:01:17 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntblist.c GNT BuddyList API
  * @ingroup gntui
  *
- * gaim
+ * purple
  *
- * Gaim is the legal property of its developers, whose names are too numerous
+ * Purple is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -33,7 +33,7 @@
 #include <util.h>
 #include "debug.h"
 
-#include "gntgaim.h"
+#include "finch.h"
 #include "gntbox.h"
 #include "gntcombobox.h"
 #include "gntentry.h"
@@ -53,7 +53,7 @@
 #include "gntstatus.h"
 #include <string.h>
 
-#define PREF_ROOT "/gaim/gnt/blist"
+#define PREF_ROOT "/purple/gnt/blist"
 #define TYPING_TIMEOUT 4000
 
 typedef struct
@@ -62,11 +62,11 @@
 	GntWidget *tree;
 
 	GntWidget *tooltip;
-	GaimBlistNode *tnode;		/* Who is the tooltip being displayed for? */
+	PurpleBlistNode *tnode;		/* Who is the tooltip being displayed for? */
 	GList *tagged;          /* A list of tagged blistnodes */
 
 	GntWidget *context;
-	GaimBlistNode *cnode;
+	PurpleBlistNode *cnode;
 
 	/* XXX: I am KISSing */
 	GntWidget *status;          /* Dropdown with the statuses  */
@@ -92,71 +92,71 @@
 	StatusType type;
 	union
 	{
-		GaimStatusPrimitive prim;
-		GaimSavedStatus *saved;
+		PurpleStatusPrimitive prim;
+		PurpleSavedStatus *saved;
 	} u;
 } StatusBoxItem;
 
 FinchBlist *ggblist;
 
-static void add_buddy(GaimBuddy *buddy, FinchBlist *ggblist);
-static void add_contact(GaimContact *contact, FinchBlist *ggblist);
-static void add_group(GaimGroup *group, FinchBlist *ggblist);
-static void add_chat(GaimChat *chat, FinchBlist *ggblist);
-static void add_node(GaimBlistNode *node, FinchBlist *ggblist);
+static void add_buddy(PurpleBuddy *buddy, FinchBlist *ggblist);
+static void add_contact(PurpleContact *contact, FinchBlist *ggblist);
+static void add_group(PurpleGroup *group, FinchBlist *ggblist);
+static void add_chat(PurpleChat *chat, FinchBlist *ggblist);
+static void add_node(PurpleBlistNode *node, FinchBlist *ggblist);
 static void draw_tooltip(FinchBlist *ggblist);
 static gboolean remove_typing_cb(gpointer null);
 static void remove_peripherals(FinchBlist *ggblist);
-static const char * get_display_name(GaimBlistNode *node);
-static void savedstatus_changed(GaimSavedStatus *now, GaimSavedStatus *old);
-static void blist_show(GaimBuddyList *list);
-static void update_buddy_display(GaimBuddy *buddy, FinchBlist *ggblist);
+static const char * get_display_name(PurpleBlistNode *node);
+static void savedstatus_changed(PurpleSavedStatus *now, PurpleSavedStatus *old);
+static void blist_show(PurpleBuddyList *list);
+static void update_buddy_display(PurpleBuddy *buddy, FinchBlist *ggblist);
 static void account_signed_on_cb(void);
 
 /* Sort functions */
-static int blist_node_compare_text(GaimBlistNode *n1, GaimBlistNode *n2);
-static int blist_node_compare_status(GaimBlistNode *n1, GaimBlistNode *n2);
-static int blist_node_compare_log(GaimBlistNode *n1, GaimBlistNode *n2);
+static int blist_node_compare_text(PurpleBlistNode *n1, PurpleBlistNode *n2);
+static int blist_node_compare_status(PurpleBlistNode *n1, PurpleBlistNode *n2);
+static int blist_node_compare_log(PurpleBlistNode *n1, PurpleBlistNode *n2);
 
 static gboolean
-is_contact_online(GaimContact *contact)
+is_contact_online(PurpleContact *contact)
 {
-	GaimBlistNode *node;
-	for (node = ((GaimBlistNode*)contact)->child; node; node = node->next) {
-		if (GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node))
+	PurpleBlistNode *node;
+	for (node = ((PurpleBlistNode*)contact)->child; node; node = node->next) {
+		if (PURPLE_BUDDY_IS_ONLINE((PurpleBuddy*)node))
 			return TRUE;
 	}
 	return FALSE;
 }
 
 static gboolean
-is_group_online(GaimGroup *group)
+is_group_online(PurpleGroup *group)
 {
-	GaimBlistNode *node;
-	for (node = ((GaimBlistNode*)group)->child; node; node = node->next) {
-		if (GAIM_BLIST_NODE_IS_CHAT(node))
+	PurpleBlistNode *node;
+	for (node = ((PurpleBlistNode*)group)->child; node; node = node->next) {
+		if (PURPLE_BLIST_NODE_IS_CHAT(node))
 			return TRUE;
-		else if (is_contact_online((GaimContact*)node))
+		else if (is_contact_online((PurpleContact*)node))
 			return TRUE;
 	}
 	return FALSE;
 }
 
 static void
-new_node(GaimBlistNode *node)
+new_node(PurpleBlistNode *node)
 {
 }
 
-static void add_node(GaimBlistNode *node, FinchBlist *ggblist)
+static void add_node(PurpleBlistNode *node, FinchBlist *ggblist)
 {
-	if (GAIM_BLIST_NODE_IS_BUDDY(node))
-		add_buddy((GaimBuddy*)node, ggblist);
-	else if (GAIM_BLIST_NODE_IS_CONTACT(node))
-		add_contact((GaimContact*)node, ggblist);
-	else if (GAIM_BLIST_NODE_IS_GROUP(node))
-		add_group((GaimGroup*)node, ggblist);
-	else if (GAIM_BLIST_NODE_IS_CHAT(node))
-		add_chat((GaimChat *)node, ggblist);
+	if (PURPLE_BLIST_NODE_IS_BUDDY(node))
+		add_buddy((PurpleBuddy*)node, ggblist);
+	else if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+		add_contact((PurpleContact*)node, ggblist);
+	else if (PURPLE_BLIST_NODE_IS_GROUP(node))
+		add_group((PurpleGroup*)node, ggblist);
+	else if (PURPLE_BLIST_NODE_IS_CHAT(node))
+		add_chat((PurpleChat *)node, ggblist);
 	draw_tooltip(ggblist);
 }
 
@@ -169,7 +169,7 @@
 }
 
 static void
-node_remove(GaimBuddyList *list, GaimBlistNode *node)
+node_remove(PurpleBuddyList *list, PurpleBlistNode *node)
 {
 	FinchBlist *ggblist = list->ui_data;
 
@@ -181,14 +181,14 @@
 	if (ggblist->tagged)
 		ggblist->tagged = g_list_remove(ggblist->tagged, node);
 
-	if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
-		GaimContact *contact = (GaimContact*)node->parent;
-		if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_contact_online(contact)) ||
+	if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
+		PurpleContact *contact = (PurpleContact*)node->parent;
+		if ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_contact_online(contact)) ||
 				contact->currentsize < 1)
-			node_remove(list, (GaimBlistNode*)contact);
-	} else if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
-		GaimGroup *group = (GaimGroup*)node->parent;
-		if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) ||
+			node_remove(list, (PurpleBlistNode*)contact);
+	} else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
+		PurpleGroup *group = (PurpleGroup*)node->parent;
+		if ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) ||
 				group->currentsize < 1)
 			node_remove(list, node->parent);
 		for (node = node->child; node; node = node->next)
@@ -199,7 +199,7 @@
 }
 
 static void
-node_update(GaimBuddyList *list, GaimBlistNode *node)
+node_update(PurpleBuddyList *list, PurpleBlistNode *node)
 {
 	/* It really looks like this should never happen ... but it does.
            This will at least emit a warning to the log when it
@@ -215,34 +215,34 @@
 		gnt_tree_sort_row(GNT_TREE(ggblist->tree), node);
 	}
 
-	if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
-		GaimBuddy *buddy = (GaimBuddy*)node;
-		if (gaim_account_is_connected(buddy->account) &&
-				(GAIM_BUDDY_IS_ONLINE(buddy) || gaim_prefs_get_bool(PREF_ROOT "/showoffline")))
-			add_node((GaimBlistNode*)buddy, list->ui_data);
+	if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
+		PurpleBuddy *buddy = (PurpleBuddy*)node;
+		if (purple_account_is_connected(buddy->account) &&
+				(PURPLE_BUDDY_IS_ONLINE(buddy) || purple_prefs_get_bool(PREF_ROOT "/showoffline")))
+			add_node((PurpleBlistNode*)buddy, list->ui_data);
 		else
-			node_remove(gaim_get_blist(), node);
+			node_remove(purple_get_blist(), node);
 
 		node_update(list, node->parent);
-	} else if (GAIM_BLIST_NODE_IS_CHAT(node)) {
-		add_chat((GaimChat *)node, list->ui_data);
-	} else if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
-		GaimContact *contact = (GaimContact*)node;
-		if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_contact_online(contact)) ||
+	} else if (PURPLE_BLIST_NODE_IS_CHAT(node)) {
+		add_chat((PurpleChat *)node, list->ui_data);
+	} else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
+		PurpleContact *contact = (PurpleContact*)node;
+		if ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_contact_online(contact)) ||
 				contact->currentsize < 1)
-			node_remove(gaim_get_blist(), node);
+			node_remove(purple_get_blist(), node);
 		else
 			add_node(node, list->ui_data);
-	} else if (GAIM_BLIST_NODE_IS_GROUP(node)) {
-		GaimGroup *group = (GaimGroup*)node;
-		if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) ||
+	} else if (PURPLE_BLIST_NODE_IS_GROUP(node)) {
+		PurpleGroup *group = (PurpleGroup*)node;
+		if ((!purple_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) ||
 				group->currentsize < 1)
 			node_remove(list, node);
 	}
 }
 
 static void
-new_list(GaimBuddyList *list)
+new_list(PurpleBuddyList *list)
 {
 	if (ggblist)
 		return;
@@ -252,15 +252,15 @@
 }
 
 static void
-add_buddy_cb(void *data, GaimRequestFields *allfields)
+add_buddy_cb(void *data, PurpleRequestFields *allfields)
 {
-	const char *username = gaim_request_fields_get_string(allfields, "screenname");
-	const char *alias = gaim_request_fields_get_string(allfields, "alias");
-	const char *group = gaim_request_fields_get_string(allfields, "group");
-	GaimAccount *account = gaim_request_fields_get_account(allfields, "account");
+	const char *username = purple_request_fields_get_string(allfields, "screenname");
+	const char *alias = purple_request_fields_get_string(allfields, "alias");
+	const char *group = purple_request_fields_get_string(allfields, "group");
+	PurpleAccount *account = purple_request_fields_get_account(allfields, "account");
 	const char *error = NULL;
-	GaimGroup *grp;
-	GaimBuddy *buddy;
+	PurpleGroup *grp;
+	PurpleBuddy *buddy;
 
 	if (!username)
 		error = _("You must provide a screename for the buddy.");
@@ -271,113 +271,113 @@
 
 	if (error)
 	{
-		gaim_notify_error(NULL, _("Error"), _("Error adding buddy"), error);
+		purple_notify_error(NULL, _("Error"), _("Error adding buddy"), error);
 		return;
 	}
 
-	grp = gaim_find_group(group);
+	grp = purple_find_group(group);
 	if (!grp)
 	{
-		grp = gaim_group_new(group);
-		gaim_blist_add_group(grp, NULL);
+		grp = purple_group_new(group);
+		purple_blist_add_group(grp, NULL);
 	}
 
-	buddy = gaim_buddy_new(account, username, alias);
-	gaim_blist_add_buddy(buddy, NULL, grp, NULL);
-	gaim_account_add_buddy(account, buddy);
+	buddy = purple_buddy_new(account, username, alias);
+	purple_blist_add_buddy(buddy, NULL, grp, NULL);
+	purple_account_add_buddy(account, buddy);
 }
 
 static void
-finch_request_add_buddy(GaimAccount *account, const char *username, const char *grp, const char *alias)
+finch_request_add_buddy(PurpleAccount *account, const char *username, const char *grp, const char *alias)
 {
-	GaimRequestFields *fields = gaim_request_fields_new();
-	GaimRequestFieldGroup *group = gaim_request_field_group_new(NULL);
-	GaimRequestField *field;
+	PurpleRequestFields *fields = purple_request_fields_new();
+	PurpleRequestFieldGroup *group = purple_request_field_group_new(NULL);
+	PurpleRequestField *field;
 
-	gaim_request_fields_add_group(fields, group);
+	purple_request_fields_add_group(fields, group);
 
-	field = gaim_request_field_string_new("screenname", _("Screen Name"), username, FALSE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("screenname", _("Screen Name"), username, FALSE);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_string_new("alias", _("Alias"), alias, FALSE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("alias", _("Alias"), alias, FALSE);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_string_new("group", _("Group"), grp, FALSE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("group", _("Group"), grp, FALSE);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_account_new("account", _("Account"), NULL);
-	gaim_request_field_account_set_show_all(field, FALSE);
+	field = purple_request_field_account_new("account", _("Account"), NULL);
+	purple_request_field_account_set_show_all(field, FALSE);
 	if (account)
-		gaim_request_field_account_set_value(field, account);
-	gaim_request_field_group_add_field(group, field);
+		purple_request_field_account_set_value(field, account);
+	purple_request_field_group_add_field(group, field);
 
-	gaim_request_fields(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."),
+	purple_request_fields(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."),
 			fields, _("Add"), G_CALLBACK(add_buddy_cb), _("Cancel"), NULL, NULL);
 }
 
 static void
-add_chat_cb(void *data, GaimRequestFields *allfields)
+add_chat_cb(void *data, PurpleRequestFields *allfields)
 {
-	GaimAccount *account;
+	PurpleAccount *account;
 	const char *alias, *name, *group;
-	GaimChat *chat;
-	GaimGroup *grp;
+	PurpleChat *chat;
+	PurpleGroup *grp;
 	GHashTable *hash = NULL;
-	GaimConnection *gc;
+	PurpleConnection *gc;
 
-	account = gaim_request_fields_get_account(allfields, "account");
-	name = gaim_request_fields_get_string(allfields, "name");
-	alias = gaim_request_fields_get_string(allfields, "alias");
-	group = gaim_request_fields_get_string(allfields, "group");
+	account = purple_request_fields_get_account(allfields, "account");
+	name = purple_request_fields_get_string(allfields, "name");
+	alias = purple_request_fields_get_string(allfields, "alias");
+	group = purple_request_fields_get_string(allfields, "group");
 
-	if (!gaim_account_is_connected(account) || !name || !*name)
+	if (!purple_account_is_connected(account) || !name || !*name)
 		return;
 	
 	if (!group || !*group)
 		group = _("Chats");
 
-	gc = gaim_account_get_connection(account);
+	gc = purple_account_get_connection(account);
 
-	if (GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults != NULL)
-		hash = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults(gc, name);
+	if (PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults != NULL)
+		hash = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults(gc, name);
 	
-	chat = gaim_chat_new(account, name, hash);
+	chat = purple_chat_new(account, name, hash);
 
 	if (chat != NULL) {
-		if ((grp = gaim_find_group(group)) == NULL) {
-			grp = gaim_group_new(group);
-			gaim_blist_add_group(grp, NULL);
+		if ((grp = purple_find_group(group)) == NULL) {
+			grp = purple_group_new(group);
+			purple_blist_add_group(grp, NULL);
 		}
-		gaim_blist_add_chat(chat, grp, NULL);
-		gaim_blist_alias_chat(chat, alias);
+		purple_blist_add_chat(chat, grp, NULL);
+		purple_blist_alias_chat(chat, alias);
 	}
 }
 
 static void
-finch_request_add_chat(GaimAccount *account, GaimGroup *grp, const char *alias, const char *name)
+finch_request_add_chat(PurpleAccount *account, PurpleGroup *grp, const char *alias, const char *name)
 {
-	GaimRequestFields *fields = gaim_request_fields_new();
-	GaimRequestFieldGroup *group = gaim_request_field_group_new(NULL);
-	GaimRequestField *field;
+	PurpleRequestFields *fields = purple_request_fields_new();
+	PurpleRequestFieldGroup *group = purple_request_field_group_new(NULL);
+	PurpleRequestField *field;
 
-	gaim_request_fields_add_group(fields, group);
+	purple_request_fields_add_group(fields, group);
 
-	field = gaim_request_field_account_new("account", _("Account"), NULL);
-	gaim_request_field_account_set_show_all(field, FALSE);
+	field = purple_request_field_account_new("account", _("Account"), NULL);
+	purple_request_field_account_set_show_all(field, FALSE);
 	if (account)
-		gaim_request_field_account_set_value(field, account);
-	gaim_request_field_group_add_field(group, field);
+		purple_request_field_account_set_value(field, account);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_string_new("name", _("Name"), name, FALSE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("name", _("Name"), name, FALSE);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_string_new("alias", _("Alias"), alias, FALSE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("alias", _("Alias"), alias, FALSE);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_string_new("group", _("Group"), grp ? grp->name : NULL, FALSE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("group", _("Group"), grp ? grp->name : NULL, FALSE);
+	purple_request_field_group_add_field(group, field);
 
-	gaim_request_fields(NULL, _("Add Chat"), NULL,
+	purple_request_fields(NULL, _("Add Chat"), NULL,
 			_("You can edit more information from the context menu later."),
 			fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, NULL);
 }
@@ -385,24 +385,24 @@
 static void
 add_group_cb(gpointer null, const char *group)
 {
-	GaimGroup *grp;
+	PurpleGroup *grp;
 
 	if (!group || !*group)
 	{
-		gaim_notify_error(NULL, _("Error"), _("Error adding group"),
+		purple_notify_error(NULL, _("Error"), _("Error adding group"),
 				_("You must give a name for the group to add."));
 		return;
 	}
 
-	grp = gaim_find_group(group);
+	grp = purple_find_group(group);
 	if (!grp)
 	{
-		grp = gaim_group_new(group);
-		gaim_blist_add_group(grp, NULL);
+		grp = purple_group_new(group);
+		purple_blist_add_group(grp, NULL);
 	}
 	else
 	{
-		gaim_notify_error(NULL, _("Error"), _("Error adding group"),
+		purple_notify_error(NULL, _("Error"), _("Error adding group"),
 				_("A group with the name already exists."));
 	}
 }
@@ -410,12 +410,12 @@
 static void
 finch_request_add_group()
 {
-	gaim_request_input(NULL, _("Add Group"), NULL, _("Enter the name of the group"),
+	purple_request_input(NULL, _("Add Group"), NULL, _("Enter the name of the group"),
 			NULL, FALSE, FALSE, NULL,
 			_("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, NULL);
 }
 
-static GaimBlistUiOps blist_ui_ops =
+static PurpleBlistUiOps blist_ui_ops =
 {
 	new_list,
 	new_node,
@@ -438,9 +438,9 @@
 }
 
 static void
-add_group(GaimGroup *group, FinchBlist *ggblist)
+add_group(PurpleGroup *group, FinchBlist *ggblist)
 {
-	GaimBlistNode *node = (GaimBlistNode *)group;
+	PurpleBlistNode *node = (PurpleBlistNode *)group;
 	if (node->ui_data)
 		return;
 	node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), group,
@@ -448,54 +448,54 @@
 }
 
 static const char *
-get_display_name(GaimBlistNode *node)
+get_display_name(PurpleBlistNode *node)
 {
 	static char text[2096];
 	char status[8] = " ";
 	const char *name = NULL;
 
-	if (GAIM_BLIST_NODE_IS_CONTACT(node))
-		node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node);  /* XXX: this can return NULL?! */
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+		node = (PurpleBlistNode*)purple_contact_get_priority_buddy((PurpleContact*)node);  /* XXX: this can return NULL?! */
 	
 	if (node == NULL)
 		return NULL;
 
-	if (GAIM_BLIST_NODE_IS_BUDDY(node))
+	if (PURPLE_BLIST_NODE_IS_BUDDY(node))
 	{
-		GaimBuddy *buddy = (GaimBuddy *)node;
-		GaimStatusPrimitive prim;
-		GaimPresence *presence;
-		GaimStatus *now;
+		PurpleBuddy *buddy = (PurpleBuddy *)node;
+		PurpleStatusPrimitive prim;
+		PurplePresence *presence;
+		PurpleStatus *now;
 		gboolean ascii = gnt_ascii_only();
 		
-		presence = gaim_buddy_get_presence(buddy);
-		now = gaim_presence_get_active_status(presence);
+		presence = purple_buddy_get_presence(buddy);
+		now = purple_presence_get_active_status(presence);
 
-		prim = gaim_status_type_get_primitive(gaim_status_get_type(now));
+		prim = purple_status_type_get_primitive(purple_status_get_type(now));
 
 		switch(prim)
 		{
-			case GAIM_STATUS_OFFLINE:
+			case PURPLE_STATUS_OFFLINE:
 				strncpy(status, ascii ? "x" : "⊗", sizeof(status) - 1);
 				break;
-			case GAIM_STATUS_AVAILABLE:
+			case PURPLE_STATUS_AVAILABLE:
 				strncpy(status, ascii ? "o" : "◯", sizeof(status) - 1);
 				break;
 			default:
 				strncpy(status, ascii ? "." : "⊖", sizeof(status) - 1);
 				break;
 		}
-		name = gaim_buddy_get_alias(buddy);
+		name = purple_buddy_get_alias(buddy);
 	}
-	else if (GAIM_BLIST_NODE_IS_CHAT(node))
+	else if (PURPLE_BLIST_NODE_IS_CHAT(node))
 	{
-		GaimChat *chat = (GaimChat*)node;
-		name = gaim_chat_get_name(chat);
+		PurpleChat *chat = (PurpleChat*)node;
+		name = purple_chat_get_name(chat);
 
 		strncpy(status, "~", sizeof(status) - 1);
 	}
-	else if (GAIM_BLIST_NODE_IS_GROUP(node))
-		return ((GaimGroup*)node)->name;
+	else if (PURPLE_BLIST_NODE_IS_GROUP(node))
+		return ((PurpleGroup*)node)->name;
 
 	snprintf(text, sizeof(text) - 1, "%s %s", status, name);
 
@@ -503,17 +503,17 @@
 }
 
 static void
-add_chat(GaimChat *chat, FinchBlist *ggblist)
+add_chat(PurpleChat *chat, FinchBlist *ggblist)
 {
-	GaimGroup *group;
-	GaimBlistNode *node = (GaimBlistNode *)chat;
+	PurpleGroup *group;
+	PurpleBlistNode *node = (PurpleBlistNode *)chat;
 	if (node->ui_data)
 		return;
-	if (!gaim_account_is_connected(chat->account))
+	if (!purple_account_is_connected(chat->account))
 		return;
 
-	group = gaim_chat_get_group(chat);
-	add_node((GaimBlistNode*)group, ggblist);
+	group = purple_chat_get_group(chat);
+	add_node((PurpleBlistNode*)group, ggblist);
 
 	node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), chat,
 				gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)),
@@ -521,10 +521,10 @@
 }
 
 static void
-add_contact(GaimContact *contact, FinchBlist *ggblist)
+add_contact(PurpleContact *contact, FinchBlist *ggblist)
 {
-	GaimGroup *group;
-	GaimBlistNode *node = (GaimBlistNode*)contact;
+	PurpleGroup *group;
+	PurpleBlistNode *node = (PurpleBlistNode*)contact;
 	const char *name;
 
 	if (node->ui_data)
@@ -534,8 +534,8 @@
 	if (name == NULL)
 		return;
 	
-	group = (GaimGroup*)node->parent;
-	add_node((GaimBlistNode*)group, ggblist);
+	group = (PurpleGroup*)node->parent;
+	add_node((PurpleBlistNode*)group, ggblist);
 
 	node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), contact,
 				gnt_tree_create_row(GNT_TREE(ggblist->tree), name),
@@ -545,22 +545,22 @@
 }
 
 static void
-add_buddy(GaimBuddy *buddy, FinchBlist *ggblist)
+add_buddy(PurpleBuddy *buddy, FinchBlist *ggblist)
 {
-	GaimContact *contact;
-	GaimBlistNode *node = (GaimBlistNode *)buddy;
+	PurpleContact *contact;
+	PurpleBlistNode *node = (PurpleBlistNode *)buddy;
 	if (node->ui_data)
 		return;
 
-	contact = (GaimContact*)node->parent;
+	contact = (PurpleContact*)node->parent;
 	if (!contact)   /* When a new buddy is added and show-offline is set */
 		return;
-	add_node((GaimBlistNode*)contact, ggblist);
+	add_node((PurpleBlistNode*)contact, ggblist);
 
 	node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), buddy,
 				gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)),
 				contact, NULL);
-	if (gaim_presence_is_idle(gaim_buddy_get_presence(buddy))) {
+	if (purple_presence_is_idle(purple_buddy_get_presence(buddy))) {
 		gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), buddy, GNT_TEXT_FLAG_DIM);
 		gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), contact, GNT_TEXT_FLAG_DIM);
 	} else {
@@ -571,19 +571,19 @@
 
 #if 0
 static void
-buddy_signed_on(GaimBuddy *buddy, FinchBlist *ggblist)
+buddy_signed_on(PurpleBuddy *buddy, FinchBlist *ggblist)
 {
-	add_node((GaimBlistNode*)buddy, ggblist);
+	add_node((PurpleBlistNode*)buddy, ggblist);
 }
 
 static void
-buddy_signed_off(GaimBuddy *buddy, FinchBlist *ggblist)
+buddy_signed_off(PurpleBuddy *buddy, FinchBlist *ggblist)
 {
-	node_remove(gaim_get_blist(), (GaimBlistNode*)buddy);
+	node_remove(purple_get_blist(), (PurpleBlistNode*)buddy);
 }
 #endif
 
-GaimBlistUiOps *finch_blist_get_ui_ops()
+PurpleBlistUiOps *finch_blist_get_ui_ops()
 {
 	return &blist_ui_ops;
 }
@@ -592,25 +592,25 @@
 selection_activate(GntWidget *widget, FinchBlist *ggblist)
 {
 	GntTree *tree = GNT_TREE(ggblist->tree);
-	GaimBlistNode *node = gnt_tree_get_selection_data(tree);
+	PurpleBlistNode *node = gnt_tree_get_selection_data(tree);
 
 	if (!node)
 		return;
 	
-	if (GAIM_BLIST_NODE_IS_CONTACT(node))
-		node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node);
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+		node = (PurpleBlistNode*)purple_contact_get_priority_buddy((PurpleContact*)node);
 
-	if (GAIM_BLIST_NODE_IS_BUDDY(node))
+	if (PURPLE_BLIST_NODE_IS_BUDDY(node))
 	{
-		GaimBuddy *buddy = (GaimBuddy *)node;
-		GaimConversation *conv =  gaim_conversation_new(GAIM_CONV_TYPE_IM,
-					gaim_buddy_get_account(buddy),
-					gaim_buddy_get_name(buddy));
+		PurpleBuddy *buddy = (PurpleBuddy *)node;
+		PurpleConversation *conv =  purple_conversation_new(PURPLE_CONV_TYPE_IM,
+					purple_buddy_get_account(buddy),
+					purple_buddy_get_name(buddy));
 		finch_conversation_set_active(conv);
 	}
-	else if (GAIM_BLIST_NODE_IS_CHAT(node))
+	else if (PURPLE_BLIST_NODE_IS_CHAT(node))
 	{
-		GaimChat *chat = (GaimChat*)node;
+		PurpleChat *chat = (PurpleChat*)node;
 		serv_join_chat(chat->account->gc, chat->components);
 	}
 }
@@ -618,11 +618,11 @@
 static void
 context_menu_callback(GntMenuItem *item, gpointer data)
 {
-	GaimMenuAction *action = data;
-	GaimBlistNode *node = ggblist->cnode;
+	PurpleMenuAction *action = data;
+	PurpleBlistNode *node = ggblist->cnode;
 	if (action) {
-		void (*callback)(GaimBlistNode *, gpointer);
-		callback = (void (*)(GaimBlistNode *, gpointer))action->callback;
+		void (*callback)(PurpleBlistNode *, gpointer);
+		callback = (void (*)(PurpleBlistNode *, gpointer))action->callback;
 		if (callback)
 			callback(action->data, node);
 		else
@@ -631,7 +631,7 @@
 }
 
 static void
-gnt_append_menu_action(GntMenu *menu, GaimMenuAction *action, gpointer parent)
+gnt_append_menu_action(GntMenu *menu, PurpleMenuAction *action, gpointer parent)
 {
 	GList *list;
 	GntMenuItem *item;
@@ -653,10 +653,10 @@
 }
 
 static void
-append_proto_menu(GntMenu *menu, GaimConnection *gc, GaimBlistNode *node)
+append_proto_menu(GntMenu *menu, PurpleConnection *gc, PurpleBlistNode *node)
 {
 	GList *list;
-	GaimPluginProtocolInfo *prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl);
+	PurplePluginProtocolInfo *prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
 
 	if(!prpl_info || !prpl_info->blist_node_menu)
 		return;
@@ -664,39 +664,39 @@
 	for(list = prpl_info->blist_node_menu(node); list;
 			list = g_list_delete_link(list, list))
 	{
-		GaimMenuAction *act = (GaimMenuAction *) list->data;
+		PurpleMenuAction *act = (PurpleMenuAction *) list->data;
 		act->data = node;
 		gnt_append_menu_action(menu, act, NULL);
 	}
 }
 
 static void
-add_custom_action(GntMenu *menu, const char *label, GaimCallback callback,
+add_custom_action(GntMenu *menu, const char *label, PurpleCallback callback,
 		gpointer data)
 {
-	GaimMenuAction *action = gaim_menu_action_new(label, callback, data, NULL);
+	PurpleMenuAction *action = purple_menu_action_new(label, callback, data, NULL);
 	gnt_append_menu_action(menu, action, NULL);
 	g_signal_connect_swapped(G_OBJECT(menu), "destroy",
-			G_CALLBACK(gaim_menu_action_free), action);
+			G_CALLBACK(purple_menu_action_free), action);
 }
 
 static void
-chat_components_edit_ok(GaimChat *chat, GaimRequestFields *allfields)
+chat_components_edit_ok(PurpleChat *chat, PurpleRequestFields *allfields)
 {
 	GList *groups, *fields;
 
-	for (groups = gaim_request_fields_get_groups(allfields); groups; groups = groups->next) {
-		fields = gaim_request_field_group_get_fields(groups->data);
+	for (groups = purple_request_fields_get_groups(allfields); groups; groups = groups->next) {
+		fields = purple_request_field_group_get_fields(groups->data);
 		for (; fields; fields = fields->next) {
-			GaimRequestField *field = fields->data;
+			PurpleRequestField *field = fields->data;
 			const char *id;
 			char *val;
 
-			id = gaim_request_field_get_id(field);
-			if (gaim_request_field_get_type(field) == GAIM_REQUEST_FIELD_INTEGER)
-				val = g_strdup_printf("%d", gaim_request_field_int_get_value(field));
+			id = purple_request_field_get_id(field);
+			if (purple_request_field_get_type(field) == PURPLE_REQUEST_FIELD_INTEGER)
+				val = g_strdup_printf("%d", purple_request_field_int_get_value(field));
 			else
-				val = g_strdup(gaim_request_field_string_get_value(field));
+				val = g_strdup(purple_request_field_string_get_value(field));
 
 			g_hash_table_replace(chat->components, g_strdup(id), val);  /* val should not be free'd */
 		}
@@ -704,17 +704,17 @@
 }
 
 static void
-chat_components_edit(GaimChat *chat, GaimBlistNode *selected)
+chat_components_edit(PurpleChat *chat, PurpleBlistNode *selected)
 {
-	GaimRequestFields *fields = gaim_request_fields_new();
-	GaimRequestFieldGroup *group = gaim_request_field_group_new(NULL);
-	GaimRequestField *field;
+	PurpleRequestFields *fields = purple_request_fields_new();
+	PurpleRequestFieldGroup *group = purple_request_field_group_new(NULL);
+	PurpleRequestField *field;
 	GList *parts, *iter;
 	struct proto_chat_entry *pce;
 
-	gaim_request_fields_add_group(fields, group);
+	purple_request_fields_add_group(fields, group);
 
-	parts = GAIM_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->chat_info(chat->account->gc);
+	parts = PURPLE_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->chat_info(chat->account->gc);
 
 	for (iter = parts; iter; iter = iter->next) {
 		pce = iter->data;
@@ -723,284 +723,284 @@
 			const char *str = g_hash_table_lookup(chat->components, pce->identifier);
 			if (!str || sscanf(str, "%d", &val) != 1)
 				val = pce->min;
-			field = gaim_request_field_int_new(pce->identifier, pce->label, val);
+			field = purple_request_field_int_new(pce->identifier, pce->label, val);
 		} else {
-			field = gaim_request_field_string_new(pce->identifier, pce->label,
+			field = purple_request_field_string_new(pce->identifier, pce->label,
 					g_hash_table_lookup(chat->components, pce->identifier), FALSE);
 		}
 
-		gaim_request_field_group_add_field(group, field);
+		purple_request_field_group_add_field(group, field);
 		g_free(pce);
 	}
 
 	g_list_free(parts);
 
-	gaim_request_fields(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."),
+	purple_request_fields(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."),
 			fields, _("Edit"), G_CALLBACK(chat_components_edit_ok), _("Cancel"), NULL, chat);
 }
 
 static void
 autojoin_toggled(GntMenuItem *item, gpointer data)
 {
-	GaimMenuAction *action = data;
-	gaim_blist_node_set_bool(action->data, "gnt-autojoin",
+	PurpleMenuAction *action = data;
+	purple_blist_node_set_bool(action->data, "gnt-autojoin",
 				gnt_menuitem_check_get_checked(GNT_MENUITEM_CHECK(item)));
 }
 
 static void
-create_chat_menu(GntMenu *menu, GaimChat *chat)
+create_chat_menu(GntMenu *menu, PurpleChat *chat)
 {
-	GaimMenuAction *action = gaim_menu_action_new(_("Auto-join"), NULL, chat, NULL);
+	PurpleMenuAction *action = purple_menu_action_new(_("Auto-join"), NULL, chat, NULL);
 	GntMenuItem *check = gnt_menuitem_check_new(action->label);
 	gnt_menuitem_check_set_checked(GNT_MENUITEM_CHECK(check),
-				gaim_blist_node_get_bool((GaimBlistNode*)chat, "gnt-autojoin"));
+				purple_blist_node_get_bool((PurpleBlistNode*)chat, "gnt-autojoin"));
 	gnt_menu_add_item(menu, check);
 	gnt_menuitem_set_callback(check, autojoin_toggled, action);
 	g_signal_connect_swapped(G_OBJECT(menu), "destroy",
-			G_CALLBACK(gaim_menu_action_free), action);
+			G_CALLBACK(purple_menu_action_free), action);
 
-	add_custom_action(menu, _("Edit Settings"), (GaimCallback)chat_components_edit, chat);
+	add_custom_action(menu, _("Edit Settings"), (PurpleCallback)chat_components_edit, chat);
 }
 
 static void
-finch_add_buddy(GaimGroup *grp, GaimBlistNode *selected)
+finch_add_buddy(PurpleGroup *grp, PurpleBlistNode *selected)
 {
-	gaim_blist_request_add_buddy(NULL, NULL, grp ? grp->name : NULL, NULL);
+	purple_blist_request_add_buddy(NULL, NULL, grp ? grp->name : NULL, NULL);
 }
 
 static void
-finch_add_group(GaimGroup *grp, GaimBlistNode *selected)
+finch_add_group(PurpleGroup *grp, PurpleBlistNode *selected)
 {
-	gaim_blist_request_add_group();
+	purple_blist_request_add_group();
 }
 
 static void
-finch_add_chat(GaimGroup *grp, GaimBlistNode *selected)
+finch_add_chat(PurpleGroup *grp, PurpleBlistNode *selected)
 {
-	gaim_blist_request_add_chat(NULL, grp, NULL, NULL);
+	purple_blist_request_add_chat(NULL, grp, NULL, NULL);
 }
 
 static void
-create_group_menu(GntMenu *menu, GaimGroup *group)
+create_group_menu(GntMenu *menu, PurpleGroup *group)
 {
 	add_custom_action(menu, _("Add Buddy"),
-			GAIM_CALLBACK(finch_add_buddy), group);
+			PURPLE_CALLBACK(finch_add_buddy), group);
 	add_custom_action(menu, _("Add Chat"),
-			GAIM_CALLBACK(finch_add_chat), group);
+			PURPLE_CALLBACK(finch_add_chat), group);
 	add_custom_action(menu, _("Add Group"),
-			GAIM_CALLBACK(finch_add_group), group);
+			PURPLE_CALLBACK(finch_add_group), group);
 }
 
 static void
-finch_blist_get_buddy_info_cb(GaimBuddy *buddy, GaimBlistNode *selected)
+finch_blist_get_buddy_info_cb(PurpleBuddy *buddy, PurpleBlistNode *selected)
 {
-	serv_get_info(buddy->account->gc, gaim_buddy_get_name(buddy));
+	serv_get_info(buddy->account->gc, purple_buddy_get_name(buddy));
 }
 
 static void
-finch_blist_menu_send_file_cb(GaimBuddy *buddy, GaimBlistNode *selected)
+finch_blist_menu_send_file_cb(PurpleBuddy *buddy, PurpleBlistNode *selected)
 {
 	serv_send_file(buddy->account->gc, buddy->name, NULL);
 }
 
 static void
-finch_blist_pounce_node_cb(GaimBlistNode *node, GaimBlistNode *selected)
+finch_blist_pounce_node_cb(PurpleBlistNode *node, PurpleBlistNode *selected)
 {
-	GaimBuddy *b;
-	if (GAIM_BLIST_NODE_IS_CONTACT(node))
-		b = gaim_contact_get_priority_buddy((GaimContact *)node);
+	PurpleBuddy *b;
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+		b = purple_contact_get_priority_buddy((PurpleContact *)node);
 	else
-		b = (GaimBuddy *)node;
+		b = (PurpleBuddy *)node;
 	finch_pounce_editor_show(b->account, b->name, NULL);
 }
 
 
 static void
-create_buddy_menu(GntMenu *menu, GaimBuddy *buddy)
+create_buddy_menu(GntMenu *menu, PurpleBuddy *buddy)
 {
-	GaimPluginProtocolInfo *prpl_info;
+	PurplePluginProtocolInfo *prpl_info;
 
-	prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(buddy->account->gc->prpl);
+	prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(buddy->account->gc->prpl);
 	if (prpl_info && prpl_info->get_info)
 	{
 		add_custom_action(menu, _("Get Info"),
-				GAIM_CALLBACK(finch_blist_get_buddy_info_cb), buddy);
+				PURPLE_CALLBACK(finch_blist_get_buddy_info_cb), buddy);
 	}
 
 	add_custom_action(menu, _("Add Buddy Pounce"),
-			GAIM_CALLBACK(finch_blist_pounce_node_cb), buddy);
+			PURPLE_CALLBACK(finch_blist_pounce_node_cb), buddy);
 
 	if (prpl_info && prpl_info->send_file)
 	{
 		if (!prpl_info->can_receive_file ||
 			prpl_info->can_receive_file(buddy->account->gc, buddy->name))
 			add_custom_action(menu, _("Send File"),
-					GAIM_CALLBACK(finch_blist_menu_send_file_cb), buddy);
+					PURPLE_CALLBACK(finch_blist_menu_send_file_cb), buddy);
 	}
 #if 0
 	add_custom_action(tree, _("View Log"),
-			GAIM_CALLBACK(finch_blist_view_log_cb)), buddy);
+			PURPLE_CALLBACK(finch_blist_view_log_cb)), buddy);
 #endif
 
 	/* Protocol actions */
 	append_proto_menu(menu,
-			gaim_account_get_connection(gaim_buddy_get_account(buddy)),
-			(GaimBlistNode*)buddy);
+			purple_account_get_connection(purple_buddy_get_account(buddy)),
+			(PurpleBlistNode*)buddy);
 }
 
 static void
-append_extended_menu(GntMenu *menu, GaimBlistNode *node)
+append_extended_menu(GntMenu *menu, PurpleBlistNode *node)
 {
 	GList *iter;
 
-	for (iter = gaim_blist_node_get_extended_menu(node);
+	for (iter = purple_blist_node_get_extended_menu(node);
 			iter; iter = g_list_delete_link(iter, iter))
 	{
 		gnt_append_menu_action(menu, iter->data, NULL);
 	}
 }
 
-/* Xerox'd from gtkdialogs.c:gaim_gtkdialogs_remove_contact_cb */
+/* Xerox'd from gtkdialogs.c:purple_gtkdialogs_remove_contact_cb */
 static void
-remove_contact(GaimContact *contact)
+remove_contact(PurpleContact *contact)
 {
-	GaimBlistNode *bnode, *cnode;
-	GaimGroup *group;
+	PurpleBlistNode *bnode, *cnode;
+	PurpleGroup *group;
 
-	cnode = (GaimBlistNode *)contact;
-	group = (GaimGroup*)cnode->parent;
+	cnode = (PurpleBlistNode *)contact;
+	group = (PurpleGroup*)cnode->parent;
 	for (bnode = cnode->child; bnode; bnode = bnode->next) {
-		GaimBuddy *buddy = (GaimBuddy*)bnode;
-		if (gaim_account_is_connected(buddy->account))
-			gaim_account_remove_buddy(buddy->account, buddy, group);
+		PurpleBuddy *buddy = (PurpleBuddy*)bnode;
+		if (purple_account_is_connected(buddy->account))
+			purple_account_remove_buddy(buddy->account, buddy, group);
 	}
-	gaim_blist_remove_contact(contact);
+	purple_blist_remove_contact(contact);
 }
 
 static void
-rename_blist_node(GaimBlistNode *node, const char *newname)
+rename_blist_node(PurpleBlistNode *node, const char *newname)
 {
 	const char *name = newname;
 	if (name && !*name)
 		name = NULL;
 
-	if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
-		GaimContact *contact = (GaimContact*)node;
-		GaimBuddy *buddy = gaim_contact_get_priority_buddy(contact);
-		gaim_blist_alias_contact(contact, name);
-		gaim_blist_alias_buddy(buddy, name);
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
+		PurpleContact *contact = (PurpleContact*)node;
+		PurpleBuddy *buddy = purple_contact_get_priority_buddy(contact);
+		purple_blist_alias_contact(contact, name);
+		purple_blist_alias_buddy(buddy, name);
 		serv_alias_buddy(buddy);
-	} else if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
-		gaim_blist_alias_buddy((GaimBuddy*)node, name);
-		serv_alias_buddy((GaimBuddy*)node);
-	} else if (GAIM_BLIST_NODE_IS_CHAT(node))
-		gaim_blist_alias_chat((GaimChat*)node, name);
-	else if (GAIM_BLIST_NODE_IS_GROUP(node) && (name != NULL))
-		gaim_blist_rename_group((GaimGroup*)node, name);
+	} else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
+		purple_blist_alias_buddy((PurpleBuddy*)node, name);
+		serv_alias_buddy((PurpleBuddy*)node);
+	} else if (PURPLE_BLIST_NODE_IS_CHAT(node))
+		purple_blist_alias_chat((PurpleChat*)node, name);
+	else if (PURPLE_BLIST_NODE_IS_GROUP(node) && (name != NULL))
+		purple_blist_rename_group((PurpleGroup*)node, name);
 	else
 		g_return_if_reached();
 }
 
 static void
-finch_blist_rename_node_cb(GaimBlistNode *node, GaimBlistNode *selected)
+finch_blist_rename_node_cb(PurpleBlistNode *node, PurpleBlistNode *selected)
 {
 	const char *name = NULL;
 	char *prompt;
 
-	if (GAIM_BLIST_NODE_IS_CONTACT(node))
-		name = gaim_contact_get_alias((GaimContact*)node);
-	else if (GAIM_BLIST_NODE_IS_BUDDY(node))
-		name = gaim_buddy_get_contact_alias((GaimBuddy*)node);
-	else if (GAIM_BLIST_NODE_IS_CHAT(node))
-		name = gaim_chat_get_name((GaimChat*)node);
-	else if (GAIM_BLIST_NODE_IS_GROUP(node))
-		name = ((GaimGroup*)node)->name;
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+		name = purple_contact_get_alias((PurpleContact*)node);
+	else if (PURPLE_BLIST_NODE_IS_BUDDY(node))
+		name = purple_buddy_get_contact_alias((PurpleBuddy*)node);
+	else if (PURPLE_BLIST_NODE_IS_CHAT(node))
+		name = purple_chat_get_name((PurpleChat*)node);
+	else if (PURPLE_BLIST_NODE_IS_GROUP(node))
+		name = ((PurpleGroup*)node)->name;
 	else
 		g_return_if_reached();
 
 	prompt = g_strdup_printf(_("Please enter the new name for %s"), name);
 
-	gaim_request_input(node, _("Rename"), prompt, _("Enter empty string to reset the name."),
+	purple_request_input(node, _("Rename"), prompt, _("Enter empty string to reset the name."),
 			name, FALSE, FALSE, NULL, _("Rename"), G_CALLBACK(rename_blist_node),
 			_("Cancel"), NULL, node);
 
 	g_free(prompt);
 }
 
-/* Xeroxed from gtkdialogs.c:gaim_gtkdialogs_remove_group_cb*/
+/* Xeroxed from gtkdialogs.c:purple_gtkdialogs_remove_group_cb*/
 static void
-remove_group(GaimGroup *group)
+remove_group(PurpleGroup *group)
 {
-	GaimBlistNode *cnode, *bnode;
+	PurpleBlistNode *cnode, *bnode;
 
-	cnode = ((GaimBlistNode*)group)->child;
+	cnode = ((PurpleBlistNode*)group)->child;
 
 	while (cnode) {
-		if (GAIM_BLIST_NODE_IS_CONTACT(cnode)) {
+		if (PURPLE_BLIST_NODE_IS_CONTACT(cnode)) {
 			bnode = cnode->child;
 			cnode = cnode->next;
 			while (bnode) {
-				GaimBuddy *buddy;
-				if (GAIM_BLIST_NODE_IS_BUDDY(bnode)) {
-					buddy = (GaimBuddy*)bnode;
+				PurpleBuddy *buddy;
+				if (PURPLE_BLIST_NODE_IS_BUDDY(bnode)) {
+					buddy = (PurpleBuddy*)bnode;
 					bnode = bnode->next;
-					if (gaim_account_is_connected(buddy->account)) {
-						gaim_account_remove_buddy(buddy->account, buddy, group);
-						gaim_blist_remove_buddy(buddy);
+					if (purple_account_is_connected(buddy->account)) {
+						purple_account_remove_buddy(buddy->account, buddy, group);
+						purple_blist_remove_buddy(buddy);
 					}
 				} else {
 					bnode = bnode->next;
 				}
 			}
-		} else if (GAIM_BLIST_NODE_IS_CHAT(cnode)) {
-			GaimChat *chat = (GaimChat *)cnode;
+		} else if (PURPLE_BLIST_NODE_IS_CHAT(cnode)) {
+			PurpleChat *chat = (PurpleChat *)cnode;
 			cnode = cnode->next;
-			if (gaim_account_is_connected(chat->account))
-				gaim_blist_remove_chat(chat);
+			if (purple_account_is_connected(chat->account))
+				purple_blist_remove_chat(chat);
 		} else {
 			cnode = cnode->next;
 		}
 	}
 
-	gaim_blist_remove_group(group);
+	purple_blist_remove_group(group);
 }
 
 static void
-finch_blist_remove_node(GaimBlistNode *node)
+finch_blist_remove_node(PurpleBlistNode *node)
 {
-	if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
-		remove_contact((GaimContact*)node);
-	} else if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
-		GaimBuddy *buddy = (GaimBuddy*)node;
-		GaimGroup *group = gaim_buddy_get_group(buddy);
-		gaim_account_remove_buddy(gaim_buddy_get_account(buddy), buddy, group);
-		gaim_blist_remove_buddy(buddy);
-	} else if (GAIM_BLIST_NODE_IS_CHAT(node)) {
-		gaim_blist_remove_chat((GaimChat*)node);
-	} else if (GAIM_BLIST_NODE_IS_GROUP(node)) {
-		remove_group((GaimGroup*)node);
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
+		remove_contact((PurpleContact*)node);
+	} else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
+		PurpleBuddy *buddy = (PurpleBuddy*)node;
+		PurpleGroup *group = purple_buddy_get_group(buddy);
+		purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group);
+		purple_blist_remove_buddy(buddy);
+	} else if (PURPLE_BLIST_NODE_IS_CHAT(node)) {
+		purple_blist_remove_chat((PurpleChat*)node);
+	} else if (PURPLE_BLIST_NODE_IS_GROUP(node)) {
+		remove_group((PurpleGroup*)node);
 	}
 }
 
 static void
-finch_blist_remove_node_cb(GaimBlistNode *node, GaimBlistNode *selected)
+finch_blist_remove_node_cb(PurpleBlistNode *node, PurpleBlistNode *selected)
 {
 	char *primary;
 	const char *name, *sec = NULL;
 
 	/* XXX: could be a contact */
-	if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
-		GaimContact *c = (GaimContact*)node;
-		name = gaim_contact_get_alias(c);
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
+		PurpleContact *c = (PurpleContact*)node;
+		name = purple_contact_get_alias(c);
 		if (c->totalsize > 1)
 			sec = _("Removing this contact will also remove all the buddies in the contact");
-	} else if (GAIM_BLIST_NODE_IS_BUDDY(node))
-		name = gaim_buddy_get_name((GaimBuddy*)node);
-	else if (GAIM_BLIST_NODE_IS_CHAT(node))
-		name = gaim_chat_get_name((GaimChat*)node);
-	else if (GAIM_BLIST_NODE_IS_GROUP(node))
+	} else if (PURPLE_BLIST_NODE_IS_BUDDY(node))
+		name = purple_buddy_get_name((PurpleBuddy*)node);
+	else if (PURPLE_BLIST_NODE_IS_CHAT(node))
+		name = purple_chat_get_name((PurpleChat*)node);
+	else if (PURPLE_BLIST_NODE_IS_GROUP(node))
 	{
-		name = ((GaimGroup*)node)->name;
+		name = ((PurpleGroup*)node)->name;
 		sec = _("Removing this group will also remove all the buddies in the group");
 	}
 	else
@@ -1009,7 +1009,7 @@
 	primary = g_strdup_printf(_("Are you sure you want to remove %s?"), name);
 
 	/* XXX: anything to do with the returned ui-handle? */
-	gaim_request_action(node, _("Confirm Remove"),
+	purple_request_action(node, _("Confirm Remove"),
 			primary, sec,
 			1, node, 2,
 			_("Remove"), finch_blist_remove_node,
@@ -1018,28 +1018,28 @@
 }
 
 static void
-finch_blist_toggle_tag_buddy(GaimBlistNode *node)
+finch_blist_toggle_tag_buddy(PurpleBlistNode *node)
 {
 	GList *iter;
 	if (node == NULL)
 		return;
-	if (GAIM_BLIST_NODE_IS_CHAT(node) || GAIM_BLIST_NODE_IS_GROUP(node))
+	if (PURPLE_BLIST_NODE_IS_CHAT(node) || PURPLE_BLIST_NODE_IS_GROUP(node))
 		return;
 	if (ggblist->tagged && (iter = g_list_find(ggblist->tagged, node)) != NULL) {
 		ggblist->tagged = g_list_delete_link(ggblist->tagged, iter);
 	} else {
 		ggblist->tagged = g_list_prepend(ggblist->tagged, node);
 	}
-	if (GAIM_BLIST_NODE_IS_CONTACT(node))
-		node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node);
-	update_buddy_display((GaimBuddy*)node, ggblist);
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+		node = (PurpleBlistNode*)purple_contact_get_priority_buddy((PurpleContact*)node);
+	update_buddy_display((PurpleBuddy*)node, ggblist);
 }
 
 static void
-finch_blist_place_tagged(GaimBlistNode *target)
+finch_blist_place_tagged(PurpleBlistNode *target)
 {
-	GaimGroup *tg = NULL;
-	GaimContact *tc = NULL;
+	PurpleGroup *tg = NULL;
+	PurpleContact *tc = NULL;
 
 	if (target == NULL)
 		return;
@@ -1050,31 +1050,31 @@
 	 * place the tagged buddy immediately after (before?) the
 	 * target buddy -- this will simply move the tagged buddy
 	 * within the same contact without reference to position. */
-	if (GAIM_BLIST_NODE_IS_GROUP(target))
-		tg = (GaimGroup*)target;
-	else if (GAIM_BLIST_NODE_IS_CONTACT(target))
-		tc = (GaimContact*)target;
+	if (PURPLE_BLIST_NODE_IS_GROUP(target))
+		tg = (PurpleGroup*)target;
+	else if (PURPLE_BLIST_NODE_IS_CONTACT(target))
+		tc = (PurpleContact*)target;
 	else /* Buddy or Chat */
-		tc = (GaimContact*)target->parent;
+		tc = (PurpleContact*)target->parent;
 
 	if (ggblist->tagged) {
 		GList *list = ggblist->tagged;
 		ggblist->tagged = NULL;
 
 		while (list) {
-			GaimBlistNode *node = list->data;
+			PurpleBlistNode *node = list->data;
 			list = g_list_delete_link(list, list);
 			if (tg) {
-				if (GAIM_BLIST_NODE_IS_CONTACT(node))
-					gaim_blist_add_contact((GaimContact*)node, tg, NULL);
+				if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+					purple_blist_add_contact((PurpleContact*)node, tg, NULL);
 				else
-					gaim_blist_add_buddy((GaimBuddy*)node, NULL, tg, NULL);
+					purple_blist_add_buddy((PurpleBuddy*)node, NULL, tg, NULL);
 			} else {
-				if (GAIM_BLIST_NODE_IS_BUDDY(node))
-					gaim_blist_add_buddy((GaimBuddy*)node, tc,
-						gaim_buddy_get_group(gaim_contact_get_priority_buddy(tc)), NULL);
-				else if (GAIM_BLIST_NODE_IS_CONTACT(node))
-					gaim_blist_merge_contact((GaimContact*)node, target);
+				if (PURPLE_BLIST_NODE_IS_BUDDY(node))
+					purple_blist_add_buddy((PurpleBuddy*)node, tc,
+						purple_buddy_get_group(purple_contact_get_priority_buddy(tc)), NULL);
+				else if (PURPLE_BLIST_NODE_IS_CONTACT(node))
+					purple_blist_merge_contact((PurpleContact*)node, target);
 			}
 		}
 	}
@@ -1089,7 +1089,7 @@
 static void
 draw_context_menu(FinchBlist *ggblist)
 {
-	GaimBlistNode *node = NULL;
+	PurpleBlistNode *node = NULL;
 	GntWidget *context = NULL;
 	GntTree *tree = NULL;
 	int x, y, top, width;
@@ -1110,20 +1110,20 @@
 	if (!node) {
 		create_group_menu(GNT_MENU(context), NULL);
 		title = g_strdup(_("Buddy List"));
-	} else if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
+	} else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
 		create_buddy_menu(GNT_MENU(context),
-			gaim_contact_get_priority_buddy((GaimContact*)node));
-		title = g_strdup(gaim_contact_get_alias((GaimContact*)node));
-	} else if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
-		GaimBuddy *buddy = (GaimBuddy *)node;
+			purple_contact_get_priority_buddy((PurpleContact*)node));
+		title = g_strdup(purple_contact_get_alias((PurpleContact*)node));
+	} else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
+		PurpleBuddy *buddy = (PurpleBuddy *)node;
 		create_buddy_menu(GNT_MENU(context), buddy);
-		title = g_strdup(gaim_buddy_get_name(buddy));
-	} else if (GAIM_BLIST_NODE_IS_CHAT(node)) {
-		GaimChat *chat = (GaimChat*)node;
+		title = g_strdup(purple_buddy_get_name(buddy));
+	} else if (PURPLE_BLIST_NODE_IS_CHAT(node)) {
+		PurpleChat *chat = (PurpleChat*)node;
 		create_chat_menu(GNT_MENU(context), chat);
-		title = g_strdup(gaim_chat_get_name(chat));
-	} else if (GAIM_BLIST_NODE_IS_GROUP(node)) {
-		GaimGroup *group = (GaimGroup *)node;
+		title = g_strdup(purple_chat_get_name(chat));
+	} else if (PURPLE_BLIST_NODE_IS_GROUP(node)) {
+		PurpleGroup *group = (PurpleGroup *)node;
 		create_group_menu(GNT_MENU(context), group);
 		title = g_strdup(group->name);
 	}
@@ -1133,19 +1133,19 @@
 	/* These are common for everything */
 	if (node) {
 		add_custom_action(GNT_MENU(context), _("Rename"),
-				GAIM_CALLBACK(finch_blist_rename_node_cb), node);
+				PURPLE_CALLBACK(finch_blist_rename_node_cb), node);
 		add_custom_action(GNT_MENU(context), _("Remove"),
-				GAIM_CALLBACK(finch_blist_remove_node_cb), node);
+				PURPLE_CALLBACK(finch_blist_remove_node_cb), node);
 
-		if (ggblist->tagged && (GAIM_BLIST_NODE_IS_CONTACT(node)
-				|| GAIM_BLIST_NODE_IS_GROUP(node))) {
+		if (ggblist->tagged && (PURPLE_BLIST_NODE_IS_CONTACT(node)
+				|| PURPLE_BLIST_NODE_IS_GROUP(node))) {
 			add_custom_action(GNT_MENU(context), _("Place tagged"),
-					GAIM_CALLBACK(finch_blist_place_tagged), node);
+					PURPLE_CALLBACK(finch_blist_place_tagged), node);
 		}
 
-		if (GAIM_BLIST_NODE_IS_BUDDY(node) || GAIM_BLIST_NODE_IS_CONTACT(node)) {
+		if (PURPLE_BLIST_NODE_IS_BUDDY(node) || PURPLE_BLIST_NODE_IS_CONTACT(node)) {
 			add_custom_action(GNT_MENU(context), _("Toggle Tag"),
-					GAIM_CALLBACK(finch_blist_toggle_tag_buddy), node);
+					PURPLE_CALLBACK(finch_blist_toggle_tag_buddy), node);
 		}
 	}
 
@@ -1163,50 +1163,50 @@
 }
 
 static void
-tooltip_for_buddy(GaimBuddy *buddy, GString *str)
+tooltip_for_buddy(PurpleBuddy *buddy, GString *str)
 {
-	GaimPlugin *prpl;
-	GaimPluginProtocolInfo *prpl_info;
-	GaimAccount *account;
-	GaimNotifyUserInfo *user_info;
-	const char *alias = gaim_buddy_get_alias(buddy);
+	PurplePlugin *prpl;
+	PurplePluginProtocolInfo *prpl_info;
+	PurpleAccount *account;
+	PurpleNotifyUserInfo *user_info;
+	const char *alias = purple_buddy_get_alias(buddy);
 	char *tmp, *strip;
 
-	user_info = gaim_notify_user_info_new();
+	user_info = purple_notify_user_info_new();
 
-	account = gaim_buddy_get_account(buddy);
+	account = purple_buddy_get_account(buddy);
 
-	if (g_utf8_collate(gaim_buddy_get_name(buddy), alias))
-		gaim_notify_user_info_add_pair(user_info, _("Nickname"), alias);
+	if (g_utf8_collate(purple_buddy_get_name(buddy), alias))
+		purple_notify_user_info_add_pair(user_info, _("Nickname"), alias);
 
 	tmp = g_strdup_printf("%s (%s)",
-			gaim_account_get_username(account),
-			gaim_account_get_protocol_name(account));
-	gaim_notify_user_info_add_pair(user_info, _("Account"), tmp);
+			purple_account_get_username(account),
+			purple_account_get_protocol_name(account));
+	purple_notify_user_info_add_pair(user_info, _("Account"), tmp);
 	g_free(tmp);
 	
-	prpl = gaim_find_prpl(gaim_account_get_protocol_id(account));
-	prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl);
+	prpl = purple_find_prpl(purple_account_get_protocol_id(account));
+	prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
 	if (prpl_info && prpl_info->tooltip_text) {
 		prpl_info->tooltip_text(buddy, user_info, TRUE);
 	}
 
-	if (gaim_prefs_get_bool("/gaim/gnt/blist/idletime")) {
-		GaimPresence *pre = gaim_buddy_get_presence(buddy);
-		if (gaim_presence_is_idle(pre)) {
-			time_t idle = gaim_presence_get_idle_time(pre);
+	if (purple_prefs_get_bool("/purple/gnt/blist/idletime")) {
+		PurplePresence *pre = purple_buddy_get_presence(buddy);
+		if (purple_presence_is_idle(pre)) {
+			time_t idle = purple_presence_get_idle_time(pre);
 			if (idle > 0) {
-				char *st = gaim_str_seconds_to_string(time(NULL) - idle);
-				gaim_notify_user_info_add_pair(user_info, _("Idle"), st);
+				char *st = purple_str_seconds_to_string(time(NULL) - idle);
+				purple_notify_user_info_add_pair(user_info, _("Idle"), st);
 				g_free(st);
 			}
 		}
 	}
 	
-	tmp = gaim_notify_user_info_get_text_with_newline(user_info, "<BR>");
-	gaim_notify_user_info_destroy(user_info);
+	tmp = purple_notify_user_info_get_text_with_newline(user_info, "<BR>");
+	purple_notify_user_info_destroy(user_info);
 
-	strip = gaim_markup_strip_html(tmp);
+	strip = purple_markup_strip_html(tmp);
 	g_string_append(str, strip);
 	g_free(strip);
 	g_free(tmp);
@@ -1225,7 +1225,7 @@
 static gboolean
 draw_tooltip_real(FinchBlist *ggblist)
 {
-	GaimBlistNode *node;
+	PurpleBlistNode *node;
 	int x, y, top, width, w, h;
 	GString *str;
 	GntTree *tree;
@@ -1253,60 +1253,60 @@
 
 	str = g_string_new("");
 
-	if (GAIM_BLIST_NODE_IS_CONTACT(node)) {
-		GaimBuddy *pr = gaim_contact_get_priority_buddy((GaimContact*)node);
-		gboolean offline = !GAIM_BUDDY_IS_ONLINE(pr);
-		gboolean showoffline = gaim_prefs_get_bool(PREF_ROOT "/showoffline");
-		const char *name = gaim_buddy_get_name(pr);
+	if (PURPLE_BLIST_NODE_IS_CONTACT(node)) {
+		PurpleBuddy *pr = purple_contact_get_priority_buddy((PurpleContact*)node);
+		gboolean offline = !PURPLE_BUDDY_IS_ONLINE(pr);
+		gboolean showoffline = purple_prefs_get_bool(PREF_ROOT "/showoffline");
+		const char *name = purple_buddy_get_name(pr);
 
 		title = g_strdup(name);
 		tooltip_for_buddy(pr, str);
 		for (node = node->child; node; node = node->next) {
-			GaimBuddy *buddy = (GaimBuddy*)node;
+			PurpleBuddy *buddy = (PurpleBuddy*)node;
 			if (offline) {
-				int value = gaim_blist_node_get_int(node, "last_seen");
+				int value = purple_blist_node_get_int(node, "last_seen");
 				if (value > lastseen)
 					lastseen = value;
 			}
-			if (node == (GaimBlistNode*)pr)
+			if (node == (PurpleBlistNode*)pr)
 				continue;
-			if (!gaim_account_is_connected(buddy->account))
+			if (!purple_account_is_connected(buddy->account))
 				continue;
-			if (!showoffline && !GAIM_BUDDY_IS_ONLINE(buddy))
+			if (!showoffline && !PURPLE_BUDDY_IS_ONLINE(buddy))
 				continue;
 			str = g_string_append(str, "\n----------\n");
 			tooltip_for_buddy(buddy, str);
 		}
-	} else if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
-		GaimBuddy *buddy = (GaimBuddy *)node;
+	} else if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
+		PurpleBuddy *buddy = (PurpleBuddy *)node;
 		tooltip_for_buddy(buddy, str);
-		title = g_strdup(gaim_buddy_get_name(buddy));
-		if (!GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node))
-			lastseen = gaim_blist_node_get_int(node, "last_seen");
-	} else if (GAIM_BLIST_NODE_IS_GROUP(node)) {
-		GaimGroup *group = (GaimGroup *)node;
+		title = g_strdup(purple_buddy_get_name(buddy));
+		if (!PURPLE_BUDDY_IS_ONLINE((PurpleBuddy*)node))
+			lastseen = purple_blist_node_get_int(node, "last_seen");
+	} else if (PURPLE_BLIST_NODE_IS_GROUP(node)) {
+		PurpleGroup *group = (PurpleGroup *)node;
 
 		g_string_append_printf(str, _("Online: %d\nTotal: %d"),
-						gaim_blist_get_group_online_count(group),
-						gaim_blist_get_group_size(group, FALSE));
+						purple_blist_get_group_online_count(group),
+						purple_blist_get_group_size(group, FALSE));
 
 		title = g_strdup(group->name);
-	} else if (GAIM_BLIST_NODE_IS_CHAT(node)) {
-		GaimChat *chat = (GaimChat *)node;
-		GaimAccount *account = chat->account;
+	} else if (PURPLE_BLIST_NODE_IS_CHAT(node)) {
+		PurpleChat *chat = (PurpleChat *)node;
+		PurpleAccount *account = chat->account;
 
 		g_string_append_printf(str, _("Account: %s (%s)"),
-				gaim_account_get_username(account),
-				gaim_account_get_protocol_name(account));
+				purple_account_get_username(account),
+				purple_account_get_protocol_name(account));
 
-		title = g_strdup(gaim_chat_get_name(chat));
+		title = g_strdup(purple_chat_get_name(chat));
 	} else {
 		g_string_free(str, TRUE);
 		return FALSE;
 	}
 
 	if (lastseen > 0) {
-		char *tmp = gaim_str_seconds_to_string(time(NULL) - lastseen);
+		char *tmp = purple_str_seconds_to_string(time(NULL) - lastseen);
 		g_string_append_printf(str, _("\nLast Seen: %s ago"), tmp);
 		g_free(tmp);
 	}
@@ -1380,8 +1380,8 @@
 		/* Escape was pressed */
 		remove_peripherals(ggblist);
 	} else if (strcmp(text, GNT_KEY_CTRL_O) == 0) {
-		gaim_prefs_set_bool(PREF_ROOT "/showoffline",
-				!gaim_prefs_get_bool(PREF_ROOT "/showoffline"));
+		purple_prefs_set_bool(PREF_ROOT "/showoffline",
+				!purple_prefs_get_bool(PREF_ROOT "/showoffline"));
 	} else if (GNT_TREE(ggblist->tree)->search == NULL) {
 		if (strcmp(text, "t") == 0) {
 			finch_blist_toggle_tag_buddy(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree)));
@@ -1397,25 +1397,25 @@
 }
 
 static void
-update_buddy_display(GaimBuddy *buddy, FinchBlist *ggblist)
+update_buddy_display(PurpleBuddy *buddy, FinchBlist *ggblist)
 {
-	GaimContact *contact;
+	PurpleContact *contact;
 	GntTextFormatFlags bflag = 0, cflag = 0;
 	
-	contact = gaim_buddy_get_contact(buddy);
+	contact = purple_buddy_get_contact(buddy);
 
-	gnt_tree_change_text(GNT_TREE(ggblist->tree), buddy, 0, get_display_name((GaimBlistNode*)buddy));
-	gnt_tree_change_text(GNT_TREE(ggblist->tree), contact, 0, get_display_name((GaimBlistNode*)contact));
+	gnt_tree_change_text(GNT_TREE(ggblist->tree), buddy, 0, get_display_name((PurpleBlistNode*)buddy));
+	gnt_tree_change_text(GNT_TREE(ggblist->tree), contact, 0, get_display_name((PurpleBlistNode*)contact));
 
 	if (ggblist->tagged && g_list_find(ggblist->tagged, buddy))
 		bflag |= GNT_TEXT_FLAG_BOLD;
 	if (ggblist->tagged && g_list_find(ggblist->tagged, contact))
 		cflag |= GNT_TEXT_FLAG_BOLD;
 
-	if (ggblist->tnode == (GaimBlistNode*)buddy)
+	if (ggblist->tnode == (PurpleBlistNode*)buddy)
 		draw_tooltip(ggblist);
 
-	if (gaim_presence_is_idle(gaim_buddy_get_presence(buddy))) {
+	if (purple_presence_is_idle(purple_buddy_get_presence(buddy))) {
 		gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), buddy, bflag | GNT_TEXT_FLAG_DIM);
 		gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), contact, cflag | GNT_TEXT_FLAG_DIM);
 	} else {
@@ -1425,13 +1425,13 @@
 }
 
 static void
-buddy_status_changed(GaimBuddy *buddy, GaimStatus *old, GaimStatus *now, FinchBlist *ggblist)
+buddy_status_changed(PurpleBuddy *buddy, PurpleStatus *old, PurpleStatus *now, FinchBlist *ggblist)
 {
 	update_buddy_display(buddy, ggblist);
 }
 
 static void
-buddy_idle_changed(GaimBuddy *buddy, int old, int new, FinchBlist *ggblist)
+buddy_idle_changed(PurpleBuddy *buddy, int old, int new, FinchBlist *ggblist)
 {
 	update_buddy_display(buddy, ggblist);
 }
@@ -1450,28 +1450,28 @@
 {
 	int width, height;
 	gnt_widget_get_size(w, &width, &height);
-	gaim_prefs_set_int(PREF_ROOT "/size/width", width);
-	gaim_prefs_set_int(PREF_ROOT "/size/height", height);
+	purple_prefs_set_int(PREF_ROOT "/size/width", width);
+	purple_prefs_set_int(PREF_ROOT "/size/height", height);
 }
 
 static void
 save_position_cb(GntWidget *w, int x, int y)
 {
-	gaim_prefs_set_int(PREF_ROOT "/position/x", x);
-	gaim_prefs_set_int(PREF_ROOT "/position/y", y);
+	purple_prefs_set_int(PREF_ROOT "/position/x", x);
+	purple_prefs_set_int(PREF_ROOT "/position/y", y);
 }
 
 static void
 reset_blist_window(GntWidget *window, gpointer null)
 {
-	GaimBlistNode *node;
-	gaim_signals_disconnect_by_handle(finch_blist_get_handle());
-	gaim_get_blist()->ui_data = NULL;
+	PurpleBlistNode *node;
+	purple_signals_disconnect_by_handle(finch_blist_get_handle());
+	purple_get_blist()->ui_data = NULL;
 
-	node = gaim_blist_get_root();
+	node = purple_blist_get_root();
 	while (node) {
 		node->ui_data = NULL;
-		node = gaim_blist_node_next(node, TRUE);
+		node = purple_blist_node_next(node, TRUE);
 	}
 
 	if (ggblist->typing)
@@ -1486,26 +1486,26 @@
 static void
 populate_buddylist()
 {
-	GaimBlistNode *node;
-	GaimBuddyList *list;
+	PurpleBlistNode *node;
+	PurpleBuddyList *list;
 
-	if (strcmp(gaim_prefs_get_string(PREF_ROOT "/sort_type"), "text") == 0) {
+	if (strcmp(purple_prefs_get_string(PREF_ROOT "/sort_type"), "text") == 0) {
 		gnt_tree_set_compare_func(GNT_TREE(ggblist->tree),
 			(GCompareFunc)blist_node_compare_text);
-	} else if (strcmp(gaim_prefs_get_string(PREF_ROOT "/sort_type"), "status") == 0) {
+	} else if (strcmp(purple_prefs_get_string(PREF_ROOT "/sort_type"), "status") == 0) {
 		gnt_tree_set_compare_func(GNT_TREE(ggblist->tree),
 			(GCompareFunc)blist_node_compare_status);
-	} else if (strcmp(gaim_prefs_get_string(PREF_ROOT "/sort_type"), "log") == 0) {
+	} else if (strcmp(purple_prefs_get_string(PREF_ROOT "/sort_type"), "log") == 0) {
 		gnt_tree_set_compare_func(GNT_TREE(ggblist->tree),
 			(GCompareFunc)blist_node_compare_log);
 	}
 	
-	list = gaim_get_blist();
-	node = gaim_blist_get_root();
+	list = purple_get_blist();
+	node = purple_blist_get_root();
 	while (node)
 	{
 		node_update(list, node);
-		node = gaim_blist_node_next(node, FALSE);
+		node = purple_blist_node_next(node, FALSE);
 	}
 }
 
@@ -1525,30 +1525,30 @@
 	StatusBoxItem *item = NULL;
 
 	/* First the primitives */
-	GaimStatusPrimitive prims[] = {GAIM_STATUS_AVAILABLE, GAIM_STATUS_AWAY,
-			GAIM_STATUS_INVISIBLE, GAIM_STATUS_OFFLINE, GAIM_STATUS_UNSET};
+	PurpleStatusPrimitive prims[] = {PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AWAY,
+			PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_OFFLINE, PURPLE_STATUS_UNSET};
 
 	gnt_combo_box_remove_all(GNT_COMBO_BOX(ggblist->status));
 
-	for (i = 0; prims[i] != GAIM_STATUS_UNSET; i++)
+	for (i = 0; prims[i] != PURPLE_STATUS_UNSET; i++)
 	{
 		item = g_new0(StatusBoxItem, 1);
 		item->type = STATUS_PRIMITIVE;
 		item->u.prim = prims[i];
 		items = g_list_prepend(items, item);
 		gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item,
-				gaim_primitive_get_name_from_type(prims[i]));
+				purple_primitive_get_name_from_type(prims[i]));
 	}
 
 	/* Now the popular statuses */
-	for (iter = gaim_savedstatuses_get_popular(6); iter; iter = iter->next)
+	for (iter = purple_savedstatuses_get_popular(6); iter; iter = iter->next)
 	{
 		item = g_new0(StatusBoxItem, 1);
 		item->type = STATUS_SAVED_POPULAR;
 		item->u.saved = iter->data;
 		items = g_list_prepend(items, item);
 		gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item,
-				gaim_savedstatus_get_title(iter->data));
+				purple_savedstatus_get_title(iter->data));
 	}
 
 	/* New savedstatus */
@@ -1573,16 +1573,16 @@
 }
 
 static void
-redraw_blist(const char *name, GaimPrefType type, gconstpointer val, gpointer data)
+redraw_blist(const char *name, PurplePrefType type, gconstpointer val, gpointer data)
 {
-	GaimBlistNode *node, *sel;
+	PurpleBlistNode *node, *sel;
 	if (ggblist == NULL || ggblist->window == NULL)
 		return;
 
 	sel = gnt_tree_get_selection_data(GNT_TREE(ggblist->tree));
 	gnt_tree_remove_all(GNT_TREE(ggblist->tree));
-	node = gaim_blist_get_root();
-	for (; node; node = gaim_blist_node_next(node, TRUE))
+	node = purple_blist_get_root();
+	for (; node; node = purple_blist_node_next(node, TRUE))
 		node->ui_data = NULL;
 	populate_buddylist();
 	gnt_tree_set_selected(GNT_TREE(ggblist->tree), sel);
@@ -1591,23 +1591,23 @@
 
 void finch_blist_init()
 {
-	gaim_prefs_add_none(PREF_ROOT);
-	gaim_prefs_add_none(PREF_ROOT "/size");
-	gaim_prefs_add_int(PREF_ROOT "/size/width", 20);
-	gaim_prefs_add_int(PREF_ROOT "/size/height", 17);
-	gaim_prefs_add_none(PREF_ROOT "/position");
-	gaim_prefs_add_int(PREF_ROOT "/position/x", 0);
-	gaim_prefs_add_int(PREF_ROOT "/position/y", 0);
-	gaim_prefs_add_bool(PREF_ROOT "/idletime", TRUE);
-	gaim_prefs_add_bool(PREF_ROOT "/showoffline", FALSE);
-	gaim_prefs_add_string(PREF_ROOT "/sort_type", "text");
+	purple_prefs_add_none(PREF_ROOT);
+	purple_prefs_add_none(PREF_ROOT "/size");
+	purple_prefs_add_int(PREF_ROOT "/size/width", 20);
+	purple_prefs_add_int(PREF_ROOT "/size/height", 17);
+	purple_prefs_add_none(PREF_ROOT "/position");
+	purple_prefs_add_int(PREF_ROOT "/position/x", 0);
+	purple_prefs_add_int(PREF_ROOT "/position/y", 0);
+	purple_prefs_add_bool(PREF_ROOT "/idletime", TRUE);
+	purple_prefs_add_bool(PREF_ROOT "/showoffline", FALSE);
+	purple_prefs_add_string(PREF_ROOT "/sort_type", "text");
 
-	gaim_prefs_connect_callback(finch_blist_get_handle(),
+	purple_prefs_connect_callback(finch_blist_get_handle(),
 			PREF_ROOT "/showoffline", redraw_blist, NULL);
-	gaim_prefs_connect_callback(finch_blist_get_handle(),
+	purple_prefs_connect_callback(finch_blist_get_handle(),
 			PREF_ROOT "/sort_type", redraw_blist, NULL);
 
-	gaim_signal_connect(gaim_connections_get_handle(), "signed-on", gaim_blist_get_handle(),
+	purple_signal_connect(purple_connections_get_handle(), "signed-on", purple_blist_get_handle(),
 			G_CALLBACK(account_signed_on_cb), NULL);
 	return;
 }
@@ -1615,14 +1615,14 @@
 static gboolean
 remove_typing_cb(gpointer null)
 {
-	GaimSavedStatus *current;
+	PurpleSavedStatus *current;
 	const char *message, *newmessage;
-	GaimStatusPrimitive prim, newprim;
+	PurpleStatusPrimitive prim, newprim;
 	StatusBoxItem *item;
 
-	current = gaim_savedstatus_get_current();
-	message = gaim_savedstatus_get_message(current);
-	prim = gaim_savedstatus_get_type(current);
+	current = purple_savedstatus_get_current();
+	message = purple_savedstatus_get_message(current);
+	prim = purple_savedstatus_get_type(current);
 
 	newmessage = gnt_entry_get_text(GNT_ENTRY(ggblist->statustext));
 	item = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(ggblist->status));
@@ -1633,15 +1633,15 @@
 				(!message && newmessage) ||
 				(message && newmessage && g_utf8_collate(message, newmessage) != 0)))
 	{
-		GaimSavedStatus *status = gaim_savedstatus_find_transient_by_type_and_message(newprim, newmessage);
+		PurpleSavedStatus *status = purple_savedstatus_find_transient_by_type_and_message(newprim, newmessage);
 									/* Holy Crap! That's a LAWNG function name */
 		if (status == NULL)
 		{
-			status = gaim_savedstatus_new(NULL, newprim);
-			gaim_savedstatus_set_message(status, newmessage);
+			status = purple_savedstatus_new(NULL, newprim);
+			purple_savedstatus_set_message(status, newmessage);
 		}
 
-		gaim_savedstatus_activate(status);
+		purple_savedstatus_activate(status);
 	}
 
 	gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree);
@@ -1658,7 +1658,7 @@
 	if (now->type == STATUS_SAVED_POPULAR)
 	{
 		/* Set the status immediately */
-		gaim_savedstatus_activate(now->u.saved);
+		purple_savedstatus_activate(now->u.saved);
 	}
 	else if (now->type == STATUS_PRIMITIVE)
 	{
@@ -1670,13 +1670,13 @@
 	else if (now->type == STATUS_SAVED_ALL)
 	{
 		/* Restore the selection to reflect current status. */
-		savedstatus_changed(gaim_savedstatus_get_current(), NULL);
+		savedstatus_changed(purple_savedstatus_get_current(), NULL);
 		gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree);
 		finch_savedstatus_show_all();
 	}
 	else if (now->type == STATUS_SAVED_NEW)
 	{
-		savedstatus_changed(gaim_savedstatus_get_current(), NULL);
+		savedstatus_changed(purple_savedstatus_get_current(), NULL);
 		gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree);
 		finch_savedstatus_edit(NULL);
 	}
@@ -1706,10 +1706,10 @@
 }
 
 static void
-savedstatus_changed(GaimSavedStatus *now, GaimSavedStatus *old)
+savedstatus_changed(PurpleSavedStatus *now, PurpleSavedStatus *old)
 {
 	GList *list;
-	GaimStatusPrimitive prim;
+	PurpleStatusPrimitive prim;
 	const char *message;
 	gboolean found = FALSE, saved = TRUE;
 
@@ -1722,8 +1722,8 @@
 	g_signal_handlers_block_matched(ggblist->statustext, G_SIGNAL_MATCH_FUNC,
 			0, 0, NULL, status_text_changed, NULL);
 
-	prim = gaim_savedstatus_get_type(now);
-	message = gaim_savedstatus_get_message(now);
+	prim = purple_savedstatus_get_type(now);
+	message = purple_savedstatus_get_message(now);
 
 	/* Rebuild the status dropdown */
 	populate_status_dropdown();
@@ -1736,7 +1736,7 @@
 			if ((saved && item->type != STATUS_PRIMITIVE && item->u.saved == now) ||
 					(!saved && item->type == STATUS_PRIMITIVE && item->u.prim == prim))
 			{
-				char *mess = gaim_unescape_html(message);
+				char *mess = purple_unescape_html(message);
 				gnt_combo_box_set_selected(GNT_COMBO_BOX(ggblist->status), item);
 				gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), mess);
 				gnt_widget_draw(ggblist->status);
@@ -1757,7 +1757,7 @@
 }
 
 static int
-blist_node_compare_text(GaimBlistNode *n1, GaimBlistNode *n2)
+blist_node_compare_text(PurpleBlistNode *n1, PurpleBlistNode *n2)
 {
 	const char *s1, *s2;
 	char *us1, *us2;
@@ -1767,21 +1767,21 @@
 	
 	switch (n1->type)
 	{
-		case GAIM_BLIST_GROUP_NODE:
-			s1 = ((GaimGroup*)n1)->name;
-			s2 = ((GaimGroup*)n2)->name;
+		case PURPLE_BLIST_GROUP_NODE:
+			s1 = ((PurpleGroup*)n1)->name;
+			s2 = ((PurpleGroup*)n2)->name;
 			break;
-		case GAIM_BLIST_CHAT_NODE:
-			s1 = gaim_chat_get_name((GaimChat*)n1);
-			s2 = gaim_chat_get_name((GaimChat*)n2);
+		case PURPLE_BLIST_CHAT_NODE:
+			s1 = purple_chat_get_name((PurpleChat*)n1);
+			s2 = purple_chat_get_name((PurpleChat*)n2);
 			break;
-		case GAIM_BLIST_BUDDY_NODE:
-			return gaim_presence_compare(gaim_buddy_get_presence((GaimBuddy*)n1),
-					gaim_buddy_get_presence((GaimBuddy*)n2));
+		case PURPLE_BLIST_BUDDY_NODE:
+			return purple_presence_compare(purple_buddy_get_presence((PurpleBuddy*)n1),
+					purple_buddy_get_presence((PurpleBuddy*)n2));
 			break;
-		case GAIM_BLIST_CONTACT_NODE:
-			s1 = gaim_contact_get_alias((GaimContact*)n1);
-			s2 = gaim_contact_get_alias((GaimContact*)n2);
+		case PURPLE_BLIST_CONTACT_NODE:
+			s1 = purple_contact_get_alias((PurpleContact*)n1);
+			s2 = purple_contact_get_alias((PurpleContact*)n2);
 			break;
 		default:
 			return -1;
@@ -1797,20 +1797,20 @@
 }
 
 static int
-blist_node_compare_status(GaimBlistNode *n1, GaimBlistNode *n2)
+blist_node_compare_status(PurpleBlistNode *n1, PurpleBlistNode *n2)
 {
 	int ret;
 
 	g_return_val_if_fail(n1->type == n2->type, -1);
 
 	switch (n1->type) {
-		case GAIM_BLIST_CONTACT_NODE:
-			n1 = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)n1);
-			n2 = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)n2);
+		case PURPLE_BLIST_CONTACT_NODE:
+			n1 = (PurpleBlistNode*)purple_contact_get_priority_buddy((PurpleContact*)n1);
+			n2 = (PurpleBlistNode*)purple_contact_get_priority_buddy((PurpleContact*)n2);
 			/* now compare the presence of the priority buddies */
-		case GAIM_BLIST_BUDDY_NODE:
-			ret = gaim_presence_compare(gaim_buddy_get_presence((GaimBuddy*)n1),
-					gaim_buddy_get_presence((GaimBuddy*)n2));
+		case PURPLE_BLIST_BUDDY_NODE:
+			ret = purple_presence_compare(purple_buddy_get_presence((PurpleBuddy*)n1),
+					purple_buddy_get_presence((PurpleBuddy*)n2));
 			if (ret != 0)
 				return ret;
 			break;
@@ -1825,37 +1825,37 @@
 }
 
 static int
-get_contact_log_size(GaimBlistNode *c)
+get_contact_log_size(PurpleBlistNode *c)
 {
 	int log = 0;
-	GaimBlistNode *node;
+	PurpleBlistNode *node;
 
 	for (node = c->child; node; node = node->next) {
-		GaimBuddy *b = (GaimBuddy*)node;
-		log += gaim_log_get_total_size(GAIM_LOG_IM, b->name, b->account);
+		PurpleBuddy *b = (PurpleBuddy*)node;
+		log += purple_log_get_total_size(PURPLE_LOG_IM, b->name, b->account);
 	}
 
 	return log;
 }
 
 static int
-blist_node_compare_log(GaimBlistNode *n1, GaimBlistNode *n2)
+blist_node_compare_log(PurpleBlistNode *n1, PurpleBlistNode *n2)
 {
 	int ret;
-	GaimBuddy *b1, *b2;
+	PurpleBuddy *b1, *b2;
 
 	g_return_val_if_fail(n1->type == n2->type, -1);
 
 	switch (n1->type) {
-		case GAIM_BLIST_BUDDY_NODE:
-			b1 = (GaimBuddy*)n1;
-			b2 = (GaimBuddy*)n2;
-			ret = gaim_log_get_total_size(GAIM_LOG_IM, b2->name, b2->account) - 
-					gaim_log_get_total_size(GAIM_LOG_IM, b1->name, b1->account);
+		case PURPLE_BLIST_BUDDY_NODE:
+			b1 = (PurpleBuddy*)n1;
+			b2 = (PurpleBuddy*)n2;
+			ret = purple_log_get_total_size(PURPLE_LOG_IM, b2->name, b2->account) - 
+					purple_log_get_total_size(PURPLE_LOG_IM, b1->name, b1->account);
 			if (ret != 0)
 				return ret;
 			break;
-		case GAIM_BLIST_CONTACT_NODE:
+		case PURPLE_BLIST_CONTACT_NODE:
 			ret = get_contact_log_size(n2) - get_contact_log_size(n1);
 			if (ret != 0)
 				return ret;
@@ -1879,23 +1879,23 @@
 static void
 plugin_action(GntMenuItem *item, gpointer data)
 {
-	GaimPluginAction *action = data;
+	PurplePluginAction *action = data;
 	if (action && action->callback)
 		action->callback(action);
 }
 
 static void
-build_plugin_actions(GntMenuItem *item, GaimPlugin *plugin, gpointer context)
+build_plugin_actions(GntMenuItem *item, PurplePlugin *plugin, gpointer context)
 {
 	GntWidget *sub = gnt_menu_new(GNT_MENU_POPUP);
 	GList *actions;
 	GntMenuItem *menuitem;
 
 	gnt_menuitem_set_submenu(item, GNT_MENU(sub));
-	for (actions = GAIM_PLUGIN_ACTIONS(plugin, context); actions;
+	for (actions = PURPLE_PLUGIN_ACTIONS(plugin, context); actions;
 			actions = g_list_delete_link(actions, actions)) {
 		if (actions->data) {
-			GaimPluginAction *action = actions->data;
+			PurplePluginAction *action = actions->data;
 			action->plugin = plugin;
 			action->context = context;
 			menuitem = gnt_menuitem_new(action->label);
@@ -1903,7 +1903,7 @@
 
 			gnt_menuitem_set_callback(menuitem, plugin_action, action);
 			g_object_set_data_full(G_OBJECT(menuitem), "plugin_action",
-								   action, (GDestroyNotify)gaim_plugin_action_free);
+								   action, (GDestroyNotify)purple_plugin_action_free);
 		}
 	}
 }
@@ -1925,13 +1925,13 @@
 	sub = gnt_menu_new(GNT_MENU_POPUP);
 	gnt_menuitem_set_submenu(plg, GNT_MENU(sub));
 
-	for (iter = gaim_plugins_get_loaded(); iter; iter = iter->next) {
-		GaimPlugin *plugin = iter->data;
+	for (iter = purple_plugins_get_loaded(); iter; iter = iter->next) {
+		PurplePlugin *plugin = iter->data;
 		GntMenuItem *item;
-		if (GAIM_IS_PROTOCOL_PLUGIN(plugin))
+		if (PURPLE_IS_PROTOCOL_PLUGIN(plugin))
 			continue;
 
-		if (!GAIM_PLUGIN_HAS_ACTIONS(plugin))
+		if (!PURPLE_PLUGIN_HAS_ACTIONS(plugin))
 			continue;
 
 		item = gnt_menuitem_new(_(plugin->info->name));
@@ -1957,18 +1957,18 @@
 	sub = gnt_menu_new(GNT_MENU_POPUP);
 	gnt_menuitem_set_submenu(acc, GNT_MENU(sub));
 
-	for (iter = gaim_accounts_get_all_active(); iter;
+	for (iter = purple_accounts_get_all_active(); iter;
 			iter = g_list_delete_link(iter, iter)) {
-		GaimAccount *account = iter->data;
-		GaimConnection *gc = gaim_account_get_connection(account);
-		GaimPlugin *prpl;
+		PurpleAccount *account = iter->data;
+		PurpleConnection *gc = purple_account_get_connection(account);
+		PurplePlugin *prpl;
 		
-		if (!gc || !GAIM_CONNECTION_IS_CONNECTED(gc))
+		if (!gc || !PURPLE_CONNECTION_IS_CONNECTED(gc))
 			continue;
 		prpl = gc->prpl;
 
-		if (GAIM_PLUGIN_HAS_ACTIONS(prpl)) {
-			item = gnt_menuitem_new(gaim_account_get_username(account));
+		if (PURPLE_PLUGIN_HAS_ACTIONS(prpl)) {
+			item = gnt_menuitem_new(purple_account_get_username(account));
 			gnt_menu_add_item(GNT_MENU(sub), item);
 			build_plugin_actions(item, prpl, gc);
 		}
@@ -1978,68 +1978,68 @@
 static void
 account_signed_on_cb()
 {
-	GaimBlistNode *node;
+	PurpleBlistNode *node;
 
-	for (node = gaim_blist_get_root(); node;
-			node = gaim_blist_node_next(node, FALSE)) {
-		if (GAIM_BLIST_NODE_IS_CHAT(node)) {
-			GaimChat *chat = (GaimChat*)node;
-			if (gaim_blist_node_get_bool(node, "gnt-autojoin"))
-				serv_join_chat(gaim_account_get_connection(chat->account), chat->components);
+	for (node = purple_blist_get_root(); node;
+			node = purple_blist_node_next(node, FALSE)) {
+		if (PURPLE_BLIST_NODE_IS_CHAT(node)) {
+			PurpleChat *chat = (PurpleChat*)node;
+			if (purple_blist_node_get_bool(node, "gnt-autojoin"))
+				serv_join_chat(purple_account_get_connection(chat->account), chat->components);
 		}
 	}
 }
 
 static void show_offline_cb(GntMenuItem *item, gpointer n)
 {
-	gaim_prefs_set_bool(PREF_ROOT "/showoffline",
-		!gaim_prefs_get_bool(PREF_ROOT "/showoffline"));
+	purple_prefs_set_bool(PREF_ROOT "/showoffline",
+		!purple_prefs_get_bool(PREF_ROOT "/showoffline"));
 }
 
 static void sort_blist_change_cb(GntMenuItem *item, gpointer n)
 {
-	gaim_prefs_set_string(PREF_ROOT "/sort_type", n);
+	purple_prefs_set_string(PREF_ROOT "/sort_type", n);
 }
 
 /* XXX: send_im_select* -- Xerox */
 static void
-send_im_select_cb(gpointer data, GaimRequestFields *fields)
+send_im_select_cb(gpointer data, PurpleRequestFields *fields)
 {
-	GaimAccount *account;
+	PurpleAccount *account;
 	const char *username;
 
-	account  = gaim_request_fields_get_account(fields, "account");
-	username = gaim_request_fields_get_string(fields,  "screenname");
+	account  = purple_request_fields_get_account(fields, "account");
+	username = purple_request_fields_get_string(fields,  "screenname");
 
-	gaim_conversation_new(GAIM_CONV_TYPE_IM, account, username);
+	purple_conversation_new(PURPLE_CONV_TYPE_IM, account, username);
 }
 
 static void
 send_im_select(GntMenuItem *item, gpointer n)
 {
-	GaimRequestFields *fields;
-	GaimRequestFieldGroup *group;
-	GaimRequestField *field;
+	PurpleRequestFields *fields;
+	PurpleRequestFieldGroup *group;
+	PurpleRequestField *field;
 
-	fields = gaim_request_fields_new();
+	fields = purple_request_fields_new();
 
-	group = gaim_request_field_group_new(NULL);
-	gaim_request_fields_add_group(fields, group);
+	group = purple_request_field_group_new(NULL);
+	purple_request_fields_add_group(fields, group);
 
-	field = gaim_request_field_string_new("screenname", _("_Name"), NULL, FALSE);
-	gaim_request_field_set_type_hint(field, "screenname");
-	gaim_request_field_set_required(field, TRUE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_string_new("screenname", _("_Name"), NULL, FALSE);
+	purple_request_field_set_type_hint(field, "screenname");
+	purple_request_field_set_required(field, TRUE);
+	purple_request_field_group_add_field(group, field);
 
-	field = gaim_request_field_account_new("account", _("_Account"), NULL);
-	gaim_request_field_set_type_hint(field, "account");
-	gaim_request_field_set_visible(field,
-		(gaim_connections_get_all() != NULL &&
-		 gaim_connections_get_all()->next != NULL));
-	gaim_request_field_set_required(field, TRUE);
-	gaim_request_field_group_add_field(group, field);
+	field = purple_request_field_account_new("account", _("_Account"), NULL);
+	purple_request_field_set_type_hint(field, "account");
+	purple_request_field_set_visible(field,
+		(purple_connections_get_all() != NULL &&
+		 purple_connections_get_all()->next != NULL));
+	purple_request_field_set_required(field, TRUE);
+	purple_request_field_group_add_field(group, field);
 
-	gaim_request_fields(gaim_get_blist(), _("New Instant Message"),
+	purple_request_fields(purple_get_blist(), _("New Instant Message"),
 						NULL,
 						_("Please enter the screen name or alias of the person "
 						  "you would like to IM."),
@@ -2075,7 +2075,7 @@
 
 	item = gnt_menuitem_check_new(_("Toggle offline buddies"));
 	gnt_menuitem_check_set_checked(GNT_MENUITEM_CHECK(item),
-				gaim_prefs_get_bool(PREF_ROOT "/showoffline"));
+				purple_prefs_get_bool(PREF_ROOT "/showoffline"));
 	gnt_menu_add_item(GNT_MENU(sub), item);
 	gnt_menuitem_set_callback(GNT_MENUITEM(item), show_offline_cb, NULL);
 
@@ -2100,11 +2100,11 @@
 
 void finch_blist_show()
 {
-	blist_show(gaim_get_blist());
+	blist_show(purple_get_blist());
 }
 
 static void
-blist_show(GaimBuddyList *list)
+blist_show(PurpleBuddyList *list)
 {
 	if (ggblist == NULL)
 		new_list(list);
@@ -2120,13 +2120,13 @@
 	ggblist->tree = gnt_tree_new();
 
 	GNT_WIDGET_SET_FLAGS(ggblist->tree, GNT_WIDGET_NO_BORDER);
-	gnt_widget_set_size(ggblist->tree, gaim_prefs_get_int(PREF_ROOT "/size/width"),
-			gaim_prefs_get_int(PREF_ROOT "/size/height"));
-	gnt_widget_set_position(ggblist->window, gaim_prefs_get_int(PREF_ROOT "/position/x"),
-			gaim_prefs_get_int(PREF_ROOT "/position/y"));
+	gnt_widget_set_size(ggblist->tree, purple_prefs_get_int(PREF_ROOT "/size/width"),
+			purple_prefs_get_int(PREF_ROOT "/size/height"));
+	gnt_widget_set_position(ggblist->window, purple_prefs_get_int(PREF_ROOT "/position/x"),
+			purple_prefs_get_int(PREF_ROOT "/position/y"));
 
 	gnt_tree_set_col_width(GNT_TREE(ggblist->tree), 0,
-			gaim_prefs_get_int(PREF_ROOT "/size/width") - 1);
+			purple_prefs_get_int(PREF_ROOT "/size/width") - 1);
 
 	gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->tree);
 
@@ -2137,34 +2137,34 @@
 
 	gnt_widget_show(ggblist->window);
 
-	gaim_signal_connect(gaim_connections_get_handle(), "signed-on", finch_blist_get_handle(),
-				GAIM_CALLBACK(reconstruct_accounts_menu), NULL);
-	gaim_signal_connect(gaim_connections_get_handle(), "signed-off", finch_blist_get_handle(),
-				GAIM_CALLBACK(reconstruct_accounts_menu), NULL);
-	gaim_signal_connect(gaim_blist_get_handle(), "buddy-status-changed", finch_blist_get_handle(),
-				GAIM_CALLBACK(buddy_status_changed), ggblist);
-	gaim_signal_connect(gaim_blist_get_handle(), "buddy-idle-changed", finch_blist_get_handle(),
-				GAIM_CALLBACK(buddy_idle_changed), ggblist);
+	purple_signal_connect(purple_connections_get_handle(), "signed-on", finch_blist_get_handle(),
+				PURPLE_CALLBACK(reconstruct_accounts_menu), NULL);
+	purple_signal_connect(purple_connections_get_handle(), "signed-off", finch_blist_get_handle(),
+				PURPLE_CALLBACK(reconstruct_accounts_menu), NULL);
+	purple_signal_connect(purple_blist_get_handle(), "buddy-status-changed", finch_blist_get_handle(),
+				PURPLE_CALLBACK(buddy_status_changed), ggblist);
+	purple_signal_connect(purple_blist_get_handle(), "buddy-idle-changed", finch_blist_get_handle(),
+				PURPLE_CALLBACK(buddy_idle_changed), ggblist);
 
-	gaim_signal_connect(gaim_plugins_get_handle(), "plugin-load", finch_blist_get_handle(),
-				GAIM_CALLBACK(reconstruct_plugins_menu), NULL);
-	gaim_signal_connect(gaim_plugins_get_handle(), "plugin-unload", finch_blist_get_handle(),
-				GAIM_CALLBACK(reconstruct_plugins_menu), NULL);
+	purple_signal_connect(purple_plugins_get_handle(), "plugin-load", finch_blist_get_handle(),
+				PURPLE_CALLBACK(reconstruct_plugins_menu), NULL);
+	purple_signal_connect(purple_plugins_get_handle(), "plugin-unload", finch_blist_get_handle(),
+				PURPLE_CALLBACK(reconstruct_plugins_menu), NULL);
 
 #if 0
-	gaim_signal_connect(gaim_blist_get_handle(), "buddy-signed-on", finch_blist_get_handle(),
-				GAIM_CALLBACK(buddy_signed_on), ggblist);
-	gaim_signal_connect(gaim_blist_get_handle(), "buddy-signed-off", finch_blist_get_handle(),
-				GAIM_CALLBACK(buddy_signed_off), ggblist);
+	purple_signal_connect(purple_blist_get_handle(), "buddy-signed-on", finch_blist_get_handle(),
+				PURPLE_CALLBACK(buddy_signed_on), ggblist);
+	purple_signal_connect(purple_blist_get_handle(), "buddy-signed-off", finch_blist_get_handle(),
+				PURPLE_CALLBACK(buddy_signed_off), ggblist);
 
 	/* These I plan to use to indicate unread-messages etc. */
-	gaim_signal_connect(gaim_conversations_get_handle(), "received-im-msg", finch_blist_get_handle(),
-				GAIM_CALLBACK(received_im_msg), list);
-	gaim_signal_connect(gaim_conversations_get_handle(), "sent-im-msg", finch_blist_get_handle(),
-				GAIM_CALLBACK(sent_im_msg), NULL);
+	purple_signal_connect(purple_conversations_get_handle(), "received-im-msg", finch_blist_get_handle(),
+				PURPLE_CALLBACK(received_im_msg), list);
+	purple_signal_connect(purple_conversations_get_handle(), "sent-im-msg", finch_blist_get_handle(),
+				PURPLE_CALLBACK(sent_im_msg), NULL);
 
-	gaim_signal_connect(gaim_conversations_get_handle(), "received-chat-msg", finch_blist_get_handle(),
-				GAIM_CALLBACK(received_chat_msg), list);
+	purple_signal_connect(purple_conversations_get_handle(), "received-chat-msg", finch_blist_get_handle(),
+				PURPLE_CALLBACK(received_chat_msg), list);
 #endif
 
 	g_signal_connect(G_OBJECT(ggblist->tree), "selection_changed", G_CALLBACK(selection_changed), ggblist);
@@ -2181,8 +2181,8 @@
 	g_signal_connect(G_OBJECT(ggblist->window), "destroy", G_CALLBACK(reset_blist_window), NULL);
 
 	/* Status signals */
-	gaim_signal_connect(gaim_savedstatuses_get_handle(), "savedstatus-changed", finch_blist_get_handle(),
-				GAIM_CALLBACK(savedstatus_changed), NULL);
+	purple_signal_connect(purple_savedstatuses_get_handle(), "savedstatus-changed", finch_blist_get_handle(),
+				PURPLE_CALLBACK(savedstatus_changed), NULL);
 	g_signal_connect(G_OBJECT(ggblist->status), "selection_changed",
 				G_CALLBACK(status_selection_changed), NULL);
 	g_signal_connect(G_OBJECT(ggblist->statustext), "key_pressed",
@@ -2192,7 +2192,7 @@
 
 	populate_buddylist();
 
-	savedstatus_changed(gaim_savedstatus_get_current(), NULL);
+	savedstatus_changed(purple_savedstatus_get_current(), NULL);
 }
 
 void finch_blist_uninit()