fix(gui): ensure all fonts are 'composite' (#2856)
This commit is contained in:
@@ -8,7 +8,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import jadx.core.utils.Utils;
|
||||
import jadx.gui.utils.FontUtils;
|
||||
import jadx.gui.utils.UiUtils;
|
||||
|
||||
@@ -24,7 +23,7 @@ public class FontAdapter {
|
||||
private Consumer<String> fontSetter;
|
||||
private float uiZoom;
|
||||
|
||||
public FontAdapter(Font defaultFont) {
|
||||
FontAdapter(Font defaultFont) {
|
||||
Objects.requireNonNull(defaultFont);
|
||||
this.defaultFont = defaultFont;
|
||||
this.font = defaultFont;
|
||||
@@ -39,12 +38,12 @@ public class FontAdapter {
|
||||
}
|
||||
|
||||
public void setDefaultFont(Font newDefaultFont) {
|
||||
Objects.requireNonNull(newDefaultFont);
|
||||
Font newDefFont = FontUtils.toCompositeFont(newDefaultFont);
|
||||
Font prevDefaultFont = defaultFont;
|
||||
defaultFont = newDefaultFont;
|
||||
defaultFont = newDefFont;
|
||||
if (font == prevDefaultFont) {
|
||||
// font was set to default => update it also
|
||||
setFont(newDefaultFont);
|
||||
setFont(newDefFont);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +56,11 @@ public class FontAdapter {
|
||||
}
|
||||
|
||||
public void setFont(@Nullable Font newFont) {
|
||||
font = Utils.getOrElse(newFont, defaultFont);
|
||||
if (newFont != null) {
|
||||
font = FontUtils.toCompositeFont(newFont);
|
||||
} else {
|
||||
font = defaultFont;
|
||||
}
|
||||
fontSetter.accept(getFontStr());
|
||||
applyFontZoom();
|
||||
}
|
||||
|
||||
@@ -7,11 +7,12 @@ import javax.swing.UIManager;
|
||||
import com.formdev.flatlaf.FlatLaf;
|
||||
import com.formdev.flatlaf.fonts.inter.FlatInterFont;
|
||||
import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont;
|
||||
import com.formdev.flatlaf.util.FontUtils;
|
||||
|
||||
import jadx.gui.settings.JadxSettingsData;
|
||||
import jadx.gui.utils.UiUtils;
|
||||
|
||||
import static jadx.gui.utils.FontUtils.getCompositeFont;
|
||||
|
||||
/**
|
||||
* Handle all font related settings
|
||||
*/
|
||||
@@ -32,8 +33,8 @@ public class FontSettings {
|
||||
|
||||
public FontSettings() {
|
||||
int defFontSize = 13;
|
||||
Font defUiFont = FontUtils.getCompositeFont(FlatInterFont.FAMILY, Font.PLAIN, defFontSize);
|
||||
Font defCodeFont = FontUtils.getCompositeFont(FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, defFontSize);
|
||||
Font defUiFont = getCompositeFont(FlatInterFont.FAMILY, Font.PLAIN, defFontSize);
|
||||
Font defCodeFont = getCompositeFont(FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, defFontSize);
|
||||
uiFontAdapter = new FontAdapter(defUiFont);
|
||||
codeFontAdapter = new FontAdapter(defCodeFont);
|
||||
smaliFontAdapter = new FontAdapter(defCodeFont);
|
||||
|
||||
@@ -101,6 +101,10 @@ public class FontUtils {
|
||||
return com.formdev.flatlaf.util.FontUtils.getCompositeFont(family, style, size);
|
||||
}
|
||||
|
||||
public static Font toCompositeFont(Font font) {
|
||||
return getCompositeFont(font.getFamily(), font.getStyle(), font.getSize());
|
||||
}
|
||||
|
||||
private FontUtils() {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user