]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Take into account folders which can not be shown empty when history updated
authorvsv <vitaly.smetannikov@opencascade.com>
Fri, 4 Sep 2015 16:35:28 +0000 (19:35 +0300)
committervsv <vitaly.smetannikov@opencascade.com>
Fri, 4 Sep 2015 16:35:28 +0000 (19:35 +0300)
src/XGUI/XGUI_DataModel.cpp
src/XGUI/XGUI_ObjectsBrowser.cpp

index bc407998b482bec02c49b732536f4cb0c8d573ec..76fc27da027fa7d9c895b428f7a6f16d64b65487 100644 (file)
@@ -192,8 +192,9 @@ void XGUI_DataModel::processEvent(const std::shared_ptr<Events_Message>& theMess
           }
           // Check that some folders could disappear
           QStringList aNotEmptyFolders = listOfShowNotEmptyFolders(false);
+          int aSize = aDoc->size(aGroup);
           foreach (QString aNotEmptyFolder, aNotEmptyFolders) {
-            if ((aNotEmptyFolder.toStdString() == aGroup) && (aDoc->size(aGroup) == 1))
+            if ((aNotEmptyFolder.toStdString() == aGroup) && (aSize == 0))
               // Appears first object in folder which can not be shown empty
               removeRow(myXMLReader.subFolderId(aGroup), aDocRoot);
           }
index 9a28b329208c5d66bc7ec04585e7a938791c164a..c43ca86fa984f2763438d973f0266923fb7f1d79 100644 (file)
@@ -141,8 +141,6 @@ void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex)
 
   DocumentPtr aDoc = aMgr->activeDocument();
   
-  QModelIndex aOldIndex = aModel->lastHistoryIndex();
-
   std::string aOpName = tr("History change").toStdString();
   if (aObj.get()) {
     if (aObj->document() != aDoc)
@@ -165,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);
 }
 
 //********************************************************************