make default fonts twice bigger in case of HiDPI

This commit is contained in:
Konstantin Bulenkov
2014-12-08 14:51:10 +01:00
parent c963cb83cb
commit b09013eb38
@@ -51,6 +51,8 @@ import com.intellij.util.IJSwingUtilities;
import com.intellij.util.ObjectUtils;
import com.intellij.util.PlatformUtils;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.JBFont;
import com.intellij.util.ui.JBUI;
import com.intellij.util.ui.UIUtil;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
@@ -718,7 +720,18 @@ public final class LafManagerImpl extends LafManager implements ApplicationCompo
}
private void patchLafFonts(UIDefaults uiDefaults) {
if (UISettings.getInstance().OVERRIDE_NONIDEA_LAF_FONTS) {
if (JBUI.isHiDPI()) {
HashMap<Object, Font> newFonts = new HashMap<Object, Font>();
for (Object key : uiDefaults.keySet().toArray()) {
Object val = uiDefaults.get(key);
if (val instanceof Font) {
newFonts.put(key, JBFont.create((Font)val));
}
}
for (Map.Entry<Object, Font> entry : newFonts.entrySet()) {
uiDefaults.put(entry.getKey(), entry.getValue());
}
} else if (UISettings.getInstance().OVERRIDE_NONIDEA_LAF_FONTS) {
storeOriginalFontDefaults(uiDefaults);
initFontDefaults(uiDefaults, myUiSettings.FONT_FACE, myUiSettings.FONT_SIZE);
}