Revision 76f91765 src/gr/ebs/gss/client/SearchResults.java

b/src/gr/ebs/gss/client/SearchResults.java
247 247
	private FileContextMenu menuShowing;
248 248
	private DragAndDropCellTable<FileResource> celltable;
249 249
	private final MultiSelectionModel<FileResource> selectionModel;
250
	private final List<SortableHeader> allHeaders = new ArrayList<SortableHeader>();
251
	SortableHeader nameHeader;
250
	
252 251
	GssSimplePager pager;
253 252
	GssSimplePager pagerTop;
254 253
	/**
......
345 344
			
346 345
		};
347 346
		initDragOperation(nameColumn);
348
		celltable.addColumn(nameColumn,nameHeader = new SortableHeader("Name"));
349
		allHeaders.add(nameHeader);
350
		//nameHeader.setSorted(true);
351
		//nameHeader.toggleReverseSort();
352
		nameHeader.setUpdater(new FileValueUpdater(nameHeader, "name"));
353
		celltable.redrawHeaders();
354
		
347
		celltable.addColumn(nameColumn,"Name");
355 348
		
356
	    
357
	    
358
	    SortableHeader aheader;
359 349
	    DragAndDropColumn<FileResource,String> aColumn;
360 350
		celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) {
361 351
			@Override
362 352
			public String getValue(FileResource object) {
363 353
				return GSS.get().findUserFullName(object.getOwner());
364 354
			}			
365
		},aheader = new SortableHeader("Owner"));
355
		},"Owner");
366 356
		initDragOperation(aColumn);
367
		allHeaders.add(aheader);
368
		aheader.setUpdater(new FileValueUpdater(aheader, "owner"));
357
		
369 358
		celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) {
370 359
			@Override
371 360
			public String getValue(FileResource object) {
......
373 362
					return object.getPath()+" (In Trash)";
374 363
				return object.getPath();
375 364
			}			
376
		},aheader = new SortableHeader("Path"));
365
		},"Path");
377 366
		initDragOperation(aColumn);
378
		allHeaders.add(aheader);
379 367
		
380
		aheader.setUpdater(new FileValueUpdater(aheader, "path"));	
368
		
369
			
381 370
		celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) {
382 371
			@Override
383 372
			public String getValue(FileResource object) {
384 373
				return object.getVersion().toString();
385 374
			}			
386
		},aheader = new SortableHeader("Version"));
375
		},"Version");
387 376
		initDragOperation(aColumn);
388
		allHeaders.add(aheader);
389
		aheader.setUpdater(new FileValueUpdater(aheader, "version"));
377
		
378
		
390 379
		celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) {
391 380
			@Override
392 381
			public String getValue(FileResource object) {
393 382
				// TODO Auto-generated method stub
394 383
				return object.getFileSizeAsString();
395 384
			}			
396
		},aheader = new SortableHeader("Size"));
385
		},"Size");
397 386
		initDragOperation(aColumn);
398
		allHeaders.add(aheader);
399
		aheader.setUpdater(new FileValueUpdater(aheader, "size"));	
387
			
400 388
		celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) {
401 389
			@Override
402 390
			public String getValue(FileResource object) {
403 391
				return formatter.format(object.getModificationDate());
404 392
			}			
405
		},aheader = new SortableHeader("Last Modified"));
406
		allHeaders.add(aheader);
407
		aheader.setUpdater(new FileValueUpdater(aheader, "date"));
393
		},"Last Modified");
394
		
395
		
408 396
	       
409 397

  
410 398
		VerticalPanel vp = new VerticalPanel();
......
771 759
		});
772 760
	}
773 761
	
774
	final class FileValueUpdater implements ValueUpdater<String>{
775
		private String property;
776
		private SortableHeader header;
777
		/**
778
		 * 
779
		 */
780
		public FileValueUpdater(SortableHeader header,String property) {
781
			this.property=property;
782
			this.header=header;
783
		}
784
		@Override
785
		public void update(String value) {
786
			header.setSorted(true);
787
			header.toggleReverseSort();
788

  
789
	        for (SortableHeader otherHeader : allHeaders) {
790
	          if (otherHeader != header) {
791
	            otherHeader.setSorted(false);
792
	            otherHeader.setReverseSort(true);
793
	          }
794
	        }
795
	        celltable.redrawHeaders();
796
	        sortFiles(property, header.getReverseSort());
797
	        SearchResults.this.update(true);			
798
		}
799
		
800
	}
762
	
801 763
	/**
802 764
	 * Creates a new ArrayList<FileResources> from the given files ArrayList 
803 765
	 * in order that the input files remain untouched 

Also available in: Unified diff