Revision a2f617f8 src/gr/grnet/pithos/web/client/Toolbar.java

b/src/gr/grnet/pithos/web/client/Toolbar.java
51 51

  
52 52
	Pithos app;
53 53
	
54
	private Anchor newFolderButton;
54
	Anchor newFolderButton;
55 55
	
56
	private Anchor shareFolderButton;
56
	Anchor shareFolderButton;
57 57
	
58
	private Anchor refreshButton;
58
	Anchor refreshButton;
59 59
	
60 60
	private Anchor toolsButton;
61 61
	
......
153 153
	}
154 154
	
155 155
	public void showRelevantButtons() {
156
		Folder folder = app.getSelectedTree().getSelection();
156
		final Folder folder = app.getSelectedTree().getSelection();
157 157
		if (folder != null) {
158
	        Boolean[] permissions = folder.getPermissions().get(app.getUsername());
159
	    	boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]);
160
	    	boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView());
161
	    	boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView());
162
	    	
163
	    	if (isFolderTreeSelected || otherSharedTreeSelected)
164
	    		refreshButton.setVisible(true);
165
	    	else
166
	    		refreshButton.setVisible(true);
167
	    	
168
	    	if (!folder.isInTrash() && canWrite) {
169
	    		if (isFolderTreeSelected || otherSharedTreeSelected)
170
	    			newFolderButton.setVisible(true);
171
	    		if (isFolderTreeSelected && !folder.isContainer())
172
	    			shareFolderButton.setVisible(true);
173
	    		else
174
	    			shareFolderButton.setVisible(false);
175
	    	}
176
	    	else {
177
	    		newFolderButton.setVisible(false);
178
	    		shareFolderButton.setVisible(false);
179
	    	}
158
			app.scheduleFolderHeadCommand(folder, new Command() {
159
				
160
				@Override
161
				public void execute() {
162
			        Boolean[] permissions = folder.getPermissions().get(app.getUsername());
163
			    	boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]);
164
			    	boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView());
165
			    	boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView());
166
			    	
167
			    	if (isFolderTreeSelected || otherSharedTreeSelected)
168
			    		refreshButton.setVisible(true);
169
			    	else
170
			    		refreshButton.setVisible(true);
171
			    	
172
			    	if (!folder.isInTrash() && canWrite) {
173
			    		if (isFolderTreeSelected || otherSharedTreeSelected)
174
			    			newFolderButton.setVisible(true);
175
			    		if (isFolderTreeSelected && !folder.isContainer())
176
			    			shareFolderButton.setVisible(true);
177
			    		else
178
			    			shareFolderButton.setVisible(false);
179
			    	}
180
			    	else {
181
			    		newFolderButton.setVisible(false);
182
			    		shareFolderButton.setVisible(false);
183
			    	}
184
				}
185
			});
180 186
		}
181 187
		else {
182 188
			newFolderButton.setVisible(false);

Also available in: Unified diff