{
if (theIndex.column() != 1)
return;
+ SessionPtr aMgr = ModelAPI_Session::get();
+ // When operation is opened then we can not change history
+ if (aMgr->isOperation())
+ return;
ModuleBase_IDocumentDataModel* aModel = dataModel();
if (aModel->flags(theIndex) == 0)
return;
ObjectPtr aObj = aModel->object(theIndex);
- SessionPtr aMgr = ModelAPI_Session::get();
DocumentPtr aDoc = aMgr->activeDocument();
- QModelIndex aOldIndex = aModel->lastHistoryIndex();
-
std::string aOpName = tr("History change").toStdString();
if (aObj.get()) {
if (aObj->document() != aDoc)
}
QModelIndex aNewIndex = aModel->lastHistoryIndex();
QModelIndex aParent = theIndex.parent();
- int aStartRow = std::min(aOldIndex.row(), aNewIndex.row());
- int aEndRow = std::max(aOldIndex.row(), aNewIndex.row());
- for (int i = aStartRow; i <= aEndRow; i++) {
+ int aSize = aModel->rowCount(aParent);
+ for (int i = 0; i < aSize; i++) {
update(aModel->index(i, 0, aParent));
}
- update(aOldIndex);
- update(aNewIndex);
}
//********************************************************************