override fun actionPerformed()

in src/main/kotlin/mobi/hsz/idea/gitignore/ui/IgnoreSettingsPanel.kt [198:230]


                        override fun actionPerformed(event: AnActionEvent) {
                            val descriptor = FileChooserDescriptor(true, false, true, false, true, false)
                                .withFileFilter {
                                    it.isDirectory || it.fileType === FileTypes.ARCHIVE || it.fileType === XmlFileType.INSTANCE
                                }
                                .apply {
                                    description = message("action.importTemplates.wrapper.description")
                                    title = message("action.importTemplates.wrapper")
                                    putUserData(
                                        LangDataKeys.MODULE_CONTEXT,
                                        LangDataKeys.MODULE.getData(event.dataContext)
                                    )
                                }

                            FileChooser.chooseFile(descriptor, templatesListPanel, null, null)?.let { file ->
                                try {
                                    val element = JDOMUtil.load(file.inputStream)
                                    val templates = IgnoreSettings.loadTemplates(element)
                                    templates.forEach { myListModel.addElement(it) }
                                    Messages.showInfoMessage(
                                        templatesListPanel,
                                        message("action.importTemplates.success", templates.size),
                                        message("action.exportTemplates.success.title")
                                    )
                                    return
                                } catch (e: IOException) {
                                    e.printStackTrace()
                                } catch (e: JDOMException) {
                                    e.printStackTrace()
                                }
                            }
                            Messages.showErrorDialog(templatesListPanel, message("action.importTemplates.error"))
                        }