Index: org/eclipse/team/internal/ccvs/ui/messages.properties =================================================================== RCS file: /home/eclipse/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/messages.properties,v retrieving revision 1.309 diff -u -b -r1.309 messages.properties --- org/eclipse/team/internal/ccvs/ui/messages.properties 17 Mar 2004 21:07:21 -0000 1.309 +++ org/eclipse/team/internal/ccvs/ui/messages.properties 19 Mar 2004 23:43:49 -0000 @@ -173,6 +173,7 @@ CVSOperationCancelledException.operationCancelled=Operation Cancelled CVSPropertiesPage.connectionType=&Connection type: +CVSPropertiesPage.encoding=Encoding: CVSPropertiesPage.user=&User: CVSPropertiesPage.password=&Password: CVSPropertiesPage.host=Host: @@ -309,10 +310,12 @@ ConfigurationWizardMainPage.host=&Host: ConfigurationWizardMainPage.useDefaultPort=Use &Default Port ConfigurationWizardMainPage.usePort=Use Por&t: +ConfigurationWizardMainPage.encoding=Encoding: ConfigurationWizardMainPage.repositoryPath=&Repository path: ConfigurationWizardMainPage.invalidUserName=Invalid User Name ConfigurationWizardMainPage.invalidHostName=Invalid Host Name ConfigurationWizardMainPage.invalidPort=Invalid Port +ConfigurationWizardMainPage.invalidEncoding=Invalid Encoding ConfigurationWizardMainPage.invalidPathWithSpaces=The repository path cannot have segments with leading or trailing spaces ConfigurationWizardMainPage.invalidPathWithSlashes=The repository path cannot contain a double slash (//) ConfigurationWizardMainPage.useNTFormat=Use NT path names for specifying CVSNT repository paths (e.g. C:\\cvs\\root) Index: org/eclipse/team/internal/ccvs/ui/repo/CVSRepositoryPropertiesPage.java =================================================================== RCS file: /home/eclipse/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/CVSRepositoryPropertiesPage.java,v retrieving revision 1.14 diff -u -b -r1.14 CVSRepositoryPropertiesPage.java --- org/eclipse/team/internal/ccvs/ui/repo/CVSRepositoryPropertiesPage.java 25 Feb 2004 20:34:53 -0000 1.14 +++ org/eclipse/team/internal/ccvs/ui/repo/CVSRepositoryPropertiesPage.java 19 Mar 2004 23:43:50 -0000 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.team.internal.ccvs.ui.repo; +import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Iterator; @@ -56,6 +57,7 @@ ICVSRepositoryLocation location; // Widgets + Text encodingText; Text userText; Text passwordText; Combo methodType; @@ -118,6 +120,9 @@ createLabel(composite, Policy.bind("CVSPropertiesPage.connectionType"), 1); //$NON-NLS-1$ methodType = createCombo(composite); + createLabel(composite, Policy.bind("CVSPropertiesPage.encoding"), 1); //$NON-NLS-1$ + encodingText = createTextField(composite); + createLabel(composite, Policy.bind("CVSPropertiesPage.user"), 1); //$NON-NLS-1$ userText = createTextField(composite); @@ -143,6 +148,13 @@ initializeValues(); updateWidgetEnablements(); + + encodingText.addListener(SWT.Modify, new Listener() { + public void handleEvent(Event event) { + connectionInfoChanged = true; + updateWidgetEnablements(); + } + }); passwordText.addListener(SWT.Modify, new Listener() { public void handleEvent(Event event) { passwordChanged = true; @@ -315,6 +327,7 @@ String method = location.getMethod().getName(); methodType.select(methodType.indexOf(method)); info = location.getUserInfo(true); + encodingText.setText(location.getEncoding()); userText.setText(info.getUsername()); passwordText.setText("*********"); //$NON-NLS-1$ hostLabel.setText(location.getHost()); @@ -460,6 +473,7 @@ result[0] = true; } }); + location.setEncoding(encodingText.getText()); return result[0]; } catch (InvocationTargetException e) { handle(e); @@ -523,6 +537,19 @@ setValid(false); return; } + + try { + String enc = encodingText.getText(); + if(enc!=null){ + byte[] b = "".getBytes(enc); + } + } catch (UnsupportedEncodingException ex) { + setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidEncoding")); //$NON-NLS-1$ + setValid(false); + return; + } + + setErrorMessage(null); setValid(true); } Index: org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java =================================================================== RCS file: /home/eclipse/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java,v retrieving revision 1.9 diff -u -b -r1.9 RepositoriesViewContentHandler.java --- org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java 14 Oct 2003 16:59:31 -0000 1.9 +++ org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java 19 Mar 2004 23:43:50 -0000 @@ -43,6 +43,7 @@ public static final String TYPE_ATTRIBUTE = "type"; //$NON-NLS-1$ public static final String READ_ID_ATTRIBUTE = "read-id"; //$NON-NLS-1$ public static final String WRITE_ID_ATTRIBUTE = "write-id"; //$NON-NLS-1$ + public static final String ENCODING_ATTRIBUTE = "encoding"; //$NON-NLS-1$ public static final String[] TAG_TYPES = {"head", "branch", "version", "date"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ public static final String DEFAULT_TAG_TYPE = "version"; //$NON-NLS-1$ @@ -126,6 +127,12 @@ } catch (CVSException e) { throw new SAXException(Policy.bind("RepositoriesViewContentHandler.errorCreatingRoot", id), e); //$NON-NLS-1$ } + + String encoding = atts.getValue(ENCODING_ATTRIBUTE); + if (encoding == null) { + encoding = System.getProperty("file.encoding"); + } + root.setEncoding(encoding); currentRepositoryRoot = new RepositoryRoot(root); String name = atts.getValue(NAME_ATTRIBUTE); if (name != null) { Index: org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java =================================================================== RCS file: /home/eclipse/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java,v retrieving revision 1.19 diff -u -b -r1.19 RepositoryRoot.java --- org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java 4 Dec 2003 16:54:14 -0000 1.19 +++ org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java 19 Mar 2004 23:43:51 -0000 @@ -335,6 +335,10 @@ if (name != null) { attributes.put(RepositoriesViewContentHandler.NAME_ATTRIBUTE, name); } + String encoding = root.getEncoding(); + if (encoding != null) { + attributes.put(RepositoriesViewContentHandler.ENCODING_ATTRIBUTE, encoding); + } String readLocation = ((CVSRepositoryLocation)root).getReadLocation(); if (readLocation != null) { attributes.put(RepositoriesViewContentHandler.READ_ID_ATTRIBUTE, readLocation); Index: org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java =================================================================== RCS file: /home/eclipse/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java,v retrieving revision 1.25 diff -u -b -r1.25 ConfigurationWizardMainPage.java --- org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java 10 Oct 2003 20:52:46 -0000 1.25 +++ org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java 19 Mar 2004 23:43:51 -0000 @@ -11,6 +11,7 @@ package org.eclipse.team.internal.ccvs.ui.wizards; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -57,6 +58,8 @@ private Text passwordText; // Port private Text portText; + // Encoding + private Text encodingText; private Button useDefaultPort; private Button useCustomPort; // Host @@ -197,6 +200,12 @@ portText = createTextField(portGroup); portText.addListener(SWT.Modify, listener); + // encoding + createLabel(g, Policy.bind("ConfigurationWizardMainPage.encoding")); //$NON-NLS-1$ + encodingText = createTextField(g); + encodingText.addListener(SWT.Modify, listener); + encodingText.setText(System.getProperty("file.encoding")); + // create a composite to ensure the validate button is in its own tab group if (showValidate) { Composite validateButtonTabGroup = new Composite(composite, SWT.NONE); @@ -259,6 +268,7 @@ result.setProperty("user", userCombo.getText()); //$NON-NLS-1$ result.setProperty("password", passwordText.getText()); //$NON-NLS-1$ result.setProperty("host", hostCombo.getText()); //$NON-NLS-1$ + result.setProperty("encoding", encodingText.getText()); //$NON-NLS-1$ if (useCustomPort.getSelection()) { result.setProperty("port", portText.getText()); //$NON-NLS-1$ } @@ -477,6 +487,19 @@ return; } } + + try { + String enc = encodingText.getText(); + if(enc!=null){ + byte[] b = "".getBytes(enc); + } + } catch (UnsupportedEncodingException ex) { + setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidEncoding")); //$NON-NLS-1$ + setPageComplete(false); + return; + } + + setErrorMessage(null); setPageComplete(true); }