From 5dbcd913ca0486471123cd92ecdfa4aa4211189f Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 20 May 2015 14:29:31 +0200 Subject: [PATCH] move common code to EditorOptionsTopHitProviderBase --- .../impl/ImagesOptionsTopHitProvider.java | 9 ++--- .../AutoImportOptionsTopHitProvider.java | 8 +---- .../CodeFoldingOptionsTopHitProvider.java | 13 +------ .../editor/EditorOptionsTopHitProvider.java | 13 +------ .../EditorOptionsTopHitProviderBase.java | 36 +++++++++++++++++++ .../EditorSmartKeysOptionsTopHitProvider.java | 8 +---- .../EditorTabsOptionsTopHitProvider.java | 13 +------ .../GuiDesignerOptionsTopHitProvider.java | 9 ++--- 8 files changed, 45 insertions(+), 64 deletions(-) create mode 100644 platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProviderBase.java diff --git a/images/src/org/intellij/images/options/impl/ImagesOptionsTopHitProvider.java b/images/src/org/intellij/images/options/impl/ImagesOptionsTopHitProvider.java index 39675fc62d31..32efe6f703ae 100644 --- a/images/src/org/intellij/images/options/impl/ImagesOptionsTopHitProvider.java +++ b/images/src/org/intellij/images/options/impl/ImagesOptionsTopHitProvider.java @@ -15,19 +15,14 @@ */ package org.intellij.images.options.impl; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; +import com.intellij.application.options.editor.EditorOptionsTopHitProviderBase; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; /** * @author Sergey.Malenkov */ -public class ImagesOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { - @Override - public String getId() { - return "editor"; - } - +public class ImagesOptionsTopHitProvider extends EditorOptionsTopHitProviderBase { @Override protected Configurable getConfigurable(Project project) { return new OptionsConfigurabe(); diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/AutoImportOptionsTopHitProvider.java b/platform/lang-impl/src/com/intellij/application/options/editor/AutoImportOptionsTopHitProvider.java index 8778b9f27492..0b7d293b2297 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/AutoImportOptionsTopHitProvider.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/AutoImportOptionsTopHitProvider.java @@ -15,19 +15,13 @@ */ package com.intellij.application.options.editor; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; /** * @author Sergey.Malenkov */ -public class AutoImportOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { - @Override - public String getId() { - return "editor"; - } - +public class AutoImportOptionsTopHitProvider extends EditorOptionsTopHitProviderBase { @Override protected Configurable getConfigurable(Project project) { return new AutoImportOptionsConfigurable(); diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingOptionsTopHitProvider.java b/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingOptionsTopHitProvider.java index cedf5416d8a7..7cc91dab9b4f 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingOptionsTopHitProvider.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingOptionsTopHitProvider.java @@ -15,7 +15,6 @@ */ package com.intellij.application.options.editor; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; @@ -24,25 +23,15 @@ import javax.swing.*; /** * @author Sergey.Malenkov */ -public class CodeFoldingOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { +public class CodeFoldingOptionsTopHitProvider extends EditorOptionsTopHitProviderBase.NoPrefix { private int myCount; - @Override - public String getId() { - return "editor"; - } - @Override protected Configurable getConfigurable(Project project) { myCount = 0; return new CodeFoldingConfigurable(); } - @Override - protected String getName(Configurable configurable) { - return null; - } - @Override protected String getOptionName(JCheckBox checkbox) { String name = super.getOptionName(checkbox); diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProvider.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProvider.java index 9828e92fc484..ab3432c5af07 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProvider.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProvider.java @@ -15,26 +15,15 @@ */ package com.intellij.application.options.editor; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; /** * @author Sergey.Malenkov */ -public class EditorOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { - @Override - public String getId() { - return "editor"; - } - +public class EditorOptionsTopHitProvider extends EditorOptionsTopHitProviderBase.NoPrefix { @Override protected Configurable getConfigurable(Project project) { return new EditorOptions(); } - - @Override - protected String getName(Configurable configurable) { - return null; - } } diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProviderBase.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProviderBase.java new file mode 100644 index 000000000000..e09b2e0cf010 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsTopHitProviderBase.java @@ -0,0 +1,36 @@ +/* + * Copyright 2000-2015 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.application.options.editor; + +import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; +import com.intellij.openapi.options.Configurable; + +/** + * @author Konstantin Bulenkov + */ +public abstract class EditorOptionsTopHitProviderBase extends ConfigurableOptionsTopHitProvider { + @Override + public String getId() { + return "editor"; + } + + public static abstract class NoPrefix extends EditorOptionsTopHitProviderBase { + @Override + protected String getName(Configurable configurable) { + return null; + } + } +} diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysOptionsTopHitProvider.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysOptionsTopHitProvider.java index 28b185b10197..4be1dee5cb36 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysOptionsTopHitProvider.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysOptionsTopHitProvider.java @@ -15,19 +15,13 @@ */ package com.intellij.application.options.editor; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; /** * @author Sergey.Malenkov */ -public class EditorSmartKeysOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { - @Override - public String getId() { - return "editor"; - } - +public class EditorSmartKeysOptionsTopHitProvider extends EditorOptionsTopHitProviderBase { @Override protected Configurable getConfigurable(Project project) { return new EditorSmartKeysConfigurable(); diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsOptionsTopHitProvider.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsOptionsTopHitProvider.java index 805412fbf4a7..8ffb74604409 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsOptionsTopHitProvider.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsOptionsTopHitProvider.java @@ -15,26 +15,15 @@ */ package com.intellij.application.options.editor; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; /** * @author Sergey.Malenkov */ -public class EditorTabsOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { - @Override - public String getId() { - return "editor"; - } - +public class EditorTabsOptionsTopHitProvider extends EditorOptionsTopHitProviderBase.NoPrefix { @Override protected Configurable getConfigurable(Project project) { return new EditorTabsConfigurable(); } - - @Override - protected String getName(Configurable configurable) { - return null; - } } diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/GuiDesignerOptionsTopHitProvider.java b/plugins/ui-designer/src/com/intellij/uiDesigner/GuiDesignerOptionsTopHitProvider.java index 7413c94a96fb..cf220ea6ceef 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/GuiDesignerOptionsTopHitProvider.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/GuiDesignerOptionsTopHitProvider.java @@ -15,19 +15,14 @@ */ package com.intellij.uiDesigner; -import com.intellij.ide.ui.ConfigurableOptionsTopHitProvider; +import com.intellij.application.options.editor.EditorOptionsTopHitProviderBase; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; /** * @author Sergey.Malenkov */ -public class GuiDesignerOptionsTopHitProvider extends ConfigurableOptionsTopHitProvider { - @Override - public String getId() { - return "editor"; - } - +public class GuiDesignerOptionsTopHitProvider extends EditorOptionsTopHitProviderBase { @Override protected Configurable getConfigurable(Project project) { return new GuiDesignerConfigurable(project);