예제 #1
0
/* Fills the widgets with audio alarm data */
static void
alarm_to_aalarm_widgets (Dialog *dialog, ECalComponentAlarm *alarm)
{
    const char *url;
    icalattach *attach;

    e_cal_component_alarm_get_attach (alarm, (&attach));
    url = icalattach_get_url (attach);
    icalattach_unref (attach);

    if ( !(url && *url) )
        return;

    e_dialog_toggle_set (dialog->aalarm_sound, TRUE);
    gtk_file_chooser_set_uri (
        GTK_FILE_CHOOSER (dialog->aalarm_file_chooser), url);
}
예제 #2
0
/* Fills the widgets from procedure alarm data */
static void
alarm_to_palarm_widgets (Dialog *dialog, ECalComponentAlarm *alarm)
{
    ECalComponentText description;
    const char *url;
    icalattach *attach;

    e_cal_component_alarm_get_attach (alarm, (&attach));
    url = icalattach_get_url (attach);
    icalattach_unref (attach);

    if ( !(url && *url) )
        return;

    e_dialog_editable_set (dialog->palarm_program, url);
    e_cal_component_alarm_get_description (alarm, &description);

    e_dialog_editable_set (dialog->palarm_args, description.value);
}
NS_IMETHODIMP
calIcalProperty::GetValue(nsACString &str)
{
    icalvalue *value = icalproperty_get_value(mProperty);
    icalvalue_kind valuekind = icalvalue_isa(value);

    const char *icalstr;
    if (valuekind == ICAL_TEXT_VALUE) {
        icalstr = icalvalue_get_text(value);
    } else if (valuekind == ICAL_X_VALUE) {
        icalstr = icalvalue_get_x(value);
    } else if (valuekind == ICAL_ATTACH_VALUE) {
        icalattach *attach = icalvalue_get_attach(value);
        if (icalattach_get_is_url(attach)) {
            icalstr = icalattach_get_url(attach);
        } else {
            icalstr = (const char *)icalattach_get_data(attach);
        }
    } else {
        icalstr = icalproperty_get_value_as_string(mProperty);
    }

    if (!icalstr) {
        if (icalerrno == ICAL_BADARG_ERROR) {
            str.Truncate();
            // Set string to null, because we don't have a value
            // (which is something different then an empty value)
            str.SetIsVoid(true);
            return NS_OK;
        }

#ifdef DEBUG
        fprintf(stderr, "Error getting string value: %d (%s)\n",
                icalerrno, icalerror_strerror(icalerrno));
#endif
        return NS_ERROR_FAILURE;
    }

    str.Assign(icalstr);
    return NS_OK;
}