From 106a1d8ac6460318be8d63d916a32973ffcbb44d Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Wed, 30 Sep 2015 14:37:00 +0300 Subject: [PATCH] [vcs-log] main frame gets VcsDataKeys.CHANGES or VcsDataKeys.SELECTED_CHANGES from changes view; hence remove some unused methods from table and model --- .../intellij/vcs/log/ui/frame/MainFrame.java | 5 +--- .../vcs/log/ui/frame/VcsLogGraphTable.java | 20 --------------- .../vcs/log/ui/tables/GraphTableModel.java | 25 +++---------------- 3 files changed, 4 insertions(+), 46 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java index 6af5656ec921..efe7afb35df7 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java @@ -304,10 +304,7 @@ public class MainFrame extends JPanel implements TypeSafeDataProvider { sink.put(key, myLogDataHolder); } else if (VcsDataKeys.CHANGES == key || VcsDataKeys.SELECTED_CHANGES == key) { - List selectedChanges = myGraphTable.getSelectedChanges(MAX_SELECTED_COMMITS); - if (selectedChanges != null) { - sink.put(key, ArrayUtil.toObjectArray(selectedChanges, Change.class)); - } + sink.put(key, ArrayUtil.toObjectArray(myChangesBrowser.getCurrentDisplayedChanges(), Change.class)); } else if (VcsDataKeys.CHANGE_LISTS == key) { List details = myUI.getVcsLog().getSelectedDetails(); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java index 08159c597ec9..5e6856506dae 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java @@ -260,26 +260,6 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C } } - @Nullable - public List getSelectedChanges(int maxChanges) { - TableModel model = getModel(); - if (!(model instanceof GraphTableModel)) { - return null; - } - - int[] selectedRows = getSelectedRows(); - if (selectedRows.length > maxChanges) return null; - - List rows = ContainerUtil.newArrayList(); - for (int row : selectedRows) { - rows.add(row); - } - Collections.sort(rows, Collections.reverseOrder()); - - List changes = ((GraphTableModel)model).getSelectedChanges(rows); - return changes == null ? null : CommittedChangesTreeBrowser.zipChanges(changes); - } - @Override public void calcData(DataKey key, DataSink sink) { if (PlatformDataKeys.COPY_PROVIDER == key) { diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java index f8a958ff7e99..58c397bac4eb 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java @@ -5,14 +5,15 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.EmptyRunnable; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.text.DateFormatUtil; import com.intellij.vcs.log.*; import com.intellij.vcs.log.data.CommitIdByStringCondition; -import com.intellij.vcs.log.data.LoadingDetails; +import com.intellij.vcs.log.Hash; +import com.intellij.vcs.log.VcsRef; +import com.intellij.vcs.log.VcsShortCommitDetails; import com.intellij.vcs.log.data.VcsLogDataHolder; import com.intellij.vcs.log.data.VisiblePack; import com.intellij.vcs.log.graph.GraphCommit; @@ -204,26 +205,6 @@ public class GraphTableModel extends AbstractTableModel { return !myMoreRequested && myDataPack.canRequestMore(); } - /** - * Returns Changes for commits at selected rows.
- * Rows are given in the order as they appear in the table, i. e. in reverse chronological order.
- * Changes can be returned as-is, i.e. with duplicate changes for a single file. - * - * @return Changes selected in all rows, or null if this data is not ready yet. - */ - @Nullable - public List getSelectedChanges(@NotNull List selectedRows) { - List changes = new ArrayList(); - for (int row : selectedRows) { - VcsFullCommitDetails commitData = myLogDataHolder.getCommitDetailsGetter().getCommitData(row, this); - if (commitData instanceof LoadingDetails) { - return null; - } - changes.addAll(commitData.getChanges()); - } - return changes; - } - @Override public Class getColumnClass(int column) { switch (column) {