Revert "FileHistoryPanelImpl: calculate maximum string value of the columns to make...
authorKirill Likhodedov <Kirill.Likhodedov@jetbrains.com>
Wed, 1 Aug 2012 13:56:04 +0000 (17:56 +0400)
committerKirill Likhodedov <Kirill.Likhodedov@jetbrains.com>
Wed, 1 Aug 2012 13:59:11 +0000 (17:59 +0400)
That changed caused columns be non-resizable more than this max value.

This reverts commit 47c440a8c038156f90789ead5bc46597269fb0c4.

platform/vcs-impl/src/com/intellij/openapi/vcs/history/FileHistoryPanelImpl.java

index 53e4ece673fc060eb48b9031744f2795cf6bbcae..50230c3a5b4a72862980c41da1e3f75108f7f6d7 100644 (file)
@@ -139,7 +139,7 @@ public class FileHistoryPanelImpl extends PanelWithActionsAndCloseButton {
     }
   };
 
-  private final VcsColumnInfo<VcsRevisionNumber> REVISION =
+  private final DualViewColumnInfo REVISION =
     new VcsColumnInfo<VcsRevisionNumber>(VcsBundle.message("column.name.revision.version")) {
       protected VcsRevisionNumber getDataOf(VcsFileRevision object) {
         return object.getRevisionNumber();
@@ -162,7 +162,7 @@ public class FileHistoryPanelImpl extends PanelWithActionsAndCloseButton {
 
     };
 
-  private final VcsColumnInfo<String> DATE = new VcsColumnInfo<String>(VcsBundle.message("column.name.revision.date")) {
+  private final DualViewColumnInfo DATE = new VcsColumnInfo<String>(VcsBundle.message("column.name.revision.date")) {
     protected String getDataOf(VcsFileRevision object) {
       Date date = object.getRevisionDate();
       if (date == null) return "";
@@ -216,7 +216,7 @@ public class FileHistoryPanelImpl extends PanelWithActionsAndCloseButton {
 
   private static final TableCellRenderer AUTHOR_RENDERER = new AuthorCellRenderer();
 
-  private final VcsColumnInfo<String> AUTHOR = new VcsColumnInfo<String>(VcsBundle.message("column.name.revision.list.author")) {
+  private final DualViewColumnInfo AUTHOR = new VcsColumnInfo<String>(VcsBundle.message("column.name.revision.list.author")) {
     protected String getDataOf(VcsFileRevision object) {
       VcsFileRevision rev = object;
       if (object instanceof TreeNodeOnVcsRevision) {
@@ -540,50 +540,20 @@ public class FileHistoryPanelImpl extends PanelWithActionsAndCloseButton {
     refreshRevisionsOrder();
     HistoryAsTreeProvider treeHistoryProvider = session.getHistoryAsTreeProvider();
 
-    List<VcsFileRevision> revisionList = myHistorySession.getRevisionList();
-    updateMaxStringValues(revisionList);
     if (treeHistoryProvider != null) {
       myDualView.setRoot(new TreeNodeOnVcsRevision(null,
-        treeHistoryProvider.createTreeOn(revisionList)), myTargetSelection);
+        treeHistoryProvider.createTreeOn(myHistorySession.getRevisionList())), myTargetSelection);
     }
     else {
       myDualView.setRoot(new TreeNodeOnVcsRevision(null,
-        wrapWithTreeElements(revisionList)), myTargetSelection);
+        wrapWithTreeElements(myHistorySession.getRevisionList())), myTargetSelection);
     }
 
-    updateMaxStringValues(revisionList);
     myDualView.getFlatView().updateColumnSizes();
     myDualView.expandAll();
     myDualView.repaint();
   }
 
-  private void updateMaxStringValues(@NotNull List<VcsFileRevision> list) {
-    int maxAuthorWidth = getStringWidth(AUTHOR.getMaxStringValue());
-    int maxRevisionWidth = getStringWidth(REVISION.getMaxStringValue());
-    int maxDateWidth = getStringWidth(DATE.getMaxStringValue());
-    for (VcsFileRevision revision : list) {
-      int authorWidth = getStringWidth(revision.getAuthor());
-      int revWidth = getStringWidth(REVISION.valueOf(revision));
-      int dateWidth = getStringWidth(DATE.getDataOf(revision));
-      if (authorWidth > maxAuthorWidth) {
-        AUTHOR.setMaxStringValue(revision.getAuthor());
-      }
-      if (revWidth > maxRevisionWidth) {
-        REVISION.setMaxStringValue(REVISION.valueOf(revision));
-      }
-      if (dateWidth > maxDateWidth) {
-        DATE.setMaxStringValue(DATE.getDataOf(revision));
-      }
-    }
-  }
-
-  private int getStringWidth(@Nullable String string) {
-    if (string == null) {
-      return 0;
-    }
-    return myDualView.getFontMetrics(myDualView.getFont()).stringWidth(string);
-  }
-
   protected void addActionsTo(DefaultActionGroup group) {
     addToGroup(false, group);
   }
@@ -1444,13 +1414,8 @@ public class FileHistoryPanelImpl extends PanelWithActionsAndCloseButton {
     }
   }
 
-  private abstract static class VcsColumnInfo<T extends Comparable>
-    extends DualViewColumnInfo<VcsFileRevision, String>
-    implements Comparator<VcsFileRevision>
-  {
-
-    @Nullable private String myMaxStringValue;
-
+  abstract static class VcsColumnInfo<T extends Comparable> extends DualViewColumnInfo<VcsFileRevision, String>
+    implements Comparator<VcsFileRevision> {
     public VcsColumnInfo(String name) {
       super(name);
     }
@@ -1485,16 +1450,6 @@ public class FileHistoryPanelImpl extends PanelWithActionsAndCloseButton {
       return true;
     }
 
-    @Nullable
-    @Override
-    public String getMaxStringValue() {
-      return myMaxStringValue;
-    }
-
-    public void setMaxStringValue(@Nullable String maxStringValue) {
-      myMaxStringValue = maxStringValue;
-    }
-
   }
 
   private class MyColumnWrapper<T> extends DualViewColumnInfo<TreeNodeOnVcsRevision, Object> {