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"
settings.filenameTemplates.forEach {
settings.filenameTemplates.filter { it.isActive }.forEach {
val action = CreateFileWithFilenameTemplateAction(
it.text,
it.description,

View File

@ -13,7 +13,7 @@ class FilenameTemplateConfigurable : Configurable {
init {
val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance
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 ||
settings.filenameTemplates.withIndex().any {
component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.text
|| component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.description
|| component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.template
component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.isActive
|| component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.text
|| 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.addAll(component.filenameTemplates.map {
FilenameTemplateModel(
it.isActive,
it.text,
it.description,
it.template
@ -56,6 +58,7 @@ class FilenameTemplateConfigurable : Configurable {
component.filenameTemplates.clear()
component.filenameTemplates.addAll(settings.filenameTemplates.map {
FilenameTemplateModel(
it.isActive,
it.text,
it.description,
it.template

View File

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

View File

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