X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fwidgets%2FXCCalendarCtrl.cpp;h=44a1eb91c3c18f1a21ed85d77520bad6b849487a;hp=b4fe633740f23bd0597cadc33eb00cd9537b9f97;hb=c5716d0f27f0f917282df9121aa97eab7a1bf6b8;hpb=4d0316bf5312ee073aef9f2199f43b70aa147e7a diff --git a/source/widgets/XCCalendarCtrl.cpp b/source/widgets/XCCalendarCtrl.cpp index b4fe633..44a1eb9 100644 --- a/source/widgets/XCCalendarCtrl.cpp +++ b/source/widgets/XCCalendarCtrl.cpp @@ -52,7 +52,7 @@ XCCalendarCtrl::XCCalendarCtrl(wxWindow *parent, CalendarDataStorage *dataStorag XCCalendarMonthViewGrid CurrentMonthGrid = GenerateMonthGrid(currentMonth, currentYear); szrMain->Add(ManipulatorCtrl, 1, wxEXPAND, 5); - // TODO: Get the list of hidden accounts and calendars. + // Get the list of hidden accounts and calendars. vector hideAccountsList = ManipulatorCtrl->GetHiddenAccountsList(); vector hideCalendarsList = ManipulatorCtrl->GetHiddenCalendarsList(); @@ -67,6 +67,11 @@ XCCalendarCtrl::XCCalendarCtrl(wxWindow *parent, CalendarDataStorage *dataStorag Connect(ID_SHOWENTRIES, XCCALENDARCTRL_SHOWACCOUNTENTRIES, wxCommandEventHandler(XCCalendarCtrl::ShowAccountEntries)); Connect(ID_HIDECALENDARENTRIES, XCCALENDARCTRL_HIDECALENDARENTRIES, wxCommandEventHandler(XCCalendarCtrl::HideCalendarEntries)); Connect(ID_SHOWCALENDARENTRIES, XCCALENDARCTRL_SHOWCALENDARENTRIES, wxCommandEventHandler(XCCalendarCtrl::ShowCalendarEntries)); + Connect(ID_DELETECALENDARENTRIES, XCCALENDARCTRL_DELETECALENDARENTRIES, wxCommandEventHandler(XCCalendarCtrl::DeleteCalendarEntries)); + Connect(ID_DELETEENTRY, XCCALENDARCTRL_DELETEENTRY, wxCommandEventHandler(XCCalendarCtrl::DeleteCalendarEntry)); + Connect(ID_ADDENTRY, XCCALENDARCTRL_ADDENTRY, wxCommandEventHandler(XCCalendarCtrl::AddCalendarEntry)); + Connect(ID_UPDATEENTRY, XCCALENDARCTRL_UPDATEENTRY, wxCommandEventHandler(XCCalendarCtrl::UpdateCalendarEntry)); + Connect(ID_UPDATECOLOUR, XCCALENDARCTRL_UPDATECALENDARCOLOUR, wxCommandEventHandler(XCCalendarCtrl::UpdateCalendarColour)); } @@ -154,4 +159,58 @@ void XCCalendarCtrl::ShowCalendarEntries(wxCommandEvent &calendarData){ event.SetId(ID_SHOWCALENDARENTRIES); wxPostEvent(MonthViewCtrl, event); +} + +void XCCalendarCtrl::DeleteCalendarEntries(wxCommandEvent &calendarData){ + + wxCommandEvent event(XCCALENDARMONTH_DELETECALENDARENTRIES); + event.SetInt(calendarData.GetInt()); + event.SetId(ID_DELETECALENDARENTRIES); + wxPostEvent(MonthViewCtrl, event); + +} + +void XCCalendarCtrl::DeleteCalendarEntry(wxCommandEvent &eventData){ + + wxCommandEvent event(XCCALENDARMONTH_DELETEENTRY); + event.SetInt(eventData.GetInt()); + event.SetId(ID_DELETEENTRY); + wxPostEvent(MonthViewCtrl, event); + +} + +void XCCalendarCtrl::AddCalendarEntry(wxCommandEvent &eventData){ + + EventProperties *eventInfo = (EventProperties*)eventData.GetClientData(); + + eventInfo->hideAccountsList = ManipulatorCtrl->GetHiddenAccountsList(); + eventInfo->hideCalendarsList = ManipulatorCtrl->GetHiddenCalendarsList(); + + wxCommandEvent addEvent(XCCALENDARMONTH_ADDENTRY); + addEvent.SetId(ID_ADDENTRY); + addEvent.SetClientData(eventInfo); + wxPostEvent(MonthViewCtrl, addEvent); + +} + +void XCCalendarCtrl::UpdateCalendarEntry(wxCommandEvent &eventData){ + + EventProperties *eventInfo = (EventProperties*)eventData.GetClientData(); + + wxCommandEvent addEvent(XCCALENDARMONTH_UPDATEENTRY); + addEvent.SetId(ID_UPDATEENTRY); + addEvent.SetClientData(eventInfo); + wxPostEvent(MonthViewCtrl, addEvent); + +} + +void XCCalendarCtrl::UpdateCalendarColour(wxCommandEvent &colourData){ + + ColourUpdateProperties *colourInfo = (ColourUpdateProperties*)colourData.GetClientData(); + + wxCommandEvent colourEvent(XCCALENDARMONTH_UPDATECALENDARCOLOUR); + colourEvent.SetId(ID_UPDATECOLOUR); + colourEvent.SetClientData(colourInfo); + wxPostEvent(MonthViewCtrl, colourEvent); + } \ No newline at end of file