Allow to enable and disable filename templates

This commit is contained in:
Matthias Gugel 2020-12-13 17:06:20 +01:00
parent 875580f27f
commit 650e2c8645
4 changed files with 18 additions and 12 deletions

View File

@ -25,7 +25,7 @@ class InitializeFilenameTemplateActivity : StartupActivity {
} }
var anchorId = "NewFile" var anchorId = "NewFile"
settings.filenameTemplates.forEach { settings.filenameTemplates.filter { it.isActive }.forEach {
val action = CreateFileWithFilenameTemplateAction( val action = CreateFileWithFilenameTemplateAction(
it.text, it.text,
it.description, it.description,

View File

@ -13,7 +13,7 @@ class FilenameTemplateConfigurable : Configurable {
init { init {
val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance
component = FilenameTemplateSettingsComponent(ArrayList(settings.filenameTemplates.map { component = FilenameTemplateSettingsComponent(ArrayList(settings.filenameTemplates.map {
FilenameTemplateModel(it.text, it.description, it.template) FilenameTemplateModel(it.isActive, it.text, it.description, it.template)
})) }))
} }
@ -31,9 +31,10 @@ class FilenameTemplateConfigurable : Configurable {
return settings.filenameTemplates.size != component.filenameTemplates.size || return settings.filenameTemplates.size != component.filenameTemplates.size ||
settings.filenameTemplates.withIndex().any { settings.filenameTemplates.withIndex().any {
component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.text component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.isActive
|| component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.description || component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.text
|| component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.template || component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.description
|| component.filenameTemplateTable.getValueAt(it.index, 3) != it.value.template
} }
} }
@ -43,6 +44,7 @@ class FilenameTemplateConfigurable : Configurable {
settings.filenameTemplates.clear() settings.filenameTemplates.clear()
settings.filenameTemplates.addAll(component.filenameTemplates.map { settings.filenameTemplates.addAll(component.filenameTemplates.map {
FilenameTemplateModel( FilenameTemplateModel(
it.isActive,
it.text, it.text,
it.description, it.description,
it.template it.template
@ -56,6 +58,7 @@ class FilenameTemplateConfigurable : Configurable {
component.filenameTemplates.clear() component.filenameTemplates.clear()
component.filenameTemplates.addAll(settings.filenameTemplates.map { component.filenameTemplates.addAll(settings.filenameTemplates.map {
FilenameTemplateModel( FilenameTemplateModel(
it.isActive,
it.text, it.text,
it.description, it.description,
it.template it.template

View File

@ -1,6 +1,7 @@
package de.idetools.filename_template.settings package de.idetools.filename_template.settings
data class FilenameTemplateModel( data class FilenameTemplateModel(
var isActive: Boolean = false,
var text: String = "", var text: String = "",
var description: String = "", var description: String = "",
var template: String = "" var template: String = ""

View File

@ -5,7 +5,7 @@ import javax.swing.table.AbstractTableModel
class FilenameTemplateTableModel(private val filenameTemplates: ArrayList<FilenameTemplateModel>) : class FilenameTemplateTableModel(private val filenameTemplates: ArrayList<FilenameTemplateModel>) :
AbstractTableModel() { AbstractTableModel() {
private val header: List<String> = listOf("Text", "Description", "Template") private val header: List<String> = listOf("Active", "Text", "Description", "Template")
override fun getRowCount(): Int = filenameTemplates.size override fun getRowCount(): Int = filenameTemplates.size
@ -13,18 +13,20 @@ class FilenameTemplateTableModel(private val filenameTemplates: ArrayList<Filena
override fun getValueAt(row: Int, column: Int): Any { override fun getValueAt(row: Int, column: Int): Any {
return when (column) { return when (column) {
0 -> filenameTemplates[row].text 0 -> filenameTemplates[row].isActive
1 -> filenameTemplates[row].description 1 -> filenameTemplates[row].text
2 -> filenameTemplates[row].template 2 -> filenameTemplates[row].description
3 -> filenameTemplates[row].template
else -> throw ArrayIndexOutOfBoundsException() else -> throw ArrayIndexOutOfBoundsException()
} }
} }
override fun setValueAt(value: Any?, row: Int, column: Int) { override fun setValueAt(value: Any?, row: Int, column: Int) {
when (column) { when (column) {
0 -> filenameTemplates[row].text = value as String 0 -> filenameTemplates[row].isActive = value as Boolean
1 -> filenameTemplates[row].description = value as String 1 -> filenameTemplates[row].text = value as String
2 -> filenameTemplates[row].template = value as String 2 -> filenameTemplates[row].description = value as String
3 -> filenameTemplates[row].template = value as String
else -> throw ArrayIndexOutOfBoundsException() else -> throw ArrayIndexOutOfBoundsException()
} }
} }