mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
diff: prefer requestFocusInWindow() over requestFocus()
This commit is contained in:
@@ -37,7 +37,7 @@ public abstract class DiffContext implements UserDataHolder {
|
||||
|
||||
/**
|
||||
* Request focus on diff panel ({@link FrameDiffTool.DiffViewer#getPreferredFocusedComponent()} in current viewer)
|
||||
* NB: focus requested via {@link java.awt.Component#requestFocus()}, ignoring {@link com.intellij.openapi.wm.IdeFocusManager}
|
||||
* NB: focus requested via {@link java.awt.Component#requestFocusInWindow()}, ignoring {@link com.intellij.openapi.wm.IdeFocusManager}
|
||||
* <p/>
|
||||
* This method can be used in pair with {@link #isFocused()} to keep focus on modifications of component tree
|
||||
*/
|
||||
|
||||
@@ -341,7 +341,7 @@ public abstract class DiffRequestProcessor implements Disposable {
|
||||
|
||||
protected void requestFocusInternal() {
|
||||
JComponent component = getPreferredFocusedComponent();
|
||||
if (component != null) component.requestFocus();
|
||||
if (component != null) component.requestFocusInWindow();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -342,7 +342,7 @@ public abstract class MergeRequestProcessor implements Disposable {
|
||||
|
||||
protected void requestFocusInternal() {
|
||||
JComponent component = getPreferredFocusedComponent();
|
||||
if (component != null) component.requestFocus();
|
||||
if (component != null) component.requestFocusInWindow();
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.intellij.diff.tools.holders.BinaryEditorHolder;
|
||||
import com.intellij.diff.tools.util.DiffNotifications;
|
||||
import com.intellij.diff.tools.util.StatusPanel;
|
||||
import com.intellij.diff.tools.util.side.TwosideDiffViewer;
|
||||
import com.intellij.diff.util.DiffUtil;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -157,7 +158,7 @@ public class TwosideBinaryDiffViewer extends TwosideDiffViewer<BinaryEditorHolde
|
||||
@Override
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
setCurrentSide(getCurrentSide().other());
|
||||
myContext.requestFocus();
|
||||
DiffUtil.requestFocus(getProject(), getPreferredFocusedComponent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,8 +329,9 @@ public abstract class TwosideTextDiffViewer extends TwosideDiffViewer<TextEditor
|
||||
}
|
||||
|
||||
setCurrentSide(targetSide);
|
||||
myContext.requestFocus();
|
||||
currentEditor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
|
||||
|
||||
DiffUtil.requestFocus(getProject(), getPreferredFocusedComponent());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user