public void save() { ensureLocation(); for (int i = 0; i < sets.size(); i++) { ScopeSet set = (ScopeSet) sets.get(i); set.save(); } IDialogSettings settings = HelpUIPlugin.getDefault().getDialogSettings(); if (activeSet != null) settings.put(ACTIVE_SET, activeSet.getName()); }
/** @return Returns the activeSet. */ public ScopeSet getActiveSet() { if (activeSet == null) { IDialogSettings settings = HelpUIPlugin.getDefault().getDialogSettings(); String name = settings.get(ACTIVE_SET); activeSet = findSet(name); if (activeSet == null) { return (ScopeSet) sets.get(0); } if (!activeSet.isImplicit()) lastExplicitSet = activeSet; } return activeSet; }
public void save() { getPreferenceStore(); if (preferenceStore.needsSaving() || needsSaving) { try { if (defaultSet != -1) preferenceStore.setValue(KEY_DEFAULT, defaultSet > 0); preferenceStore.save(); needsSaving = false; } catch (IOException e) { String message = Messages.bind(Messages.ScopeSet_errorSaving, name); HelpUIPlugin.logError(message, e); } } }
public IPreferenceStore getPreferenceStore() { if (preferenceStore == null) { preferenceStore = new PreferenceStore(getFileName(this.name)); try { File file = new File(getFileName(this.name)); if (file.exists()) { preferenceStore.load(); } } catch (IOException e) { String message = Messages.bind(Messages.ScopeSet_errorLoading, name); HelpUIPlugin.logError(message, e); } } return preferenceStore; }
private void loadScopeSets() { sets = new ArrayList(); IPath location = HelpUIPlugin.getDefault().getStateLocation(); location = location.append("scope_sets"); // $NON-NLS-1$ File dir = location.toFile(); defSet = null; if (dir.exists() && dir.isDirectory()) { File[] files = dir.listFiles( new FilenameFilter() { public boolean accept(File dir, String name) { return name.endsWith(ScopeSet.EXT) || name.endsWith(HistoryScopeSet.EXT); } }); for (int i = 0; i < files.length; i++) { File file = files[i]; String name = file.getName(); int loc = name.lastIndexOf(ScopeSet.EXT); if (loc != -1) { ScopeSet set = new ScopeSet(name.substring(0, loc)); sets.add(set); if (set.isDefault()) defSet = set; continue; } loc = name.lastIndexOf(HistoryScopeSet.EXT); if (loc != -1) { HistoryScopeSet set = new HistoryScopeSet(name.substring(0, loc), null); sets.add(set); } } } if (sets.size() == 1) { activeSet = (ScopeSet) sets.get(0); } if (defSet == null) { defSet = new ScopeSet(); sets.add(defSet); } }
/** @param name The name to set. */ public void setName(String name) { String oldFileName = getFileName(this.name); File oldFile = new File(oldFileName); if (oldFile.exists()) { // store under the old name already exists if (preferenceStore == null) { // just rename the file oldFile.renameTo(new File(getFileName(name))); } else { // remove the old file, set the new file name, // then save to create the new file oldFile.delete(); preferenceStore.setFilename(getFileName(name)); try { preferenceStore.save(); } catch (IOException e) { String message = Messages.bind(Messages.ScopeSet_errorSaving, name); HelpUIPlugin.logError(message, e); } } } this.name = name; }
private String getFileName(String name) { IPath location = HelpUIPlugin.getDefault().getStateLocation(); location = location.append(SCOPE_DIR_NAME); location = location.append(encodeFileName(name) + getExtension()); return location.toOSString(); }
public static void ensureLocation() { IPath location = HelpUIPlugin.getDefault().getStateLocation(); location = location.append(ScopeSet.SCOPE_DIR_NAME); File dir = location.toFile(); if (dir.exists() == false) dir.mkdir(); }