diff --git a/examples/calendar/src/main.rs b/examples/calendar/src/main.rs index b42d46c9..f52c5ff5 100644 --- a/examples/calendar/src/main.rs +++ b/examples/calendar/src/main.rs @@ -18,8 +18,6 @@ fn main() -> Result<(), Box> { /// Messages that are used specifically by our [`App`]. #[derive(Clone, Debug)] pub enum Message { - PrevMonth(NaiveDate), - NextMonth(NaiveDate), DateSelected(NaiveDate), } @@ -71,12 +69,6 @@ impl cosmic::Application for App { Message::DateSelected(date) => { self.date_selected = date; } - Message::PrevMonth(date) => { - self.date_selected = date; - } - Message::NextMonth(date) => { - self.date_selected = date; - } } println!("Date selected: {:?}", self.date_selected); @@ -90,8 +82,6 @@ impl cosmic::Application for App { let calendar = cosmic::widget::calendar( &self.date_selected, - |date| Message::PrevMonth(date), - |date| Message::NextMonth(date), |date| Message::DateSelected(date), ); diff --git a/src/widget/calendar.rs b/src/widget/calendar.rs index 71b4de10..96d23e51 100644 --- a/src/widget/calendar.rs +++ b/src/widget/calendar.rs @@ -10,14 +10,10 @@ use iced::alignment::{Horizontal, Vertical}; pub fn calendar( selected: &NaiveDate, - on_prev_month: impl Fn(NaiveDate) -> M + 'static, - on_next_month: impl Fn(NaiveDate) -> M + 'static, on_select: impl Fn(NaiveDate) -> M + 'static, ) -> Calendar { Calendar { selected, - on_prev_month: Box::new(on_prev_month), - on_next_month: Box::new(on_next_month), on_select: Box::new(on_select), } } @@ -54,8 +50,6 @@ pub fn set_next_month(date_selected: NaiveDate) -> NaiveDate { pub struct Calendar<'a, M> { selected: &'a NaiveDate, - on_prev_month: Box M>, - on_next_month: Box M>, on_select: Box M>, } @@ -71,12 +65,12 @@ where .push( button::icon(icon::from_name("go-previous-symbolic")) .padding([0, 12]) - .on_press((this.on_prev_month)(set_prev_month(this.selected.clone()))), + .on_press((this.on_select)(set_prev_month(this.selected.clone()))), ) .push( button::icon(icon::from_name("go-next-symbolic")) .padding([0, 12]) - .on_press((this.on_next_month)(set_next_month(this.selected.clone()))), + .on_press((this.on_select)(set_next_month(this.selected.clone()))), ); // Calender