From 51cfdbec7a35d5d935edb9cf1059f07c2d27cefe Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Thu, 28 Aug 2014 15:06:11 +0400 Subject: [PATCH] ability to specify configurable description in custom bundles --- .../openapi/options/newEditor/OptionsEditor.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java index aaec798289e8..c2119596a06e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java @@ -15,6 +15,8 @@ */ package com.intellij.openapi.options.newEditor; +import com.intellij.AbstractBundle; +import com.intellij.CommonBundle; import com.intellij.icons.AllIcons; import com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder; import com.intellij.ide.ui.laf.darcula.ui.DarculaTextFieldUI; @@ -1220,7 +1222,7 @@ public class OptionsEditor extends JPanel implements DataProvider, Place.Navigat JPanel box = new JPanel(); box.setLayout(new BoxLayout(box, BoxLayout.Y_AXIS)); try { - box.add(new JLabel(OptionsBundle.message(searchable.getId() + ".settings.description"))); + box.add(new JLabel(getDefaultDescription(searchable))); } catch (AssertionError error) { return null; // description is not set @@ -1240,6 +1242,18 @@ public class OptionsEditor extends JPanel implements DataProvider, Place.Navigat return box; } + @NotNull + private static String getDefaultDescription(SearchableConfigurable configurable) { + String key = configurable.getId() + ".settings.description"; + if (configurable instanceof ConfigurableWrapper) { + ConfigurableWrapper wrapper = (ConfigurableWrapper) configurable; + ConfigurableEP ep = wrapper.getExtensionPoint(); + ResourceBundle resourceBundle = AbstractBundle.getResourceBundle(ep.bundle, ep.getPluginDescriptor().getPluginClassLoader()); + return CommonBundle.message(resourceBundle, key); + } + return OptionsBundle.message(key); + } + private class Simple extends ConfigurableContent { JComponent myComponent; Configurable myConfigurable;