diff src/protocols/gg/gg.c @ 4333:cc2f780c0505

[gaim-migrate @ 4597] I needed to make gc->login_time set before do_proto_menu was called, so I moved that line into account_online instead of serv_finish_login. serv_finish_login is called directly after account_online, and gc->login_time isn't used for anything anyway, so it shouldn't matter. I use gc->login_time to determine if a gc's protocol actions menu is ready to be drawn or not (should not be draw for accounts that are in the process of signing online). I made the "Show Buddies Awaiting Authorization" thing show something reasonable for when you aren't waiting for authorization from anyone. I swapped the ok and cancel buttons for the search for buddy by information and clear log file so they follow the HIG. I gave the right side of the log viewer a shadowed border. I Robot. I applied a patch from Ryan McCabe that doesn't really do anything for gaim (yet, anyway), but it allows clients using libfaim to call cleansnacs cleanly, which stops a potential build up of SNACs in memory when you don't send an IM for a long period of time. I applied another patch from Mr. McCabe that fixes a potential crash in ssi.c when your buddy list is a few lions short of a pride, if you know what I mean. I re-prettified an authorization dialog or two. The bold stuff and the non-bold stuff got backwardcised somehow. I added support for those messages from the ICQ server. Like the one that tells you not to give your password to anyone when you first signon. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 18 Jan 2003 01:58:00 +0000
parents c1857c9c912d
children 0c68d402f59f
line wrap: on
line diff
--- a/src/protocols/gg/gg.c	Sat Jan 18 01:09:59 2003 +0000
+++ b/src/protocols/gg/gg.c	Sat Jan 18 01:58:00 2003 +0000
@@ -1,6 +1,6 @@
 /*
  * gaim - Gadu-Gadu Protocol Plugin
- * $Id: gg.c 4474 2003-01-07 20:57:48Z thekingant $
+ * $Id: gg.c 4597 2003-01-18 01:58:00Z thekingant $
  *
  * Copyright (C) 2001 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * 
@@ -1157,32 +1157,44 @@
 	}                                        
 }
 
-static void agg_do_action(struct gaim_connection *gc, char *action)
-{
-	if (!strcmp(action, _("Directory Search"))) {
-		show_find_info(gc);
-	} else if (!strcmp(action, _("Change Password"))) {
-		show_change_passwd(gc);
-	} else if (!strcmp(action, _("Import Buddy List from Server"))) {
-		import_buddies_server(gc);
-	} else if (!strcmp(action, _("Export Buddy List to Server"))) {
-		export_buddies_server(gc);
-	} else if (!strcmp(action, _("Delete Buddy List from Server"))) {
-	        delete_buddies_server(gc);
-	}
-}
-
-static GList *agg_actions()
+static GList *agg_actions(struct gaim_connection *gc)
 {
 	GList *m = NULL;
+	struct proto_actions_menu *pam;
 
-	m = g_list_append(m, _("Directory Search"));
+	pam = g_new0(struct proto_actions_menu, 1);
+	pam->label = _("Directory Search");
+	pam->callback = show_find_info;
+	pam->gc = gc;
+	m = g_list_append(m, pam);
+
+	m = g_list_append(m, NULL);
+
+	pam = g_new0(struct proto_actions_menu, 1);
+	pam->label = _("Change Password");
+	pam->callback = show_change_passwd;
+	pam->gc = gc;
+	m = g_list_append(m, pam);
+
 	m = g_list_append(m, NULL);
-	m = g_list_append(m, _("Change Password"));
-	m = g_list_append(m, NULL);
-	m = g_list_append(m, _("Import Buddy List from Server"));
-	m = g_list_append(m, _("Export Buddy List to Server"));
-	m = g_list_append(m, _("Delete Buddy List from Server"));
+
+	pam = g_new0(struct proto_actions_menu, 1);
+	pam->label = _("Import Buddy List from Server");
+	pam->callback = import_buddies_server;
+	pam->gc = gc;
+	m = g_list_append(m, pam);
+
+	pam = g_new0(struct proto_actions_menu, 1);
+	pam->label = _("Export Buddy List to Server");
+	pam->callback = export_buddies_server;
+	pam->gc = gc;
+	m = g_list_append(m, pam);
+
+	pam = g_new0(struct proto_actions_menu, 1);
+	pam->label = _("Delete Buddy List from Server");
+	pam->callback = delete_buddies_server;
+	pam->gc = gc;
+	m = g_list_append(m, pam);
 
 	return m;
 }
@@ -1258,7 +1270,6 @@
 	ret->list_icon = agg_list_icon;
 	ret->away_states = agg_away_states;
 	ret->actions = agg_actions;
-	ret->do_action = agg_do_action;
 	ret->buddy_menu = agg_buddy_menu;
 	ret->chat_info = NULL;
 	ret->login = agg_login;