Combine name and description into title
With the templated new file dialog the description could not be shown anywhere. Simply deleting the description is not an option as some users might rely on this information.
This commit is contained in:
parent
d15d54e801
commit
7cfcad0c54
|
|
@ -43,10 +43,19 @@ class CreateFileWithFilenameTemplateAction :
|
||||||
directory: PsiDirectory,
|
directory: PsiDirectory,
|
||||||
elementsConsumer: Consumer<Array<PsiElement?>?>
|
elementsConsumer: Consumer<Array<PsiElement?>?>
|
||||||
) {
|
) {
|
||||||
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 }
|
.filter { it.isActive }
|
||||||
.map {
|
.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 validator: MyInputValidator = MyValidator(project, directory)
|
||||||
val contentPanel = CreateWithFilenameTemplateDialogPanel(templates)
|
val contentPanel = CreateWithFilenameTemplateDialogPanel(templates)
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,16 @@ class FilenameTemplateConfigurable : Configurable {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance
|
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 {
|
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 ||
|
return settings.filenameTemplates.size != component.filenameTemplates.size ||
|
||||||
settings.filenameTemplates.withIndex().any {
|
settings.filenameTemplates.withIndex().any {
|
||||||
component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.isActive
|
component.filenameTemplateTable.getValueAt(it.index, 0) != it.value.isActive
|
||||||
|| component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.name
|
|| component.filenameTemplateTable.getValueAt(it.index, 1) != it.value.title
|
||||||
|| component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.description
|
|| component.filenameTemplateTable.getValueAt(it.index, 2) != it.value.template
|
||||||
|| component.filenameTemplateTable.getValueAt(it.index, 3) != it.value.template
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -44,6 +51,7 @@ class FilenameTemplateConfigurable : Configurable {
|
||||||
settings.filenameTemplates.addAll(component.filenameTemplates.map {
|
settings.filenameTemplates.addAll(component.filenameTemplates.map {
|
||||||
FilenameTemplateModel(
|
FilenameTemplateModel(
|
||||||
it.isActive,
|
it.isActive,
|
||||||
|
it.title,
|
||||||
it.name,
|
it.name,
|
||||||
it.description,
|
it.description,
|
||||||
it.template
|
it.template
|
||||||
|
|
@ -57,6 +65,7 @@ class FilenameTemplateConfigurable : Configurable {
|
||||||
component.filenameTemplates.addAll(settings.filenameTemplates.map {
|
component.filenameTemplates.addAll(settings.filenameTemplates.map {
|
||||||
FilenameTemplateModel(
|
FilenameTemplateModel(
|
||||||
it.isActive,
|
it.isActive,
|
||||||
|
it.title,
|
||||||
it.name,
|
it.name,
|
||||||
it.description,
|
it.description,
|
||||||
it.template
|
it.template
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package de.idetools.filename_template.settings
|
||||||
|
|
||||||
data class FilenameTemplateModel(
|
data class FilenameTemplateModel(
|
||||||
var isActive: Boolean = true,
|
var isActive: Boolean = true,
|
||||||
|
var title: String = "",
|
||||||
var name: String = "",
|
var name: String = "",
|
||||||
var description: String = "",
|
var description: String = "",
|
||||||
var template: String = ""
|
var template: String = ""
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class FilenameTemplateSettingsComponent(val filenameTemplates: ArrayList<Filenam
|
||||||
activeColumn.resizable = false
|
activeColumn.resizable = false
|
||||||
activeColumn.maxWidth = determineRequiredWidth(activeColumn)
|
activeColumn.maxWidth = determineRequiredWidth(activeColumn)
|
||||||
|
|
||||||
val templateColumn = filenameTemplateTable.columnModel.getColumn(3)
|
val templateColumn = filenameTemplateTable.columnModel.getColumn(2)
|
||||||
templateColumn.cellEditor = PlaceholderCompletionCellEditor()
|
templateColumn.cellEditor = PlaceholderCompletionCellEditor()
|
||||||
|
|
||||||
val filenameTemplateTableScrollPane = JBScrollPane(filenameTemplateTable)
|
val filenameTemplateTableScrollPane = JBScrollPane(filenameTemplateTable)
|
||||||
|
|
|
||||||
|
|
@ -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("Active", "Name", "Description", "Template")
|
private val header: List<String> = listOf("Active", "Title", "Template")
|
||||||
|
|
||||||
override fun getRowCount(): Int = filenameTemplates.size
|
override fun getRowCount(): Int = filenameTemplates.size
|
||||||
|
|
||||||
|
|
@ -14,9 +14,8 @@ 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].isActive
|
0 -> filenameTemplates[row].isActive
|
||||||
1 -> filenameTemplates[row].name
|
1 -> filenameTemplates[row].title
|
||||||
2 -> filenameTemplates[row].description
|
2 -> filenameTemplates[row].template
|
||||||
3 -> filenameTemplates[row].template
|
|
||||||
else -> throw ArrayIndexOutOfBoundsException()
|
else -> throw ArrayIndexOutOfBoundsException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -24,9 +23,8 @@ class FilenameTemplateTableModel(private val filenameTemplates: ArrayList<Filena
|
||||||
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].isActive = value as Boolean
|
0 -> filenameTemplates[row].isActive = value as Boolean
|
||||||
1 -> filenameTemplates[row].name = value as String
|
1 -> filenameTemplates[row].title = value as String
|
||||||
2 -> filenameTemplates[row].description = value as String
|
2 -> filenameTemplates[row].template = value as String
|
||||||
3 -> filenameTemplates[row].template = value as String
|
|
||||||
else -> throw ArrayIndexOutOfBoundsException()
|
else -> throw ArrayIndexOutOfBoundsException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user