IJPL-187935 Add accessible name prefix for File, Project, Tasks widgets

GitOrigin-RevId: 494b4feabe9c06bcbf6bb1f2543c642bdad3fa95
This commit is contained in:
Dmitry Drobotov
2025-07-29 18:56:19 +00:00
committed by intellij-monorepo-bot
parent 74ac002f34
commit 6afb3b193e
6 changed files with 23 additions and 1 deletions
@@ -21,6 +21,7 @@ popup.title.recent.projects=Recent Projects
project.widget.recent.projects=Recent Projects
project.widget.open.projects=Open Projects
project.widget.accessible.name.prefix=Project
title.new.project=New Project
title.open.project=Open Project
@@ -387,4 +387,6 @@ collapsible.titled.separator.collapsed.accessible.name=Show {0}
collapsible.titled.separator.expanded.accessible.name=Hide {0}
toolbar.combo.button.accessible.name={0}, menu
toolbar.combo.button.accessible.name.with.prefix={0}: {1}, menu
toolbar.combo.button.accessible.name.with.prefix={0}: {1}, menu
filename.widget.accessible.name.prefix=File
@@ -31,6 +31,7 @@ import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil
import com.intellij.openapi.wm.impl.*
import com.intellij.ui.ColorUtil
import com.intellij.ui.JBColor
import com.intellij.ui.UIBundle
import com.intellij.util.IconUtil
import com.intellij.util.ui.UIUtil
import java.awt.Color
@@ -107,6 +108,7 @@ class FilenameToolbarWidgetAction : ExpandableComboAction(), DumbAware, ActionRe
init {
isOpaque = false
hoverBackground = JBColor.namedColor("MainToolbar.Dropdown.background", JBColor.foreground())
accessibleNamePrefix = UIBundle.message("filename.widget.accessible.name.prefix")
}
override fun processMouseEvent(e: MouseEvent) {
@@ -20,6 +20,7 @@ import com.intellij.openapi.util.NlsSafe
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.wm.impl.ExpandableComboAction
import com.intellij.openapi.wm.impl.ToolbarComboButton
import com.intellij.openapi.wm.impl.ToolbarComboButtonModel
import com.intellij.ui.*
import com.intellij.ui.AnimatedIcon
import com.intellij.ui.components.JBLabel
@@ -84,6 +85,12 @@ open class ProjectToolbarWidgetAction : ExpandableComboAction(), DumbAware {
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
override fun createToolbarComboButton(model: ToolbarComboButtonModel): ToolbarComboButton {
return super.createToolbarComboButton(model).apply {
accessibleNamePrefix = IdeUICustomization.getInstance().projectMessage("project.widget.accessible.name.prefix")
}
}
override fun createCustomComponent(presentation: Presentation, place: String): JComponent {
return super.createCustomComponent(presentation, place).apply {
maximumWidth = JBUI.scale(500)
@@ -244,3 +244,4 @@ notification.group.tasks=Task server connection failed
notification.group.context.corrupted=Task context data corrupted
task.list.url.configuration.parameter.is.mandatory='Task list URL' configuration parameter is mandatory
do.not.associate.branch=Do &not associate branch
tasks.widget.accessible.name.prefix=Task
@@ -19,6 +19,8 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.changes.ChangeListManager;
import com.intellij.openapi.vcs.changes.LocalChangeList;
import com.intellij.openapi.wm.impl.ExpandableComboAction;
import com.intellij.openapi.wm.impl.ToolbarComboButton;
import com.intellij.openapi.wm.impl.ToolbarComboButtonModel;
import com.intellij.tasks.ChangeListInfo;
import com.intellij.tasks.LocalTask;
import com.intellij.tasks.TaskBundle;
@@ -94,6 +96,13 @@ public class SwitchTaskAction extends ExpandableComboAction implements DumbAware
return ActionUpdateThread.BGT;
}
@Override
public @NotNull ToolbarComboButton createToolbarComboButton(@NotNull ToolbarComboButtonModel model) {
ToolbarComboButton button = super.createToolbarComboButton(model);
button.setAccessibleNamePrefix(TaskBundle.message("tasks.widget.accessible.name.prefix"));
return button;
}
private static boolean isOriginalDefault(LocalTask activeTask) {
return activeTask.isDefault() && Comparing.equal(activeTask.getCreated(), activeTask.getUpdated());
}