package org.markdownwriterfx.options;
import java.util.prefs.Preferences;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import org.markdownwriterfx.util.Utils;
import org.pegdown.Extensions;
public class Options
{
private static Preferences options;
public static void load(Preferences options) {
Options.options = options;
setLineSeparator(options.get("lineSeparator", null));
setEncoding(options.get("encoding", null));
setMarkdownExtensions(options.getInt("markdownExtensions", Extensions.ALL));
setShowWhitespace(options.getBoolean("showWhitespace", false));
}
public static void save() {
Utils.putPrefs(options, "lineSeparator", getLineSeparator(), null);
Utils.putPrefs(options, "encoding", getEncoding(), null);
Utils.putPrefsInt(options, "markdownExtensions", getMarkdownExtensions(), Extensions.ALL);
Utils.putPrefsBoolean(options, "showWhitespace", isShowWhitespace(), false);
}
private static final StringProperty lineSeparator = new SimpleStringProperty();
public static String getLineSeparator() { return lineSeparator.get(); }
public static void setLineSeparator(String lineSeparator) { Options.lineSeparator.set(lineSeparator); }
public static StringProperty lineSeparatorProperty() { return lineSeparator; }
private static final StringProperty encoding = new SimpleStringProperty();
public static String getEncoding() { return encoding.get(); }
public static void setEncoding(String encoding) { Options.encoding.set(encoding); }
public static StringProperty encodingProperty() { return encoding; }
private static final IntegerProperty markdownExtensions = new SimpleIntegerProperty();
public static int getMarkdownExtensions() { return markdownExtensions.get(); }
public static void setMarkdownExtensions(int markdownExtensions) { Options.markdownExtensions.set(markdownExtensions); }
public static IntegerProperty markdownExtensionsProperty() { return markdownExtensions; }
private static final BooleanProperty showWhitespace = new SimpleBooleanProperty();
public static boolean isShowWhitespace() { return showWhitespace.get(); }
public static void setShowWhitespace(boolean showWhitespace) { Options.showWhitespace.set(showWhitespace); }
public static BooleanProperty showWhitespaceProperty() { return showWhitespace; }
}