diff --git a/src/main/kotlin/de/idetools/filename_template/CreateFileWithFilenameTemplateAction.kt b/src/main/kotlin/de/idetools/filename_template/CreateFileWithFilenameTemplateAction.kt index f3956c0..877a8b2 100644 --- a/src/main/kotlin/de/idetools/filename_template/CreateFileWithFilenameTemplateAction.kt +++ b/src/main/kotlin/de/idetools/filename_template/CreateFileWithFilenameTemplateAction.kt @@ -43,10 +43,19 @@ class CreateFileWithFilenameTemplateAction : directory: PsiDirectory, elementsConsumer: Consumer?> ) { - val templates = FilenameTemplateSettingsState.instance.filenameTemplates + val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance + settings.filenameTemplates.forEach { + if (it.title.isBlank()) { + it.title = if (it.description.isBlank()) it.name else "${it.name} - ${it.description}" + } + it.name = "" + it.description = "" + } + + val templates = settings.filenameTemplates .filter { it.isActive } .map { - Trinity(it.name, AllIcons.Actions.AddFile, processTemplate(it.template, project, directory)) + Trinity(it.title, AllIcons.Actions.AddFile, processTemplate(it.template, project, directory)) } val validator: MyInputValidator = MyValidator(project, directory) val contentPanel = CreateWithFilenameTemplateDialogPanel(templates) diff --git a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt index fd792b3..c89843e 100644 --- a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt +++ b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt @@ -11,8 +11,16 @@ class FilenameTemplateConfigurable : Configurable { init { val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance + settings.filenameTemplates.forEach { + if (it.title.isBlank()) { + it.title = if (it.description.isBlank()) it.name else "${it.name} - ${it.description}" + } + it.name = "" + it.description = "" + } + component = FilenameTemplateSettingsComponent(ArrayList(settings.filenameTemplates.map { - FilenameTemplateModel(it.isActive, it.name, it.description, it.template) + FilenameTemplateModel(it.isActive, it.title, it.name, it.description, it.template) })) } @@ -31,9 +39,8 @@ class FilenameTemplateConfigurable : Configurable { return settings.filenameTemplates.size != component.filenameTemplates.size || settings.filenameTemplates.withIndex().any { component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.isActive - || component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.name - || component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.description - || component.filenameTemplateTable.getValueAt(it.index, 3) != it.value.template + || component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.title + || component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.template } } @@ -44,6 +51,7 @@ class FilenameTemplateConfigurable : Configurable { settings.filenameTemplates.addAll(component.filenameTemplates.map { FilenameTemplateModel( it.isActive, + it.title, it.name, it.description, it.template @@ -57,6 +65,7 @@ class FilenameTemplateConfigurable : Configurable { component.filenameTemplates.addAll(settings.filenameTemplates.map { FilenameTemplateModel( it.isActive, + it.title, it.name, it.description, it.template diff --git a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateModel.kt b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateModel.kt index b6128dc..2f2017c 100644 --- a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateModel.kt +++ b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateModel.kt @@ -2,6 +2,7 @@ package de.idetools.filename_template.settings data class FilenameTemplateModel( var isActive: Boolean = true, + var title: String = "", var name: String = "", var description: String = "", var template: String = "" diff --git a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateSettingsComponent.kt b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateSettingsComponent.kt index 5c83fd3..837f8a7 100644 --- a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateSettingsComponent.kt +++ b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateSettingsComponent.kt @@ -26,7 +26,7 @@ class FilenameTemplateSettingsComponent(val filenameTemplates: ArrayList) : AbstractTableModel() { - private val header: List = listOf("Active", "Name", "Description", "Template") + private val header: List = listOf("Active", "Title", "Template") override fun getRowCount(): Int = filenameTemplates.size @@ -14,9 +14,8 @@ class FilenameTemplateTableModel(private val filenameTemplates: ArrayList filenameTemplates[row].isActive - 1 -> filenameTemplates[row].name - 2 -> filenameTemplates[row].description - 3 -> filenameTemplates[row].template + 1 -> filenameTemplates[row].title + 2 -> filenameTemplates[row].template else -> throw ArrayIndexOutOfBoundsException() } } @@ -24,9 +23,8 @@ class FilenameTemplateTableModel(private val filenameTemplates: ArrayList filenameTemplates[row].isActive = value as Boolean - 1 -> filenameTemplates[row].name = value as String - 2 -> filenameTemplates[row].description = value as String - 3 -> filenameTemplates[row].template = value as String + 1 -> filenameTemplates[row].title = value as String + 2 -> filenameTemplates[row].template = value as String else -> throw ArrayIndexOutOfBoundsException() } }