package eu.etaxonomy.taxeditor.preference;
import java.io.IOException;
+import java.util.Locale;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.PlatformUI;
import eu.etaxonomy.taxeditor.Messages;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
/**
* @author n.hoffmann
private CCombo combo;
PreferencesUtil preferencesUtil = new PreferencesUtil();
+ private boolean isSelectionChanged = false;
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
public void widgetSelected(SelectionEvent e) {
try {
preferencesUtil.writePropertyToConfigFile(combo.getSelectionIndex());
+ isSelectionChanged = true;
} catch (IOException e1) {
- e1.printStackTrace();
+ MessagingUtils.messageDialog("Failed to write Config.ini", LanguageEditorPreferencePage.class,
+ "Language switch failed, because could not write to Folder. No writing permissions!", null);
}
}
}else if(rememberedValue.equalsIgnoreCase("de")){ //$NON-NLS-1$
combo.select(0);
}
+ }else{
+ Locale locale = Locale.getDefault();
+ if(locale.getLanguage().equals(new Locale("de").getLanguage())){
+ combo.select(0);
+ }else if(locale.getLanguage().equals(new Locale("en").getLanguage())){
+ combo.select(1);
+ }
}
}
@Override
public boolean performOk() {
try {
- preferencesUtil.writePropertyToConfigFile(combo.getSelectionIndex());
- boolean result = MessageDialog.openConfirm(getShell(), Messages.LanguageEditorPreferencePage_PleaseRestart, Messages.LanguageEditorPreferencePage_EditorHasToRestart);
- if(result){
- //Press Ok
- PlatformUI.getWorkbench().restart();
+ if(isSelectionChanged){
+ preferencesUtil.writePropertyToConfigFile(combo.getSelectionIndex());
+ boolean result = MessageDialog.openConfirm(getShell(), Messages.LanguageEditorPreferencePage_PleaseRestart, Messages.LanguageEditorPreferencePage_EditorHasToRestart);
+ if(result){
+ //Press Ok
+ PlatformUI.getWorkbench().restart();
+ }
}
} catch (IOException e) {
e.printStackTrace();