//! [3] void EventEditor::saveEvent() { if (m_mode == CreateMode) { // Create a new event object CalendarEvent event; event.setAccountId(m_accountId); event.setFolderId(m_folderId); event.setSubject(m_subject); event.setLocation(m_location); event.setStartTime(m_startTime); event.setEndTime(m_endTime); // Save the event to persistent storage m_calendarService->createEvent(event); } else if (m_mode == EditMode) { // Load the event from persistent storage CalendarEvent event = m_calendarService->event(m_eventKey.accountId(), m_eventKey.eventId()); event.setSubject(m_subject); event.setLocation(m_location); event.setStartTime(m_startTime); event.setEndTime(m_endTime); // Save the updated event back to persistent storage m_calendarService->updateEvent(event); } }