Revision ef3dd275 web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java

b/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
46 46

  
47 47
import com.google.gwt.core.client.GWT;
48 48
import com.google.gwt.dom.client.NativeEvent;
49
import com.google.gwt.event.dom.client.ChangeEvent;
50
import com.google.gwt.event.dom.client.ChangeHandler;
49 51
import com.google.gwt.event.dom.client.ClickEvent;
50 52
import com.google.gwt.event.dom.client.ClickHandler;
51 53
import com.google.gwt.event.dom.client.KeyCodes;
......
59 61
import com.google.gwt.user.client.ui.FlexTable;
60 62
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
61 63
import com.google.gwt.user.client.ui.HorizontalPanel;
64
import com.google.gwt.user.client.ui.Label;
62 65
import com.google.gwt.user.client.ui.TabPanel;
63 66
import com.google.gwt.user.client.ui.TextBox;
64 67
import com.google.gwt.user.client.ui.VerticalPanel;
......
75 78
	/**
76 79
	 * The widget that holds the folderName of the folder.
77 80
	 */
78
	private TextBox folderName = new TextBox();
81
	TextBox folderName = new TextBox();
79 82

  
80 83
	/**
81 84
	 * A flag that denotes whether the dialog will be used to create or modify a
......
136 139
        generalTable.setText(1, 0, "Parent");
137 140
        generalTable.setText(2, 0, "Creator");
138 141
        generalTable.setText(3, 0, "Last modified");
139
        folderName.setText(create ? "" : folder.getName());
142

  
143
		folderName.setText(create ? "" : folder.getName());
140 144
        folderName.setReadOnly(folder.isContainer() && !create);
141 145
        generalTable.setWidget(0, 1, folderName);
142 146

  
147
        final Label folderNameNote = new Label("Please note that slashes ('/') are not allowed in folder names.", true);
148
		folderNameNote.setVisible(false);
149
		folderNameNote.setStylePrimaryName("gss-readForAllNote");
150
		generalTable.setWidget(0, 2, folderNameNote);
151
		
143 152
        if (create)
144 153
            generalTable.setText(1, 1, folder.getName());
145 154
        else
......
206 215
			okLabel = "Create";
207 216
		else
208 217
			okLabel = "Update";
209
		Button ok = new Button(okLabel, new ClickHandler() {
218
		final Button ok = new Button(okLabel, new ClickHandler() {
210 219
			@Override
211 220
			public void onClick(@SuppressWarnings("unused") ClickEvent event) {
212 221
				createOrUpdateFolder();
......
217 226
		outer.add(ok);
218 227
        outer.setCellHorizontalAlignment(inner, HasHorizontalAlignment.ALIGN_CENTER);
219 228

  
229
        folderName.addChangeHandler(new ChangeHandler() {
230
			
231
			@Override
232
			public void onChange(@SuppressWarnings("unused") ChangeEvent event) {
233
				if(folderName.getText().contains("/")) {
234
					folderNameNote.setVisible(true);
235
					ok.setEnabled(false);
236
				}
237
				else {
238
					folderNameNote.setVisible(false);
239
					ok.setEnabled(true);
240
				}
241
			}
242
		});
243

  
220 244
        setWidget(outer);
221 245
	}
222 246

  
......
259 283
	 * Generate an RPC request to create a new folder.
260 284
	 */
261 285
	private void createFolder() {
262
		String name = folderName.getText();
286
		String name = folderName.getText().trim();
263 287
        String path = folder.getUri() + "/" + name;
264 288
        PutRequest createFolder = new PutRequest(app.getApiPath(), folder.getOwner(), path) {
265 289
            @Override

Also available in: Unified diff