diff --git a/platform/platform-impl/src/com/intellij/util/ui/table/TableModelEditor.java b/platform/platform-impl/src/com/intellij/util/ui/table/TableModelEditor.java index f1ba8baa45c1..54cec25ae307 100644 --- a/platform/platform-impl/src/com/intellij/util/ui/table/TableModelEditor.java +++ b/platform/platform-impl/src/com/intellij/util/ui/table/TableModelEditor.java @@ -96,6 +96,12 @@ public class TableModelEditor implements ElementProducer { table.requestFocus(); } } + }).setEditActionUpdater(new AnActionButtonUpdater() { + @Override + public boolean isEnabled(AnActionEvent e) { + T item = table.getSelectedObject(); + return item != null && ((DialogItemEditor)TableModelEditor.this.itemEditor).isEditable(item); + } }); } } @@ -142,6 +148,10 @@ public class TableModelEditor implements ElementProducer { public abstract void edit(@NotNull T item, @NotNull Function mutator); public abstract void applyEdited(@NotNull T oldItem, @NotNull T newItem); + + public boolean isEditable(@NotNull T item) { + return true; + } } @NotNull diff --git a/xml/impl/src/com/intellij/ide/browsers/BrowserSettingsPanel.java b/xml/impl/src/com/intellij/ide/browsers/BrowserSettingsPanel.java index c81b9d3dd015..f18e95fa18cf 100644 --- a/xml/impl/src/com/intellij/ide/browsers/BrowserSettingsPanel.java +++ b/xml/impl/src/com/intellij/ide/browsers/BrowserSettingsPanel.java @@ -256,6 +256,11 @@ public class BrowserSettingsPanel { oldItem.setSpecificSettings(newItem.getSpecificSettings()); } + @Override + public boolean isEditable(@NotNull ConfigurableWebBrowser browser) { + return browser.getSpecificSettings() != null; + } + @Override public boolean isRemovable(@NotNull ConfigurableWebBrowser item) { return !WebBrowserManager.getInstance().isPredefinedBrowser(item); diff --git a/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java b/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java index f26317973120..0aef49aeab19 100644 --- a/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java +++ b/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java @@ -47,6 +47,7 @@ public final class ChromeSettings extends BrowserSpecificSettings { return myUseCustomProfile; } + @Nullable @Tag("command-line-options") public String getCommandLineOptions() { return myCommandLineOptions;