@Override public int indexOf(Object elem) { for(int i = 0; i < this.size(); i++) { if(this.get(i).equals(elem)) { return i; } } return -1; }
@Override public int lastIndexOf(Object elem) { for(int i = this.size() - 1; i >= 0; i--) { if(this.get(i).equals(elem)) { return i; } } return -1; }
public T itemForIndex(final NSInteger index) { return collection.get(index.intValue()); }
public ProgressController getController(final int row) { return this.getController(this.getSource().get(row)); }
public String tableView_typeSelectStringForTableColumn_row(final NSTableView view, final NSTableColumn column, final NSInteger row) { return transferTableModel.getSource().get(row.intValue()).getName(); } }).id());
@Action public void deleteButtonClicked(final ID sender) { final NSIndexSet selected = transferTable.selectedRowIndexes(); final Collection<Transfer> transfers = transferTableModel.getSource(); int i = 0; final List<Transfer> remove = new ArrayList<Transfer>(); for(NSUInteger index = selected.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = selected.indexGreaterThanIndex(index)) { final Transfer t = transfers.get(index.intValue() - i); if(!t.isRunning()) { remove.add(t); } } collection.removeAll(remove); collection.save(); }
@Action public void openButtonClicked(final ID sender) { if(transferTable.numberOfSelectedRows().intValue() == 1) { final Transfer transfer = transferTableModel.getSource().get(transferTable.selectedRow().intValue()); for(TransferItem l : transfer.getRoots()) { ApplicationLauncherFactory.get().open(l.local); } } }
@Action public void trashButtonClicked(final ID sender) { final NSIndexSet selected = transferTable.selectedRowIndexes(); final Collection<Transfer> transfers = transferTableModel.getSource(); for(NSUInteger index = selected.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = selected.indexGreaterThanIndex(index)) { final Transfer transfer = transfers.get(index.intValue()); if(!transfer.isRunning()) { for(TransferItem l : transfer.getRoots()) { try { LocalTrashFactory.get().trash(l.local); } catch(AccessDeniedException e) { log.warn(String.format("Failure trashing file %s %s", l.local, e.getMessage())); } } } } this.updateIcon(); }
@Action public void stopButtonClicked(final ID sender) { final NSIndexSet selected = transferTable.selectedRowIndexes(); for(NSUInteger index = selected.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = selected.indexGreaterThanIndex(index)) { final Transfer transfer = transferTableModel.getSource().get(index.intValue()); if(transfer.isRunning()) { // Find matching background task for(BackgroundAction action : registry.toArray(new BackgroundAction[registry.size()])) { if(action instanceof TransferBackgroundAction) { final TransferBackgroundAction t = (TransferBackgroundAction) action; if(t.getTransfer().equals(transfer)) { t.cancel(); } } } } } }
@Action public void revealButtonClicked(final ID sender) { final NSIndexSet selected = transferTable.selectedRowIndexes(); final Collection<Transfer> transfers = transferTableModel.getSource(); final RevealService reveal = RevealServiceFactory.get(); for(NSUInteger index = selected.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = selected.indexGreaterThanIndex(index)) { final Transfer transfer = transfers.get(index.intValue()); for(TransferItem l : transfer.getRoots()) { reveal.reveal(l.local); } } }
/** * Validates the selected items in the transfer window against the toolbar validator * * @param validator The validator to use * @return True if one or more of the selected items passes the validation test */ private boolean validate(final InnerTransferValidator validator) { final NSIndexSet iterator = controller.getTransferTable().selectedRowIndexes(); final Collection<Transfer> transfers = controller.getTransferTableModel().getSource(); for(NSUInteger index = iterator.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = iterator.indexGreaterThanIndex(index)) { final Transfer transfer = transfers.get(index.intValue()); if(validator.validate(transfer)) { return true; } } return false; }
@Action public void resumeButtonClicked(final ID sender) { final NSIndexSet selected = transferTable.selectedRowIndexes(); for(NSUInteger index = selected.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = selected.indexGreaterThanIndex(index)) { final Collection<Transfer> transfers = transferTableModel.getSource(); final Transfer transfer = transfers.get(index.intValue()); if(!transfer.isRunning()) { final TransferOptions options = new TransferOptions(); options.resumeRequested = true; options.reloadRequested = false; this.start(transfer, options); } } }
@Action public void reloadButtonClicked(final ID sender) { final NSIndexSet selected = transferTable.selectedRowIndexes(); for(NSUInteger index = selected.firstIndex(); !index.equals(NSIndexSet.NSNotFound); index = selected.indexGreaterThanIndex(index)) { final Collection<Transfer> transfers = transferTableModel.getSource(); final Transfer transfer = transfers.get(index.intValue()); if(!transfer.isRunning()) { final TransferOptions options = new TransferOptions(); options.resumeRequested = false; options.reloadRequested = true; this.start(transfer, options); } } }
private void updateIcon() { final int selected = transferTable.numberOfSelectedRows().intValue(); if(1 == selected) { final Transfer transfer = transferTableModel.getSource().get(transferTable.selectedRow().intValue()); // Draw file type icon if(transfer.getRoots().size() == 1) { if(transfer.getLocal() != null) { iconView.setImage(IconCacheFactory.<NSImage>get().fileIcon(transfer.getRoot().local, 32)); } else { iconView.setImage(IconCacheFactory.<NSImage>get().fileIcon(transfer.getRoot().remote, 32)); } } else { iconView.setImage(IconCacheFactory.<NSImage>get().iconNamed("NSMultipleDocuments", 32)); } } else { iconView.setImage(null); } }
private void updateLabels() { final int selected = transferTable.numberOfSelectedRows().intValue(); if(1 == selected) { final Transfer transfer = transferTableModel.getSource().get(transferTable.selectedRow().intValue()); // Draw text fields at the bottom final String remote = transfer.getRemote().getUrl(); urlField.setAttributedStringValue(HyperlinkAttributedStringFactory.create(remote)); final String local = transfer.getLocal(); if(local != null) { localField.setAttributedStringValue( HyperlinkAttributedStringFactory.create(local, LocalFactory.get(local))); } else { localField.setStringValue(StringUtils.EMPTY); } } else { urlField.setStringValue(StringUtils.EMPTY); localField.setStringValue(StringUtils.EMPTY); } }