Display full branch name in MultipleFileMergeDialog columns

Shorten it only for calculating the initial width

Relates to IDEA-195517
This commit is contained in:
Kirill Likhodedov
2018-07-23 14:17:04 +03:00
parent f01014ab87
commit 2704cc2b79
2 changed files with 9 additions and 4 deletions
@@ -17,6 +17,7 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.project.ex.ProjectManagerEx
import com.intellij.openapi.ui.DialogWrapper
import com.intellij.openapi.ui.Messages
import com.intellij.openapi.util.text.StringUtil
import com.intellij.openapi.vcs.VcsBundle
import com.intellij.openapi.vcs.VcsConfiguration
import com.intellij.openapi.vcs.VcsException
@@ -193,8 +194,7 @@ open class MultipleFileMergeDialog(
for ((index, columnInfo) in tableModel.columns.withIndex()) {
val column = columnModel.getColumn(index)
columnInfo.maxStringValue?.let {
val width = Math.max(getFontMetrics(font).stringWidth(it),
getFontMetrics(tableHeader.font).stringWidth(columnInfo.name)) + columnInfo.additionalWidth
val width = calcColumnWidth(it, columnInfo)
column.preferredWidth = width
}
}
@@ -208,6 +208,12 @@ open class MultipleFileMergeDialog(
columnModel.getColumn(fileColumn).preferredWidth = size
}
private fun calcColumnWidth(maxStringValue: String, columnInfo: ColumnInfo<Any, Any>): Int {
val columnName = StringUtil.shortenTextWithEllipsis(columnInfo.name, 15, 7, true)
return Math.max(getFontMetrics(font).stringWidth(maxStringValue),
getFontMetrics(tableHeader.font).stringWidth(columnName)) + columnInfo.additionalWidth
}
}
private fun toggleGroupByDirectory(state: Boolean) {
@@ -8,7 +8,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.Trinity;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.FilePath;
import com.intellij.openapi.vcs.VcsException;
import com.intellij.openapi.vcs.history.VcsRevisionNumber;
@@ -480,7 +479,7 @@ public class GitMergeProvider implements MergeProvider2 {
public static String calcColumnName(boolean isTheirs, @Nullable String branchName) {
String title = isTheirs ? GitBundle.message("merge.tool.column.theirs.status") : GitBundle.message("merge.tool.column.yours.status");
return branchName != null
? title + " (" + StringUtil.shortenTextWithEllipsis(branchName, 15, 7, true) + ")"
? title + " (" + branchName + ")"
: title;
}