Mercurial > pidgin.yaz
comparison libpurple/status.c @ 32407:d3e36e7af9e7
Hide PurpleValue.
author | masca@cpw.pidgin.im |
---|---|
date | Thu, 25 Aug 2011 04:15:16 +0000 |
parents | 80eabeb5b794 |
children | ac6353ffa129 d2fe5f01635b |
comparison
equal
deleted
inserted
replaced
32406:77a59b2615d0 | 32407:d3e36e7af9e7 |
---|---|
761 continue; | 761 continue; |
762 } | 762 } |
763 | 763 |
764 specified_attr_ids = g_list_prepend(specified_attr_ids, (gpointer)id); | 764 specified_attr_ids = g_list_prepend(specified_attr_ids, (gpointer)id); |
765 | 765 |
766 if (value->type == PURPLE_TYPE_STRING) | 766 if (purple_value_get_type(value) == PURPLE_TYPE_STRING) |
767 { | 767 { |
768 const gchar *string_data = l->data; | 768 const gchar *string_data = l->data; |
769 l = l->next; | 769 l = l->next; |
770 if (purple_strequal(string_data, value->data.string_data)) | 770 if (purple_strequal(string_data, purple_value_get_string(value))) |
771 continue; | 771 continue; |
772 purple_status_set_attr_string(status, id, string_data); | 772 purple_status_set_attr_string(status, id, string_data); |
773 changed = TRUE; | 773 changed = TRUE; |
774 } | 774 } |
775 else if (value->type == PURPLE_TYPE_INT) | 775 else if (purple_value_get_type(value) == PURPLE_TYPE_INT) |
776 { | 776 { |
777 int int_data = GPOINTER_TO_INT(l->data); | 777 int int_data = GPOINTER_TO_INT(l->data); |
778 l = l->next; | 778 l = l->next; |
779 if (int_data == value->data.int_data) | 779 if (int_data == purple_value_get_int(value)) |
780 continue; | 780 continue; |
781 purple_status_set_attr_int(status, id, int_data); | 781 purple_status_set_attr_int(status, id, int_data); |
782 changed = TRUE; | 782 changed = TRUE; |
783 } | 783 } |
784 else if (value->type == PURPLE_TYPE_BOOLEAN) | 784 else if (purple_value_get_type(value) == PURPLE_TYPE_BOOLEAN) |
785 { | 785 { |
786 gboolean boolean_data = GPOINTER_TO_INT(l->data); | 786 gboolean boolean_data = GPOINTER_TO_INT(l->data); |
787 l = l->next; | 787 l = l->next; |
788 if (boolean_data == value->data.boolean_data) | 788 if (boolean_data == purple_value_get_boolean(value)) |
789 continue; | 789 continue; |
790 purple_status_set_attr_boolean(status, id, boolean_data); | 790 purple_status_set_attr_boolean(status, id, boolean_data); |
791 changed = TRUE; | 791 changed = TRUE; |
792 } | 792 } |
793 else | 793 else |
807 l = l->next; | 807 l = l->next; |
808 | 808 |
809 if (!g_list_find_custom(specified_attr_ids, attr->id, (GCompareFunc)strcmp)) { | 809 if (!g_list_find_custom(specified_attr_ids, attr->id, (GCompareFunc)strcmp)) { |
810 PurpleValue *default_value; | 810 PurpleValue *default_value; |
811 default_value = purple_status_attr_get_value(attr); | 811 default_value = purple_status_attr_get_value(attr); |
812 if (default_value->type == PURPLE_TYPE_STRING) { | 812 if (purple_value_get_type(default_value) == PURPLE_TYPE_STRING) { |
813 const char *cur = purple_status_get_attr_string(status, attr->id); | 813 const char *cur = purple_status_get_attr_string(status, attr->id); |
814 const char *def = purple_value_get_string(default_value); | 814 const char *def = purple_value_get_string(default_value); |
815 if ((cur == NULL && def == NULL) | 815 if ((cur == NULL && def == NULL) |
816 || (cur != NULL && def != NULL | 816 || (cur != NULL && def != NULL |
817 && !strcmp(cur, def))) { | 817 && !strcmp(cur, def))) { |
818 continue; | 818 continue; |
819 } | 819 } |
820 | 820 |
821 purple_status_set_attr_string(status, attr->id, def); | 821 purple_status_set_attr_string(status, attr->id, def); |
822 } else if (default_value->type == PURPLE_TYPE_INT) { | 822 } else if (purple_value_get_type(default_value) == PURPLE_TYPE_INT) { |
823 int cur = purple_status_get_attr_int(status, attr->id); | 823 int cur = purple_status_get_attr_int(status, attr->id); |
824 int def = purple_value_get_int(default_value); | 824 int def = purple_value_get_int(default_value); |
825 if (cur == def) | 825 if (cur == def) |
826 continue; | 826 continue; |
827 | 827 |
828 purple_status_set_attr_int(status, attr->id, def); | 828 purple_status_set_attr_int(status, attr->id, def); |
829 } else if (default_value->type == PURPLE_TYPE_BOOLEAN) { | 829 } else if (purple_value_get_type(default_value) == PURPLE_TYPE_BOOLEAN) { |
830 gboolean cur = purple_status_get_attr_boolean(status, attr->id); | 830 gboolean cur = purple_status_get_attr_boolean(status, attr->id); |
831 gboolean def = purple_value_get_boolean(default_value); | 831 gboolean def = purple_value_get_boolean(default_value); |
832 if (cur == def) | 832 if (cur == def) |
833 continue; | 833 continue; |
834 | 834 |