Add combobox to select a font
... no actual functionality behinfd it, yet
This commit is contained in:
parent
ac135b3e0b
commit
0b762eba0d
|
@ -50,11 +50,14 @@ import javafx.beans.property.SimpleLongProperty;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.beans.value.ObservableValue;
|
import javafx.beans.value.ObservableValue;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.ComboBox;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.ListCell;
|
||||||
import javafx.scene.control.Tab;
|
import javafx.scene.control.Tab;
|
||||||
import javafx.scene.control.TextInputDialog;
|
import javafx.scene.control.TextInputDialog;
|
||||||
import javafx.scene.layout.Background;
|
import javafx.scene.layout.Background;
|
||||||
|
@ -68,6 +71,7 @@ import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.Region;
|
import javafx.scene.layout.Region;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.scene.text.Font;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
public class SettingsTab extends Tab implements TabSelectionListener {
|
public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
|
@ -229,6 +233,8 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
Setting.of("Total model count in title", totalModelCountInTitle, "Show the total number of models in the title bar"),
|
Setting.of("Total model count in title", totalModelCountInTitle, "Show the total number of models in the title bar"),
|
||||||
Setting.of("Start Tab", startTab),
|
Setting.of("Start Tab", startTab),
|
||||||
Setting.of("Colors (Base / Accent)", new ColorSettingsPane(Config.getInstance())).needsRestart()
|
Setting.of("Colors (Base / Accent)", new ColorSettingsPane(Config.getInstance())).needsRestart()
|
||||||
|
//,
|
||||||
|
//Setting.of("Font", buildFontFaceCombo()).needsRestart()
|
||||||
),
|
),
|
||||||
Group.of("Player",
|
Group.of("Player",
|
||||||
Setting.of("Player", mediaPlayer),
|
Setting.of("Player", mediaPlayer),
|
||||||
|
@ -611,4 +617,29 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ComboBox<String> buildFontFaceCombo() {
|
||||||
|
ObservableList<String> lst = FXCollections.observableList(javafx.scene.text.Font.getFamilies());
|
||||||
|
ComboBox<String> cb = new ComboBox<>(lst);
|
||||||
|
cb.getSelectionModel().select(0);
|
||||||
|
cb.setCellFactory((listview -> new ListCell<String>() {
|
||||||
|
@Override
|
||||||
|
protected void updateItem(String family, boolean empty) {
|
||||||
|
super.updateItem(family, empty);
|
||||||
|
if (empty) {
|
||||||
|
setText(null);
|
||||||
|
} else {
|
||||||
|
setFont(Font.font(family));
|
||||||
|
setText(family);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
cb.setOnAction(evt -> {
|
||||||
|
// TODO write a css file with the font setting
|
||||||
|
// System.out.println(evt);
|
||||||
|
// Font font = Font.font(cb.getSelectionModel().getSelectedItem());
|
||||||
|
// SettingsTab.this.getTabPane().getScene().getStylesheets().add(".root {-fx-font: 24 '" + font.getFamily() + "';}");
|
||||||
|
});
|
||||||
|
return cb;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue