diff options
Diffstat (limited to 'platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate')
3 files changed, 15 insertions, 11 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 2273ab698768..bee9b3d91fd7 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 @@ -33,6 +33,7 @@ import com.intellij.xdebugger.impl.XDebuggerUtilImpl; import com.intellij.xdebugger.impl.actions.XDebuggerActions; import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl; import com.intellij.xdebugger.impl.settings.XDebuggerSettingsManager; +import com.intellij.xdebugger.impl.ui.XDebugSessionTab; import com.intellij.xdebugger.impl.ui.XDebuggerEditorBase; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; import com.intellij.xdebugger.impl.ui.tree.XDebuggerTreePanel; @@ -138,7 +139,11 @@ public class XDebuggerEvaluationDialog extends DialogWrapper { // add to watches XExpression expression = myInputComponent.getInputEditor().getExpression(); if (!XDebuggerUtilImpl.isEmptyExpression(expression)) { - ((XDebugSessionImpl)mySession).getSessionTab().getWatchesView().addWatchExpression(expression, -1, false); + XDebugSessionTab tab = ((XDebugSessionImpl)mySession).getSessionTab(); + if (tab != null) { + tab.getWatchesView().addWatchExpression(expression, -1, true); + requestFocusInEditor(); + } } } } @@ -195,7 +200,11 @@ public class XDebuggerEvaluationDialog extends DialogWrapper { setTitle(myInputComponent.getTitle()); mySwitchModeAction.putValue(Action.NAME, getSwitchButtonText(mode)); - final JComponent preferredFocusedComponent = myInputComponent.getInputEditor().getPreferredFocusedComponent(); + requestFocusInEditor(); + } + + private void requestFocusInEditor() { + JComponent preferredFocusedComponent = myInputComponent.getInputEditor().getPreferredFocusedComponent(); if (preferredFocusedComponent != null) { IdeFocusManager.getInstance(mySession.getProject()).requestFocus(preferredFocusedComponent, true); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XQuickEvaluateHandler.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XQuickEvaluateHandler.java index bf3e0010e6cf..0ccd488e9f9b 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XQuickEvaluateHandler.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XQuickEvaluateHandler.java @@ -100,14 +100,7 @@ public class XQuickEvaluateHandler extends QuickEvaluateHandler { } @Override - public int getValueLookupDelay(final Project project) { - XDebugSession session = XDebuggerManager.getInstance(project).getCurrentSession(); - if (session != null) { - XDebuggerEvaluator evaluator = session.getDebugProcess().getEvaluator(); - if (evaluator != null) { - return evaluator.getValuePopupDelay(); - } - } + public int getValueLookupDelay(Project project) { return XDebuggerSettingsManager.getInstance().getDataViewSettings().getValueLookupDelay(); } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XValueHint.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XValueHint.java index cdfcad27354c..ca78932701d2 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XValueHint.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/XValueHint.java @@ -104,6 +104,7 @@ public class XValueHint extends AbstractValueHint { public void evaluated(@NotNull final XValue result) { result.computePresentation(new XValueNodePresentationConfigurator.ConfigurableXValueNodeImpl() { private XFullValueEvaluator myFullValueEvaluator; + private boolean myShown = false; @Override public void applyPresentation(@Nullable Icon icon, @@ -131,7 +132,7 @@ public class XValueHint extends AbstractValueHint { } showHint(component); } - else if (getType() == ValueHintType.MOUSE_CLICK_HINT) { + else if (getType() == ValueHintType.MOUSE_CLICK_HINT && !myShown) { showTree(result); } else { @@ -143,6 +144,7 @@ public class XValueHint extends AbstractValueHint { }); showHint(component); } + myShown = true; } @Override |