зеркало из https://github.com/mozilla/gecko-dev.git
Fixed backend support for COUNT in recurrence rules. (Bugs 183667 & 167553 )
This commit is contained in:
Родитель
703f5b19be
Коммит
3237559d7a
|
@ -1103,6 +1103,16 @@ NS_IMETHODIMP oeICalContainerFilter::SetRecurInterval(PRUint32 aNewVal )
|
|||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP oeICalContainerFilter::GetRecurCount(PRUint32 *aRetVal)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP oeICalContainerFilter::SetRecurCount(PRUint32 aNewVal )
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP oeICalContainerFilter::GetRecurUnits(char **aRetVal)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
|
|
|
@ -266,6 +266,7 @@ oeICalEventImpl::oeICalEventImpl()
|
|||
m_alarmemail = nsnull;
|
||||
m_inviteemail = nsnull;
|
||||
m_recurinterval = 1;
|
||||
m_recurcount = 0;
|
||||
m_recur = false;
|
||||
m_recurforever = true;
|
||||
m_alarmunits = nsnull;
|
||||
|
@ -756,7 +757,7 @@ NS_IMETHODIMP oeICalEventImpl::SetInviteEmailAddress(const char * aNewVal)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
/* attribute boolean RecurInterval; */
|
||||
/* attribute RecurInterval; */
|
||||
NS_IMETHODIMP oeICalEventImpl::GetRecurInterval(PRUint32 *aRetVal)
|
||||
{
|
||||
#ifdef ICAL_DEBUG_ALL
|
||||
|
@ -774,6 +775,24 @@ NS_IMETHODIMP oeICalEventImpl::SetRecurInterval(PRUint32 aNewVal )
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
/* attribute RecurCount; */
|
||||
NS_IMETHODIMP oeICalEventImpl::GetRecurCount(PRUint32 *aRetVal)
|
||||
{
|
||||
#ifdef ICAL_DEBUG_ALL
|
||||
printf( "GetRecurCount()\n" );
|
||||
#endif
|
||||
*aRetVal = m_recurcount;
|
||||
return NS_OK;
|
||||
}
|
||||
NS_IMETHODIMP oeICalEventImpl::SetRecurCount(PRUint32 aNewVal )
|
||||
{
|
||||
#ifdef ICAL_DEBUG_ALL
|
||||
printf( "SetRecurCount()\n" );
|
||||
#endif
|
||||
m_recurcount = aNewVal;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/* attribute string RecurUnits; */
|
||||
|
||||
NS_IMETHODIMP oeICalEventImpl::GetRecurUnits(char **aRetVal)
|
||||
|
@ -1953,6 +1972,7 @@ bool oeICalEventImpl::ParseIcalComponent( icalcomponent *comp )
|
|||
m_recurend->m_datetime.is_date = false;
|
||||
m_recurend->m_datetime.is_utc = false;
|
||||
m_recurinterval = recur.interval;
|
||||
m_recurcount = recur.count;
|
||||
if( !icaltime_is_null_time( recur.until ) )
|
||||
m_recurforever = false;
|
||||
if( recur.freq == ICAL_DAILY_RECURRENCE ) {
|
||||
|
@ -2253,7 +2273,7 @@ icalcomponent* oeICalEventImpl::AsIcalComponent()
|
|||
recur.interval = interval;
|
||||
recur.until.is_utc = false;
|
||||
recur.until.is_date = true;
|
||||
if( m_recurforever ) {
|
||||
if( m_recurforever && m_recurcount == 0 ) {
|
||||
recur.until.year = 0;
|
||||
recur.until.month = 0;
|
||||
recur.until.day = 0;
|
||||
|
@ -2261,12 +2281,16 @@ icalcomponent* oeICalEventImpl::AsIcalComponent()
|
|||
recur.until.minute = 0;
|
||||
recur.until.second = 0;
|
||||
} else {
|
||||
recur.until.year = m_recurend->m_datetime.year;
|
||||
recur.until.month = m_recurend->m_datetime.month;
|
||||
recur.until.day = m_recurend->m_datetime.day;
|
||||
recur.until.hour = 23;
|
||||
recur.until.minute = 59;
|
||||
recur.until.second = 59;
|
||||
if( m_recurcount == 0 ) {
|
||||
recur.until.year = m_recurend->m_datetime.year;
|
||||
recur.until.month = m_recurend->m_datetime.month;
|
||||
recur.until.day = m_recurend->m_datetime.day;
|
||||
recur.until.hour = 23;
|
||||
recur.until.minute = 59;
|
||||
recur.until.second = 59;
|
||||
} else {
|
||||
recur.count = m_recurcount;
|
||||
}
|
||||
}
|
||||
|
||||
switch ( recurtype ) {
|
||||
|
|
|
@ -136,6 +136,7 @@ private:
|
|||
char *m_inviteemail;
|
||||
short m_recurtype;
|
||||
unsigned long m_recurinterval;
|
||||
unsigned long m_recurcount;
|
||||
bool m_recur;
|
||||
bool m_recurforever;
|
||||
char *m_recurunits;
|
||||
|
|
|
@ -2310,6 +2310,16 @@ NS_IMETHODIMP oeICalFilter::SetRecurInterval(PRUint32 aNewVal )
|
|||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP oeICalFilter::GetRecurCount(PRUint32 *aRetVal)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP oeICalFilter::SetRecurCount(PRUint32 aNewVal )
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP oeICalFilter::GetRecurUnits(char **aRetVal)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
|
|
|
@ -111,6 +111,7 @@ interface oeIICalEvent : nsISupports
|
|||
attribute string alarmEmailAddress;
|
||||
attribute string inviteEmailAddress;
|
||||
attribute unsigned long recurInterval;
|
||||
attribute unsigned long recurCount;
|
||||
readonly attribute oeIDateTime recurEnd;
|
||||
attribute boolean recur;
|
||||
attribute string recurUnits;
|
||||
|
|
Загрузка…
Ссылка в новой задаче