Skip to content

Commit 52b2dfa

Browse files
author
dengzi
committed
fix configuration problem
1 parent cb3b1bb commit 52b2dfa

3 files changed

Lines changed: 30 additions & 11 deletions

File tree

resources/META-INF/plugin.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
<depends>org.jetbrains.kotlin</depends>
2424

2525
<extensions defaultExtensionNs="com.intellij">
26-
<applicationService serviceImplementation="com.dengzii.plugin.template.ModuleTemplateConfigProvider"/>
26+
<applicationService serviceImplementation="com.dengzii.plugin.template.ModuleTemplateConfigProvider"/>
2727
<fileTemplateGroup implementation="com.dengzii.plugin.template.template.FileTemplateFactory" order="first"/>
2828
<internalFileTemplate name="AndroidManifest" id="com.dengzii.plugin.template.ft.manifest"/>
29-
<projectConfigurable groupId="tools" displayName="Template Module Generator"
29+
<applicationConfigurable groupId="tools" displayName="Template Module Generator"
3030
id="preferences.ModuleTemplateConfig"
3131
instance="com.dengzii.plugin.template.ui.ConfigurePanel"/>
3232
</extensions>

src/com/dengzii/plugin/template/ModuleTemplateConfigProvider.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.intellij.openapi.components.PersistentStateComponent
66
import com.intellij.openapi.components.ServiceManager
77
import com.intellij.openapi.components.State
88
import com.intellij.openapi.components.Storage
9+
import com.intellij.util.xmlb.XmlSerializerUtil
910

1011
/**
1112
* <pre>
@@ -18,25 +19,25 @@ import com.intellij.openapi.components.Storage
1819
*/
1920
@State(
2021
name = "ModuleTemplateConfig",
21-
storages = [Storage("ModuleTemplateConfig.xml")]
22+
storages = [Storage("ModuleTemplateConfig3.xml")]
2223
)
23-
class ModuleTemplateConfigProvider : PersistentStateComponent<MutableList<Module>> {
24+
class ModuleTemplateConfigProvider : PersistentStateComponent<ModuleTemplateConfigProvider> {
2425

25-
var moduleConfig = mutableListOf<Module>()
26+
var moduleConfig = Config.loadModuleTemplates()
2627

2728
companion object {
2829
fun getService(): ModuleTemplateConfigProvider {
2930
return ServiceManager.getService(ModuleTemplateConfigProvider::class.java)
3031
}
3132
}
3233

33-
override fun getState(): MutableList<Module>? {
34+
override fun getState(): ModuleTemplateConfigProvider? {
3435
Logger.i(ModuleTemplateConfigProvider::class.java.simpleName, "getState")
35-
return moduleConfig.toMutableList()
36+
return this
3637
}
3738

38-
override fun loadState(p0: MutableList<Module>) {
39+
override fun loadState(p0: ModuleTemplateConfigProvider) {
3940
Logger.i(ModuleTemplateConfigProvider::class.java.simpleName, "loadState")
40-
moduleConfig = p0
41+
XmlSerializerUtil.copyBean(p0, this)
4142
}
4243
}

src/com/dengzii/plugin/template/ui/ConfigurePanel.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.dengzii.plugin.template.ui;
22

3+
import com.dengzii.plugin.template.Config;
34
import com.dengzii.plugin.template.ModuleTemplateConfigProvider;
45
import com.dengzii.plugin.template.model.Module;
56
import com.intellij.icons.AllIcons;
@@ -12,6 +13,8 @@
1213

1314
import javax.swing.*;
1415
import java.awt.*;
16+
import java.awt.event.InputMethodEvent;
17+
import java.awt.event.InputMethodListener;
1518
import java.util.List;
1619

1720
/**
@@ -49,7 +52,8 @@ private ConfigurePanel() {
4952

5053
@Override
5154
public void apply() {
52-
// Config.INSTANCE.saveModuleTemplates(configs);
55+
System.out.println("ConfigurePanel.apply");
56+
ModuleTemplateConfigProvider.Companion.getService().setModuleConfig(configs);
5357
}
5458

5559
@NotNull
@@ -66,7 +70,7 @@ public JComponent createComponent() {
6670

6771
@Override
6872
public boolean isModified() {
69-
return false;
73+
return true;//currentConfig != null && !tfName.getText().equals(currentConfig.getTemplateName());
7074
}
7175

7276
@Nls(capitalization = Nls.Capitalization.Title)
@@ -94,6 +98,8 @@ private void onCopy() {
9498

9599
private void loadConfig() {
96100
configs = ModuleTemplateConfigProvider.Companion.getService().getModuleConfig();
101+
configs = Config.INSTANCE.loadModuleTemplates();
102+
configs.get(0).setTemplateName("Tempalate 1" + "A");
97103
model = new DefaultListModel<>();
98104
configs.forEach(module -> {
99105
model.addElement(module.getTemplateName());
@@ -114,6 +120,18 @@ private void initPanel() {
114120
currentConfig = configs.get(listTemplate.getSelectedIndex());
115121
tfName.setText(currentConfig.getTemplateName());
116122
});
123+
tfName.addInputMethodListener(new InputMethodListener() {
124+
@Override
125+
public void inputMethodTextChanged(InputMethodEvent event) {
126+
if (currentConfig != null)
127+
currentConfig.setTemplateName(tfName.getText());
128+
}
129+
130+
@Override
131+
public void caretPositionChanged(InputMethodEvent event) {
132+
133+
}
134+
});
117135
loadConfig();
118136
}
119137

0 commit comments

Comments
 (0)