To see how signal and slot usage works in an actual application, let's take the calendar form that we built in Chapter 2, Building Forms with QtWidgets, and turn it into a working calendar application. To do this, we're going to need to make the following changes:
- The app needs a way to store events that we enter.
- The All Day checkbox should disable the time entry when checked.
- Selecting a day on the calendar should populate the event list with the events for that day.
- Selecting an event in the event list should populate the form with the event's details.
- Clicking Add/Update should update the saved event details if an event was selected, or add a new event if one was not.
- Clicking Delete should remove the selected event.
- If no event is selected, Delete should be disabled.
- Selecting New… as a category should open a dialog allowing...