From 2d80413609130f1c121dcae39a150a27dd9f02ea Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 26 Feb 2022 18:35:24 +0100 Subject: Show repeated events --- src/app/form/mod.rs | 4 ++-- src/app/form/repetition.rs | 34 +++++++++++++++++----------------- 2 files changed, 19 insertions(+), 19 deletions(-) (limited to 'src/app/form') diff --git a/src/app/form/mod.rs b/src/app/form/mod.rs index 5c60bc5..9cb6ba7 100644 --- a/src/app/form/mod.rs +++ b/src/app/form/mod.rs @@ -85,10 +85,10 @@ pub async fn show(app: &App, event: Event, is_new: bool) { update::send(tx.clone(), msg); dialog.close() }, - Err(err) => println!("Error when upserting event: {err}") + Err(err) => eprintln!("Error when upserting event: {err}") } }, - None => println!("Event is not valid: {event:?}") + None => eprintln!("Event is not valid: {event:?}") } })); diff --git a/src/app/form/repetition.rs b/src/app/form/repetition.rs index ac56479..87c8d84 100644 --- a/src/app/form/repetition.rs +++ b/src/app/form/repetition.rs @@ -7,7 +7,7 @@ use crate::{ model::event::Event, model::{ repetition, - repetition::{MonthFrequency, Repetition}, + repetition::{DayOfMonth, Repetition}, }, }; @@ -19,14 +19,14 @@ static WEEKDAYS: [Weekday; 7] = [Mon, Tue, Wed, Thu, Fri, Sat, Sun]; pub struct Model { pub view: gtk::Box, - pub no_radio: gtk::CheckButton, - pub day_interval_radio: gtk::CheckButton, - pub day_interval_entry: gtk::Entry, - pub monthly_radio: gtk::CheckButton, - pub monthly_entry: gtk::Entry, - pub first_day_radio: gtk::CheckButton, - pub first_day_dropdown: gtk::DropDown, - pub yearly_radio: gtk::CheckButton, + no_radio: gtk::CheckButton, + day_interval_radio: gtk::CheckButton, + day_interval_entry: gtk::Entry, + monthly_radio: gtk::CheckButton, + monthly_entry: gtk::Entry, + first_day_radio: gtk::CheckButton, + first_day_dropdown: gtk::DropDown, + yearly_radio: gtk::CheckButton, } pub fn view(event: &Event) -> Model { @@ -44,7 +44,7 @@ pub fn view(event: &Event) -> Model { view.append(&no_radio); let default = match event.repetition { - Some(Repetition::Daily { frequency }) => frequency.to_string(), + Some(Repetition::Daily { period }) => period.to_string(), _ => "".to_string(), }; let day_interval_entry = gtk::Entry::builder().text(&default).build(); @@ -58,7 +58,7 @@ pub fn view(event: &Event) -> Model { let default = match event.repetition { Some(Repetition::Monthly { - frequency: MonthFrequency::Day { day }, + day: DayOfMonth::Day { day }, }) => day.to_string(), _ => "".to_string(), }; @@ -69,8 +69,8 @@ pub fn view(event: &Event) -> Model { let (active, default) = match event.repetition { Some(Repetition::Monthly { - frequency: MonthFrequency::FirstDay { day }, - }) => (true, day), + day: DayOfMonth::Weekday { weekday }, + }) => (true, weekday), _ => (false, Mon), }; let first_day_dropdown = gtk::DropDown::from_strings(&WEEKDAYS_STR); @@ -131,17 +131,17 @@ pub fn validate(model: &Model) -> Option { None } else if model.day_interval_radio.is_active() { repetition::validate_day(&model.day_interval_entry.buffer().text()) - .map(|d| Repetition::Daily { frequency: d }) + .map(|d| Repetition::Daily { period: d }) } else if model.monthly_radio.is_active() { repetition::validate_day(&model.monthly_entry.buffer().text()).map(|d| { Repetition::Monthly { - frequency: MonthFrequency::Day { day: d }, + day: DayOfMonth::Day { day: d }, } }) } else if model.first_day_radio.is_active() { - let day = WEEKDAYS[model.first_day_dropdown.selected() as usize]; + let weekday = WEEKDAYS[model.first_day_dropdown.selected() as usize]; Some(Repetition::Monthly { - frequency: MonthFrequency::FirstDay { day }, + day: DayOfMonth::Weekday { weekday }, }) } else if model.yearly_radio.is_active() { Some(Repetition::Yearly) -- cgit v1.2.3