diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/QuickMergeInteractionImpl.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/QuickMergeInteractionImpl.java index 38c8e8ecfd8e..90089a17d86f 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/QuickMergeInteractionImpl.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/QuickMergeInteractionImpl.java @@ -80,7 +80,7 @@ public class QuickMergeInteractionImpl implements QuickMergeInteraction { public SelectMergeItemsResult selectMergeItems(@NotNull List lists, @NotNull String mergeTitle, @NotNull MergeChecker mergeChecker) { - ToBeMergedDialog dialog = new ToBeMergedDialog(myMergeContext, lists, mergeTitle, mergeChecker, true); + ToBeMergedDialog dialog = new ToBeMergedDialog(myMergeContext, lists, mergeTitle, mergeChecker, true, true); dialog.show(); return new SelectMergeItemsResult() { @@ -144,7 +144,7 @@ public class QuickMergeInteractionImpl implements QuickMergeInteraction { public List showRecentListsForSelection(@NotNull List list, @NotNull MergeChecker mergeChecker, boolean allListsLoaded) { - ToBeMergedDialog dialog = new ToBeMergedDialog(myMergeContext, list, myMergeContext.getTitle(), mergeChecker, false); + ToBeMergedDialog dialog = new ToBeMergedDialog(myMergeContext, list, myMergeContext.getTitle(), mergeChecker, false, allListsLoaded); return dialog.showAndGet() ? dialog.getSelected() : emptyList(); } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/ToBeMergedDialog.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/ToBeMergedDialog.java index 6670f157db9a..82d05a1aad43 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/ToBeMergedDialog.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/ToBeMergedDialog.java @@ -102,13 +102,14 @@ public class ToBeMergedDialog extends DialogWrapper { @NotNull List lists, final String title, @NotNull MergeChecker mergeChecker, + boolean allStatusesCalculated, boolean allListsLoaded) { super(mergeContext.getProject(), true); myMergeContext = mergeContext; myAllListsLoaded = allListsLoaded; myStatusMap = synchronizedMap(newHashMap()); myMergeChecker = mergeChecker; - myAllStatusesCalculated = allListsLoaded; + myAllStatusesCalculated = allStatusesCalculated; setTitle(title); // Paging is not used - "Load Xxx" buttons load corresponding new elements and add them to the end of the table. Single (first) page is @@ -121,14 +122,14 @@ public class ToBeMergedDialog extends DialogWrapper { setOKButtonText("Merge Selected"); initUI(); init(); - enableMore(); + enableLoadButtons(); if (!myAllStatusesCalculated) { refreshListStatus(lists); } } - private void enableMore() { + private void enableLoadButtons() { myMore100Action.setVisible(!myAllListsLoaded); myMore500Action.setVisible(!myAllListsLoaded); myMore100Action.setEnabled(!myAllListsLoaded); @@ -137,8 +138,7 @@ public class ToBeMergedDialog extends DialogWrapper { public void setAllListsLoaded() { myAllListsLoaded = true; - myMore100Action.setVisible(false); - myMore500Action.setVisible(false); + enableLoadButtons(); } public long getLastNumber() { @@ -154,6 +154,7 @@ public class ToBeMergedDialog extends DialogWrapper { myRevisionsList.repaint(); myMore100Action.setEnabled(true); myMore500Action.setEnabled(true); + // TODO: This is necessary because myMore500Action was hidden in MoreXAction.actionPerformed() myMore500Action.setVisible(true); refreshListStatus(list); } @@ -443,6 +444,7 @@ public class ToBeMergedDialog extends DialogWrapper { @Override public void actionPerformed(AnActionEvent e) { + // TODO: This setVisible() is necessary because MoreXAction shows "Loading..." text when disabled myMore500Action.setVisible(false); myMore100Action.setEnabled(false); myMore500Action.setEnabled(false);