From 534b61e06acf92dcfe97baca67696e906535adc6 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sun, 28 Aug 2022 03:38:46 +0100 Subject: [PATCH] do not expand tree by defailt if it supports incremental fetching, correct count in header --- .../com/muwire/gui/BrowseController.groovy | 4 +++- .../models/com/muwire/gui/BrowseModel.groovy | 1 + .../views/com/muwire/gui/BrowseView.groovy | 11 ++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gui/griffon-app/controllers/com/muwire/gui/BrowseController.groovy b/gui/griffon-app/controllers/com/muwire/gui/BrowseController.groovy index a8a379d2..211f5fba 100644 --- a/gui/griffon-app/controllers/com/muwire/gui/BrowseController.groovy +++ b/gui/griffon-app/controllers/com/muwire/gui/BrowseController.groovy @@ -100,7 +100,6 @@ class BrowseController { synchronized (model.allResults) { model.allResults.addAll(results) } - model.resultCount = model.results.size() } List dirsCopy @@ -110,12 +109,15 @@ class BrowseController { } for (UIBrowseDirEvent event : dirsCopy) { model.resultsTreeModel.addToTree(event) + model.allDirs.add(event) } if (model.visible && !(resultsCopy.isEmpty() && dirsCopy.isEmpty())) { view.refreshResults() } + model.resultCount = model.results.size() + model.allDirs.size() + List statusCopy synchronized (model.pendingStatuses) { statusCopy = new ArrayList<>(model.pendingStatuses) diff --git a/gui/griffon-app/models/com/muwire/gui/BrowseModel.groovy b/gui/griffon-app/models/com/muwire/gui/BrowseModel.groovy index 0911b25a..9d783da2 100644 --- a/gui/griffon-app/models/com/muwire/gui/BrowseModel.groovy +++ b/gui/griffon-app/models/com/muwire/gui/BrowseModel.groovy @@ -37,6 +37,7 @@ class BrowseModel { def results = [] List allResults = [] + List allDirs = [] boolean visible = true List pendingResults = Collections.synchronizedList(new ArrayList<>()) diff --git a/gui/griffon-app/views/com/muwire/gui/BrowseView.groovy b/gui/griffon-app/views/com/muwire/gui/BrowseView.groovy index 78abfc8b..2530a550 100644 --- a/gui/griffon-app/views/com/muwire/gui/BrowseView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/BrowseView.groovy @@ -329,11 +329,12 @@ class BrowseView { TreePath[] selectedPaths = tree.getSelectionPaths() Set expanded = new HashSet<>(treeExpansions.expandedPaths) model.resultsTreeModel.nodeStructureChanged(model.root) - - if (treeExpansions.manualExpansion) - expanded.each { tree.expandPath(it) } - else - TreeUtil.expand(tree) + if (model.session == null && !model.session.supportsIncremental()) { + if (treeExpansions.manualExpansion) + expanded.each { tree.expandPath(it) } + else + TreeUtil.expand(tree) + } tree.setSelectionPaths(selectedPaths) }