X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ObjectsBrowser.cpp;h=c43ca86fa984f2763438d973f0266923fb7f1d79;hb=65a616a3bb6cbdf09c61fed7eb91d1f5d9667988;hp=4846e2237b2d4d5b6aa31f011880f9dc28bcda5a;hpb=86e638f1cea515707ab0d03396661b584985a0c9;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ObjectsBrowser.cpp b/src/XGUI/XGUI_ObjectsBrowser.cpp index 4846e2237..c43ca86fa 100644 --- a/src/XGUI/XGUI_ObjectsBrowser.cpp +++ b/src/XGUI/XGUI_ObjectsBrowser.cpp @@ -130,16 +130,17 @@ void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex) { 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) @@ -162,13 +163,10 @@ void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex) } 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); } //********************************************************************