package com.faforever.client.preferences; import com.faforever.client.chat.ChatColorMode; import javafx.beans.property.BooleanProperty; import javafx.beans.property.DoubleProperty; import javafx.beans.property.IntegerProperty; import javafx.beans.property.MapProperty; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleMapProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableMap; import javafx.scene.paint.Color; import static com.faforever.client.chat.ChatColorMode.CUSTOM; public class ChatPrefs { private final DoubleProperty zoom; private final BooleanProperty learnedAutoComplete; private final BooleanProperty previewImageUrls; private final IntegerProperty maxMessages; private final ObjectProperty<ChatColorMode> chatColorMode; private final IntegerProperty channelTabScrollPaneWidth; private final MapProperty<String, Color> userToColor; private final BooleanProperty hideFoeMessages; public ChatPrefs() { maxMessages = new SimpleIntegerProperty(500); zoom = new SimpleDoubleProperty(1); learnedAutoComplete = new SimpleBooleanProperty(false); previewImageUrls = new SimpleBooleanProperty(true); hideFoeMessages = new SimpleBooleanProperty(true); channelTabScrollPaneWidth = new SimpleIntegerProperty(250); userToColor = new SimpleMapProperty<>(FXCollections.observableHashMap()); chatColorMode = new SimpleObjectProperty<>(CUSTOM); } public ChatColorMode getChatColorMode() { return chatColorMode.get(); } public void setChatColorMode(ChatColorMode chatColorMode) { this.chatColorMode.set(chatColorMode); } public ObjectProperty<ChatColorMode> chatColorModeProperty() { return chatColorMode; } public ObservableMap<String, Color> getUserToColor() { return userToColor.get(); } public void setUserToColor(ObservableMap<String, Color> userToColor) { this.userToColor.set(userToColor); } public MapProperty<String, Color> userToColorProperty() { return userToColor; } public boolean getPreviewImageUrls() { return previewImageUrls.get(); } public void setPreviewImageUrls(boolean previewImageUrls) { this.previewImageUrls.set(previewImageUrls); } public BooleanProperty previewImageUrlsProperty() { return previewImageUrls; } public Double getZoom() { return zoom.getValue(); } public void setZoom(Double zoom) { this.zoom.set(zoom); } public void setZoom(double zoom) { this.zoom.set(zoom); } public DoubleProperty zoomProperty() { return zoom; } public boolean getLearnedAutoComplete() { return learnedAutoComplete.get(); } public void setLearnedAutoComplete(boolean learnedAutoComplete) { this.learnedAutoComplete.set(learnedAutoComplete); } public BooleanProperty learnedAutoCompleteProperty() { return learnedAutoComplete; } public int getMaxMessages() { return maxMessages.get(); } public void setMaxMessages(int maxMessages) { this.maxMessages.set(maxMessages); } public IntegerProperty maxMessagesProperty() { return maxMessages; } public int getChannelTabScrollPaneWidth() { return channelTabScrollPaneWidth.get(); } public void setChannelTabScrollPaneWidth(int channelTabScrollPaneWidth) { this.channelTabScrollPaneWidth.set(channelTabScrollPaneWidth); } public IntegerProperty channelTabScrollPaneWidthProperty() { return channelTabScrollPaneWidth; } public boolean getHideFoeMessages() { return hideFoeMessages.get(); } public void setHideFoeMessages(boolean hideFoeMessages) { this.hideFoeMessages.set(hideFoeMessages); } public BooleanProperty hideFoeMessagesProperty() { return hideFoeMessages; } }