Checkid in patch to fix bug 156113:Calendar should use VALUE=DATE parameter for all-day events instead of X prop

This commit is contained in:
mostafah%oeone.com 2002-07-09 15:38:55 +00:00
Родитель 31b3c581fd
Коммит acbfc0d63e
1 изменённых файлов: 15 добавлений и 4 удалений

Просмотреть файл

@ -1647,6 +1647,12 @@ bool oeICalEventImpl::ParseIcalComponent( icalcomponent *comp )
prop = icalcomponent_get_first_property( vevent, ICAL_DTSTART_PROPERTY ); prop = icalcomponent_get_first_property( vevent, ICAL_DTSTART_PROPERTY );
if ( prop != 0) { if ( prop != 0) {
m_start->m_datetime = icalproperty_get_dtstart( prop ); m_start->m_datetime = icalproperty_get_dtstart( prop );
if( m_start->m_datetime.is_date == true ) {
m_allday = true;
m_start->SetHour( 0 );
m_start->SetMinute( 0 );
m_start->m_datetime.is_date == false; //Because currently we depend on m_datetime being a complete datetime value.
}
} else { } else {
m_start->m_datetime = icaltime_null_time(); m_start->m_datetime = icaltime_null_time();
} }
@ -1857,13 +1863,14 @@ icalcomponent* oeICalEventImpl::AsIcalComponent()
icalcomponent_add_property( vevent, prop ); icalcomponent_add_property( vevent, prop );
} }
//allday //No need for allday x-prop anymore
/* //allday
if( m_allday ) { if( m_allday ) {
tmppar = icalparameter_new_member( "AllDay" ); tmppar = icalparameter_new_member( "AllDay" );
prop = icalproperty_new_x( "TRUE" ); prop = icalproperty_new_x( "TRUE" );
icalproperty_add_parameter( prop, tmppar ); icalproperty_add_parameter( prop, tmppar );
icalcomponent_add_property( vevent, prop ); icalcomponent_add_property( vevent, prop );
} }*/
//alarm //alarm
if( m_hasalarm ) { if( m_hasalarm ) {
@ -2068,9 +2075,11 @@ icalcomponent* oeICalEventImpl::AsIcalComponent()
if( m_allday ) { if( m_allday ) {
m_start->SetHour( 0 ); m_start->SetHour( 0 );
m_start->SetMinute( 0 ); m_start->SetMinute( 0 );
m_start->m_datetime.is_date = true; //This will reflect the event being an all-day event
} }
prop = icalproperty_new_dtstart( m_start->m_datetime ); prop = icalproperty_new_dtstart( m_start->m_datetime );
icalcomponent_add_property( vevent, prop ); icalcomponent_add_property( vevent, prop );
m_start->m_datetime.is_date = false; //Because currently we depend on m_datetime being a complete datetime value.
} }
if( m_end && !icaltime_is_null_time( m_end->m_datetime ) ) { if( m_end && !icaltime_is_null_time( m_end->m_datetime ) ) {
@ -2079,8 +2088,10 @@ icalcomponent* oeICalEventImpl::AsIcalComponent()
m_end->SetHour( 23 ); m_end->SetHour( 23 );
m_end->SetMinute( 59 ); m_end->SetMinute( 59 );
} }
prop = icalproperty_new_dtend( m_end->m_datetime ); if( !m_allday ) { //Include end-date only if this is not an all day event
icalcomponent_add_property( vevent, prop ); prop = icalproperty_new_dtend( m_end->m_datetime );
icalcomponent_add_property( vevent, prop );
}
} }
if( m_stamp && !icaltime_is_null_time( m_stamp->m_datetime ) ) { if( m_stamp && !icaltime_is_null_time( m_stamp->m_datetime ) ) {