From 6c4e237d4b43db5c3f9dc01f8c0d3313f3bd2605 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sun, 19 Jul 2020 16:48:31 -0400 Subject: fixed crash because items were sorted while being expanded when expanding all or updating the tree, only sort once at the end cache file types --- src/filetree.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/filetree.cpp') diff --git a/src/filetree.cpp b/src/filetree.cpp index 2d92c954..1dadfaad 100644 --- a/src/filetree.cpp +++ b/src/filetree.cpp @@ -802,11 +802,11 @@ void FileTree::addCommonMenus(QMenu& menu) .addTo(menu); MenuItem(tr("Ex&pand All")) - .callback([&]{ m_tree->expandAll(); }) + .callback([&]{ expandAll(); }) .addTo(menu); MenuItem(tr("&Collapse All")) - .callback([&]{ m_tree->collapseAll(); }) + .callback([&]{ collapseAll(); }) .addTo(menu); } @@ -820,3 +820,15 @@ QModelIndex FileTree::proxiedIndex(const QModelIndex& index) return index; } } + +void FileTree::collapseAll() +{ + m_tree->collapseAll(); +} + +void FileTree::expandAll() +{ + m_model->aboutToExpandAll(); + m_tree->expandAll(); + m_model->expandedAll(); +} -- cgit v1.3.1