diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index 8560bc22d865f54f313b1a83f21569c8c26fea93..eee7db129bcdf180b31d68d70346de2e1b93af76 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -943,6 +943,10 @@ void onelabWindow::rebuildTree() int width = (int)(0.5 * _tree->w()); + std::vector<std::string> closed; + for (Fl_Tree_Item *n = _tree->first(); n; n = n->next()) + if(n->is_close()) closed.push_back(getPath(n)); + _tree->clear(); _tree->sortorder(FL_TREE_SORT_ASCENDING); _tree->selectmode(FL_TREE_SELECT_NONE); @@ -1046,6 +1050,9 @@ void onelabWindow::rebuildTree() } } + for(unsigned int i = 0; i < closed.size(); i++) + _tree->close(closed[i].c_str()); + _tree->redraw(); FL_NORMAL_SIZE += _deltaFontSize;