From 4583a12b3ed945156c689321dce3ab165fbe5a41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Tue, 3 Dec 2024 07:30:04 +0800 Subject: [PATCH] refactor(Setting): Separate skip setting and Java setting --- .../show/settings/AbstractSettingsState.java | 1 + .../show/settings/AppSettingsComponent.java | 59 ++++++++++--------- .../settings/AppSettingsConfigurable.java | 21 ++++--- .../show/settings/AppSettingsState.java | 6 +- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java b/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java index 2e0a841..bd6ce50 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java @@ -102,6 +102,7 @@ public abstract class AbstractSettingsState { } + @NotNull public String getAnnoDoc() { return Arrays.stream(annoDoc) .map(a -> String.join("#", a)) diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java index 459fd6b..d8a13ac 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java @@ -18,7 +18,6 @@ public class AppSettingsComponent { private final JBCheckBox showTreeComment = new JBCheckBox(ShowBundle.message("show.tree.comment")); private final JBCheckBox compact = new JBCheckBox(ShowBundle.message("compact")); private final JBCheckBox treeCache = new JBCheckBox(ShowBundle.message("tree.cache")); - private final JBTextField treeTags = new JBTextField(); private final JBCheckBox showLineEndComment = new JBCheckBox(ShowBundle.message("show.line.end.comment")); private final JBCheckBox lineEndCache = new JBCheckBox(ShowBundle.message("line.end.cache")); private final JBCheckBox showLineEndCommentJava = new JBCheckBox(" Java "); @@ -44,14 +43,15 @@ public class AppSettingsComponent { private final JBCheckBox showLineEndCommentSql = new JBCheckBox(" SQL "); private final JBCheckBox showLineEndCommentJson = new JBCheckBox(" JSON "); private final JBCheckBox showLineEndCommentYaml = new JBCheckBox(" YAML "); + private final JBTextField treeTags = new JBTextField(); private final JBTextField lineTags = new JBTextField(); + private final JBCheckBox skipAscii = new JBCheckBox(ShowBundle.message("skip.english")); + private final JBCheckBox skipBlank = new JBCheckBox(ShowBundle.message("skip.blank")); + private final JBCheckBox skipAnnotation = new JBCheckBox(ShowBundle.message("skip.anno")); private final JBCheckBox getToSet = new JBCheckBox("get --> set "); private final JBCheckBox fromNew = new JBCheckBox("java new "); private final JBCheckBox fromParam = new JBCheckBox("java @param "); private final JBCheckBox enumDoc = new JBCheckBox("java enum "); - private final JBCheckBox skipAnnotation = new JBCheckBox(ShowBundle.message("skip.anno")); - private final JBCheckBox skipAscii = new JBCheckBox(ShowBundle.message("skip.english")); - private final JBCheckBox skipBlank = new JBCheckBox(ShowBundle.message("skip.blank")); private final ColorPanel lineEndColor = new ColorPanel(); private final ColorPanel lineEndJsonColor = new ColorPanel(); private final JBTextField lineEndPrefix = new JBTextField(); @@ -118,7 +118,8 @@ public class AppSettingsComponent { new JBLabel(ShowBundle.message("prefix")), lineEndPrefix); FormBuilder formBuilder = FormBuilder.createFormBuilder() .addSeparator() - .addComponent(JPanelFactory.of(fromNew, fromParam, enumDoc, getToSet, skipAnnotation, skipAscii, skipBlank), 1) + .addComponent(JPanelFactory.of(skipAscii, skipBlank, skipAnnotation, getToSet), 1) + .addComponent(JPanelFactory.of(fromNew, fromParam, enumDoc), 1) .addSeparator() .addComponent(text) .addSeparator(); @@ -380,6 +381,30 @@ public class AppSettingsComponent { lineTags.setText(newText); } + public boolean getSkipAscii() { + return skipAscii.isSelected(); + } + + public void setSkipAscii(boolean newStatus) { + skipAscii.setSelected(newStatus); + } + + public boolean getSkipBlank() { + return skipBlank.isSelected(); + } + + public void setSkipBlank(boolean newStatus) { + skipBlank.setSelected(newStatus); + } + + public boolean getSkipAnnotation() { + return skipAnnotation.isSelected(); + } + + public void setSkipAnnotation(boolean newStatus) { + skipAnnotation.setSelected(newStatus); + } + public boolean getGetToSet() { return getToSet.isSelected(); } @@ -412,30 +437,6 @@ public class AppSettingsComponent { enumDoc.setSelected(newStatus); } - public boolean getSkipAnnotation() { - return skipAnnotation.isSelected(); - } - - public void setSkipAnnotation(boolean newStatus) { - skipAnnotation.setSelected(newStatus); - } - - public boolean getSkipAscii() { - return skipAscii.isSelected(); - } - - public void setSkipAscii(boolean newStatus) { - skipAscii.setSelected(newStatus); - } - - public boolean getSkipBlank() { - return skipBlank.isSelected(); - } - - public void setSkipBlank(boolean newStatus) { - skipBlank.setSelected(newStatus); - } - @Nullable public Color getLineEndColor() { return lineEndColor.getSelectedColor(); diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java index d1fec35..5b3cc77 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java @@ -72,13 +72,14 @@ public class AppSettingsConfigurable implements Configurable { modified |= !settings.lineEndJsonTextAttr.getForegroundColor().equals(mySettingsComponent.getLineEndJsonColor()); modified |= !mySettingsComponent.getLineEndPrefix().equals(settings.lineEndPrefix); + modified |= mySettingsComponent.getSkipAscii() != settings.skipAscii; + modified |= mySettingsComponent.getSkipBlank() != settings.skipBlank; + modified |= mySettingsComponent.getSkipAnnotation() != settings.skipAnnotation; modified |= mySettingsComponent.getGetToSet() != settings.getToSet; + modified |= mySettingsComponent.getFromNew() != settings.fromNew; modified |= mySettingsComponent.getFromParam() != settings.fromParam; modified |= mySettingsComponent.getEnumDoc() != settings.enumDoc; - modified |= mySettingsComponent.getSkipAnnotation() != settings.skipAnnotation; - modified |= mySettingsComponent.getSkipAscii() != settings.skipAscii; - modified |= mySettingsComponent.getSkipBlank() != settings.skipBlank; return modified; } @@ -122,13 +123,14 @@ public class AppSettingsConfigurable implements Configurable { settings.lineEndJsonTextAttr.setForegroundColor(mySettingsComponent.getLineEndJsonColor()); settings.lineEndPrefix = mySettingsComponent.getLineEndPrefix(); + settings.skipAscii = mySettingsComponent.getSkipAscii(); + settings.skipBlank = mySettingsComponent.getSkipBlank(); + settings.skipAnnotation = mySettingsComponent.getSkipAnnotation(); settings.getToSet = mySettingsComponent.getGetToSet(); + settings.fromNew = mySettingsComponent.getFromNew(); settings.fromParam = mySettingsComponent.getFromParam(); settings.enumDoc = mySettingsComponent.getEnumDoc(); - settings.skipAnnotation = mySettingsComponent.getSkipAnnotation(); - settings.skipAscii = mySettingsComponent.getSkipAscii(); - settings.skipBlank = mySettingsComponent.getSkipBlank(); } @Override @@ -175,13 +177,14 @@ public class AppSettingsConfigurable implements Configurable { mySettingsComponent.setLineEndJsonColor(settings.lineEndJsonTextAttr.getForegroundColor()); mySettingsComponent.setLineEndPrefix(settings.lineEndPrefix); + mySettingsComponent.setSkipAscii(settings.skipAscii); + mySettingsComponent.setSkipBlank(settings.skipBlank); + mySettingsComponent.setSkipAnnotation(settings.skipAnnotation); mySettingsComponent.setGetToSet(settings.getToSet); + mySettingsComponent.setFromNew(settings.fromNew); mySettingsComponent.setFromParam(settings.fromParam); mySettingsComponent.setEnumDoc(settings.enumDoc); - mySettingsComponent.setSkipAnnotation(settings.skipAnnotation); - mySettingsComponent.setSkipAscii(settings.skipAscii); - mySettingsComponent.setSkipBlank(settings.skipBlank); } @Override diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java index 7fb10df..fbec79e 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java @@ -66,13 +66,13 @@ public class AppSettingsState implements PersistentStateComponent