mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
diff from console: use original component from relative point available when constructed from MouseEvent only (IDEA-140347)
This commit is contained in:
@@ -135,8 +135,9 @@ public class EditorHyperlinkSupport {
|
||||
@Override
|
||||
public void run() {
|
||||
if (hyperlinkInfo instanceof HyperlinkInfoBase) {
|
||||
RelativePoint point = new RelativePoint(myEditor.getContentComponent(), myEditor.logicalPositionToXY(logical));
|
||||
((HyperlinkInfoBase)hyperlinkInfo).navigate(myProject, point);
|
||||
final Point point = myEditor.logicalPositionToXY(logical);
|
||||
final MouseEvent event = new MouseEvent(myEditor.getContentComponent(), 0, 0, 0, point.x, point.y, 1, false);
|
||||
((HyperlinkInfoBase)hyperlinkInfo).navigate(myProject, new RelativePoint(event));
|
||||
}
|
||||
else {
|
||||
hyperlinkInfo.navigate(myProject);
|
||||
|
||||
+11
-3
@@ -22,6 +22,7 @@ package com.intellij.execution.testframework.stacktrace;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.filters.HyperlinkInfo;
|
||||
import com.intellij.execution.filters.HyperlinkInfoBase;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.Printable;
|
||||
import com.intellij.execution.testframework.Printer;
|
||||
@@ -31,6 +32,9 @@ import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.ui.awt.RelativePoint;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -135,9 +139,13 @@ public class DiffHyperlink implements Printable {
|
||||
return result;
|
||||
}
|
||||
|
||||
public class DiffHyperlinkInfo implements HyperlinkInfo {
|
||||
public void navigate(final Project project) {
|
||||
ViewAssertEqualsDiffAction.openDiff(DataManager.getInstance().getDataContext(), DiffHyperlink.this);
|
||||
public class DiffHyperlinkInfo extends HyperlinkInfoBase {
|
||||
@Override
|
||||
public void navigate(@NotNull Project project, @Nullable RelativePoint hyperlinkLocationPoint) {
|
||||
final DataManager dataManager = DataManager.getInstance();
|
||||
final DataContext dataContext = hyperlinkLocationPoint != null ?
|
||||
dataManager.getDataContext(hyperlinkLocationPoint.getOriginalComponent()) : dataManager.getDataContext();
|
||||
ViewAssertEqualsDiffAction.openDiff(dataContext, DiffHyperlink.this);
|
||||
}
|
||||
|
||||
public DiffHyperlink getPrintable() {
|
||||
|
||||
Reference in New Issue
Block a user