comparison pidgin/gtkblist.c @ 22695:387071b0d4d4

Fix setting "show offline" for buddy list nodes so it takes immediate effect, references #4606 but I'm not sure if that's a different problem.
author Stu Tomlinson <stu@nosnilmot.com>
date Wed, 23 Apr 2008 17:10:43 +0000
parents 84dc71e67a72
children cf88a302fa88 2f4b10ee752b
comparison
equal deleted inserted replaced
22694:7097bbac4234 22695:387071b0d4d4
693 { 693 {
694 if (PURPLE_BLIST_NODE_IS_BUDDY(node)) 694 if (PURPLE_BLIST_NODE_IS_BUDDY(node))
695 { 695 {
696 purple_blist_node_set_bool(node, "show_offline", 696 purple_blist_node_set_bool(node, "show_offline",
697 !purple_blist_node_get_bool(node, "show_offline")); 697 !purple_blist_node_get_bool(node, "show_offline"));
698 pidgin_blist_update(purple_get_blist(), node);
698 } 699 }
699 else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) 700 else if (PURPLE_BLIST_NODE_IS_CONTACT(node))
700 { 701 {
701 PurpleBlistNode *bnode; 702 PurpleBlistNode *bnode;
702 gboolean setting = !purple_blist_node_get_bool(node, "show_offline"); 703 gboolean setting = !purple_blist_node_get_bool(node, "show_offline");
703 704
704 purple_blist_node_set_bool(node, "show_offline", setting); 705 purple_blist_node_set_bool(node, "show_offline", setting);
705 for (bnode = node->child; bnode != NULL; bnode = bnode->next) { 706 for (bnode = node->child; bnode != NULL; bnode = bnode->next) {
706 purple_blist_node_set_bool(bnode, "show_offline", setting); 707 purple_blist_node_set_bool(bnode, "show_offline", setting);
708 pidgin_blist_update(purple_get_blist(), bnode);
707 } 709 }
708 } else if (PURPLE_BLIST_NODE_IS_GROUP(node)) { 710 } else if (PURPLE_BLIST_NODE_IS_GROUP(node)) {
709 PurpleBlistNode *cnode, *bnode; 711 PurpleBlistNode *cnode, *bnode;
710 gboolean setting = !purple_blist_node_get_bool(node, "show_offline"); 712 gboolean setting = !purple_blist_node_get_bool(node, "show_offline");
711 713
712 purple_blist_node_set_bool(node, "show_offline", setting); 714 purple_blist_node_set_bool(node, "show_offline", setting);
713 for (cnode = node->child; cnode != NULL; cnode = cnode->next) { 715 for (cnode = node->child; cnode != NULL; cnode = cnode->next) {
714 purple_blist_node_set_bool(cnode, "show_offline", setting); 716 purple_blist_node_set_bool(cnode, "show_offline", setting);
715 for (bnode = cnode->child; bnode != NULL; bnode = bnode->next) { 717 for (bnode = cnode->child; bnode != NULL; bnode = bnode->next) {
716 purple_blist_node_set_bool(bnode, "show_offline", setting); 718 purple_blist_node_set_bool(bnode, "show_offline", setting);
719 pidgin_blist_update(purple_get_blist(), bnode);
717 } 720 }
718 } 721 }
719 } 722 }
720 pidgin_blist_update(purple_get_blist(), node);
721 } 723 }
722 724
723 static void gtk_blist_show_systemlog_cb(void) 725 static void gtk_blist_show_systemlog_cb(void)
724 { 726 {
725 pidgin_syslog_show(); 727 pidgin_syslog_show();