BreadcrumbsXmlWrapper - do not add extra UISettingsListener because BreadcrumbsInitializingActivity can notify

This commit is contained in:
Vladimir Krivosheev
2016-10-28 13:24:36 +02:00
parent adb8858c2e
commit b73689aa4c
2 changed files with 7 additions and 14 deletions
@@ -123,17 +123,21 @@ public class BreadcrumbsInitializingActivity implements StartupActivity, DumbAwa
for (final FileEditor fileEditor : fileEditors) {
if (fileEditor instanceof TextEditor) {
Editor editor = ((TextEditor)fileEditor).getEditor();
if (BreadcrumbsXmlWrapper.getBreadcrumbsComponent(editor) != null) {
BreadcrumbsXmlWrapper wrapper = BreadcrumbsXmlWrapper.getBreadcrumbsComponent(editor);
if (wrapper != null) {
wrapper.queueUpdate();
continue;
}
final BreadcrumbsXmlWrapper wrapper = new BreadcrumbsXmlWrapper(editor);
wrapper = new BreadcrumbsXmlWrapper(editor);
final JComponent c = wrapper.getComponent();
fileEditorManager.addTopComponent(fileEditor, c);
BreadcrumbsXmlWrapper finalWrapper = wrapper;
Disposer.register(fileEditor, new Disposable() {
@Override
public void dispose() {
disposeWrapper(fileEditorManager, fileEditor, wrapper);
disposeWrapper(fileEditorManager, fileEditor, finalWrapper);
}
});
}
@@ -17,8 +17,6 @@ package com.intellij.xml.breadcrumbs;
import com.intellij.codeInsight.daemon.impl.tagTreeHighlighting.XmlTagTreeHighlightingUtil;
import com.intellij.codeInsight.highlighting.HighlightManager;
import com.intellij.ide.ui.UISettings;
import com.intellij.ide.ui.UISettingsListener;
import com.intellij.lang.Language;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.editor.Document;
@@ -101,7 +99,6 @@ public class BreadcrumbsXmlWrapper implements BreadcrumbsItemListener<Breadcrumb
Document document = myEditor.getDocument();
myFile = FileDocumentManager.getInstance().getFile(document);
final FileStatusManager manager = FileStatusManager.getInstance(project);
manager.addFileStatusListener(new FileStatusListener() {
@Override
@@ -110,14 +107,6 @@ public class BreadcrumbsXmlWrapper implements BreadcrumbsItemListener<Breadcrumb
}
}, this);
project.getMessageBus().connect(this).subscribe(UISettingsListener.TOPIC, new UISettingsListener() {
@Override
public void uiSettingsChanged(UISettings uiSettings) {
queueUpdate();
}
});
myInfoProvider = findInfoProvider(findViewProvider(myFile, myProject));
final CaretListener caretListener = new CaretAdapter() {