void DataDocument::restoreEditState(const DataDocument::EditState &edit_state) { TableModel *m = model(); int ri = currentModelRow(); QMapIterator<int, QVariant> it(edit_state.dirtyValues); while (it.hasNext()) { it.next(); m->setValue(ri, it.key(), it.value()); m->setDirty(ri, it.key(), true); } setMode(edit_state.editMode); if(edit_state.editMode == ModeInsert || edit_state.editMode == ModeCopy) m->tableRef().rowRef(ri).setInsert(true); }