package eu.jucy.gui.settings;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.IntegerFieldEditor;
import org.eclipse.jface.preference.StringFieldEditor;
import uc.PI;
import eu.jucy.gui.Lang;
public class Advanced extends UCPrefpage {
public Advanced() {
super(PI.PLUGIN_ID,"eu.jucy.gui.help.Preferences_Advanced");
}
@Override
protected void createFieldEditors() {
StringFieldEditor includes = new StringFieldEditor(PI.includeFiles,Lang.IncludedFiles ,50 ,
getFieldEditorParent()) {
@Override
public boolean doCheckState() {
try {
String s = getStringValue();
Pattern.compile(s);
} catch(PatternSyntaxException e) {
return false;
}
return true;
}
};
addField(includes);
StringFieldEditor excludes = new StringFieldEditor(PI.excludedFiles,Lang.ExcludedFiles ,50,
getFieldEditorParent()) {
@Override
public boolean doCheckState() {
try {
String s = getStringValue();
Pattern.compile(s);
} catch(PatternSyntaxException e) {
return false;
}
return true;
}
};
addField(excludes);
IntegerFieldEditor maxHashSpeed= new IntegerFieldEditor(PI.maxHashSpeed,
Lang.MaxHashSpeed,
getFieldEditorParent());
maxHashSpeed.setValidRange(0, 100000);
addField(maxHashSpeed);
IntegerFieldEditor filelistRefreshInterval= new IntegerFieldEditor(PI.filelistRefreshInterval,
Lang.FilelistRefreshInterval,
getFieldEditorParent());
filelistRefreshInterval.setValidRange(5, 60*24*3); //max 3 days
addField(filelistRefreshInterval);
StringFieldEditor bindAddress = new StringFieldEditor(PI.bindAddress,"Bind address (empty for default)" ,
getFieldEditorParent());
addField(bindAddress);
IntegerFieldEditor minimumSegmentSize= new IntegerFieldEditor(PI.minimumSegmentSize,
"Minimum Segment Size(MiB)",
getFieldEditorParent());
minimumSegmentSize.setValidRange(5, Integer.MAX_VALUE);
addField(minimumSegmentSize);
IntegerFieldEditor autoSearchInterval= new IntegerFieldEditor(PI.autoSearchInterval,
"Interval for Automatic search for alternatives (in Minutes)",
getFieldEditorParent());
autoSearchInterval.setValidRange(1, Integer.MAX_VALUE/600);
addField(autoSearchInterval);
BooleanFieldEditor fullTextSearch = new BooleanFieldEditor(PI.fullTextSearch,
"Allow full text search",
getFieldEditorParent());
addField(fullTextSearch);
}
}