@Override public void save(final Host bookmark, final Local directory) { if(!directory.exists()) { return; } if(log.isInfoEnabled()) { log.info(String.format("Save default download folder %s for bookmark %s", directory, bookmark)); } bookmark.setDownloadFolder(directory); if(collection.contains(bookmark)) { collection.collectionItemChanged(bookmark); } } }
break; case "LocalDir": current.setDownloadFolder(LocalFactory.get(elementText)); break; case "RemoteDir":
bookmark.setDownloadFolder(LocalFactory.get(downloadObjDeprecated.toString())); bookmark.setDownloadFolder(new LocalDictionary(deserializer).deserialize(downloadObj));
public void downloadPathPanelDidEnd_returnCode_contextInfo(NSOpenPanel sheet, final int returncode, ID contextInfo) { switch(returncode) { case SheetCallback.DEFAULT_OPTION: final NSObject selected = sheet.filenames().lastObject(); if(selected != null) { bookmark.setDownloadFolder(LocalFactory.get(selected.toString())); } break; } final NSMenuItem item = downloadPathPopup.itemAtIndex(new NSInteger(0)); final Local folder = new DownloadDirectoryFinder().find(bookmark); item.setTitle(folder.getDisplayName()); item.setRepresentedObject(folder.getAbsolute()); item.setImage(IconCacheFactory.<NSImage>get().fileIcon(folder, 16)); downloadPathPopup.selectItem(item); downloadFolderOpenPanel = null; this.update(); }
@Action public void downloadPathPopupClicked(final NSPopUpButton sender) { if(null == sender.selectedItem().representedObject()) { downloadFolderOpenPanel = NSOpenPanel.openPanel(); downloadFolderOpenPanel.setCanChooseFiles(false); downloadFolderOpenPanel.setCanChooseDirectories(true); downloadFolderOpenPanel.setAllowsMultipleSelection(false); downloadFolderOpenPanel.setCanCreateDirectories(true); downloadFolderOpenPanel.beginSheetForDirectory(null, null, this.window, this.id(), Foundation.selector("downloadPathPanelDidEnd:returnCode:contextInfo:"), null); } else { final Local folder = LocalFactory.get(sender.selectedItem().representedObject()); bookmark.setDownloadFolder(folder); this.update(); } }