From 5c41ed05480ea19507a0c57a5b5e89ac98ba75fd Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Tue, 5 Jul 2016 19:42:29 +0300 Subject: [PATCH] Required plugins configurable: edit on double click --- .../ExternalDependenciesConfigurable.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/externalDependencies/impl/ExternalDependenciesConfigurable.java b/platform/platform-impl/src/com/intellij/externalDependencies/impl/ExternalDependenciesConfigurable.java index ce2d5cfc43a7..405098b51162 100644 --- a/platform/platform-impl/src/com/intellij/externalDependencies/impl/ExternalDependenciesConfigurable.java +++ b/platform/platform-impl/src/com/intellij/externalDependencies/impl/ExternalDependenciesConfigurable.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; import java.util.*; /** @@ -111,6 +112,13 @@ public class ExternalDependenciesConfigurable implements SearchableConfigurable, } } }); + new DoubleClickListener() { + @Override + protected boolean onDoubleClick(MouseEvent e) { + return editSelectedDependency(dependenciesList); + } + }.installOn(dependenciesList); + dependenciesList.setModel(myListModel); JPanel dependenciesPanel = ToolbarDecorator.createDecorator(dependenciesList) .disableUpDownActions() @@ -123,10 +131,7 @@ public class ExternalDependenciesConfigurable implements SearchableConfigurable, .setEditAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { - DependencyOnPlugin selected = (DependencyOnPlugin)dependenciesList.getSelectedValue(); - if (selected != null) { - replaceDependency(selected, dependenciesList); - } + editSelectedDependency(dependenciesList); } }) .createPanel(); @@ -135,6 +140,15 @@ public class ExternalDependenciesConfigurable implements SearchableConfigurable, .getPanel(); } + public boolean editSelectedDependency(JBList dependenciesList) { + DependencyOnPlugin selected = (DependencyOnPlugin)dependenciesList.getSelectedValue(); + if (selected != null) { + replaceDependency(selected, dependenciesList); + return true; + } + return false; + } + private void replaceDependency(DependencyOnPlugin original, JBList dependenciesList) { DependencyOnPlugin dependency = editPluginDependency(dependenciesList, original); if (dependency != null) {