mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-139316 Copy Action in the Console search field does not work properly
This commit is contained in:
@@ -305,6 +305,17 @@ public class DataManagerImpl extends DataManager {
|
||||
return dataContext instanceof UserDataHolder ? ((UserDataHolder)dataContext).getUserData(dataKey) : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static Editor validateEditor(Editor editor) {
|
||||
Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
|
||||
if (focusOwner instanceof JComponent) {
|
||||
final JComponent jComponent = (JComponent)focusOwner;
|
||||
if (jComponent.getClientProperty("AuxEditorComponent") != null) return null; // Hack for EditorSearchComponent
|
||||
}
|
||||
|
||||
return editor;
|
||||
}
|
||||
|
||||
private static class NullResult {
|
||||
public static final NullResult INSTANCE = new NullResult();
|
||||
}
|
||||
@@ -383,17 +394,6 @@ public class DataManagerImpl extends DataManager {
|
||||
return ((DataManagerImpl)DataManager.getInstance()).getData(dataId, component);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static Editor validateEditor(Editor editor) {
|
||||
Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
|
||||
if (focusOwner instanceof JComponent) {
|
||||
final JComponent jComponent = (JComponent)focusOwner;
|
||||
if (jComponent.getClientProperty("AuxEditorComponent") != null) return null; // Hack for EditorSearchComponent
|
||||
}
|
||||
|
||||
return editor;
|
||||
}
|
||||
|
||||
@NonNls
|
||||
public String toString() {
|
||||
return "component=" + myRef.get();
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
*/
|
||||
package com.intellij.ide.impl.dataRules;
|
||||
|
||||
import com.intellij.ide.impl.DataManagerImpl;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.ex.EditorEx;
|
||||
|
||||
public class CopyProviderRule implements GetDataRule {
|
||||
public Object getData(DataProvider dataProvider) {
|
||||
final Editor editor = CommonDataKeys.EDITOR.getData(dataProvider);
|
||||
final Editor editor = DataManagerImpl.validateEditor(CommonDataKeys.EDITOR.getData(dataProvider));
|
||||
if (editor instanceof EditorEx) {
|
||||
return ((EditorEx) editor).getCopyProvider();
|
||||
}
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
*/
|
||||
package com.intellij.ide.impl.dataRules;
|
||||
|
||||
import com.intellij.ide.impl.DataManagerImpl;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.ex.EditorEx;
|
||||
|
||||
public class CutProviderRule implements GetDataRule {
|
||||
public Object getData(DataProvider dataProvider) {
|
||||
final Editor editor = CommonDataKeys.EDITOR.getData(dataProvider);
|
||||
final Editor editor = DataManagerImpl.validateEditor(CommonDataKeys.EDITOR.getData(dataProvider));
|
||||
if (editor instanceof EditorEx) {
|
||||
return ((EditorEx) editor).getCutProvider();
|
||||
}
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
*/
|
||||
package com.intellij.ide.impl.dataRules;
|
||||
|
||||
import com.intellij.ide.impl.DataManagerImpl;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.ex.EditorEx;
|
||||
|
||||
public class PasteProviderRule implements GetDataRule {
|
||||
public Object getData(DataProvider dataProvider) {
|
||||
final Editor editor = CommonDataKeys.EDITOR.getData(dataProvider);
|
||||
final Editor editor = DataManagerImpl.validateEditor(CommonDataKeys.EDITOR.getData(dataProvider));
|
||||
if (editor instanceof EditorEx) {
|
||||
return ((EditorEx) editor).getPasteProvider();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user