From f5eb1cafb3a40cccef7c01aa7948d5ed7b177f16 Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Fri, 1 Apr 2016 14:33:40 +0300 Subject: [PATCH] IDEA-CR-8762 Several improvements in pluggable panels of "Open Task" dialog * Better validation messages from VcsOpenTaskPanel that always indicate problematic control * Preferred focused component from VcsOpenTaskPanel is taken into account --- .../src/com/intellij/tasks/actions/OpenTaskDialog.java | 6 ++++++ .../com/intellij/tasks/actions/vcs/VcsOpenTaskPanel.java | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java index c0b34f9aa51f..7e2335cd8368 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java @@ -155,6 +155,12 @@ public class OpenTaskDialog extends DialogWrapper { @Override public JComponent getPreferredFocusedComponent() { + for (TaskDialogPanel panel : myPanels) { + final JComponent component = panel.getPreferredFocusedComponent(); + if (component != null) { + return component; + } + } if (myTaskStateCombo.isVisible() && myTaskStateCombo.isEnabled()){ return myTaskStateCombo.getComboBox(); } diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/vcs/VcsOpenTaskPanel.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/vcs/VcsOpenTaskPanel.java index 851d3eb02658..0d42adc35c71 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/vcs/VcsOpenTaskPanel.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/vcs/VcsOpenTaskPanel.java @@ -186,10 +186,10 @@ public class VcsOpenTaskPanel extends TaskDialogPanel { else if (myVcsTaskHandler != null) { return myVcsTaskHandler.isBranchNameValid(branchName) ? null - : new ValidationInfo("Branch name is not valid; check your vcs branch name restrictions."); + : new ValidationInfo("Branch name is not valid; check your vcs branch name restrictions.", myBranchName); } else if (branchName.contains(" ")) { - return new ValidationInfo("Branch name should not contain spaces"); + return new ValidationInfo("Branch name should not contain spaces", myBranchName); } else { return null; @@ -197,7 +197,7 @@ public class VcsOpenTaskPanel extends TaskDialogPanel { } if (myCreateChangelist.isSelected()) { if (myChangelistName.getText().trim().isEmpty()) { - return new ValidationInfo("Changelist name should not be empty"); + return new ValidationInfo("Changelist name should not be empty", myChangelistName); } } return null;