mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-141792 Alternative source available for the class ... should be closable and/or disabled
This commit is contained in:
+6
-1
@@ -43,6 +43,7 @@ import java.awt.event.ItemListener;
|
||||
*/
|
||||
public class DebuggerDataViewsConfigurable implements SearchableConfigurable {
|
||||
private JCheckBox myCbAutoscroll;
|
||||
private JCheckBox myCbShowAlternative;
|
||||
private JCheckBox myCbShowSyntheticFields;
|
||||
private StateRestoringCheckBox myCbShowValFieldsAsLocalVariables;
|
||||
private JCheckBox myCbHideNullArrayElements;
|
||||
@@ -89,6 +90,7 @@ public class DebuggerDataViewsConfigurable implements SearchableConfigurable {
|
||||
final JPanel panel = new JPanel(new GridBagLayout());
|
||||
|
||||
myCbAutoscroll = new JCheckBox(DebuggerBundle.message("label.base.renderer.configurable.autoscroll"));
|
||||
myCbShowAlternative = new JCheckBox(DebuggerBundle.message("label.base.renderer.configurable.alternative"));
|
||||
myCbShowSyntheticFields = new JCheckBox(DebuggerBundle.message("label.base.renderer.configurable.show.synthetic.fields"));
|
||||
myCbShowValFieldsAsLocalVariables = new StateRestoringCheckBox(DebuggerBundle.message("label.base.renderer.configurable.show.val.fields.as.locals"));
|
||||
myCbHideNullArrayElements = new JCheckBox(DebuggerBundle.message("label.base.renderer.configurable.hide.null.array.elements"));
|
||||
@@ -147,7 +149,7 @@ public class DebuggerDataViewsConfigurable implements SearchableConfigurable {
|
||||
});
|
||||
|
||||
panel.add(myCbAutoscroll, new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(4, 0, 0, 0), 0, 0));
|
||||
|
||||
panel.add(myCbShowAlternative, new GridBagConstraints(0, GridBagConstraints.RELATIVE, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(4, 0, 0, 0), 0, 0));
|
||||
|
||||
final JPanel showPanel = new JPanel(new GridBagLayout());
|
||||
showPanel.setBorder(IdeBorderFactory.createTitledBorder("Show", true));
|
||||
@@ -190,6 +192,7 @@ public class DebuggerDataViewsConfigurable implements SearchableConfigurable {
|
||||
final NodeRendererSettings rendererSettings = NodeRendererSettings.getInstance();
|
||||
|
||||
generalSettings.AUTOSCROLL_TO_NEW_LOCALS = myCbAutoscroll.isSelected();
|
||||
generalSettings.SHOW_ALTERNATIVE_SOURCE = myCbShowAlternative.isSelected();
|
||||
rendererSettings.setAlternateCollectionViewsEnabled(myCbEnableAlternateViews.isSelected());
|
||||
generalSettings.HIDE_NULL_ARRAY_ELEMENTS = myCbHideNullArrayElements.isSelected();
|
||||
|
||||
@@ -220,6 +223,7 @@ public class DebuggerDataViewsConfigurable implements SearchableConfigurable {
|
||||
final NodeRendererSettings rendererSettings = NodeRendererSettings.getInstance();
|
||||
|
||||
myCbAutoscroll.setSelected(generalSettings.AUTOSCROLL_TO_NEW_LOCALS);
|
||||
myCbShowAlternative.setSelected(generalSettings.SHOW_ALTERNATIVE_SOURCE);
|
||||
myCbHideNullArrayElements.setSelected(generalSettings.HIDE_NULL_ARRAY_ELEMENTS);
|
||||
myCbEnableAlternateViews.setSelected(rendererSettings.areAlternateCollectionViewsEnabled());
|
||||
|
||||
@@ -263,6 +267,7 @@ public class DebuggerDataViewsConfigurable implements SearchableConfigurable {
|
||||
private boolean areGeneralSettingsModified() {
|
||||
ViewsGeneralSettings generalSettings = ViewsGeneralSettings.getInstance();
|
||||
return generalSettings.AUTOSCROLL_TO_NEW_LOCALS != myCbAutoscroll.isSelected() ||
|
||||
generalSettings.SHOW_ALTERNATIVE_SOURCE != myCbShowAlternative.isSelected() ||
|
||||
generalSettings.HIDE_NULL_ARRAY_ELEMENTS != myCbHideNullArrayElements.isSelected();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,6 +26,7 @@ public class ViewsGeneralSettings implements PersistentStateComponent<ViewsGener
|
||||
public boolean SHOW_OBJECTID = true;
|
||||
public boolean HIDE_NULL_ARRAY_ELEMENTS = true;
|
||||
public boolean AUTOSCROLL_TO_NEW_LOCALS = true;
|
||||
public boolean SHOW_ALTERNATIVE_SOURCE = true;
|
||||
|
||||
public static ViewsGeneralSettings getInstance() {
|
||||
return ServiceManager.getService(ViewsGeneralSettings.class);
|
||||
@@ -46,6 +47,7 @@ public class ViewsGeneralSettings implements PersistentStateComponent<ViewsGener
|
||||
ViewsGeneralSettings generalSettings = ((ViewsGeneralSettings)object);
|
||||
return SHOW_OBJECTID == generalSettings.SHOW_OBJECTID &&
|
||||
HIDE_NULL_ARRAY_ELEMENTS == generalSettings.HIDE_NULL_ARRAY_ELEMENTS &&
|
||||
AUTOSCROLL_TO_NEW_LOCALS == generalSettings.AUTOSCROLL_TO_NEW_LOCALS;
|
||||
AUTOSCROLL_TO_NEW_LOCALS == generalSettings.AUTOSCROLL_TO_NEW_LOCALS &&
|
||||
SHOW_ALTERNATIVE_SOURCE == generalSettings.SHOW_ALTERNATIVE_SOURCE;
|
||||
}
|
||||
}
|
||||
|
||||
+16
@@ -17,6 +17,7 @@ package com.intellij.debugger.ui;
|
||||
|
||||
import com.intellij.debugger.DebuggerBundle;
|
||||
import com.intellij.debugger.impl.DebuggerUtilsEx;
|
||||
import com.intellij.debugger.settings.ViewsGeneralSettings;
|
||||
import com.intellij.ide.highlighter.JavaClassFileType;
|
||||
import com.intellij.ide.util.ModuleRendererFactory;
|
||||
import com.intellij.openapi.fileEditor.FileEditor;
|
||||
@@ -65,6 +66,9 @@ public class AlternativeSourceNotificationProvider extends EditorNotifications.P
|
||||
@Nullable
|
||||
@Override
|
||||
public EditorNotificationPanel createNotificationPanel(@NotNull VirtualFile file, @NotNull FileEditor fileEditor) {
|
||||
if (!ViewsGeneralSettings.getInstance().SHOW_ALTERNATIVE_SOURCE) {
|
||||
return null;
|
||||
}
|
||||
XDebugSession session = XDebuggerManager.getInstance(myProject).getCurrentSession();
|
||||
if (session == null) {
|
||||
FILE_PROCESSED_KEY.set(file, null);
|
||||
@@ -170,6 +174,18 @@ public class AlternativeSourceNotificationProvider extends EditorNotifications.P
|
||||
}
|
||||
});
|
||||
myLinksPanel.add(switcher);
|
||||
createActionLabel(DebuggerBundle.message("action.disable.text"), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ViewsGeneralSettings.getInstance().SHOW_ALTERNATIVE_SOURCE = false;
|
||||
FILE_PROCESSED_KEY.set(file, null);
|
||||
FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
|
||||
FileEditor editor = fileEditorManager.getSelectedEditor(file);
|
||||
if (editor != null) {
|
||||
fileEditorManager.removeTopComponent(editor, AlternativeSourceNotificationPanel.this);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,6 +189,7 @@ label.array.renderer.configurable.end.index=en&d index:
|
||||
label.array.renderer.configurable.max.count1=Show &maximum
|
||||
label.array.renderer.configurable.max.count2=array elements
|
||||
label.base.renderer.configurable.autoscroll=Autoscroll to new &local variables
|
||||
label.base.renderer.configurable.alternative=Show alternative source switcher
|
||||
label.base.renderer.configurable.show.synthetic.fields=S&ynthetic fields
|
||||
label.base.renderer.configurable.show.val.fields.as.locals=$val fields as local &variables
|
||||
label.base.renderer.configurable.sort.alphabetically=Sort a&lphabetically
|
||||
|
||||
Reference in New Issue
Block a user