diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionItemProvider.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionItemProvider.java index 6f6bff904831..b3a6f959d3b6 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionItemProvider.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionItemProvider.java @@ -19,7 +19,6 @@ import com.intellij.ide.DataManager; import com.intellij.ide.SearchTopHitProvider; import com.intellij.ide.actions.ApplyIntentionAction; import com.intellij.ide.ui.OptionsTopHitProvider; -import com.intellij.ide.ui.TooMuchOptionsProvider; import com.intellij.ide.ui.search.ActionFromOptionDescriptorProvider; import com.intellij.ide.ui.search.OptionDescription; import com.intellij.ide.ui.search.SearchableOptionsRegistrar; @@ -90,7 +89,7 @@ public class GotoActionItemProvider implements ChooseByNameItemProvider { Project project = CommonDataKeys.PROJECT.getData(dataContext); final CollectConsumer collector = new CollectConsumer(); for (SearchTopHitProvider provider : SearchTopHitProvider.EP_NAME.getExtensions()) { - if (provider instanceof TooMuchOptionsProvider) continue; + if (provider instanceof OptionsTopHitProvider.Optional) continue; if (provider instanceof OptionsTopHitProvider && !((OptionsTopHitProvider)provider).isEnabled(project)) continue; if (provider instanceof OptionsTopHitProvider && !StringUtil.startsWith(pattern, "#")) { String prefix = "#" + ((OptionsTopHitProvider)provider).getId() + " "; diff --git a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceOptionsTopHitProvider.java b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceOptionsTopHitProvider.java index 3640e9f8e67a..2304abb7facf 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceOptionsTopHitProvider.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceOptionsTopHitProvider.java @@ -18,18 +18,19 @@ package com.intellij.ide.ui; import com.intellij.ide.ui.search.BooleanOptionDescription; import com.intellij.notification.impl.NotificationsConfigurationImpl; import com.intellij.openapi.project.Project; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Arrays; import java.util.Collection; -import java.util.Collections; /** * @author Sergey.Malenkov */ public class AppearanceOptionsTopHitProvider extends OptionsTopHitProvider { - private static final Collection ourOptions = Collections.unmodifiableCollection(Arrays.asList( + public static final String ID = "appearance"; + + private static final Collection ourOptions = ContainerUtil.immutableList( appearance("UI: " + messageIde("checkboox.cyclic.scrolling.in.lists"), "CYCLE_SCROLLING"), appearance("UI: " + messageIde("checkbox.show.icons.in.quick.navigation"), "SHOW_ICONS_IN_QUICK_NAVIGATION"), appearance("UI: " + messageIde("checkbox.position.cursor.on.default.button"), "MOVE_MOUSE_ON_DEFAULT_BUTTON"), @@ -48,7 +49,7 @@ public class AppearanceOptionsTopHitProvider extends OptionsTopHitProvider { appearance("Window: Small labels in editor tabs", "USE_SMALL_LABELS_ON_TABS"), appearance("Window: " + messageIde("checkbox.widescreen.tool.window.layout"), "WIDESCREEN_SUPPORT"), appearance("Window: " + messageIde("checkbox.right.toolwindow.layout"), "RIGHT_HORIZONTAL_SPLIT"), - appearance("Window: " + messageIde("checkbox.use.preview.window"), "NAVIGATE_TO_PREVIEW"))); + appearance("Window: " + messageIde("checkbox.use.preview.window"), "NAVIGATE_TO_PREVIEW")); @NotNull @Override @@ -58,7 +59,7 @@ public class AppearanceOptionsTopHitProvider extends OptionsTopHitProvider { @Override public String getId() { - return "appearance"; + return ID; } static BooleanOptionDescription appearance(String option, String field) { @@ -88,18 +89,23 @@ public class AppearanceOptionsTopHitProvider extends OptionsTopHitProvider { }; } - public static class Ex extends AppearanceOptionsTopHitProvider implements TooMuchOptionsProvider { - private static final Collection ourOptions = Collections.unmodifiableCollection(Arrays.asList( + public static class Ex extends OptionsTopHitProvider implements OptionsTopHitProvider.Optional { + private static final Collection ourOptions = ContainerUtil.immutableList( appearance("Window: " + "Hide Tool Window Bars", "HIDE_TOOL_STRIPES"), appearance("View: Show Main Toolbar", "SHOW_MAIN_TOOLBAR"), appearance("View: Show Status Bar", "SHOW_STATUS_BAR"), appearance("View: Show Navigation Bar", "SHOW_NAVIGATION_BAR") - )); + ); @NotNull @Override public Collection getOptions(@Nullable Project project) { return ourOptions; } + + @Override + public String getId() { + return ID; + } } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/EditorOptionsTopHitProvider.java b/platform/platform-impl/src/com/intellij/ide/ui/EditorOptionsTopHitProvider.java index 805bcd8d1b99..451449de1e5d 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/EditorOptionsTopHitProvider.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/EditorOptionsTopHitProvider.java @@ -18,18 +18,19 @@ package com.intellij.ide.ui; import com.intellij.ide.ui.search.BooleanOptionDescription; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.SystemInfo; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Arrays; import java.util.Collection; -import java.util.Collections; /** * @author Konstantin Bulenkov */ public class EditorOptionsTopHitProvider extends OptionsTopHitProvider { - private static final Collection ourOptions = Collections.unmodifiableCollection(Arrays.asList( + private static final String ID = "editor"; + + private static final Collection ourOptions = ContainerUtil.immutableList( editor("Mouse: " + messageApp("checkbox.honor.camelhumps.words.settings.on.double.click"), "IS_MOUSE_CLICK_SELECTION_HONORS_CAMEL_WORDS"), editor("Mouse: " + messageApp(SystemInfo.isMac @@ -58,7 +59,8 @@ public class EditorOptionsTopHitProvider extends OptionsTopHitProvider { editorTabs("Tabs: " + messageApp("checkbox.editor.tabs.show.close.button"), "SHOW_CLOSE_BUTTON"), editorTabs("Tabs: " + messageApp("checkbox.mark.modified.tabs.with.asterisk"), "MARK_MODIFIED_TABS_WITH_ASTERISK"), editorTabs("Tabs: " + messageApp("checkbox.show.tabs.tooltips"), "SHOW_TABS_TOOLTIPS"), - editorTabs("Tabs: " + messageApp("radio.close.non.modified.files.first"), "CLOSE_NON_MODIFIED_FILES_FIRST"))); + editorTabs("Tabs: " + messageApp("radio.close.non.modified.files.first"), "CLOSE_NON_MODIFIED_FILES_FIRST") + ); @NotNull @Override @@ -68,7 +70,7 @@ public class EditorOptionsTopHitProvider extends OptionsTopHitProvider { @Override public String getId() { - return "editor"; + return ID; } static BooleanOptionDescription editor(String option, String field) { @@ -95,15 +97,20 @@ public class EditorOptionsTopHitProvider extends OptionsTopHitProvider { return new DaemonCodeAnalyzerOptionDescription(field, option, "editor.preferences.appearance"); } - public static class Ex extends EditorOptionsTopHitProvider implements TooMuchOptionsProvider { - private static final Collection ourOptions = Collections.unmodifiableCollection(Arrays.asList( + public static class Ex extends OptionsTopHitProvider implements OptionsTopHitProvider.Optional { + private static final Collection ourOptions = ContainerUtil.immutableList( editorApp("Appearance: " + messageApp("checkbox.show.line.numbers"), "ARE_LINE_NUMBERS_SHOWN") - )); + ); @NotNull @Override public Collection getOptions(@Nullable Project project) { return ourOptions; } + + @Override + public String getId() { + return ID; + } } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/OptionsTopHitProvider.java b/platform/platform-impl/src/com/intellij/ide/ui/OptionsTopHitProvider.java index f0a4745b23b6..9eb0d353ee97 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/OptionsTopHitProvider.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/OptionsTopHitProvider.java @@ -76,4 +76,7 @@ public abstract class OptionsTopHitProvider implements SearchTopHitProvider { static String messageKeyMap(String property) { return StringUtil.stripHtml(KeyMapBundle.message(property), false); } + + public interface Optional { // for search everywhere only + } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/TooMuchOptionsProvider.java b/platform/platform-impl/src/com/intellij/ide/ui/TooMuchOptionsProvider.java deleted file mode 100644 index c2bab890a0a2..000000000000 --- a/platform/platform-impl/src/com/intellij/ide/ui/TooMuchOptionsProvider.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.ide.ui; - -public interface TooMuchOptionsProvider { -} diff --git a/platform/platform-impl/src/com/intellij/ide/ui/UISimpleSettingsProvider.java b/platform/platform-impl/src/com/intellij/ide/ui/UISimpleSettingsProvider.java index d99c3d99c227..2b8f6c57df5e 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/UISimpleSettingsProvider.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/UISimpleSettingsProvider.java @@ -24,7 +24,7 @@ import com.intellij.util.Consumer; /** * @author Konstantin Bulenkov */ -public class UISimpleSettingsProvider implements SearchTopHitProvider, TooMuchOptionsProvider { +public class UISimpleSettingsProvider implements SearchTopHitProvider, OptionsTopHitProvider.Optional { private static OptionDescription CYCLING_SCROLLING = AppearanceOptionsTopHitProvider.appearance("Cyclic scrolling", "CYCLE_SCROLLING"); private static OptionDescription MEMORY_INDICATOR = AppearanceOptionsTopHitProvider.appearance("Show Memory Indicator", "SHOW_MEMORY_INDICATOR");