96 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package mplayer4anime;
 | 
						|
 | 
						|
import java.util.prefs.Preferences;
 | 
						|
 | 
						|
// Rule application settings
 | 
						|
public class AppPreferences {
 | 
						|
 | 
						|
    private Preferences preferences;
 | 
						|
 | 
						|
    public AppPreferences(){
 | 
						|
        preferences = Preferences.userRoot().node("mplayer4anime");
 | 
						|
    }
 | 
						|
 | 
						|
    public void setPath(String path){
 | 
						|
        preferences.put("PATH", path);
 | 
						|
    }
 | 
						|
 | 
						|
    public String getPath(){
 | 
						|
        return preferences.get("PATH", "mplayer");
 | 
						|
    }
 | 
						|
 | 
						|
    /* Return subtitles priority to show
 | 
						|
    * TRUE - Subtitles tab opens first
 | 
						|
    *  FALSE - Subtitles tab opens as usual
 | 
						|
    */
 | 
						|
    public boolean getSubtilesFirst(){
 | 
						|
        return preferences.getBoolean("SUBS_TAB_FIRST", false);
 | 
						|
    }
 | 
						|
 | 
						|
    public void setSubtilesFirst(boolean set){
 | 
						|
        preferences.putBoolean("SUBS_TAB_FIRST", set);
 | 
						|
    }
 | 
						|
 | 
						|
    // Set option, that tells that we have to save/restore lists on startup
 | 
						|
    public void setLoadListsOnStart(boolean set){
 | 
						|
        preferences.putBoolean("LOAD_LISTS_ON_START", set);
 | 
						|
    }
 | 
						|
    // Returns settings for the save/restore lists option
 | 
						|
    public boolean getLoadListsOnStart(){
 | 
						|
        return preferences.getBoolean("LOAD_LISTS_ON_START", false);   // Don't populate lists by-default
 | 
						|
    }
 | 
						|
 | 
						|
    /** Convert strings array to singls string. Used in:
 | 
						|
     *                                                  setSubsExtensionsList
 | 
						|
     *                                                  setSubsCodepageList
 | 
						|
     */
 | 
						|
    private void storeSingleStringList(String whichList, String[] strArr){
 | 
						|
        StringBuilder collect = new StringBuilder();
 | 
						|
        for (String e : strArr) {
 | 
						|
            collect.append(e);
 | 
						|
            collect.append("@@@");  // If there is some idiot who will use @@@ in file extension I'll find him.
 | 
						|
        }
 | 
						|
        String strToStore = collect.toString();
 | 
						|
        preferences.put(whichList, strToStore);
 | 
						|
    }
 | 
						|
 | 
						|
     /** Handle lists of the subtitles extensions selector */
 | 
						|
    public void setSubsExtensionsList(String[] subsList){ storeSingleStringList("SUBS_EXTENSIONS_LIST", subsList); }
 | 
						|
    public String[] getSubsExtensionsList(){ return preferences.get("SUBS_EXTENSIONS_LIST", ".ass@@@.crt@@@").split("@@@"); }
 | 
						|
 | 
						|
    /** Handle lists of the subtitles codepage selector */
 | 
						|
    public void setSubsCodepageList(String[] subsCodepageList){ storeSingleStringList("SUBS_CODEPAGE_LIST", subsCodepageList); }
 | 
						|
    public String[] getSubsCodepageList(){ return preferences.get("SUBS_CODEPAGE_LIST", "default@@@utf8@@@cp1251@@@koi8-r").split("@@@"); }
 | 
						|
 | 
						|
    // Save & recover selected by user Subtitles format
 | 
						|
    public void setLastTimeUsedSusExt(String selected){ preferences.put("SUBS_EXT_LAST_TIME_SELECTED", selected); }
 | 
						|
    public String  getLastTimeUsedSubsExt(){ return preferences.get("SUBS_EXT_LAST_TIME_SELECTED", ""); }
 | 
						|
 | 
						|
    // Save & recover selected by user Subtitles codepage
 | 
						|
    public void setLastTimeUsedSubsCodepage(String selected){ preferences.put("SUBS_CODEPAGE_LAST_TIME_SELECTED", selected); }
 | 
						|
    public String  getLastTimeUsedSubsCodepage(){ return preferences.get("SUBS_CODEPAGE_LAST_TIME_SELECTED", ""); }
 | 
						|
 | 
						|
    // Save & recover Full Screen checkbox, if selected
 | 
						|
    public boolean getFullScreenSelected(){
 | 
						|
        return preferences.getBoolean("FULL_SCREEN_SELECTED", false);
 | 
						|
    }
 | 
						|
    public void setFullScreenSelected(boolean set){ preferences.putBoolean("FULL_SCREEN_SELECTED", set); }
 | 
						|
 | 
						|
    /** Lists managment */
 | 
						|
    // Return lists itself of the latest opened folders (used only in Controller.class)
 | 
						|
    private String getList(String whichList){
 | 
						|
        return preferences.get(whichList, "");
 | 
						|
    }
 | 
						|
    // Save lists itself of the latest opened folders (used only in Controller.class)
 | 
						|
    private void setList(String whichList, String value){
 | 
						|
        preferences.put(whichList, value);
 | 
						|
    }
 | 
						|
 | 
						|
    public String getListMKV(){ return getList("MKV"); }
 | 
						|
    public String getListMKA(){ return getList("MKA"); }
 | 
						|
    public String getListSUB(){ return getList("SUB"); }
 | 
						|
 | 
						|
    public void setListMKV(String value){setList("MKV", value);}
 | 
						|
    public void setListMKA(String value){setList("MKA", value);}
 | 
						|
    public void setListSUB(String value){setList("SUB", value);}
 | 
						|
}
 |