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

b/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
37 37
import com.google.gwt.core.client.Scheduler;
38 38
import com.google.gwt.event.dom.client.KeyDownEvent;
39 39
import com.google.gwt.user.client.Command;
40
import gr.grnet.pithos.web.client.FilePropertiesDialog.Images;
40 41
import gr.grnet.pithos.web.client.foldertree.File;
41 42
import gr.grnet.pithos.web.client.foldertree.Folder;
42 43
import gr.grnet.pithos.web.client.foldertree.Resource;
......
82 83
	 */
83 84
	private final boolean create;
84 85

  
86
    private PermissionsList permList;
87

  
85 88
	final Folder folder;
86 89

  
87 90
	final TabPanel inner;
......
89 92
	/**
90 93
	 * The widget's constructor.
91 94
	 */
92
	public FolderPropertiesDialog(Pithos app, boolean _create,  Folder selected) {
95
	public FolderPropertiesDialog(final Pithos app, boolean _create,  Folder selected) {
93 96
        this.app = app;
94 97
		setAnimationEnabled(true);
95 98

  
......
111 114
		// Inner contains generalPanel and permPanel
112 115
		inner = new DecoratedTabPanel();
113 116
		inner.setAnimationEnabled(true);
117

  
114 118
		VerticalPanel generalPanel = new VerticalPanel();
115
		VerticalPanel permPanel = new VerticalPanel();
116
		final HorizontalPanel permForAll = new HorizontalPanel();
117
		final HorizontalPanel pathPanel = new HorizontalPanel();
118
		HorizontalPanel buttons = new HorizontalPanel();
119
		HorizontalPanel permButtons = new HorizontalPanel();
120

  
121
		inner.add(generalPanel, "General");
122
		if (!create)
123
			inner.add(permPanel, "Sharing");
124
		inner.selectTab(0);
125

  
126
		FlexTable generalTable = new FlexTable();
127
		generalTable.setText(0, 0, "Name");
128
		generalTable.setText(1, 0, "Parent");
129
		generalTable.setText(2, 0, "Creator");
130
		generalTable.setText(3, 0, "Last modified");
131
		folderName.setText(create ? "" : folder.getName());
119
        FlexTable generalTable = new FlexTable();
120
        generalTable.setText(0, 0, "Name");
121
        generalTable.setText(1, 0, "Parent");
122
        generalTable.setText(2, 0, "Creator");
123
        generalTable.setText(3, 0, "Last modified");
124
        folderName.setText(create ? "" : folder.getName());
132 125
        folderName.setReadOnly(folder.isContainer() && !create);
133
		generalTable.setWidget(0, 1, folderName);
126
        generalTable.setWidget(0, 1, folderName);
127

  
128
        if (create)
129
            generalTable.setText(1, 1, folder.getName());
130
        else
131
            generalTable.setText(1, 1, folder.getPrefix());
132
        generalTable.setText(2, 1, "");
133
        DateTimeFormat formatter = DateTimeFormat.getFormat("d/M/yyyy h:mm a");
134
        if(folder.getLastModified() != null)
135
            generalTable.setText(3, 1, formatter.format(folder.getLastModified()));
136
        generalTable.getFlexCellFormatter().setStyleName(0, 0, "props-labels");
137
        generalTable.getFlexCellFormatter().setStyleName(1, 0, "props-labels");
138
        generalTable.getFlexCellFormatter().setStyleName(2, 0, "props-labels");
139
        generalTable.getFlexCellFormatter().setStyleName(3, 0, "props-labels");
140
        generalTable.getFlexCellFormatter().setStyleName(0, 1, "props-values");
141
        generalTable.getFlexCellFormatter().setStyleName(1, 1, "props-values");
142
        generalTable.getFlexCellFormatter().setStyleName(2, 1, "props-values");
143
        generalTable.getFlexCellFormatter().setStyleName(3, 1, "props-values");
144
        generalTable.setCellSpacing(4);
145
        generalPanel.add(generalTable);
146
        inner.add(generalPanel, "General");
147

  
148
        VerticalPanel permPanel = new VerticalPanel();
149
        FilePropertiesDialog.Images images = GWT.create(FilePropertiesDialog.Images.class);
150
        boolean permsReadonly = folder.getInheritedPermissionsFrom() != null || folder.existChildrenPermissions();
151
        permList = new PermissionsList(images, folder.getPermissions(), folder.getOwner(), permsReadonly);
152
        permPanel.add(permList);
153
        final HorizontalPanel permForAll = new HorizontalPanel();
154
        final HorizontalPanel pathPanel = new HorizontalPanel();
155

  
156
        if (!permsReadonly) {
157
            HorizontalPanel permButtons = new HorizontalPanel();
158
            Button add = new Button("Add Group", new ClickHandler() {
159
                @Override
160
                public void onClick(ClickEvent event) {
161
                    PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);
162
                    dlg.center();
163
                }
164
            });
165
            permButtons.add(add);
166
            permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER);
134 167

  
135
		if (create)
136
			generalTable.setText(1, 1, folder.getName());
137
		else
138
			generalTable.setText(1, 1, folder.getPrefix());
139
		generalTable.setText(2, 1, "");
140
		DateTimeFormat formatter = DateTimeFormat.getFormat("d/M/yyyy h:mm a");
141
		if(folder.getLastModified() != null)
142
			generalTable.setText(3, 1, formatter.format(folder.getLastModified()));
143
		generalTable.getFlexCellFormatter().setStyleName(0, 0, "props-labels");
144
		generalTable.getFlexCellFormatter().setStyleName(1, 0, "props-labels");
145
		generalTable.getFlexCellFormatter().setStyleName(2, 0, "props-labels");
146
		generalTable.getFlexCellFormatter().setStyleName(3, 0, "props-labels");
147
		generalTable.getFlexCellFormatter().setStyleName(0, 1, "props-values");
148
		generalTable.getFlexCellFormatter().setStyleName(1, 1, "props-values");
149
		generalTable.getFlexCellFormatter().setStyleName(2, 1, "props-values");
150
		generalTable.getFlexCellFormatter().setStyleName(3, 1, "props-values");
151
		generalTable.setCellSpacing(4);
168
            Button addUser = new Button("Add User", new ClickHandler() {
169
                @Override
170
                public void onClick(ClickEvent event) {
171
                    PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, true);
172
                    dlg.center();
173
                }
174
            });
