diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellActionBase.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellActionBase.java index 8a80bb209d69..560f299f8795 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellActionBase.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellActionBase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -45,8 +45,10 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.ui.popup.PopupStep; import com.intellij.openapi.ui.popup.util.BaseListPopupStep; +import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Key; import com.intellij.util.PlatformIcons; +import com.intellij.util.containers.ContainerUtil; import icons.JetgroovyIcons; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyFileImpl; @@ -157,13 +159,19 @@ public abstract class GroovyShellActionBase extends DumbAwareAction { } }; - for (int i = 0; i < modules.size(); i++) { - Module module = modules.get(i); - if (module.getName().equals(PropertiesComponent.getInstance(project).getValue(GROOVY_SHELL_LAST_MODULE))) { - step.setDefaultOptionIndex(i); - break; + final String lastModuleName = PropertiesComponent.getInstance(project).getValue(GROOVY_SHELL_LAST_MODULE); + if (lastModuleName != null) { + int defaultOption = ContainerUtil.indexOf(modules, new Condition() { + @Override + public boolean value(Module module) { + return module.getName().equals(lastModuleName); + } + }); + if (defaultOption >= 0) { + step.setDefaultOptionIndex(defaultOption); } } + JBPopupFactory.getInstance().createListPopup(step).showCenteredInCurrentWindow(project); }