{ CHIME_AVAILABILITY_AWAY, "away", N_("Away") },\
{ CHIME_AVAILABILITY_BUSY, "busy", N_("Busy") },\
{ CHIME_AVAILABILITY_MOBILE, "mobile", N_("Mobile") },\
- { CHIME_AVAILABILITY_PRIVATE, "private", N_("Private") },
+ { CHIME_AVAILABILITY_PRIVATE, "private", N_("Private") },\
+ { CHIME_AVAILABILITY_DO_NOT_DISTURB, "dnd", N_("Do Not Disturb") },
CHIME_DEFINE_ENUM_TYPE(ChimeAvailability, chime_availability, CHIME_AVAILABILITY_VALUES)
gpointer klass = g_type_class_ref(CHIME_TYPE_AVAILABILITY);
GEnumValue *val = g_enum_get_value(klass, av);
g_type_class_unref(klass);
- return val->value_name;
+ if (val)
+ return val->value_name;
+ else
+ return _("Unknown");
}
static void unsubscribe_contact(gpointer key, gpointer val, gpointer data);
CHIME_AVAILABILITY_BUSY,
CHIME_AVAILABILITY_MOBILE,
CHIME_AVAILABILITY_PRIVATE,
+ CHIME_AVAILABILITY_DO_NOT_DISTURB,
CHIME_AVAILABILITY_LAST
} ChimeAvailability;
[CHIME_AVAILABILITY_BUSY] = PURPLE_STATUS_UNAVAILABLE,
[CHIME_AVAILABILITY_MOBILE] = PURPLE_STATUS_MOBILE,
[CHIME_AVAILABILITY_PRIVATE] = PURPLE_STATUS_INVISIBLE,
+ [CHIME_AVAILABILITY_DO_NOT_DISTURB] = PURPLE_STATUS_UNAVAILABLE,
};
static GList *chime_purple_status_types(PurpleAccount *account)
gpointer klass = g_type_class_ref(CHIME_TYPE_AVAILABILITY);
- for (av = CHIME_AVAILABILITY_OFFLINE; av <= CHIME_AVAILABILITY_PRIVATE; av++) {
+ for (av = CHIME_AVAILABILITY_OFFLINE; av < CHIME_AVAILABILITY_LAST; av++) {
GEnumValue *val = g_enum_get_value(klass, av);
type = purple_status_type_new(purple_statuses[av], val->value_name,