From 0f575fbfa527b215f3d461acd2053c893ed65a1b Mon Sep 17 00:00:00 2001 From: Louis Vignier Date: Mon, 19 Apr 2021 15:15:12 +0200 Subject: [PATCH] IJ-CR-8338 [codeInspection] Update ListEditForm GitOrigin-RevId: 60b16d88ad47f62ad56aea840e2c6b381f54f5ea --- ...PseudoFunctionalStyleMethodInspection.java | 11 +++++- ...ticPseudoFunctionalStyleMethodOptions.java | 13 +++++-- .../resources/messages/JavaBundle.properties | 4 ++- .../codeInspection/ui/ListEditForm.java | 24 +++++++++++-- .../InspectionGadgetsBundle.properties | 2 ++ .../SuppressionAnnotationInspection.java | 9 ++--- ...odNameMustStartWithQuestionInspection.java | 35 +++++-------------- ...NameMayNotStartWithQuestionInspection.java | 19 ++++------ .../ig/naming/QuestionableNameInspection.java | 2 +- .../messages/PyBundle.properties | 3 +- .../resources/messages/PyPsiBundle.properties | 4 +++ .../com/jetbrains/python/PythonUiService.java | 4 +++ .../PyShadowingBuiltinsInspection.java | 2 +- .../messages/PythonRestBundle.properties | 1 + .../rest/inspections/RestRoleInspection.java | 2 +- .../jetbrains/python/PythonUiServiceImpl.java | 6 ++++ .../typing/PyStubPackagesAdvertiser.kt | 1 + .../PyStubPackagesCompatibilityInspection.kt | 1 + .../PyPackageRequirementsInspection.java | 2 +- .../python/inspections/PyPep8Inspection.java | 2 +- .../PyUnresolvedReferencesInspection.java | 1 + 21 files changed, 91 insertions(+), 57 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodInspection.java b/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodInspection.java index f7070766ed04..cb8f58f70148 100644 --- a/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodInspection.java @@ -5,6 +5,7 @@ import com.intellij.codeInspection.AbstractBaseJavaLocalInspectionTool; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.codeInspection.ProblemsHolder; +import com.intellij.codeInspection.ui.InspectionOptionsPanel; import com.intellij.java.JavaBundle; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; @@ -13,6 +14,7 @@ import com.intellij.openapi.util.WriteExternalException; import com.intellij.openapi.util.text.StringUtil; import com.intellij.pom.java.JavaFeature; import com.intellij.psi.*; +import com.intellij.util.ui.UI; import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -40,7 +42,14 @@ public class StaticPseudoFunctionalStyleMethodInspection extends AbstractBaseJav @Nullable @Override public JComponent createOptionsPanel() { - return myOptions.createPanel(); + final var panel = new InspectionOptionsPanel(); + panel.addGrowing(UI.PanelFactory + .panel(myOptions.createPanel()) + .withLabel(JavaBundle.message("inspection.static.pseudo.functional.style.table.label")) + .moveLabelOnTop() + .resizeY(true) + .createPanel()); + return panel; } @NotNull diff --git a/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodOptions.java b/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodOptions.java index a9e60a14b2f5..4375b30b626c 100644 --- a/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodOptions.java +++ b/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/StaticPseudoFunctionalStyleMethodOptions.java @@ -15,6 +15,7 @@ */ package com.intellij.codeInspection.java18StreamApi; +import com.intellij.openapi.actionSystem.ActionToolbarPosition; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; @@ -129,7 +130,11 @@ public class StaticPseudoFunctionalStyleMethodOptions { append("." + element.getMethodName(), SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES); } }); - return ToolbarDecorator.createDecorator(list).disableUpDownActions().setAddAction(new AnActionButtonRunnable() { + return ToolbarDecorator + .createDecorator(list) + .disableUpDownActions() + .setToolbarPosition(ActionToolbarPosition.RIGHT) + .setAddAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { final Project currentProject = CommonDataKeys.PROJECT.getData(button.getDataContext()); @@ -149,7 +154,8 @@ public class StaticPseudoFunctionalStyleMethodOptions { ((DefaultListModel)list.getModel()).addElement(newElement); } } - }).setRemoveAction(new AnActionButtonRunnable() { + }) + .setRemoveAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { final int[] indices = list.getSelectedIndices(); @@ -160,7 +166,8 @@ public class StaticPseudoFunctionalStyleMethodOptions { myElements.removeAll(toRemove); ListUtil.removeSelectedItems(list); } - }).createPanel(); + }) + .createPanel(); } public static class PipelineElement { diff --git a/java/openapi/resources/messages/JavaBundle.properties b/java/openapi/resources/messages/JavaBundle.properties index e520b811582a..c4184532955a 100644 --- a/java/openapi/resources/messages/JavaBundle.properties +++ b/java/openapi/resources/messages/JavaBundle.properties @@ -1252,6 +1252,7 @@ inspection.functional.expression.can.be.folded.display.name=Functional expressio inspection.trivial.functional.expression.usage.display.name=Trivial usage of functional expression inspection.magic.constant.display.name=Magic Constant inspection.static.pseudo.functional.style.method.display.name=Pseudo functional expression using static class +inspection.static.pseudo.functional.style.table.label=Static method calls translated to the 'Stream' API: inspection.overwritten.key.display.name=Overwritten Map, Set, or array element inspection.collection.add.all.can.be.replaced.with.constructor.display.name=Redundant 'Collection.addAll()' call inspection.manual.min.max.calculation.display.name=Manual min/max calculation @@ -1561,7 +1562,8 @@ code.vision.overrides.hint={0, choice, 1#1 override|2#{0,number} overrides} hint.text.tostring.method.could.not.be.created.from.template=''toString()'' method could not be created from template ''{0}'' hint.text.tostring.template.invalid=toString() template ''{0}'' is invalid command.name.generate.tostring=Generate toString() -column.name.ignore.suppressions=Ignore suppressions +column.name.ignore.suppressions=Ignore Suppressions +ignored.suppressions=Ignored suppressions: hint.text.removed.imports=Removed {0} {1, choice, 0#import|1#imports} hint.text.added.imports=, added {0} {1, choice, 0#import|1#imports} hint.text.rearranged.imports=Rearranged imports diff --git a/platform/lang-api/src/com/intellij/codeInspection/ui/ListEditForm.java b/platform/lang-api/src/com/intellij/codeInspection/ui/ListEditForm.java index 0cb07711de50..bba1cd9e79ca 100644 --- a/platform/lang-api/src/com/intellij/codeInspection/ui/ListEditForm.java +++ b/platform/lang-api/src/com/intellij/codeInspection/ui/ListEditForm.java @@ -15,12 +15,16 @@ */ package com.intellij.codeInspection.ui; +import com.intellij.openapi.actionSystem.ActionToolbarPosition; import com.intellij.openapi.util.NlsContexts; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.ui.AnActionButton; import com.intellij.ui.AnActionButtonRunnable; import com.intellij.ui.TableUtil; import com.intellij.ui.ToolbarDecorator; +import com.intellij.util.ui.JBUI; +import com.intellij.util.ui.UI; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.table.TableCellEditor; @@ -34,8 +38,22 @@ public class ListEditForm { public ListEditForm(@NlsContexts.ColumnName String title, List stringList) { table = new ListTable(new ListWrappingTableModel(stringList, title)); - contentPanel = ToolbarDecorator.createDecorator(table) - .setAddAction(new AnActionButtonRunnable() { + contentPanel = setupActions(ToolbarDecorator.createDecorator(table)).createPanel(); + } + + public ListEditForm(@NlsContexts.ColumnName String title, @NlsContexts.Label String label, List stringList) { + table = new ListTable(new ListWrappingTableModel(stringList, title)); + table.setTableHeader(null); + + contentPanel = setupActions(ToolbarDecorator.createDecorator(table)) + .setToolbarPosition(ActionToolbarPosition.RIGHT) + .createPanel(); + contentPanel = UI.PanelFactory.panel(contentPanel).withLabel(label).moveLabelOnTop().resizeY(true).createPanel(); + contentPanel.setMinimumSize(JBUI.size(150, 100)); + } + + private @NotNull ToolbarDecorator setupActions(@NotNull ToolbarDecorator decorator) { + return decorator.setAddAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { final ListWrappingTableModel tableModel = table.getModel(); @@ -58,7 +76,7 @@ public class ListEditForm { } }) .setRemoveAction(button -> TableUtil.removeSelectedItems(table)) - .disableUpDownActions().createPanel(); + .disableUpDownActions(); } public JComponent getContentPanel() { diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/resources/messages/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/resources/messages/InspectionGadgetsBundle.properties index 3e9f34025043..86b656afd0b1 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/resources/messages/InspectionGadgetsBundle.properties +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/resources/messages/InspectionGadgetsBundle.properties @@ -1118,10 +1118,12 @@ parameter.name.differs.from.overridden.parameter.ignore.character.option=Ignore parameter.name.differs.from.overridden.parameter.ignore.library.option=Ignore if overridden parameter is from a library parameter.name.differs.from.overridden.parameter.problem.descriptor=Parameter name #ref is different from parameter ''{0}'' overridden #loc questionable.name.column.title=Name +questionable.name.list.label=Reported names: standard.variable.names.problem.descriptor=Variable named #ref doesn''t have type ''{0}'' #loc standard.variable.names.problem.descriptor2=Variable named #ref doesn''t have type ''{0}'' or ''{1}'' #loc standard.variable.names.ignore.override.option=Ignore for parameter names identical to super method parameters boolean.method.name.must.start.with.question.table.column.name=Boolean Method Name Prefix +boolean.method.name.must.start.with.question.table.label=Boolean method name prefixes: conditional.expression.with.identical.branches.collapse.quickfix=Collapse conditional expression redundant.else.unwrap.quickfix=Remove redundant 'else' constant.conditional.expression.problem.descriptor=#ref can be simplified to ''{0}'' #loc diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/SuppressionAnnotationInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/SuppressionAnnotationInspection.java index 4924c39419de..91112ab76450 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/SuppressionAnnotationInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/maturity/SuppressionAnnotationInspection.java @@ -16,6 +16,7 @@ package com.siyeh.ig.maturity; import com.intellij.codeInspection.*; +import com.intellij.codeInspection.ui.InspectionOptionsPanel; import com.intellij.codeInspection.ui.ListEditForm; import com.intellij.java.JavaBundle; import com.intellij.openapi.project.Project; @@ -43,10 +44,10 @@ public class SuppressionAnnotationInspection extends BaseInspection { @Override public JComponent createOptionsPanel() { - final ListEditForm form = new ListEditForm(JavaBundle.message("column.name.ignore.suppressions"), myAllowedSuppressions); - final JComponent panel = form.getContentPanel(); - panel.setPreferredSize(JBUI.size(150, 100)); - return panel; + final ListEditForm form = new ListEditForm(JavaBundle.message("column.name.ignore.suppressions"), JavaBundle.message("ignored.suppressions"), myAllowedSuppressions); + final JComponent contentPanel = form.getContentPanel(); + contentPanel.setMinimumSize(JBUI.size(150, 100)); + return contentPanel; } @Override diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/BooleanMethodNameMustStartWithQuestionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/BooleanMethodNameMustStartWithQuestionInspection.java index 85ebbbbc7544..e146a8722aa8 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/BooleanMethodNameMustStartWithQuestionInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/BooleanMethodNameMustStartWithQuestionInspection.java @@ -17,13 +17,13 @@ package com.siyeh.ig.naming; import com.intellij.codeInspection.ui.ListTable; import com.intellij.codeInspection.ui.ListWrappingTableModel; +import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.psi.CommonClassNames; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiType; -import com.intellij.util.ui.CheckBox; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; @@ -37,7 +37,6 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; -import java.awt.*; import java.util.ArrayList; import java.util.List; @@ -61,34 +60,16 @@ public class BooleanMethodNameMustStartWithQuestionInspection extends BaseInspec @Override public JComponent createOptionsPanel() { - final JPanel panel = new JPanel(new GridBagLayout()); + final var panel = new MultipleCheckboxOptionsPanel(this); + final ListTable table = new ListTable(new ListWrappingTableModel(questionList, InspectionGadgetsBundle .message("boolean.method.name.must.start.with.question.table.column.name"))); - final JPanel tablePanel = UiUtils.createAddRemovePanel(table); + final JPanel tablePanel = UiUtils.createAddRemovePanel(table, InspectionGadgetsBundle.message("boolean.method.name.must.start.with.question.table.label"), true); + panel.addGrowing(tablePanel); - final GridBagConstraints constraints = new GridBagConstraints(); - constraints.gridx = 0; - constraints.gridy = 0; - constraints.weightx = 1.0; - constraints.weighty = 1.0; - constraints.fill = GridBagConstraints.BOTH; - panel.add(tablePanel, constraints); - - final CheckBox checkBox1 = - new CheckBox(InspectionGadgetsBundle.message("ignore.methods.with.boolean.return.type.option"), this, "ignoreBooleanMethods"); - constraints.gridy = 1; - constraints.weighty = 0.0; - panel.add(checkBox1, constraints); - - final CheckBox checkBox2 = - new CheckBox(InspectionGadgetsBundle.message("ignore.boolean.methods.in.an.interface.option"), this, "ignoreInAnnotationInterface"); - constraints.gridy = 2; - panel.add(checkBox2, constraints); - - final CheckBox checkBox3 = - new CheckBox(InspectionGadgetsBundle.message("ignore.methods.overriding.super.method"), this, "onlyWarnOnBaseMethods"); - constraints.gridy = 3; - panel.add(checkBox3, constraints); + panel.addCheckbox(InspectionGadgetsBundle.message("ignore.methods.with.boolean.return.type.option"), "ignoreBooleanMethods"); + panel.addCheckbox(InspectionGadgetsBundle.message("ignore.boolean.methods.in.an.interface.option"), "ignoreInAnnotationInterface"); + panel.addCheckbox(InspectionGadgetsBundle.message("ignore.methods.overriding.super.method"), "onlyWarnOnBaseMethods"); return panel; } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonBooleanMethodNameMayNotStartWithQuestionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonBooleanMethodNameMayNotStartWithQuestionInspection.java index e55b716a410f..636fb40e2f2d 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonBooleanMethodNameMayNotStartWithQuestionInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/NonBooleanMethodNameMayNotStartWithQuestionInspection.java @@ -17,14 +17,13 @@ package com.siyeh.ig.naming; import com.intellij.codeInspection.ui.ListTable; import com.intellij.codeInspection.ui.ListWrappingTableModel; +import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.psi.CommonClassNames; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiType; -import com.intellij.util.ui.CheckBox; -import com.intellij.util.ui.FormBuilder; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; @@ -39,7 +38,6 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; -import java.awt.*; import java.util.ArrayList; import java.util.List; @@ -60,18 +58,15 @@ public class NonBooleanMethodNameMayNotStartWithQuestionInspection extends @Override public JComponent createOptionsPanel() { - final JPanel panel = new JPanel(new BorderLayout()); + final var panel = new MultipleCheckboxOptionsPanel(this); + final ListTable table = new ListTable(new ListWrappingTableModel(questionList, InspectionGadgetsBundle .message("boolean.method.name.must.start.with.question.table.column.name"))); - final JPanel tablePanel = UiUtils.createAddRemovePanel(table); + final JPanel tablePanel = UiUtils.createAddRemovePanel(table, InspectionGadgetsBundle.message("boolean.method.name.must.start.with.question.table.label"), true); + panel.addGrowing(tablePanel); - final CheckBox checkBox1 = - new CheckBox(InspectionGadgetsBundle.message("ignore.methods.with.boolean.return.type.option"), this, "ignoreBooleanMethods"); - final CheckBox checkBox2 = - new CheckBox(InspectionGadgetsBundle.message("ignore.methods.overriding.super.method"), this, "onlyWarnOnBaseMethods"); - - panel.add(tablePanel, BorderLayout.CENTER); - panel.add(FormBuilder.createFormBuilder().addComponent(checkBox1).addComponent(checkBox2).getPanel(), BorderLayout.SOUTH); + panel.addCheckbox(InspectionGadgetsBundle.message("ignore.methods.with.boolean.return.type.option"), "ignoreBooleanMethods"); + panel.addCheckbox(InspectionGadgetsBundle.message("ignore.methods.overriding.super.method"), "onlyWarnOnBaseMethods"); return panel; } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/QuestionableNameInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/QuestionableNameInspection.java index c521029fb9ae..21255ffd2d81 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/naming/QuestionableNameInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/naming/QuestionableNameInspection.java @@ -58,7 +58,7 @@ public class QuestionableNameInspection extends BaseInspection { public JComponent createOptionsPanel() { final ListTable table = new ListTable(new ListWrappingTableModel(nameList, InspectionGadgetsBundle.message("questionable.name.column.title"))); - return UiUtils.createAddRemovePanel(table); + return UiUtils.createAddRemovePanel(table, InspectionGadgetsBundle.message("questionable.name.list.label"), true); } @Override diff --git a/python/pluginResources/messages/PyBundle.properties b/python/pluginResources/messages/PyBundle.properties index b1db38f7b05d..069de526bbff 100644 --- a/python/pluginResources/messages/PyBundle.properties +++ b/python/pluginResources/messages/PyBundle.properties @@ -1151,7 +1151,8 @@ python.execute.cell.in.console=Execute Cell in Console python.template.select.file.type=Select File Type python.execution.is.still.running=Previous execution is still running -INSP.settings.pep8.ignore.errors=Ignore errors +INSP.settings.pep8.ignore.errors=Ignore Errors +INSP.settings.pep8.ignore.errors.label=Ignored errors: INSP.settings.bdd.behave.specific=BDD Behave-specific inspection INSP.settings.bdd.step.definition.arguments=BDD step definition arguments inspection python.compatibility.inspection.advertiser.notifications.group.title=Python compatibility inspection advertiser diff --git a/python/python-psi-impl/resources/messages/PyPsiBundle.properties b/python/python-psi-impl/resources/messages/PyPsiBundle.properties index 129a501c30e9..9ee316c07ece 100644 --- a/python/python-psi-impl/resources/messages/PyPsiBundle.properties +++ b/python/python-psi-impl/resources/messages/PyPsiBundle.properties @@ -458,6 +458,7 @@ INSP.pep8.ignore.base.class=Ignore Base Class INSP.pep8.ignore.method.names.for.descendants.of.class=Ignore method names for descendants of class INSP.stub.packages.compatibility.ignore=Ignore ''{0}'' compatibility INSP.stub.packages.compatibility.ignored.packages=Ignored stub packages +INSP.stub.packages.compatibility.ignored.packages.label=Ignored stub packages: INSP.stub.packages.compatibility.incompatible.packages.message=''{0}{1}{2}'' is incompatible with ''{3}{4}{5}''. Expected ''{6}'' version: [{7}] INSP.arguments.not.declared.but.provided.by.decorator=Following arguments are not declared but provided by decorator: {0} INSP.pep8.coding.style.violation=PEP 8 coding style violation @@ -721,6 +722,7 @@ INSP.decorators.method.only.decorator.on.method.outside.class=Decorator {0} on a # PyPackageRequirementsInspection INSP.NAME.requirements=Package requirements INSP.requirements.column.name.ignore.packages=Ignore Packages +INSP.requirements.ignore.packages.label=Ignored packages: INSP.requirements.package.requirements.not.satisfied=Package {1,choice,1#requirement|2#requirements} {0} {1,choice,1#is|2#are} not satisfied INSP.requirements.package.containing.module.not.listed.in.project.requirements=Package containing module ''{0}'' is not listed in the project requirements QFIX.NAME.install.requirements=Install {0,choice,1#requirement|2#requirements} @@ -826,6 +828,7 @@ INSP.unresolved.refs.class.object.has.no.attribute=''{0}'' object has no attribu INSP.unresolved.refs.import.resolves.to.its.containing.file=Import resolves to its containing file INSP.unresolved.refs.class.does.not.define.operator=Class ''{0}'' does not define ''{1}'', so the ''{2}'' operator cannot be used on its instances INSP.unresolved.refs.column.name.ignore.references=Ignore References +INSP.unresolved.refs.ignore.references.label=Ignored references: unresolved.docstring.param.reference=Function ''{0}'' does not have a parameter ''{1}'' unresolved.import.reference=No module named ''{0}'' @@ -968,6 +971,7 @@ INSP.protocol.element.type.incompatible.with.protocol=Type of ''{0}'' is incompa INSP.NAME.shadowing.builtins=Shadowing built-ins INSP.shadowing.builtins.shadows.built.in.name=Shadows built-in name ''{0}'' INSP.shadowing.builtins.column.name.ignore.built.ins=Ignore Built-Ins +INSP.shadowing.builtins.ignore.built.ins.label=Ignored built-ins: QFIX.NAME.ignore.shadowed.built.in.name=Ignore shadowed built-in name QFIX.ignore.shadowed.built.in.name=Ignore shadowed built-in name "{0}" diff --git a/python/python-psi-impl/src/com/jetbrains/python/PythonUiService.java b/python/python-psi-impl/src/com/jetbrains/python/PythonUiService.java index c09d736c58ca..78935a970d2f 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/PythonUiService.java +++ b/python/python-psi-impl/src/com/jetbrains/python/PythonUiService.java @@ -113,6 +113,10 @@ public class PythonUiService { return null; } + public JComponent createListEditForm(@ColumnName String title, @NlsContexts.Label String label, List stringList) { + return null; + } + public JComponent onePixelSplitter(boolean b, JComponent first, JComponent second) { return null; } diff --git a/python/python-psi-impl/src/com/jetbrains/python/inspections/PyShadowingBuiltinsInspection.java b/python/python-psi-impl/src/com/jetbrains/python/inspections/PyShadowingBuiltinsInspection.java index ad9fc833a6bc..908ff221cc55 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/inspections/PyShadowingBuiltinsInspection.java +++ b/python/python-psi-impl/src/com/jetbrains/python/inspections/PyShadowingBuiltinsInspection.java @@ -62,7 +62,7 @@ public class PyShadowingBuiltinsInspection extends PyInspection { @Override public JComponent createOptionsPanel() { - return PythonUiService.getInstance().createListEditForm(PyPsiBundle.message("INSP.shadowing.builtins.column.name.ignore.built.ins"), ignoredNames); + return PythonUiService.getInstance().createListEditForm(PyPsiBundle.message("INSP.shadowing.builtins.column.name.ignore.built.ins"), PyPsiBundle.message("INSP.shadowing.builtins.ignore.built.ins.label"), ignoredNames); } @NotNull diff --git a/python/python-rest/resources/messages/PythonRestBundle.properties b/python/python-rest/resources/messages/PythonRestBundle.properties index 625851f04cbc..e9888e3cd029 100644 --- a/python/python-rest/resources/messages/PythonRestBundle.properties +++ b/python/python-rest/resources/messages/PythonRestBundle.properties @@ -3,6 +3,7 @@ python.rest.specify.output.directory.name=Please specify an output directory nam python.rest.no.sdk.specified=No sdk specified python.rest.specify.input.file.name=Please specify an input file name. python.rest.inspections.role.ignore.roles=Ignore Roles +python.rest.inspections.role.ignore.roles.label=Ignored roles: python.rest.inspection.message.not.defined.role=Not defined role ''{0}'' python.rest.docutils.run.cfg.default.name=Docutils Task in {0} python.rest.sphinx.run.cfg.default.name=Sphinx Task in {0} diff --git a/python/python-rest/src/com/jetbrains/rest/inspections/RestRoleInspection.java b/python/python-rest/src/com/jetbrains/rest/inspections/RestRoleInspection.java index cd2057339732..5f60837ebd95 100644 --- a/python/python-rest/src/com/jetbrains/rest/inspections/RestRoleInspection.java +++ b/python/python-rest/src/com/jetbrains/rest/inspections/RestRoleInspection.java @@ -145,7 +145,7 @@ public class RestRoleInspection extends RestInspection { @Override public JComponent createOptionsPanel() { - ListEditForm form = new ListEditForm(PythonRestBundle.message("python.rest.inspections.role.ignore.roles"), ignoredRoles); + ListEditForm form = new ListEditForm(PythonRestBundle.message("python.rest.inspections.role.ignore.roles"), PythonRestBundle.message("python.rest.inspections.role.ignore.roles.label"), ignoredRoles); return form.getContentPanel(); } } diff --git a/python/src/com/jetbrains/python/PythonUiServiceImpl.java b/python/src/com/jetbrains/python/PythonUiServiceImpl.java index c7f8dc2990e0..22e888d79f20 100644 --- a/python/src/com/jetbrains/python/PythonUiServiceImpl.java +++ b/python/src/com/jetbrains/python/PythonUiServiceImpl.java @@ -250,6 +250,12 @@ public final class PythonUiServiceImpl extends PythonUiService { return form.getContentPanel(); } + @Override + public JComponent createListEditForm(@NlsContexts.ColumnName String title, @NlsContexts.Label String label, List stringList) { + final ListEditForm form = new ListEditForm(title, label, stringList); + return form.getContentPanel(); + } + @Override @NotNull public JComponent createComboBoxWithLabel(@NotNull @NlsContexts.Label String label, diff --git a/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesAdvertiser.kt b/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesAdvertiser.kt index cc5539b7f61f..0343579de848 100644 --- a/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesAdvertiser.kt +++ b/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesAdvertiser.kt @@ -59,6 +59,7 @@ private class PyStubPackagesAdvertiser : PyInspection() { var ignoredPackages: MutableList = mutableListOf() override fun createOptionsPanel(): JComponent = ListEditForm(PyPsiBundle.message("INSP.stub.packages.compatibility.ignored.packages"), + PyPsiBundle.message("INSP.stub.packages.compatibility.ignored.packages.label"), ignoredPackages).contentPanel override fun buildVisitor(holder: ProblemsHolder, diff --git a/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesCompatibilityInspection.kt b/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesCompatibilityInspection.kt index acf56cb83f45..41baab351841 100644 --- a/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesCompatibilityInspection.kt +++ b/python/src/com/jetbrains/python/codeInsight/typing/PyStubPackagesCompatibilityInspection.kt @@ -52,6 +52,7 @@ class PyStubPackagesCompatibilityInspection : PyInspection() { var ignoredStubPackages: MutableList = mutableListOf() override fun createOptionsPanel(): JComponent = ListEditForm(PyPsiBundle.message("INSP.stub.packages.compatibility.ignored.packages"), + PyPsiBundle.message("INSP.stub.packages.compatibility.ignored.packages.label"), ignoredStubPackages).contentPanel override fun buildVisitor(holder: ProblemsHolder, diff --git a/python/src/com/jetbrains/python/inspections/PyPackageRequirementsInspection.java b/python/src/com/jetbrains/python/inspections/PyPackageRequirementsInspection.java index 3463c5d709bd..12bd3e38e6d1 100644 --- a/python/src/com/jetbrains/python/inspections/PyPackageRequirementsInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyPackageRequirementsInspection.java @@ -63,7 +63,7 @@ public class PyPackageRequirementsInspection extends PyInspection { @Override public JComponent createOptionsPanel() { - final ListEditForm form = new ListEditForm(PyPsiBundle.message("INSP.requirements.column.name.ignore.packages"), ignoredPackages); + final ListEditForm form = new ListEditForm(PyPsiBundle.message("INSP.requirements.column.name.ignore.packages"), PyPsiBundle.message("INSP.requirements.ignore.packages.label"), ignoredPackages); return form.getContentPanel(); } diff --git a/python/src/com/jetbrains/python/inspections/PyPep8Inspection.java b/python/src/com/jetbrains/python/inspections/PyPep8Inspection.java index 8545ed52c87b..302d7c315d50 100644 --- a/python/src/com/jetbrains/python/inspections/PyPep8Inspection.java +++ b/python/src/com/jetbrains/python/inspections/PyPep8Inspection.java @@ -36,7 +36,7 @@ public class PyPep8Inspection extends PyInspection implements ExternalAnnotatorB @Override public JComponent createOptionsPanel() { - ListEditForm form = new ListEditForm(PyBundle.message("INSP.settings.pep8.ignore.errors"), ignoredErrors); + ListEditForm form = new ListEditForm(PyBundle.message("INSP.settings.pep8.ignore.errors"), PyBundle.message("INSP.settings.pep8.ignore.errors.label"), ignoredErrors); return form.getContentPanel(); } diff --git a/python/src/com/jetbrains/python/inspections/unresolvedReference/PyUnresolvedReferencesInspection.java b/python/src/com/jetbrains/python/inspections/unresolvedReference/PyUnresolvedReferencesInspection.java index e58d7d858a38..e87e60194067 100644 --- a/python/src/com/jetbrains/python/inspections/unresolvedReference/PyUnresolvedReferencesInspection.java +++ b/python/src/com/jetbrains/python/inspections/unresolvedReference/PyUnresolvedReferencesInspection.java @@ -69,6 +69,7 @@ public class PyUnresolvedReferencesInspection extends PyUnresolvedReferencesInsp @Override public JComponent createOptionsPanel() { final ListEditForm form = new ListEditForm(PyPsiBundle.message("INSP.unresolved.refs.column.name.ignore.references"), + PyPsiBundle.message("INSP.unresolved.refs.ignore.references.label"), ignoredIdentifiers); return form.getContentPanel(); }