mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
AppCode: filtering devices in the list by deployment target
Platform: fixes in target selection
This commit is contained in:
+3
-3
@@ -479,7 +479,7 @@ public class ChooseRunConfigurationAction extends AnAction {
|
||||
|
||||
if (selectedConfiguration != null) {
|
||||
boolean isFirst = true;
|
||||
for (final ExecutionTarget eachTarget : ExecutionTargetManager.getTargetsFor(project, selectedConfiguration)) {
|
||||
for (final ExecutionTarget eachTarget : ExecutionTargetManager.getTargetsToChooseFor(project, selectedConfiguration)) {
|
||||
result.add(new ItemWrapper<ExecutionTarget>(eachTarget, isFirst) {
|
||||
@Override
|
||||
public Icon getIcon() {
|
||||
@@ -769,7 +769,7 @@ public class ChooseRunConfigurationAction extends AnAction {
|
||||
final boolean dynamic) {
|
||||
final List<ActionWrapper> result = new ArrayList<ActionWrapper>();
|
||||
|
||||
for (final ExecutionTarget eachTarget : ExecutionTargetManager.getTargetsFor(project, settings)) {
|
||||
for (final ExecutionTarget eachTarget : ExecutionTargetManager.getTargetsToChooseFor(project, settings)) {
|
||||
result.add(new ActionWrapper(eachTarget.getDisplayName(), eachTarget.getIcon()) {
|
||||
@Override
|
||||
public void perform() {
|
||||
@@ -799,7 +799,7 @@ public class ChooseRunConfigurationAction extends AnAction {
|
||||
}
|
||||
}
|
||||
|
||||
result.add(new ActionWrapper("Edit...", EDIT_ICON) {
|
||||
result.add(new ActionWrapper("Edit...", EDIT_ICON, true) {
|
||||
@Override
|
||||
public void perform() {
|
||||
final RunManagerEx manager = RunManagerEx.getInstanceEx(project);
|
||||
|
||||
-2
@@ -21,7 +21,6 @@ import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.ide.actions.ShowPopupMenuAction;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.ex.ComboBoxAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -187,7 +186,6 @@ public class RunConfigurationsComboBoxAction extends ComboBoxAction implements D
|
||||
//}
|
||||
}
|
||||
|
||||
actionGroup.add(new ShowPopupMenuAction());
|
||||
allActionsGroup.add(actionGroup);
|
||||
allActionsGroup.addSeparator();
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.execution.*;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -60,23 +61,23 @@ public class RunContextAction extends BaseRunConfigurationAction {
|
||||
protected void updatePresentation(final Presentation presentation, final String actionText, final ConfigurationContext context) {
|
||||
presentation.setText(myExecutor.getStartActionText(actionText), true);
|
||||
|
||||
boolean b = isEnabled(context);
|
||||
Pair<Boolean, Boolean> b = isEnabledAndVisible(context);
|
||||
|
||||
presentation.setEnabled(b);
|
||||
presentation.setVisible(b);
|
||||
presentation.setEnabled(b.first);
|
||||
presentation.setVisible(b.second);
|
||||
}
|
||||
|
||||
private boolean isEnabled(ConfigurationContext context) {
|
||||
private Pair<Boolean, Boolean> isEnabledAndVisible(ConfigurationContext context) {
|
||||
RunnerAndConfigurationSettings configuration = context.findExisting();
|
||||
if (configuration == null) {
|
||||
configuration = context.getConfiguration();
|
||||
}
|
||||
|
||||
if (configuration == null) return false;
|
||||
if (configuration == null) return Pair.create(false, false);
|
||||
|
||||
final ProgramRunner runner = getRunner(configuration.getConfiguration());
|
||||
if (runner == null) return false;
|
||||
if (runner == null) return Pair.create(false, false);
|
||||
|
||||
return ExecutorRegistry.getInstance().isStarting(context.getProject(), myExecutor.getId(), runner.getRunnerId());
|
||||
return Pair.create(!ExecutorRegistry.getInstance().isStarting(context.getProject(), myExecutor.getId(), runner.getRunnerId()), true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.intellij.ui.popup.list;
|
||||
|
||||
import com.intellij.openapi.ui.popup.ListItemDescriptor;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.ErrorLabel;
|
||||
import com.intellij.ui.GroupedElementsRenderer;
|
||||
import com.intellij.ui.components.panels.OpaquePanel;
|
||||
@@ -40,10 +41,13 @@ public class GroupedItemsListRenderer extends GroupedElementsRenderer.List imple
|
||||
}
|
||||
|
||||
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
|
||||
final JComponent result =
|
||||
configureComponent(myDescriptor.getTextFor(value), myDescriptor.getTooltipFor(value), myDescriptor.getIconFor(value),
|
||||
myDescriptor.getIconFor(value), isSelected, myDescriptor.hasSeparatorAboveOf(value),
|
||||
myDescriptor.getCaptionAboveOf(value), -1);
|
||||
String caption = myDescriptor.getCaptionAboveOf(value);
|
||||
boolean hasSeparator = myDescriptor.hasSeparatorAboveOf(value);
|
||||
if (index == 0 && StringUtil.isEmptyOrSpaces(caption)) hasSeparator = false;
|
||||
|
||||
final JComponent result = configureComponent(myDescriptor.getTextFor(value), myDescriptor.getTooltipFor(value),
|
||||
myDescriptor.getIconFor(value), myDescriptor.getIconFor(value), isSelected, hasSeparator,
|
||||
caption, -1);
|
||||
|
||||
customizeComponent(list, value, isSelected);
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user