From 40a8b3f9a9d0a91b6e92b55edb202ac5400a2af5 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 15 May 2012 15:54:23 +0400 Subject: [PATCH] IDEA-86085 MultipleFileMergeDialog: resolve initial focus problem, set the default button. * Make "Merge" button default. * Make the table to be preferred component to solve the issue with focus being left in the editor. --- .../vcs/merge/MultipleFileMergeDialog.form | 2 +- .../vcs/merge/MultipleFileMergeDialog.java | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.form b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.form index 38e9bfe42b08..15724dc45ceb 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.form +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.form @@ -37,7 +37,7 @@ - + diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java index 52fd4fce9305..4959cf997cf3 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java @@ -151,11 +151,6 @@ public class MultipleFileMergeDialog extends DialogWrapper { acceptRevision(false); } }); - myMergeButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - showMergeDialog(); - } - }); myTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(final ListSelectionEvent e) { updateButtonState(); @@ -327,6 +322,22 @@ public class MultipleFileMergeDialog extends DialogWrapper { MergeVersion.MergeDocumentVersion.reportProjectFileChangeIfNeeded(myProject, file); } + private void createUIComponents() { + Action mergeAction = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + showMergeDialog(); + } + }; + mergeAction.putValue(DEFAULT_ACTION, Boolean.TRUE); + myMergeButton = createJButtonForAction(mergeAction); + } + + @Override + public JComponent getPreferredFocusedComponent() { + return myTable; + } + private static String decodeContent(final VirtualFile file, final byte[] content) { return StringUtil.convertLineSeparators(CharsetToolkit.bytesToString(content, file.getCharset())); }