| 1125 { |
1125 { |
| 1126 gchar *secondary; |
1126 gchar *secondary; |
| 1127 |
1127 |
| 1128 g_return_if_fail(buddy != NULL); |
1128 g_return_if_fail(buddy != NULL); |
| 1129 |
1129 |
| 1130 secondary = g_strdup_printf(_("Enter an alias for %s."), buddy->name); |
1130 secondary = g_strdup_printf(_("Enter an alias for %s."), purple_buddy_get_name(buddy)); |
| 1131 |
1131 |
| 1132 purple_request_input(NULL, _("Alias Buddy"), NULL, |
1132 purple_request_input(NULL, _("Alias Buddy"), NULL, |
| 1133 secondary, buddy->alias, FALSE, FALSE, NULL, |
1133 secondary, purple_buddy_get_local_buddy_alias(buddy), FALSE, FALSE, NULL, |
| 1134 _("Alias"), G_CALLBACK(pidgin_dialogs_alias_buddy_cb), |
1134 _("Alias"), G_CALLBACK(pidgin_dialogs_alias_buddy_cb), |
| 1135 _("Cancel"), NULL, |
1135 _("Cancel"), NULL, |
| 1136 purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, |
1136 purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, |
| 1137 buddy); |
1137 buddy); |
| 1138 |
1138 |
| 1167 |
1167 |
| 1168 cnode = (PurpleBlistNode *)contact; |
1168 cnode = (PurpleBlistNode *)contact; |
| 1169 group = (PurpleGroup*)cnode->parent; |
1169 group = (PurpleGroup*)cnode->parent; |
| 1170 for (bnode = cnode->child; bnode; bnode = bnode->next) { |
1170 for (bnode = cnode->child; bnode; bnode = bnode->next) { |
| 1171 PurpleBuddy *buddy = (PurpleBuddy*)bnode; |
1171 PurpleBuddy *buddy = (PurpleBuddy*)bnode; |
| 1172 if (purple_account_is_connected(buddy->account)) |
1172 if (purple_account_is_connected(purple_buddy_get_account(buddy))) |
| 1173 purple_account_remove_buddy(buddy->account, buddy, group); |
1173 purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); |
| 1174 } |
1174 } |
| 1175 purple_blist_remove_contact(contact); |
1175 purple_blist_remove_contact(contact); |
| 1176 } |
1176 } |
| 1177 |
1177 |
| 1178 void |
1178 void |
| 1194 "and %d other buddy from your buddy list. Do you " |
1194 "and %d other buddy from your buddy list. Do you " |
| 1195 "want to continue?", |
1195 "want to continue?", |
| 1196 "You are about to remove the contact containing %s " |
1196 "You are about to remove the contact containing %s " |
| 1197 "and %d other buddies from your buddy list. Do you " |
1197 "and %d other buddies from your buddy list. Do you " |
| 1198 "want to continue?", contact->totalsize - 1), |
1198 "want to continue?", contact->totalsize - 1), |
| 1199 buddy->name, contact->totalsize - 1); |
1199 purple_buddy_get_name(buddy), contact->totalsize - 1); |
| 1200 |
1200 |
| 1201 purple_request_action(contact, NULL, _("Remove Contact"), text, 0, |
1201 purple_request_action(contact, NULL, _("Remove Contact"), text, 0, |
| 1202 NULL, purple_contact_get_alias(contact), NULL, |
1202 NULL, purple_contact_get_alias(contact), NULL, |
| 1203 contact, 2, |
1203 contact, 2, |
| 1204 _("_Remove Contact"), G_CALLBACK(pidgin_dialogs_remove_contact_cb), |
1204 _("_Remove Contact"), G_CALLBACK(pidgin_dialogs_remove_contact_cb), |
| 1262 while (bnode) { |
1262 while (bnode) { |
| 1263 PurpleBuddy *buddy; |
1263 PurpleBuddy *buddy; |
| 1264 if (PURPLE_BLIST_NODE_IS_BUDDY(bnode)) { |
1264 if (PURPLE_BLIST_NODE_IS_BUDDY(bnode)) { |
| 1265 buddy = (PurpleBuddy*)bnode; |
1265 buddy = (PurpleBuddy*)bnode; |
| 1266 bnode = bnode->next; |
1266 bnode = bnode->next; |
| 1267 if (purple_account_is_connected(buddy->account)) { |
1267 if (purple_account_is_connected(purple_buddy_get_account(buddy))) { |
| 1268 purple_account_remove_buddy(buddy->account, buddy, group); |
1268 purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); |
| 1269 purple_blist_remove_buddy(buddy); |
1269 purple_blist_remove_buddy(buddy); |
| 1270 } |
1270 } |
| 1271 } else { |
1271 } else { |
| 1272 bnode = bnode->next; |
1272 bnode = bnode->next; |
| 1273 } |
1273 } |
| 1311 PurpleGroup *group; |
1311 PurpleGroup *group; |
| 1312 gchar *name; |
1312 gchar *name; |
| 1313 PurpleAccount *account; |
1313 PurpleAccount *account; |
| 1314 |
1314 |
| 1315 group = purple_buddy_get_group(buddy); |
1315 group = purple_buddy_get_group(buddy); |
| 1316 name = g_strdup(buddy->name); /* b->name is a crasher after remove_buddy */ |
1316 name = g_strdup(purple_buddy_get_name(buddy)); /* purple_buddy_get_name() is a crasher after remove_buddy */ |
| 1317 account = buddy->account; |
1317 account = purple_buddy_get_account(buddy); |
| 1318 |
1318 |
| 1319 purple_debug_info("blist", "Removing '%s' from buddy list.\n", buddy->name); |
1319 purple_debug_info("blist", "Removing '%s' from buddy list.\n", purple_buddy_get_name(buddy)); |
| 1320 /* TODO - Should remove from blist first... then call purple_account_remove_buddy()? */ |
1320 /* TODO - Should remove from blist first... then call purple_account_remove_buddy()? */ |
| 1321 purple_account_remove_buddy(account, buddy, group); |
1321 purple_account_remove_buddy(account, buddy, group); |
| 1322 purple_blist_remove_buddy(buddy); |
1322 purple_blist_remove_buddy(buddy); |
| 1323 |
1323 |
| 1324 g_free(name); |
1324 g_free(name); |
| 1330 gchar *text; |
1330 gchar *text; |
| 1331 |
1331 |
| 1332 g_return_if_fail(buddy != NULL); |
1332 g_return_if_fail(buddy != NULL); |
| 1333 |
1333 |
| 1334 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), |
1334 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), |
| 1335 buddy->name); |
1335 purple_buddy_get_name(buddy)); |
| 1336 |
1336 |
| 1337 purple_request_action(buddy, NULL, _("Remove Buddy"), text, 0, |
1337 purple_request_action(buddy, NULL, _("Remove Buddy"), text, 0, |
| 1338 purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, |
1338 purple_buddy_get_account(buddy), purple_buddy_get_name(buddy), NULL, |
| 1339 buddy, 2, |
1339 buddy, 2, |
| 1340 _("_Remove Buddy"), G_CALLBACK(pidgin_dialogs_remove_buddy_cb), |
1340 _("_Remove Buddy"), G_CALLBACK(pidgin_dialogs_remove_buddy_cb), |