mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
separate actions from keymap configurable (IDEA-90207)
This commit is contained in:
@@ -22,7 +22,6 @@ import com.intellij.ide.fileTemplates.FileTemplateManager;
|
||||
import com.intellij.ide.fileTemplates.impl.AllFileTemplatesConfigurable;
|
||||
import com.intellij.ide.plugins.AvailablePluginsManagerMain;
|
||||
import com.intellij.ide.plugins.PluginManagerConfigurable;
|
||||
import com.intellij.internal.ImageDuplicateResultsDialog;
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.impl.ActionManagerImpl;
|
||||
@@ -143,10 +142,19 @@ public class TraverseUIStarter implements ApplicationStarter {
|
||||
}
|
||||
}
|
||||
|
||||
private static void collectOptions(SearchableOptionsRegistrar optionsRegistrar, TreeSet<OptionDescription> options, String text) {
|
||||
private static void collectOptions(SearchableOptionsRegistrar optionsRegistrar,
|
||||
TreeSet<OptionDescription> options,
|
||||
String text) {
|
||||
collectOptions(optionsRegistrar, options, text, null);
|
||||
}
|
||||
|
||||
private static void collectOptions(SearchableOptionsRegistrar optionsRegistrar,
|
||||
TreeSet<OptionDescription> options,
|
||||
String text,
|
||||
String path) {
|
||||
final Set<String> strings = optionsRegistrar.getProcessedWordsWithoutStemming(text);
|
||||
for (String word : strings) {
|
||||
options.add(new OptionDescription(word, text, null));
|
||||
options.add(new OptionDescription(word, text, path));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,6 +181,7 @@ public class TraverseUIStarter implements ApplicationStarter {
|
||||
|
||||
private static void processKeymap(final Element configurableElement){
|
||||
final ActionManager actionManager = ActionManager.getInstance();
|
||||
final String componentName = actionManager.getComponentName();
|
||||
final SearchableOptionsRegistrar searchableOptionsRegistrar = SearchableOptionsRegistrar.getInstance();
|
||||
final Set<String> ids = ((ActionManagerImpl)actionManager).getActionIds();
|
||||
final TreeSet<OptionDescription> options = new TreeSet<OptionDescription>();
|
||||
@@ -180,11 +189,11 @@ public class TraverseUIStarter implements ApplicationStarter {
|
||||
final AnAction anAction = actionManager.getAction(id);
|
||||
final String text = anAction.getTemplatePresentation().getText();
|
||||
if (text != null) {
|
||||
collectOptions(searchableOptionsRegistrar, options, text);
|
||||
collectOptions(searchableOptionsRegistrar, options, text, componentName);
|
||||
}
|
||||
final String description = anAction.getTemplatePresentation().getDescription();
|
||||
if (description != null) {
|
||||
collectOptions(searchableOptionsRegistrar, options, description);
|
||||
collectOptions(searchableOptionsRegistrar, options, description, componentName);
|
||||
}
|
||||
}
|
||||
writeOptions(configurableElement, options);
|
||||
|
||||
@@ -272,12 +272,13 @@ public class GotoActionModel implements ChooseByNameModel, CustomMatcherModel, C
|
||||
if (Comparing.strEqual(id, SETTINGS_KEY)) {
|
||||
final Set<String> words = myIndex.getProcessedWords(pattern);
|
||||
Set<OptionDescription> optionDescriptions = null;
|
||||
final String actionManagerName = myActionManager.getComponentName();
|
||||
for (String word : words) {
|
||||
final Set<OptionDescription> descriptions = ((SearchableOptionsRegistrarImpl)myIndex).getAcceptableDescriptions(word);
|
||||
if (descriptions != null) {
|
||||
for (Iterator<OptionDescription> iterator = descriptions.iterator(); iterator.hasNext(); ) {
|
||||
OptionDescription description = iterator.next();
|
||||
if (description.getConfigurableId().equals("preferences.keymap")) {
|
||||
if (actionManagerName.equals(description.getPath())) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
+15801
-15431
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user