diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsComponent.java b/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsComponent.java index 3a8f6dd..3f1371b 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsComponent.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsComponent.java @@ -25,8 +25,16 @@ public abstract class AbstractSettingsComponent { private final JBTextArea projectDoc = new JBTextArea(); @NotNull - protected JPanel commonLineEndFilter(FormBuilder formBuilder) { - formBuilder = formBuilder + protected JPanel commonPanel() { + return FormBuilder.createFormBuilder() + .addComponent(lineEndPanel(), 1) + .addComponent(treePanel(), 1) + .getPanel(); + } + + @NotNull + protected JPanel lineEndPanel() { + FormBuilder builder = FormBuilder.createFormBuilder() .addComponent(new JBLabel(ShowBundle.message("regexp.tip"))) .addSeparator() .addLabeledComponent(new JBLabel(ShowBundle.message("sign.include.regexp")), lineInclude, 1, true) @@ -35,16 +43,19 @@ public abstract class AbstractSettingsComponent { .addLabeledComponent(new JBLabel(ShowBundle.message("comment.include.regexp")), docInclude, 1, true) .addLabeledComponent(new JBLabel(ShowBundle.message("comment.exclude.regexp")), docExclude, 1, true) .addSeparator(); - formBuilder = add(formBuilder, docGetEffect, docGet, ShowBundle.message("get.doc.regexp")); - formBuilder = add(formBuilder, projectDocEffect, projectDoc, ShowBundle.message("project.doc.regexp")); - JPanel lineEndFilter = formBuilder.getPanel(); - lineEndFilter.setBorder(IdeBorderFactory.createTitledBorder(ShowBundle.message("line.end.comment"))); - return lineEndFilter; + JPanel label = JPanelFactory.of(docGetEffect, new JBLabel(ShowBundle.message("get.doc.regexp"))); + JPanel panel = builder + .addLabeledComponent(label, docGet, 1, true).getPanel(); + panel.setBorder(IdeBorderFactory.createTitledBorder(ShowBundle.message("line.end.comment"))); + return panel; } - protected FormBuilder add(@NotNull FormBuilder formBuilder, JBCheckBox jbCheckBox, - @NotNull JTextComponent jTextComponent, @NotNull String tip) { - return formBuilder.addLabeledComponent(JPanelFactory.of(jbCheckBox, new JBLabel(tip)), jTextComponent, 1, true); + private JPanel treePanel() { + JPanel label = JPanelFactory.of(projectDocEffect, new JBLabel(ShowBundle.message("project.doc.regexp"))); + JPanel panel = FormBuilder.createFormBuilder() + .addLabeledComponent(label, projectDoc, 1, true).getPanel(); + panel.setBorder(IdeBorderFactory.createTitledBorder(ShowBundle.message("tree.comment"))); + return panel; } @NotNull diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/GlobalSettingsComponent.java b/src/main/java/io/github/linwancen/plugin/show/settings/GlobalSettingsComponent.java index 581a8ca..1c5c3d6 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/GlobalSettingsComponent.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/GlobalSettingsComponent.java @@ -13,18 +13,11 @@ public class GlobalSettingsComponent extends AbstractSettingsComponent { resetDefault.addActionListener(e -> GlobalSettingsConfigurable.reset(GlobalSettingsState.DEFAULT_SETTING, this)); myMainPanel = FormBuilder.createFormBuilder() .addComponent(JPanelFactory.of(resetDefault), 1) - .addComponent(lineEndFilterPanel(), 1) + .addComponent(commonPanel(), 1) .addComponentFillVertically(new JPanel(), 0) .getPanel(); } - @NotNull - protected JPanel lineEndFilterPanel() { - FormBuilder formBuilder = FormBuilder.createFormBuilder() - .addSeparator(); - return commonLineEndFilter(formBuilder); - } - public JPanel getPanel() { return myMainPanel; } diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/ProjectSettingsComponent.java b/src/main/java/io/github/linwancen/plugin/show/settings/ProjectSettingsComponent.java index 768daf0..1b76442 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/ProjectSettingsComponent.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/ProjectSettingsComponent.java @@ -17,18 +17,11 @@ public class ProjectSettingsComponent extends AbstractSettingsComponent { resetDefault.addActionListener(e -> ProjectSettingsConfigurable.reset(ProjectSettingsState.DEFAULT_SETTING, this)); myMainPanel = FormBuilder.createFormBuilder() .addComponent(JPanelFactory.of(resetDefault, globalFilterEffective, projectFilterEffective), 1) - .addComponent(lineEndFilterPanel(), 1) + .addComponent(commonPanel(), 1) .addComponentFillVertically(new JPanel(), 0) .getPanel(); } - @NotNull - protected JPanel lineEndFilterPanel() { - FormBuilder formBuilder = FormBuilder.createFormBuilder() - .addSeparator(); - return commonLineEndFilter(formBuilder); - } - public JPanel getPanel() { return myMainPanel; } diff --git a/src/main/resources/messages/ShowCommentBundle.properties b/src/main/resources/messages/ShowCommentBundle.properties index 2c3b69b..f603a51 100644 --- a/src/main/resources/messages/ShowCommentBundle.properties +++ b/src/main/resources/messages/ShowCommentBundle.properties @@ -20,6 +20,7 @@ text.color.json=json text color: prefix=prefix: line.end.comment=Line End Comment +tree.comment=Tree Comment regexp.tip=Separated by '|' (Regexp), use '' to include all or exclude none. sign.include.regexp=className#memberName include Regexp: sign.exclude.regexp=className#memberName exclude Regexp: diff --git a/src/main/resources/messages/ShowCommentBundle_zh.properties b/src/main/resources/messages/ShowCommentBundle_zh.properties index dd285a5..eaba062 100644 --- a/src/main/resources/messages/ShowCommentBundle_zh.properties +++ b/src/main/resources/messages/ShowCommentBundle_zh.properties @@ -20,6 +20,7 @@ text.color.json=json \u6587\u672C\u989C\u8272\uFF1A prefix=\u524D\u7F00\uFF1A line.end.comment=\u884C\u672B\u6CE8\u91CA +tree.comment=\u6811\u6CE8\u91CA regexp.tip=| \u5206\u9694 (\u6B63\u5219), \u7A7A\u5B57\u7B26\u4E32\u4EE3\u8868\u5305\u62EC\u6240\u6709\u6216\u4E0D\u6392\u9664 sign.include.regexp=\u7C7B#\u65B9\u6CD5 \u5305\u542B \u6B63\u5219\uFF1A sign.exclude.regexp=\u7C7B#\u65B9\u6CD5 \u6392\u9664 \u6B63\u5219\uFF1A