/******************************************************************************* * Copyright (c) 2014 MEDEVIT. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * T. Huster - initial API and implementation *******************************************************************************/ package at.medevit.elexis.ehc.ui.preference; import java.io.File; import org.eclipse.jface.preference.DirectoryFieldEditor; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import ch.elexis.core.data.activator.CoreHub; import ch.elexis.core.ui.preferences.SettingsPreferenceStore; public class PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { public static String EHC_OUTPUTDIR = "at.medevit.elexis.ehc.ui.output.dir"; //$NON-NLS-1$ public static String EHC_INPUTDIR = "at.medevit.elexis.ehc.ui.input.dir"; //$NON-NLS-1$ @Override public void init(IWorkbench workbench){ setPreferenceStore(new SettingsPreferenceStore(CoreHub.userCfg)); setDescription("e-Health Connector Einstellungen"); initDirectories(); } public static void initDirectories(){ if (CoreHub.userCfg.get(EHC_OUTPUTDIR, "notset").equals("notset")) { File outputDir = new File(getDefaultOutputDir()); if (!outputDir.exists()) { outputDir.mkdirs(); } CoreHub.userCfg.set(EHC_OUTPUTDIR, getDefaultOutputDir()); } if (CoreHub.userCfg.get(EHC_INPUTDIR, "notset").equals("notset")) { File inputDir = new File(getDefaultInputDir()); if (!inputDir.exists()) { inputDir.mkdirs(); } CoreHub.userCfg.set(EHC_INPUTDIR, getDefaultInputDir()); } } @Override protected void createFieldEditors(){ FieldEditor editor; editor = new DirectoryFieldEditor(EHC_OUTPUTDIR, "Standard Ausgabeverzeichnis", getFieldEditorParent()); addField(editor); editor = new DirectoryFieldEditor(EHC_INPUTDIR, "Standard Eingangsverzeichnis", getFieldEditorParent()); addField(editor); } public static String getDefaultOutputDir(){ return CoreHub.getWritableUserDir() + File.separator + "eHC" + File.separator + "output"; } public static String getDefaultInputDir(){ return CoreHub.getWritableUserDir() + File.separator + "eHC" + File.separator + "input"; } }