From 5d98c0d1b0ee2c5c75e150436a4c58309b21290e Mon Sep 17 00:00:00 2001 From: makejava <1353036300@qq.com> Date: Fri, 27 Jul 2018 22:30:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=85=8D=E7=BD=AE=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sjhy/plugin/tool/ConfigInfo.java | 2 +- .../java/com/sjhy/plugin/ui/MainSetting.form | 19 +++++-- .../java/com/sjhy/plugin/ui/MainSetting.java | 53 +++++++++++++++++++ src/main/resources/string.properties | 1 + 4 files changed, 71 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/sjhy/plugin/tool/ConfigInfo.java b/src/main/java/com/sjhy/plugin/tool/ConfigInfo.java index 883c8772..38400317 100644 --- a/src/main/java/com/sjhy/plugin/tool/ConfigInfo.java +++ b/src/main/java/com/sjhy/plugin/tool/ConfigInfo.java @@ -95,7 +95,7 @@ public ConfigInfo() { /** * 初始化默认设置 */ - private void initDefault() { + public void initDefault() { // 版本号 this.version = "1.1.0"; // 默认编码 diff --git a/src/main/java/com/sjhy/plugin/ui/MainSetting.form b/src/main/java/com/sjhy/plugin/ui/MainSetting.form index 473a7a2f..c887a1a9 100644 --- a/src/main/java/com/sjhy/plugin/ui/MainSetting.form +++ b/src/main/java/com/sjhy/plugin/ui/MainSetting.form @@ -1,6 +1,6 @@
- + @@ -44,12 +44,12 @@ - + - + @@ -57,6 +57,19 @@ + + + + + + + + + + + + + diff --git a/src/main/java/com/sjhy/plugin/ui/MainSetting.java b/src/main/java/com/sjhy/plugin/ui/MainSetting.java index 463b410f..30ae6b9b 100644 --- a/src/main/java/com/sjhy/plugin/ui/MainSetting.java +++ b/src/main/java/com/sjhy/plugin/ui/MainSetting.java @@ -1,13 +1,18 @@ package com.sjhy.plugin.ui; import com.intellij.openapi.options.Configurable; +import com.intellij.openapi.options.ConfigurationException; +import com.intellij.openapi.options.UnnamedConfigurable; import com.sjhy.plugin.comm.AbstractService; +import com.sjhy.plugin.tool.CollectionUtil; import com.sjhy.plugin.tool.ConfigInfo; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.util.ArrayList; +import java.util.List; /** * 主设置面板 @@ -29,12 +34,51 @@ public class MainSetting extends AbstractService implements Configurable, Config * 作者编辑框 */ private JTextField authorTextField; + /** + * 重置默认设置按钮 + */ + private JButton resetBtn; + + /** + * 重置列表 + */ + private List resetList; + + /** + * 需要保存的列表 + */ + private List saveList; /** * 默认构造方法 */ public MainSetting() { init(); + + //初始化事件 + ConfigInfo configInfo = ConfigInfo.getInstance(); + //重置配置信息 + resetBtn.addActionListener(e -> { + int result = JOptionPane.showConfirmDialog(null, "确认重置默认配置?\n重置默认配置只会还原插件自带分组配置信息,不会删除用户新增分组信息。", "Title Info", JOptionPane.OK_CANCEL_OPTION); + if (JOptionPane.YES_OPTION == result) { + if (CollectionUtil.isEmpty(resetList)) { + return; + } + // 初始化默认配置 + configInfo.initDefault(); + resetList.forEach(UnnamedConfigurable::reset); + if (CollectionUtil.isEmpty(saveList)) { + return; + } + saveList.forEach(configurable -> { + try { + configurable.apply(); + } catch (ConfigurationException e1) { + e1.printStackTrace(); + } + }); + } + }); } /** @@ -70,6 +114,15 @@ public Configurable[] getConfigurables() { result[1] = new TemplateSettingPanel(); result[2] = new TableSettingPanel(); result[3] = new GlobalConfigSettingPanel(); + // 需要重置的列表 + resetList = new ArrayList<>(); + resetList.add(result[0]); + resetList.add(result[1]); + resetList.add(result[3]); + // 不需要重置的列表 + saveList = new ArrayList<>(); + saveList.add(this); + saveList.add(result[2]); return result; } diff --git a/src/main/resources/string.properties b/src/main/resources/string.properties index 028fc7d7..4646362a 100644 --- a/src/main/resources/string.properties +++ b/src/main/resources/string.properties @@ -1,3 +1,4 @@ +button.reset=\u91CD\u7F6E\u9ED8\u8BA4\u8BBE\u7F6E button.type.mapper.copy.group=Copy Group label.all=&All label.author.name=&\u4F5C\u8005\u540D\u79F0\uFF1A