Mercurial > pidgin.yaz
comparison finch/gntblist.c @ 18586:4fda1fc6d7cf
Add an 'auto-join' checkbox in the 'Add Chat' dialog, thanks to fmoo's
suggestion in #pidgin. (No new strings)
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Mon, 23 Jul 2007 20:54:16 +0000 |
parents | 823946ddd527 |
children | 5551e5ec1ce0 069c036d9b72 |
comparison
equal
deleted
inserted
replaced
18585:823946ddd527 | 18586:4fda1fc6d7cf |
---|---|
352 const char *alias, *name, *group; | 352 const char *alias, *name, *group; |
353 PurpleChat *chat; | 353 PurpleChat *chat; |
354 PurpleGroup *grp; | 354 PurpleGroup *grp; |
355 GHashTable *hash = NULL; | 355 GHashTable *hash = NULL; |
356 PurpleConnection *gc; | 356 PurpleConnection *gc; |
357 gboolean autojoin; | |
357 | 358 |
358 account = purple_request_fields_get_account(allfields, "account"); | 359 account = purple_request_fields_get_account(allfields, "account"); |
359 name = purple_request_fields_get_string(allfields, "name"); | 360 name = purple_request_fields_get_string(allfields, "name"); |
360 alias = purple_request_fields_get_string(allfields, "alias"); | 361 alias = purple_request_fields_get_string(allfields, "alias"); |
361 group = purple_request_fields_get_string(allfields, "group"); | 362 group = purple_request_fields_get_string(allfields, "group"); |
363 autojoin = purple_request_fields_get_bool(allfields, "autojoin"); | |
362 | 364 |
363 if (!purple_account_is_connected(account) || !name || !*name) | 365 if (!purple_account_is_connected(account) || !name || !*name) |
364 return; | 366 return; |
365 | 367 |
366 if (!group || !*group) | 368 if (!group || !*group) |
378 grp = purple_group_new(group); | 380 grp = purple_group_new(group); |
379 purple_blist_add_group(grp, NULL); | 381 purple_blist_add_group(grp, NULL); |
380 } | 382 } |
381 purple_blist_add_chat(chat, grp, NULL); | 383 purple_blist_add_chat(chat, grp, NULL); |
382 purple_blist_alias_chat(chat, alias); | 384 purple_blist_alias_chat(chat, alias); |
385 purple_blist_node_set_bool((PurpleBlistNode*)chat, "gnt-autojoin", autojoin); | |
386 if (autojoin) | |
387 serv_join_chat(chat->account->gc, chat->components); | |
383 } | 388 } |
384 } | 389 } |
385 | 390 |
386 static void | 391 static void |
387 finch_request_add_chat(PurpleAccount *account, PurpleGroup *grp, const char *alias, const char *name) | 392 finch_request_add_chat(PurpleAccount *account, PurpleGroup *grp, const char *alias, const char *name) |
403 | 408 |
404 field = purple_request_field_string_new("alias", _("Alias"), alias, FALSE); | 409 field = purple_request_field_string_new("alias", _("Alias"), alias, FALSE); |
405 purple_request_field_group_add_field(group, field); | 410 purple_request_field_group_add_field(group, field); |
406 | 411 |
407 field = purple_request_field_string_new("group", _("Group"), grp ? grp->name : NULL, FALSE); | 412 field = purple_request_field_string_new("group", _("Group"), grp ? grp->name : NULL, FALSE); |
413 purple_request_field_group_add_field(group, field); | |
414 | |
415 field = purple_request_field_bool_new("autojoin", _("Auto-join"), FALSE); | |
408 purple_request_field_group_add_field(group, field); | 416 purple_request_field_group_add_field(group, field); |
409 | 417 |
410 purple_request_fields(NULL, _("Add Chat"), NULL, | 418 purple_request_fields(NULL, _("Add Chat"), NULL, |
411 _("You can edit more information from the context menu later."), | 419 _("You can edit more information from the context menu later."), |
412 fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, | 420 fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, |