This PR fixes:
-several explicit uses of `new` that were not matched by `delete`
-dangling `CalendarTimeItem`s
-reset of focus on the `allDayEventCheckBox` check/uncheck
-exiting the app form `allEventsWindow` on `KEY_RF`
- add ChangeDateAndTimeWindow,
- extract EventTimeItem to common widgets folder
and rename it to TimeWidget,
- extract EventDateItem to common widgets folder
and rename it to DateWidget,
- replace timeWidget with common TimeWidget
in NightshiftWindow,
- refactor time setting in
DesktopMainWindow and TopBar,
- Remove dead code from EventManager
(GetNextAlarmTimestamp and HandleAlarmTrigger)
Add an additional field for date of the event.
Set 'all day' event as a default option when you add a new event.
Change in the design of AllEventsWindow and EventDetailWindow according to UX redesign.
-Create application->switchManyWindowsBack() method
-Create equivalent to empty window enum class
-Remove stored prevWindows variables
-Add bottom bar to empty window (equivalent to allEvents)
-Repair going back to previous windows functionality
-Repair switching window (with empty events DB)
-Add EventShift value to event records time
* Timers now are Application thread safe
* Timers now have consistent API independend of Application (no more c style timers)
* Timers can have either: callback or override onTimer() method - this
way we can create more complicated timers or just use existing ones
* gui::Timer added via adapter class GuiTimer to decouple sys::Timer
with gui::Timer
* Fixed race in wrapper
* Updated docs
* fixed using std and cpp_freertos and DataReceivedHandler hidden in Application.hpp