diff options
| author | Stefan Xenos | 2015-09-14 19:56:36 +0000 |
|---|---|---|
| committer | Stefan Xenos | 2015-09-15 16:44:07 +0000 |
| commit | 5957cef476205f372aa1ad15a8798bb2254a87ed (patch) | |
| tree | 7592424f959743ac35420662634f7f2509d346d9 | |
| parent | b071a5aa0e1dbef1760839ea0a8abe805a6d8830 (diff) | |
| download | eclipse.platform.ui-5957cef476205f372aa1ad15a8798bb2254a87ed.tar.gz eclipse.platform.ui-5957cef476205f372aa1ad15a8798bb2254a87ed.tar.xz eclipse.platform.ui-5957cef476205f372aa1ad15a8798bb2254a87ed.zip | |
Bug 475785 - Remove usage of SubProgressMonitor in org.eclipse.ui.dialogs
Change-Id: I648be0e6cc0fec4115eac038651688e9840fce71
Signed-off-by: Stefan Xenos <sxenos@gmail.com>
| -rw-r--r-- | bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java | 68 |
1 files changed, 20 insertions, 48 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java index ed5ad50bf52..b34b4d728cd 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java @@ -40,7 +40,7 @@ import org.eclipse.core.runtime.ListenerList; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.ProgressMonitorWrapper; import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.ActionContributionItem; @@ -2091,22 +2091,16 @@ public abstract class FilteredItemsSelectionDialog extends lastCompletedFilter = null; lastCompletedResult = null; - SubProgressMonitor subMonitor = null; - if (monitor != null) { - monitor - .beginTask( + SubMonitor subMonitor = SubMonitor.convert(monitor, WorkbenchMessages.FilteredItemsSelectionDialog_searchJob_taskName, 100); - subMonitor = new SubProgressMonitor(monitor, 95); - } - - fillContentProvider(contentProvider, itemsFilter, subMonitor); + fillContentProvider(contentProvider, itemsFilter, subMonitor.newChild(95)); if (monitor != null && !monitor.isCanceled()) { - monitor.worked(2); + subMonitor.worked(2); contentProvider.rememberResult(itemsFilter); - monitor.worked(3); + subMonitor.worked(3); } } @@ -2816,61 +2810,41 @@ public abstract class FilteredItemsSelectionDialog extends * @param monitor * progress monitor */ - public void reloadCache(boolean checkDuplicates, - IProgressMonitor monitor) { - + public void reloadCache(boolean checkDuplicates, IProgressMonitor monitor) { reset = false; - if (monitor != null) { - // the work is divided into two actions of the same length - int totalWork = checkDuplicates ? 200 : 100; + // the work is divided into two actions of the same length + int totalWork = checkDuplicates ? 200 : 100; - monitor - .beginTask( - WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob, - totalWork); - } + SubMonitor subMonitor = SubMonitor.convert(monitor, + WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob, totalWork); // the TableViewer's root (the input) is treated as parent - lastFilteredItems = Arrays.asList(getFilteredItems(list.getInput(), - monitor != null ? new SubProgressMonitor(monitor, 100) - : null)); + lastFilteredItems = Arrays.asList(getFilteredItems(list.getInput(), subMonitor.newChild(100))); - if (reset || (monitor != null && monitor.isCanceled())) { - if (monitor != null) - monitor.done(); + if (reset || subMonitor.isCanceled()) { return; } if (checkDuplicates) { - checkDuplicates(monitor); + checkDuplicates(subMonitor.newChild(100)); } - if (monitor != null) - monitor.done(); } private void checkDuplicates(IProgressMonitor monitor) { synchronized (lastFilteredItems) { - IProgressMonitor subMonitor = null; - int reportEvery = lastFilteredItems.size() / 20; - if (monitor != null) { - subMonitor = new SubProgressMonitor(monitor, 100); - subMonitor - .beginTask( - WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob_checkDuplicates, - 5); - } - HashMap helperMap = new HashMap(); + SubMonitor subMonitor = SubMonitor.convert(monitor, + WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob_checkDuplicates, + lastFilteredItems.size()); + HashMap<String, Object> helperMap = new HashMap<>(); for (int i = 0; i < lastFilteredItems.size(); i++) { - if (reset - || (subMonitor != null && subMonitor.isCanceled())) + if (reset || subMonitor.isCanceled()) return; Object item = lastFilteredItems.get(i); if (!(item instanceof ItemsListSeparator)) { - Object previousItem = helperMap.put( - getElementName(item), item); + Object previousItem = helperMap.put(getElementName(item), item); if (previousItem != null) { setDuplicateElement(previousItem, true); setDuplicateElement(item, true); @@ -2879,9 +2853,7 @@ public abstract class FilteredItemsSelectionDialog extends } } - if (subMonitor != null && reportEvery != 0 - && (i + 1) % reportEvery == 0) - subMonitor.worked(1); + subMonitor.worked(1); } helperMap.clear(); } |
