Add calendar-timezone prop

This commit is contained in:
Lennart
2024-06-20 20:45:06 +02:00
parent b7a0b1bef3
commit 50d91a10b0

View File

@@ -125,6 +125,7 @@ pub enum CalendarPropName {
Displayname, Displayname,
CalendarColor, CalendarColor,
CalendarDescription, CalendarDescription,
CalendarTimezone,
CalendarOrder, CalendarOrder,
SupportedCalendarComponentSet, SupportedCalendarComponentSet,
SupportedCalendarData, SupportedCalendarData,
@@ -144,6 +145,8 @@ pub enum CalendarProp {
CalendarColor(TextNode), CalendarColor(TextNode),
#[serde(rename = "C:calendar-description", alias = "calendar-description")] #[serde(rename = "C:calendar-description", alias = "calendar-description")]
CalendarDescription(TextNode), CalendarDescription(TextNode),
#[serde(rename = "C:calendar-timezone", alias = "calendar-timezone")]
CalendarTimezone(TextNode),
#[serde(rename = "IC:calendar-description", alias = "calendar-description")] #[serde(rename = "IC:calendar-description", alias = "calendar-description")]
CalendarOrder(TextNode), CalendarOrder(TextNode),
#[serde( #[serde(
@@ -202,6 +205,9 @@ impl Resource for CalendarFile {
CalendarPropName::CalendarDescription => Ok(CalendarProp::CalendarDescription( CalendarPropName::CalendarDescription => Ok(CalendarProp::CalendarDescription(
TextNode(self.calendar.description.clone()), TextNode(self.calendar.description.clone()),
)), )),
CalendarPropName::CalendarTimezone => Ok(CalendarProp::CalendarTimezone(TextNode(
self.calendar.timezone.clone(),
))),
CalendarPropName::CalendarOrder => Ok(CalendarProp::CalendarOrder(TextNode( CalendarPropName::CalendarOrder => Ok(CalendarProp::CalendarOrder(TextNode(
format!("{}", self.calendar.order).into(), format!("{}", self.calendar.order).into(),
))), ))),
@@ -244,6 +250,10 @@ impl Resource for CalendarFile {
self.calendar.description = description; self.calendar.description = description;
Ok(()) Ok(())
} }
CalendarProp::CalendarTimezone(TextNode(timezone)) => {
self.calendar.timezone = timezone;
Ok(())
}
CalendarProp::CalendarOrder(TextNode(order)) => { CalendarProp::CalendarOrder(TextNode(order)) => {
self.calendar.order = match order { self.calendar.order = match order {
Some(order) => order.parse().map_err(|_e| anyhow!("invalid order"))?, Some(order) => order.parse().map_err(|_e| anyhow!("invalid order"))?,