bool CommandDeleteEvent::rollback(ControllerInterface *controller) { int oldId = m_event.id(); m_event = controller->cloneEvent(m_event); int newId = m_event.id(); if(oldId != newId) emit emitSlotEventIdChanged(oldId, newId); return m_event.isValid(); }
bool CommandMakeEvent::execute( ControllerInterface* controller ) { m_rollback = false; if(m_event.id()) //if it already has an id, this is a redo operation { int oid = m_event.id(); m_event = controller->cloneEvent(m_event); int nid = m_event.id(); if(oid != nid) emit emitSlotEventIdChanged(oid, nid); return m_event.isValid(); } Event event = controller->makeEvent( m_task ); if ( !event.isValid() ) return false; QDateTime start( QDateTime::currentDateTime() ); event.setStartDateTime( start ); event.setEndDateTime( start ); if ( m_event.startDateTime().isValid() ) event.setStartDateTime( m_event.startDateTime() ); if ( m_event.endDateTime().isValid() ) event.setEndDateTime( m_event.endDateTime() ); if ( !m_event.comment().isEmpty() ) event.setComment( m_event.comment() ); if ( m_event.taskId() != 0 ) event.setTaskId( m_event.taskId() ); if ( controller->modifyEvent( event ) ) { m_event = event; return true; } else { return false; } }
void CharmCommand::requestSlotEventIdChanged(int oldId, int newId) { Q_EMIT emitSlotEventIdChanged(oldId,newId); }