Prevent premature UI refreshes by batching resource changed events
commit786698088a93df3afaa7e071c99f3a958159086d
authorMatthias Sohn <matthias.sohn@sap.com>
Fri, 7 Feb 2014 00:22:06 +0000 (7 01:22 +0100)
committerGerrit Code Review @ Eclipse.org <gerrit@eclipse.org>
Wed, 19 Feb 2014 21:43:37 +0000 (19 16:43 -0500)
tree12a48a7beac3496cbf8ab4f017ba589c6147bcd7
parent941750be27e76a22685f349de1a7c5c1941b177b
Prevent premature UI refreshes by batching resource changed events

All long running operations which may potentially lead to premature UI
refreshes e.g. by changing files in the file system should use
WorkspaceJob. This will batch resource change events until the job is
finished running and remove the overhead imposed by repeated UI
refreshes reacting on events trickling in if not batched.

See
http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2FresAdv_concurrency.htm

Bug: 427681
Change-Id: Ibdc454f5ffb290831b81c5e775da35434811454c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
28 files changed:
org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java
org.eclipse.egit.core/src/org/eclipse/egit/core/internal/job/JobUtil.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/Activator.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DiscardChangesActionHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/MergeActionHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ResetActionHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/BranchOperationUI.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/CleanupUncomittedChangesDialog.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commands/shared/AbstractRebaseCommandHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/command/CherryPickHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/command/RevertHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchOperationUI.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/ResetHandler.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullOperationUI.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/MergeCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/ResetCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/StashApplyCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/SubmoduleAddCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/SubmoduleSyncCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/SubmoduleUpdateCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/SynchronizeCommand.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/stash/StashCreateUI.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/SynchronizeFetchJob.java