add new font settings to the settings > components tab
This commit is contained in:
parent
7b580553bd
commit
8c5fa13683
|
@ -58,6 +58,7 @@ public enum Language {
|
||||||
setting_header_goal,
|
setting_header_goal,
|
||||||
setting_header_title,
|
setting_header_title,
|
||||||
setting_header_showAttempts,
|
setting_header_showAttempts,
|
||||||
|
setting_header_titleFont,
|
||||||
|
|
||||||
// Settings > History
|
// Settings > History
|
||||||
setting_history_rowCount,
|
setting_history_rowCount,
|
||||||
|
@ -85,6 +86,8 @@ public enum Language {
|
||||||
setting_core_segmentTimer,
|
setting_core_segmentTimer,
|
||||||
setting_core_timerFont,
|
setting_core_timerFont,
|
||||||
setting_core_segmentTimerFont,
|
setting_core_segmentTimerFont,
|
||||||
|
setting_core_font,
|
||||||
|
setting_core_otherTimeFont,
|
||||||
|
|
||||||
// Settings > Graph
|
// Settings > Graph
|
||||||
setting_graph_display,
|
setting_graph_display,
|
||||||
|
|
|
@ -54,6 +54,18 @@ public class TabComponents extends SettingsTab
|
||||||
|
|
||||||
private JCheckBox timerSameFont;
|
private JCheckBox timerSameFont;
|
||||||
|
|
||||||
|
private JComboBox headerTitleFont;
|
||||||
|
|
||||||
|
private JSpinner headerTitleSize;
|
||||||
|
|
||||||
|
private JComboBox coreFont;
|
||||||
|
|
||||||
|
private JSpinner coreFontSize;
|
||||||
|
|
||||||
|
private JComboBox otherTimeFont;
|
||||||
|
|
||||||
|
private JSpinner otherTimeSize;
|
||||||
|
|
||||||
TabComponents() {
|
TabComponents() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
@ -78,30 +90,71 @@ public class TabComponents extends SettingsTab
|
||||||
|
|
||||||
GraphicsEnvironment gEnv = GraphicsEnvironment
|
GraphicsEnvironment gEnv = GraphicsEnvironment
|
||||||
.getLocalGraphicsEnvironment();
|
.getLocalGraphicsEnvironment();
|
||||||
String mainFont = Settings.coreTimerFont.get().getName();
|
|
||||||
|
// main timer font family and size selector
|
||||||
|
String timerFontName = Settings.coreTimerFont.get().getName();
|
||||||
timerFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
timerFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
||||||
timerFont.setSelectedItem(mainFont);
|
timerFont.setSelectedItem(timerFontName);
|
||||||
timerFont.setPreferredSize(new Dimension(130, 22));
|
timerFont.setPreferredSize(new Dimension(130, 22));
|
||||||
timerFont.addActionListener(this);
|
timerFont.addActionListener(this);
|
||||||
|
|
||||||
String segFont = Settings.coreSegmentTimerFont.get().getName();
|
|
||||||
timerSegFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
|
||||||
timerSegFont.setSelectedItem(segFont);
|
|
||||||
timerSegFont.setPreferredSize(new Dimension(130, 22));
|
|
||||||
timerSegFont.addActionListener(this);
|
|
||||||
|
|
||||||
timerSize = new JSpinner(new SpinnerNumberModel(
|
timerSize = new JSpinner(new SpinnerNumberModel(
|
||||||
Settings.coreTimerFont.get().getSize(), 8, 240, 1)
|
Settings.coreTimerFont.get().getSize(), 8, 240, 1)
|
||||||
);
|
);
|
||||||
timerSize.addChangeListener(this);
|
timerSize.addChangeListener(this);
|
||||||
|
|
||||||
|
// segment timer font family and size selector
|
||||||
|
String timerSegFontName = Settings.coreSegmentTimerFont.get().getName();
|
||||||
|
timerSegFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
||||||
|
timerSegFont.setSelectedItem(timerSegFontName);
|
||||||
|
timerSegFont.setPreferredSize(new Dimension(130, 22));
|
||||||
|
timerSegFont.addActionListener(this);
|
||||||
|
|
||||||
timerSegSize = new JSpinner(new SpinnerNumberModel(
|
timerSegSize = new JSpinner(new SpinnerNumberModel(
|
||||||
Settings.coreSegmentTimerFont.get().getSize(), 8, 240, 1)
|
Settings.coreSegmentTimerFont.get().getSize(), 8, 240, 1)
|
||||||
);
|
);
|
||||||
timerSegSize.addChangeListener(this);
|
timerSegSize.addChangeListener(this);
|
||||||
|
|
||||||
|
// header title font family and size selector
|
||||||
|
String headerTitleFontName = Settings.headerTitleFont.get().getName();
|
||||||
|
headerTitleFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
||||||
|
headerTitleFont.setSelectedItem(headerTitleFontName);
|
||||||
|
headerTitleFont.setPreferredSize(new Dimension(130, 22));
|
||||||
|
headerTitleFont.addActionListener(this);
|
||||||
|
|
||||||
|
headerTitleSize = new JSpinner(new SpinnerNumberModel(
|
||||||
|
Settings.headerTitleFont.get().getSize(), 8, 240, 1)
|
||||||
|
);
|
||||||
|
headerTitleSize.addChangeListener(this);
|
||||||
|
|
||||||
|
// other/general font family and size selector
|
||||||
|
String coreFontName = Settings.coreFont.get().getName();
|
||||||
|
coreFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
||||||
|
coreFont.setSelectedItem(coreFontName);
|
||||||
|
coreFont.setPreferredSize(new Dimension(130, 22));
|
||||||
|
coreFont.addActionListener(this);
|
||||||
|
|
||||||
|
coreFontSize = new JSpinner(new SpinnerNumberModel(
|
||||||
|
Settings.coreFont.get().getSize(), 8, 240, 1)
|
||||||
|
);
|
||||||
|
coreFontSize.addChangeListener(this);
|
||||||
|
|
||||||
|
// other timer font family and size selector
|
||||||
|
String otherTimeFontName = Settings.coreOtherTimeFont.get().getName();
|
||||||
|
otherTimeFont = new JComboBox(gEnv.getAvailableFontFamilyNames());
|
||||||
|
otherTimeFont.setSelectedItem(otherTimeFontName);
|
||||||
|
otherTimeFont.setPreferredSize(new Dimension(130, 22));
|
||||||
|
otherTimeFont.addActionListener(this);
|
||||||
|
|
||||||
|
otherTimeSize = new JSpinner(new SpinnerNumberModel(
|
||||||
|
Settings.coreOtherTimeFont.get().getSize(), 8, 240, 1)
|
||||||
|
);
|
||||||
|
otherTimeSize.addChangeListener(this);
|
||||||
|
|
||||||
|
|
||||||
|
// checkbox for linking the main timer and segment timer font family's
|
||||||
timerSameFont = new JCheckBox("" + Language.USE_MAIN_FONT);
|
timerSameFont = new JCheckBox("" + Language.USE_MAIN_FONT);
|
||||||
timerSameFont.setSelected(segFont.equals(mainFont));
|
timerSameFont.setSelected(timerSegFontName.equals(timerFontName));
|
||||||
timerSegFont.setEnabled(!timerSameFont.isSelected());
|
timerSegFont.setEnabled(!timerSameFont.isSelected());
|
||||||
timerSameFont.addActionListener(this);
|
timerSameFont.addActionListener(this);
|
||||||
|
|
||||||
|
@ -125,10 +178,31 @@ public class TabComponents extends SettingsTab
|
||||||
}
|
}
|
||||||
} else if (source.equals(timerSegFont)) {
|
} else if (source.equals(timerSegFont)) {
|
||||||
String fontName = timerSegFont.getSelectedItem().toString();
|
String fontName = timerSegFont.getSelectedItem().toString();
|
||||||
Font font = Font.decode(fontName).deriveFont(
|
Font font = Font.decode(fontName).deriveFont(
|
||||||
(float) Settings.coreSegmentTimerFont.get().getSize()
|
(float) Settings.coreSegmentTimerFont.get().getSize()
|
||||||
);
|
);
|
||||||
Settings.coreSegmentTimerFont.set(font);
|
Settings.coreSegmentTimerFont.set(font);
|
||||||
|
} else if (source.equals(headerTitleFont)) {
|
||||||
|
String fontName = headerTitleFont.getSelectedItem().toString();
|
||||||
|
Font font = Font.decode(fontName).deriveFont(
|
||||||
|
(float) Settings.headerTitleFont.get().getSize()
|
||||||
|
);
|
||||||
|
Settings.headerTitleFont.set(font);
|
||||||
|
|
||||||
|
} else if (source.equals(coreFont)) {
|
||||||
|
String fontName = coreFont.getSelectedItem().toString();
|
||||||
|
Font font = Font.decode(fontName).deriveFont(
|
||||||
|
(float) Settings.coreFont.get().getSize()
|
||||||
|
);
|
||||||
|
Settings.coreFont.set(font);
|
||||||
|
|
||||||
|
} else if (source.equals(otherTimeFont)) {
|
||||||
|
String fontName = otherTimeFont.getSelectedItem().toString();
|
||||||
|
Font font = Font.decode(fontName).deriveFont(
|
||||||
|
(float) Settings.coreOtherTimeFont.get().getSize()
|
||||||
|
);
|
||||||
|
Settings.coreOtherTimeFont.set(font);
|
||||||
|
|
||||||
} else if (source.equals(timerSameFont)) {
|
} else if (source.equals(timerSameFont)) {
|
||||||
timerSegFont.setEnabled(!timerSameFont.isSelected());
|
timerSegFont.setEnabled(!timerSameFont.isSelected());
|
||||||
if (timerSameFont.isSelected()) {
|
if (timerSameFont.isSelected()) {
|
||||||
|
@ -152,6 +226,24 @@ public class TabComponents extends SettingsTab
|
||||||
Settings.coreSegmentTimerFont.set(
|
Settings.coreSegmentTimerFont.set(
|
||||||
Settings.coreSegmentTimerFont.get().deriveFont((float) size)
|
Settings.coreSegmentTimerFont.get().deriveFont((float) size)
|
||||||
);
|
);
|
||||||
|
} else if (source.equals(headerTitleSize)) {
|
||||||
|
int size = (Integer) headerTitleSize.getValue();
|
||||||
|
Settings.headerTitleFont.set(
|
||||||
|
Settings.headerTitleFont.get().deriveFont((float) size)
|
||||||
|
);
|
||||||
|
|
||||||
|
} else if (source.equals(coreFontSize)) {
|
||||||
|
int size = (Integer) coreFontSize.getValue();
|
||||||
|
Settings.coreFont.set(
|
||||||
|
Settings.coreFont.get().deriveFont((float) size)
|
||||||
|
);
|
||||||
|
|
||||||
|
} else if (source.equals(otherTimeSize)) {
|
||||||
|
int size = (Integer) otherTimeSize.getValue();
|
||||||
|
Settings.coreOtherTimeFont.set(
|
||||||
|
Settings.coreOtherTimeFont.get().deriveFont((float) size)
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,12 +261,17 @@ public class TabComponents extends SettingsTab
|
||||||
setLayout(new GridBagLayout());
|
setLayout(new GridBagLayout());
|
||||||
|
|
||||||
JPanel fontPanel = new JPanel(new GridBagLayout()); {
|
JPanel fontPanel = new JPanel(new GridBagLayout()); {
|
||||||
|
fontPanel.setBorder(
|
||||||
|
BorderFactory.createTitledBorder("" + Language.PN_FONTS)
|
||||||
|
);
|
||||||
|
|
||||||
fontPanel.add(
|
fontPanel.add(
|
||||||
new JLabel("" + Language.setting_core_timerFont),
|
new JLabel("" + Language.setting_core_timerFont),
|
||||||
GBC.grid(0, 0).anchor(GBC.LS).insets(0, 5)
|
GBC.grid(0, 0).anchor(GBC.LS).insets(0, 5)
|
||||||
);
|
);
|
||||||
fontPanel.add(timerFont, GBC.grid(1, 0));
|
fontPanel.add(timerFont, GBC.grid(1, 0));
|
||||||
fontPanel.add(timerSize, GBC.grid(2, 0).insets(0, 5));
|
fontPanel.add(timerSize, GBC.grid(2, 0).insets(0, 5));
|
||||||
|
|
||||||
fontPanel.add(
|
fontPanel.add(
|
||||||
new JLabel("" + Language.setting_core_segmentTimerFont),
|
new JLabel("" + Language.setting_core_segmentTimerFont),
|
||||||
GBC.grid(0, 1).anchor(GBC.LS).insets(3, 5)
|
GBC.grid(0, 1).anchor(GBC.LS).insets(3, 5)
|
||||||
|
@ -185,9 +282,27 @@ public class TabComponents extends SettingsTab
|
||||||
);
|
);
|
||||||
fontPanel.add(timerSegFont, GBC.grid(1, 2));
|
fontPanel.add(timerSegFont, GBC.grid(1, 2));
|
||||||
fontPanel.add(timerSegSize, GBC.grid(2, 2).insets(0, 5));
|
fontPanel.add(timerSegSize, GBC.grid(2, 2).insets(0, 5));
|
||||||
fontPanel.setBorder(
|
|
||||||
BorderFactory.createTitledBorder("" + Language.PN_FONTS)
|
fontPanel.add(
|
||||||
|
new JLabel("" + Language.setting_header_titleFont),
|
||||||
|
GBC.grid(0, 3).anchor(GBC.LS).insets(0, 5)
|
||||||
);
|
);
|
||||||
|
fontPanel.add(headerTitleFont, GBC.grid(1, 3));
|
||||||
|
fontPanel.add(headerTitleSize, GBC.grid(2, 3).insets(0, 5));
|
||||||
|
|
||||||
|
fontPanel.add(
|
||||||
|
new JLabel("" + Language.setting_core_font),
|
||||||
|
GBC.grid(0, 4).anchor(GBC.LS).insets(0, 5)
|
||||||
|
);
|
||||||
|
fontPanel.add(coreFont, GBC.grid(1, 4));
|
||||||
|
fontPanel.add(coreFontSize, GBC.grid(2, 4).insets(0, 5));
|
||||||
|
|
||||||
|
fontPanel.add(
|
||||||
|
new JLabel("" + Language.setting_core_otherTimeFont),
|
||||||
|
GBC.grid(0, 5).anchor(GBC.LS).insets(0, 5)
|
||||||
|
);
|
||||||
|
fontPanel.add(otherTimeFont, GBC.grid(1, 5));
|
||||||
|
fontPanel.add(otherTimeSize, GBC.grid(2, 5).insets(0, 5));
|
||||||
}
|
}
|
||||||
JPanel timerPanel = new JPanel(new GridBagLayout()); {
|
JPanel timerPanel = new JPanel(new GridBagLayout()); {
|
||||||
timerPanel.add(
|
timerPanel.add(
|
||||||
|
|
|
@ -39,6 +39,7 @@ GLOBAL_HOTKEYS_HOOK_ERROR = Key event hook registration failed. You will need to
|
||||||
setting_header_goal = Display Goal
|
setting_header_goal = Display Goal
|
||||||
setting_header_title = Display Run Title
|
setting_header_title = Display Run Title
|
||||||
setting_header_showAttempts = Display Attempt Counter
|
setting_header_showAttempts = Display Attempt Counter
|
||||||
|
setting_header_titleFont = Main Title
|
||||||
|
|
||||||
# Settings > History
|
# Settings > History
|
||||||
setting_history_rowCount = Number of Rows
|
setting_history_rowCount = Number of Rows
|
||||||
|
@ -66,6 +67,8 @@ setting_core_bestTime = Best Time
|
||||||
setting_core_segmentTimer = Segment Timer
|
setting_core_segmentTimer = Segment Timer
|
||||||
setting_core_timerFont = Main Timer
|
setting_core_timerFont = Main Timer
|
||||||
setting_core_segmentTimerFont = Segment Timer
|
setting_core_segmentTimerFont = Segment Timer
|
||||||
|
setting_core_font = General
|
||||||
|
setting_core_otherTimeFont = General Timer
|
||||||
|
|
||||||
# Settings > Graph
|
# Settings > Graph
|
||||||
setting_graph_display = Display Graph
|
setting_graph_display = Display Graph
|
||||||
|
|
Reference in a new issue