Exemplo n.º 1
0
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();
}
Exemplo n.º 2
0
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;
    }
}
Exemplo n.º 3
0
void CharmCommand::requestSlotEventIdChanged(int oldId, int newId)
{
    Q_EMIT emitSlotEventIdChanged(oldId,newId);
}