From 31edc6bcdf3f8366c71958fecbed271486c774e0 Mon Sep 17 00:00:00 2001 From: Egor Ushakov Date: Wed, 17 Jan 2018 19:07:53 +0300 Subject: [PATCH] always select the result node on evaluate --- .../impl/evaluate/XDebuggerEvaluationDialog.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEvaluationDialog.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEvaluationDialog.java index 6e7634414f21..49fd002c4ba3 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEvaluationDialog.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEvaluationDialog.java @@ -137,9 +137,7 @@ public class XDebuggerEvaluationDialog extends DialogWrapper { }.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.ALT_DOWN_MASK)), getRootPane(), myDisposable); - Condition rootFilter = node -> node.getParent() instanceof EvaluatingExpressionRootNode; - myTreePanel.getTree().expandNodesOnLoad(rootFilter); - myTreePanel.getTree().selectNodeOnLoad(rootFilter); + myTreePanel.getTree().expandNodesOnLoad(getFirstChildCondition()); EvaluationMode mode = XDebuggerSettingManagerImpl.getInstanceImpl().getGeneralSettings().getEvaluationDialogMode(); if (mode == EvaluationMode.CODE_FRAGMENT && !myIsCodeFragmentEvaluationSupported) { @@ -307,6 +305,7 @@ public class XDebuggerEvaluationDialog extends DialogWrapper { final XDebuggerTree tree = myTreePanel.getTree(); tree.markNodesObsolete(); tree.setRoot(new EvaluatingExpressionRootNode(this, tree), false); + tree.selectNodeOnLoad(getFirstChildCondition()); myResultPanel.invalidate(); @@ -323,6 +322,10 @@ public class XDebuggerEvaluationDialog extends DialogWrapper { } } + private static Condition getFirstChildCondition() { + return node -> node.getParent() instanceof EvaluatingExpressionRootNode; + } + @Override public void doCancelAction() { getInputEditor().saveTextInHistory();