package com.noticeditorteam.noticeditor.model; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.prefs.Preferences; /** * Preferences helper. * * @author aNNiMON */ public final class Prefs { private static final Preferences user = Preferences.userRoot(); public static Locale getLocale() { Locale defLocale = Locale.getDefault(); return new Locale (user.get("locale", defLocale.getLanguage())); } public static void setLocale(Locale newLocale) { user.put("locale", newLocale.getLanguage()); } public static String getLastDirectory() { return user.get("last_directory", System.getProperty("user.home")); } public static void setLastDirectory(String path) { user.put("last_directory", path); } public static List<String> getRecentFiles() { final List<String> files = new ArrayList<>(10); final Preferences recent = user.node("recent_files"); final int count = recent.getInt("count", 0); for (int i = 0; i < count; i++) { files.add(recent.get(String.valueOf(i), "")); } return files; } public static void addToRecentFiles(String path) { final Preferences recent = user.node("recent_files"); final int count = Math.min(9, recent.getInt("count", 0)); // Shift values for (int i = count - 1; i >= 0; i--) { recent.put(String.valueOf(i + 1), recent.get(String.valueOf(i), "")); } recent.put("0", path); recent.putInt("count", count + 1); } }