mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-139609 Gradle: New Module Wizard: "Select Gradle Projec"t dialog: selection is not confirmed by double-clicking or pressing Enter
This commit is contained in:
+9
@@ -24,6 +24,7 @@ import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.awt.event.InputEvent;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -51,4 +52,12 @@ public interface ExternalProjectsView {
|
||||
boolean getGroupTasks();
|
||||
|
||||
ProjectSystemId getSystemId();
|
||||
|
||||
void handleDoubleClickOrEnter(@NotNull ExternalSystemNode node, @Nullable String actionId, InputEvent inputEvent);
|
||||
|
||||
void addListener(@NotNull ExternalProjectsView.Listener listener);
|
||||
|
||||
interface Listener {
|
||||
void onDoubleClickOrEnter(@NotNull ExternalSystemNode node, InputEvent inputEvent);
|
||||
}
|
||||
}
|
||||
|
||||
+11
@@ -24,6 +24,7 @@ import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.awt.event.InputEvent;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -90,4 +91,14 @@ public class ExternalProjectsViewAdapter implements ExternalProjectsView {
|
||||
public ProjectSystemId getSystemId() {
|
||||
return delegate.getSystemId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleDoubleClickOrEnter(@NotNull ExternalSystemNode node, @Nullable String actionId, InputEvent inputEvent) {
|
||||
delegate.handleDoubleClickOrEnter(node, actionId, inputEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addListener(@NotNull Listener listener) {
|
||||
delegate.addListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
+19
@@ -24,6 +24,7 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemUiAware;
|
||||
import com.intellij.openapi.externalSystem.action.ExternalSystemActionUtil;
|
||||
import com.intellij.openapi.externalSystem.action.ExternalSystemViewGearAction;
|
||||
import com.intellij.openapi.externalSystem.model.*;
|
||||
import com.intellij.openapi.externalSystem.model.execution.ExternalTaskExecutionInfo;
|
||||
@@ -69,6 +70,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.tree.TreeSelectionModel;
|
||||
import java.awt.*;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
@@ -89,6 +91,8 @@ public class ExternalProjectsViewImpl extends SimpleToolWindowPanel implements D
|
||||
private final ProjectSystemId myExternalSystemId;
|
||||
@NotNull
|
||||
private final ExternalSystemUiAware myUiAware;
|
||||
@NotNull
|
||||
private final Set<Listener> listeners = ContainerUtil.newHashSet();
|
||||
|
||||
@Nullable
|
||||
private ExternalProjectsStructure myStructure;
|
||||
@@ -277,6 +281,21 @@ public class ExternalProjectsViewImpl extends SimpleToolWindowPanel implements D
|
||||
scheduleStructureUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleDoubleClickOrEnter(@NotNull ExternalSystemNode node, @Nullable String actionId, InputEvent inputEvent) {
|
||||
if (actionId != null) {
|
||||
ExternalSystemActionUtil.executeAction(actionId, inputEvent);
|
||||
}
|
||||
for (Listener listener : listeners) {
|
||||
listener.onDoubleClickOrEnter(node, inputEvent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addListener(@NotNull Listener listener) {
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
private ActionGroup createAdditionalGearActionsGroup() {
|
||||
ActionManager actionManager = ActionManager.getInstance();
|
||||
DefaultActionGroup group = new DefaultActionGroup();
|
||||
|
||||
+1
-3
@@ -373,9 +373,7 @@ public abstract class ExternalSystemNode<T> extends SimpleNode implements Compar
|
||||
@Override
|
||||
public void handleDoubleClickOrEnter(SimpleTree tree, InputEvent inputEvent) {
|
||||
String actionId = getActionId();
|
||||
if (actionId != null) {
|
||||
ExternalSystemActionUtil.executeAction(actionId, inputEvent);
|
||||
}
|
||||
getExternalProjectsView().handleDoubleClickOrEnter(this, actionId, inputEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+10
@@ -16,15 +16,18 @@
|
||||
package org.jetbrains.plugins.gradle.service.project.wizard;
|
||||
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalSystemNode;
|
||||
import com.intellij.openapi.externalSystem.view.ProjectNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.ui.treeStructure.NullNode;
|
||||
import com.intellij.ui.treeStructure.SimpleNode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
@@ -69,6 +72,13 @@ public class SelectExternalProjectDialog extends SelectExternalSystemNodeDialog
|
||||
super.doOKAction();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleDoubleClickOrEnter(@NotNull ExternalSystemNode node, @Nullable String actionId, InputEvent inputEvent) {
|
||||
if(node instanceof ProjectNode ) {
|
||||
doOKAction();
|
||||
}
|
||||
}
|
||||
|
||||
public ProjectData getResult() {
|
||||
return myResult;
|
||||
}
|
||||
|
||||
+14
-1
@@ -20,7 +20,10 @@ import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.view.*;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsStructure;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsView;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalProjectsViewAdapter;
|
||||
import com.intellij.openapi.externalSystem.view.ExternalSystemNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
@@ -30,11 +33,13 @@ import com.intellij.ui.treeStructure.SimpleTree;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.TreeSelectionModel;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@@ -77,6 +82,11 @@ public class SelectExternalSystemNodeDialog extends DialogWrapper {
|
||||
public void updateUpTo(ExternalSystemNode node) {
|
||||
treeStructure.updateUpTo(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleDoubleClickOrEnter(@NotNull ExternalSystemNode node, @Nullable String actionId, InputEvent inputEvent) {
|
||||
SelectExternalSystemNodeDialog.this.handleDoubleClickOrEnter(node, actionId, inputEvent);
|
||||
}
|
||||
});
|
||||
|
||||
final Collection<ExternalProjectInfo> projectsData =
|
||||
@@ -107,6 +117,9 @@ public class SelectExternalSystemNodeDialog extends DialogWrapper {
|
||||
init();
|
||||
}
|
||||
|
||||
protected void handleDoubleClickOrEnter(@NotNull ExternalSystemNode node, @Nullable String actionId, InputEvent inputEvent) {
|
||||
}
|
||||
|
||||
protected SimpleNode getSelectedNode() {
|
||||
return myTree.getNodeFor(myTree.getSelectionPath());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user