aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/laria/code/idea_caseconv/settings/Configurable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/laria/code/idea_caseconv/settings/Configurable.java')
-rw-r--r--src/main/java/me/laria/code/idea_caseconv/settings/Configurable.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/me/laria/code/idea_caseconv/settings/Configurable.java b/src/main/java/me/laria/code/idea_caseconv/settings/Configurable.java
new file mode 100644
index 0000000..056afd7
--- /dev/null
+++ b/src/main/java/me/laria/code/idea_caseconv/settings/Configurable.java
@@ -0,0 +1,44 @@
+package me.laria.code.idea_caseconv.settings;
+
+import com.intellij.openapi.options.ConfigurationException;
+import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.Nullable;
+
+import javax.swing.*;
+
+public class Configurable implements com.intellij.openapi.options.Configurable {
+ private SettingsComponent settingsComponent = null;
+
+ @Nls(capitalization = Nls.Capitalization.Sentence)
+ @Override
+ public String getDisplayName() {
+ return "Case conversion";
+ }
+
+ @Nullable
+ @Override
+ public JComponent createComponent() {
+ settingsComponent = new SettingsComponent();
+ return settingsComponent.getPanel();
+ }
+
+ @Override
+ public void disposeUIResources() {
+ settingsComponent = null;
+ }
+
+ @Override
+ public boolean isModified() {
+ return Settings.getInstance().newlineMode != settingsComponent.getNewlineMode();
+ }
+
+ @Override
+ public void apply() throws ConfigurationException {
+ Settings.getInstance().newlineMode = settingsComponent.getNewlineMode();
+ }
+
+ @Override
+ public void reset() {
+ settingsComponent.setNewlineMode(Settings.getInstance().newlineMode);
+ }
+}