make `Presentation.setText(Bundle.message("..."))` dynamic
[idea/community.git] / java / idea-ui / src / com / intellij / ide / actions / TemplateProjectStructureAction.java
1 // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.ide.actions;
3
4 import com.intellij.idea.ActionsBundle;
5 import com.intellij.openapi.actionSystem.ActionPlaces;
6 import com.intellij.openapi.actionSystem.AnActionEvent;
7 import com.intellij.openapi.project.ProjectManager;
8 import com.intellij.openapi.util.text.StringUtil;
9 import com.intellij.ui.IdeUICustomization;
10 import org.jetbrains.annotations.NotNull;
11
12 public class TemplateProjectStructureAction extends ShowStructureSettingsAction {
13   public TemplateProjectStructureAction() {
14     String projectConceptName = StringUtil.capitalize(IdeUICustomization.getInstance().getProjectConceptName());
15     getTemplatePresentation().setText(() -> ActionsBundle.message("action.TemplateProjectStructure.text.template", projectConceptName));
16     getTemplatePresentation().setDescription(ActionsBundle.message("action.TemplateProjectStructure.description.template", projectConceptName));
17   }
18
19   @Override
20   public void actionPerformed(@NotNull AnActionEvent e) {
21     showDialog(ProjectManager.getInstance().getDefaultProject());
22   }
23
24   @Override
25   public void update(@NotNull AnActionEvent e) {
26     if (e.getPlace().equals(ActionPlaces.WELCOME_SCREEN)) {
27       e.getPresentation().setText(StringUtil.trimEnd(getTemplatePresentation().getText(), "..."));
28     }
29   }
30 }