Skip to content

Commit 1424c7c

Browse files
committed
add generate model checkbox state save
1 parent 4a12c27 commit 1424c7c

File tree

6 files changed

+39
-26
lines changed

6 files changed

+39
-26
lines changed

build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
buildscript {
2-
ext.kotlin_version = '1.2.61'
2+
ext.kotlin_version = '1.2.60'
33

44
repositories {
55
mavenCentral()
@@ -49,10 +49,10 @@ compileTestKotlin {
4949

5050

5151
intellij {
52-
version '2018.2'
53-
plugins 'org.jetbrains.kotlin:1.2.61-release-IJ2018.2-1' //here
54-
// version '2018.1'
55-
// plugins 'org.jetbrains.kotlin:1.2.61-release-IJ2018.1-1' //here
52+
// version '2018.2'
53+
// plugins 'org.jetbrains.kotlin:1.2.61-release-IJ2018.2-1' //here
54+
version '2018.1'
55+
plugins 'org.jetbrains.kotlin:1.2.60-release-IJ2018.1-1' //here
5656
// version '2017.3'
5757
// plugins 'org.jetbrains.kotlin:1.2.61-release-IJ2017.3-1' //here
5858
}

src/main/java/com/longforus/mvpautocodeplus/ui/EnterKeywordDialog.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,13 @@ public void windowClosing(WindowEvent e) {
8484
}
8585
if (mGlobalRadioButton.isSelected()) {
8686
mState = PropertiesComponent.getInstance();
87-
PropertiesComponent.getInstance(mProject).setValue(ConsKt.USE_PROJECT_CONFIG, false);
87+
PropertiesComponent instance = PropertiesComponent.getInstance(mProject);
88+
instance.setValue(ConsKt.USE_PROJECT_CONFIG, false);
89+
instance.setValue(ConsKt.GENERATE_MODEL_CONFIG, mcbModel.isSelected());
8890
} else {
8991
mState = PropertiesComponent.getInstance(mProject);
9092
mState.setValue(ConsKt.USE_PROJECT_CONFIG, true);
93+
mState.setValue(ConsKt.GENERATE_MODEL_CONFIG, mcbModel.isSelected());
9194
}
9295
setSavedSuperClass(this, mState);
9396
});
@@ -110,6 +113,8 @@ public static EnterKeywordDialog getDialog(Project project, OnOkListener onOkLis
110113
dialog.mState = PropertiesComponent.getInstance();
111114
setSavedSuperClass(dialog, dialog.mState);
112115
}
116+
boolean generateModel = state.getBoolean(ConsKt.GENERATE_MODEL_CONFIG, true);
117+
dialog.mcbModel.setSelected(generateModel);
113118
dialog.pack();
114119
dialog.setVisible(true);
115120
return dialog;

src/main/kotlin/com/longforus/mvpautocodeplus/Cons.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ fun getPresenterInfName(name: String) = "I${name}Presenter"
1212
fun getModelInfName(name: String) = "I${name}Model"
1313

1414
const val USE_PROJECT_CONFIG = "use_project_config"
15+
const val GENERATE_MODEL_CONFIG = "generate_model_config"
1516
const val GOTO_SETTING = "Please go to File-> Settings -> OtherSettings -> MvpAutoCodePlus set."
1617
const val IS_NOT_SET = "Is not set"
1718
const val NO_SUPER_CLASS = "The implementation class will have no superclass"

src/main/kotlin/com/longforus/mvpautocodeplus/MainAction.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,14 @@ class MainAction : AnAction("main", "auto make mvp code", PlatformIcons.CLASS_IC
4141
val textEditor = openFile[0] as TextEditor
4242
var clazz: PsiClass? = null
4343
if (psiFile is PsiJavaFile) {
44+
if (psiFile.classes.isEmpty()) {
45+
return psiFile
46+
}
4447
clazz = psiFile.classes[0]
4548
} else if (psiFile is KtFile) {
49+
if (psiFile.classes.isEmpty()) {
50+
return psiFile
51+
}
4652
clazz = psiFile.classes[0]
4753
}
4854
FeatureUsageTracker.getInstance().triggerFeatureUsed(ProductivityFeatureNames.CODEASSISTS_OVERRIDE_IMPLEMENT)

src/main/kotlin/com/longforus/mvpautocodeplus/maker/MethodImpl.kt

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import com.intellij.codeInsight.generation.OverrideImplementUtil.*
66
import com.intellij.codeInsight.generation.PsiGenerationInfo
77
import com.intellij.codeInsight.generation.PsiMethodMember
88
import com.intellij.openapi.application.ApplicationManager
9-
import com.intellij.openapi.command.WriteCommandAction.writeCommandAction
9+
import com.intellij.openapi.application.Result
10+
import com.intellij.openapi.command.WriteCommandAction
1011
import com.intellij.openapi.editor.Editor
1112
import com.intellij.openapi.project.Project
1213
import com.intellij.psi.JavaPsiFacade
@@ -46,16 +47,16 @@ fun kotlinDoMultiOverrideImplement(aClass: KtLightClass, project: Project, edito
4647

4748
val chooserObjects = implementMembersHandler.collectMembersToGenerate(
4849
classOrObject).sortedBy { it.descriptor.name.asString() + " in " + it.immediateSuper.containingDeclaration.name.asString() }
49-
writeCommandAction(project, aClass.containingFile).run<Throwable> {
50-
OverrideImplementMembersHandler.generateMembers(editor, classOrObject, chooserObjects, false)
51-
}
50+
// writeCommandAction(project, aClass.containingFile).run<Throwable> {
51+
// OverrideImplementMembersHandler.generateMembers(editor, classOrObject, chooserObjects, false)
52+
// }
5253
// <182
53-
// object : WriteCommandAction<Any?>(project, aClass.containingFile) {
54-
// @Throws()
55-
// override fun run(result: Result<Any?>) {
56-
// OverrideImplementMembersHandler.generateMembers(editor, classOrObject, chooserObjects, false)
57-
// }
58-
// }.executeSilently()
54+
object : WriteCommandAction<Any?>(project, aClass.containingFile) {
55+
@Throws()
56+
override fun run(result: Result<Any?>) {
57+
OverrideImplementMembersHandler.generateMembers(editor, classOrObject, chooserObjects, false)
58+
}
59+
}.executeSilently()
5960
}
6061

6162

@@ -91,16 +92,16 @@ fun javaOverrideOrImplementMethods(project: Project,
9192
for (member in onlyPrimary) {
9293
allList.add(member)
9394
}
94-
writeCommandAction(project, aClass.containingFile).run<Throwable> {
95-
overrideOrImplementMethodsInRightPlace(editor, aClass, allList, false, true)
96-
}
95+
// writeCommandAction(project, aClass.containingFile).run<Throwable> {
96+
// overrideOrImplementMethodsInRightPlace(editor, aClass, allList, false, true)
97+
// }
9798
// <182
98-
// object : WriteCommandAction<Any?>(project, aClass.containingFile) {
99-
// @Throws()
100-
// override fun run(result: Result<Any?>) {
101-
// overrideOrImplementMethodsInRightPlace(editor, aClass, allList, false, true)
102-
// }
103-
// }.executeSilently()
99+
object : WriteCommandAction<Any?>(project, aClass.containingFile) {
100+
@Throws()
101+
override fun run(result: Result<Any?>) {
102+
overrideOrImplementMethodsInRightPlace(editor, aClass, allList, false, true)
103+
}
104+
}.executeSilently()
104105
}
105106

106107

src/main/resources/META-INF/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
4141
<idea-version since-build="171"/>
42-
42+
<!--<idea-version since-build="173.3727" until-build="182.*"/>-->
4343
<depends>org.jetbrains.kotlin</depends>
4444
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
4545
on how to target different products -->

0 commit comments

Comments
 (0)