Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java46
1 files changed, 42 insertions, 4 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java
index 2d877bc6c..561dfd3c8 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2014 Wind River Systems, Inc. and others. 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:
- * Wind River Systems - initial API and implementation
+ * Wind River Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.tcf.te.ui.terminals.panels;
@@ -40,6 +40,7 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.tcf.te.runtime.services.ServiceManager;
import org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService;
import org.eclipse.tcf.te.runtime.services.interfaces.constants.IPropertiesAccessServiceConstants;
+import org.eclipse.tcf.te.runtime.services.interfaces.constants.ITerminalsConnectorConstants;
import org.eclipse.tcf.te.ui.controls.BaseDialogPageControl;
import org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
@@ -168,6 +169,19 @@ public abstract class AbstractConfigurationPanel extends AbstractWizardConfigura
}
}
+ // Restore the encodings widget values
+ doRestoreEncodingsWidgetValues(settings, idPrefix);
+ }
+
+ /**
+ * Restore the encodings widget values.
+ *
+ * @param settings The dialog settings. Must not be <code>null</code>.
+ * @param idPrefix The prefix or <code>null</code>.
+ */
+ protected void doRestoreEncodingsWidgetValues(IDialogSettings settings, String idPrefix) {
+ Assert.isNotNull(settings);
+
encodingHistory.clear();
String[] encodings = settings.getArray(ENCODINGS_TAG);
if (encodings != null && encodings.length > 0) {
@@ -176,6 +190,11 @@ public abstract class AbstractConfigurationPanel extends AbstractWizardConfigura
SWTControlUtil.add(encodingCombo, encoding, SWTControlUtil.getItemCount(encodingCombo) - 1);
}
}
+
+ String encoding = settings.get(getParentControl().prefixDialogSettingsSlotId(ITerminalsConnectorConstants.PROP_ENCODING, idPrefix));
+ if (encoding != null && encoding.trim().length() > 0) {
+ setEncoding(encoding);
+ }
}
/**
@@ -246,11 +265,30 @@ public abstract class AbstractConfigurationPanel extends AbstractWizardConfigura
}
}
+ // Save the encodings widget values
+ doSaveEncodingsWidgetValues(settings, idPrefix);
+ }
+
+ /**
+ * Save the encodings widget values.
+ *
+ * @param settings The dialog settings. Must not be <code>null</code>.
+ * @param idPrefix The prefix or <code>null</code>.
+ */
+ protected void doSaveEncodingsWidgetValues(IDialogSettings settings, String idPrefix) {
+ Assert.isNotNull(settings);
+
if (!encodingHistory.isEmpty()) {
settings.put(ENCODINGS_TAG, encodingHistory.toArray(new String[encodingHistory.size()]));
}
+
+ String encoding = getEncoding();
+ if (encoding != null) {
+ settings.put(getParentControl().prefixDialogSettingsSlotId(ITerminalsConnectorConstants.PROP_ENCODING, idPrefix), encoding);
+ }
}
+
protected abstract void saveSettingsForHost(boolean add);
protected abstract void fillSettingsForHost(String host);
@@ -519,7 +557,7 @@ public abstract class AbstractConfigurationPanel extends AbstractWizardConfigura
*
* @param encoding The encoding. Must not be <code>null</code>.
*/
- protected void setEncoding(String encoding) {
+ public void setEncoding(String encoding) {
Assert.isNotNull(encoding);
int index = SWTControlUtil.indexOf(encodingCombo, "ISO-8859-1".equals(encoding) ? "Default (ISO-8859-1)" : encoding); //$NON-NLS-1$ //$NON-NLS-2$
@@ -537,7 +575,7 @@ public abstract class AbstractConfigurationPanel extends AbstractWizardConfigura
*
* @return The selected encoding or <code>null</code>.
*/
- protected String getEncoding() {
+ public String getEncoding() {
String encoding = SWTControlUtil.getText(encodingCombo);
return encoding != null && encoding.startsWith("Default") ? null : encoding; //$NON-NLS-1$
}

Back to the top