175
            addUser.getElement().setId("folderPropertiesDialog.button.addUser");
176
            permButtons.add(addUser);
177
            permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER);
178
            permButtons.setSpacing(8);
179
            permButtons.addStyleName("gss-TabPanelBottom");
180
            permPanel.add(permButtons);
181
        }
152 182

  
183
        if (!create)
184
            inner.add(permPanel, "Sharing");
185
        inner.selectTab(0);
186

  
187
        outer.add(inner);
188

  
189
        HorizontalPanel buttons = new HorizontalPanel();
153 190
		// Create the 'Create/Update' button, along with a listener that hides the dialog
154 191
		// when the button is clicked and quits the application.
155 192
		String okLabel;
......
179 216
		buttons.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER);
180 217
		buttons.setSpacing(8);
181 218
		buttons.addStyleName("pithos-TabPanelBottom");
219
        outer.add(buttons);
220
        outer.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_CENTER);
221
        outer.addStyleName("pithos-TabPanelBottom");
182 222

  
183
		generalPanel.add(generalTable);
184

  
185

  
186
		outer.add(inner);
187
		outer.add(buttons);
188
		outer.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_CENTER);
189
		outer.addStyleName("pithos-TabPanelBottom");
190

  
191
		setWidget(outer);
192

  
193
		/*if (create)
194
			folderName.setFocus(true);
195
		else
196
			ok.setFocus(true);*/
223
        setWidget(outer);
197 224
	}
198 225

  
199 226
	@Override
......
212 239
			// enter or escape is pressed.
213 240
			switch (evt.getKeyCode()) {
214 241
				case KeyCodes.KEY_ENTER:
215
					closeDialog();
216 242
					createOrUpdateFolder();
243
                    closeDialog();
217 244
					break;
218 245
				case KeyCodes.KEY_ESCAPE:
219 246
					closeDialog();

Also available in: Unified diff