diff: show "Loading..." instead of "Nothing to show" message by-default

* it's visible until first doApplyRequest() call, so it's actually "loading"
* NoDiffRequest has a single instance, so mock viewer will not be replaced by a real one if there are actually nothing to show. (ex: there will be no toolbar)
This commit is contained in:
Aleksey Pivovarov
2015-05-19 17:29:45 +03:00
parent f5cacc81d9
commit 3c20d808f7
@@ -24,8 +24,8 @@ import com.intellij.diff.actions.impl.*;
import com.intellij.diff.impl.DiffSettingsHolder.DiffSettings;
import com.intellij.diff.requests.DiffRequest;
import com.intellij.diff.requests.ErrorDiffRequest;
import com.intellij.diff.requests.LoadingDiffRequest;
import com.intellij.diff.requests.MessageDiffRequest;
import com.intellij.diff.requests.NoDiffRequest;
import com.intellij.diff.tools.ErrorDiffTool;
import com.intellij.diff.tools.external.ExternalDiffTool;
import com.intellij.diff.tools.util.DiffDataKeys;
@@ -107,7 +107,7 @@ public abstract class DiffRequestProcessor implements Disposable {
myProject = project;
myContext = new MyDiffContext(context);
myActiveRequest = NoDiffRequest.INSTANCE;
myActiveRequest = new LoadingDiffRequest();
mySettings = DiffSettingsHolder.getInstance().getSettings(myContext.getUserData(DiffUserDataKeysEx.PLACE));
@@ -140,7 +140,7 @@ public abstract class DiffRequestProcessor implements Disposable {
if (bottomPanel instanceof Disposable) Disposer.register(this, (Disposable)bottomPanel);
myState = new EmptyState();
myContentPanel.setContent(DiffUtil.createMessagePanel(NoDiffRequest.INSTANCE.getMessage()));
myContentPanel.setContent(DiffUtil.createMessagePanel(((LoadingDiffRequest)myActiveRequest).getMessage()));
myOpenInEditorAction = new OpenInEditorAction(new Runnable() {
@Override