Merge remote-tracking branch 'origin/master'

This commit is contained in:
Liana Bakradze
2014-10-21 19:16:51 +04:00
2 changed files with 16 additions and 3 deletions
@@ -32,6 +32,7 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.GuiUtils;
import com.intellij.ui.UIBundle;
import com.intellij.util.Consumer;
import com.intellij.util.ui.UIUtil;
@@ -88,9 +89,7 @@ public class ComponentWithBrowseButton<Comp extends JComponent> extends JPanel i
public void setTextFieldPreferredWidth(final int charCount) {
final Comp comp = getChildComponent();
Dimension size = comp.getPreferredSize();
FontMetrics fontMetrics = comp.getFontMetrics(comp.getFont());
size.width = fontMetrics.charWidth('a') * charCount;
Dimension size = GuiUtils.getSizeByChars(charCount, comp);
comp.setPreferredSize(size);
final Dimension preferredSize = myBrowseButton.getPreferredSize();
setPreferredSize(new Dimension(size.width + preferredSize.width + 2, UIUtil.isUnderAquaLookAndFeel() ? preferredSize.height : preferredSize.height + 2));
@@ -390,4 +390,18 @@ public class GuiUtils {
public static JTextField createUndoableTextField() {
return new JBTextField();
}
/**
* Returns dimension with width required to type certain number of chars in provided component
* @param charCount number of chars
* @param comp component
* @return dimension with width enough to insert provided number of chars into component
*/
@NotNull
public static Dimension getSizeByChars(int charCount, @NotNull JComponent comp) {
Dimension size = comp.getPreferredSize();
FontMetrics fontMetrics = comp.getFontMetrics(comp.getFont());
size.width = fontMetrics.charWidth('a') * charCount;
return size;
}
}