mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
options provider only for se
This commit is contained in:
@@ -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<Object> collector = new CollectConsumer<Object>();
|
||||
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() + " ";
|
||||
|
||||
+14
-8
@@ -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<BooleanOptionDescription> ourOptions = Collections.unmodifiableCollection(Arrays.asList(
|
||||
public static final String ID = "appearance";
|
||||
|
||||
private static final Collection<BooleanOptionDescription> 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<BooleanOptionDescription> ourOptions = Collections.unmodifiableCollection(Arrays.asList(
|
||||
public static class Ex extends OptionsTopHitProvider implements OptionsTopHitProvider.Optional {
|
||||
private static final Collection<BooleanOptionDescription> 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<BooleanOptionDescription> getOptions(@Nullable Project project) {
|
||||
return ourOptions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<BooleanOptionDescription> ourOptions = Collections.unmodifiableCollection(Arrays.asList(
|
||||
private static final String ID = "editor";
|
||||
|
||||
private static final Collection<BooleanOptionDescription> 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<BooleanOptionDescription> ourOptions = Collections.unmodifiableCollection(Arrays.asList(
|
||||
public static class Ex extends OptionsTopHitProvider implements OptionsTopHitProvider.Optional {
|
||||
private static final Collection<BooleanOptionDescription> ourOptions = ContainerUtil.immutableList(
|
||||
editorApp("Appearance: " + messageApp("checkbox.show.line.numbers"), "ARE_LINE_NUMBERS_SHOWN")
|
||||
));
|
||||
);
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<BooleanOptionDescription> getOptions(@Nullable Project project) {
|
||||
return ourOptions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
}
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user