@Action public void uploadButtonClicked(final ID sender) { uploadPanel = NSOpenPanel.openPanel(); uploadPanel.setCanChooseDirectories(true); uploadPanel.setCanChooseFiles(pool.getFeature(Touch.class).isSupported( new UploadTargetFinder(workdir).find(this.getSelectedPath()) )); uploadPanel.setCanCreateDirectories(false); uploadPanel.setTreatsFilePackagesAsDirectories(true); uploadPanel.setAllowsMultipleSelection(true); uploadPanel.setPrompt(LocaleFactory.localizedString("Upload", "Transfer")); if(uploadPanel.respondsToSelector(Foundation.selector("setShowsHiddenFiles:"))) { uploadPanelHiddenFilesCheckbox = NSButton.buttonWithFrame(new NSRect(0, 0)); uploadPanelHiddenFilesCheckbox.setTitle(LocaleFactory.localizedString("Show Hidden Files")); uploadPanelHiddenFilesCheckbox.setTarget(this.id()); uploadPanelHiddenFilesCheckbox.setAction(Foundation.selector("uploadPanelSetShowHiddenFiles:")); uploadPanelHiddenFilesCheckbox.setButtonType(NSButton.NSSwitchButton); uploadPanelHiddenFilesCheckbox.setState(NSCell.NSOffState); uploadPanelHiddenFilesCheckbox.sizeToFit(); uploadPanel.setAccessoryView(uploadPanelHiddenFilesCheckbox); } uploadPanel.beginSheetForDirectory(new UploadDirectoryFinder().find(pool.getHost()).getAbsolute(), null, this.window, this.id(), Foundation.selector("uploadPanelDidEnd:returnCode:contextInfo:"), null); }
@Override public NSView getAccessoryView(final NSAlert alert) { view = NSView.create(new NSRect(alert.window().frame().size.width.doubleValue(), 0)); if(options.keychain) { keychainCheckbox = NSButton.buttonWithFrame(new NSRect(alert.window().frame().size.width.doubleValue(), 18)); keychainCheckbox.setTitle(LocaleFactory.localizedString("Save Password", "Keychain")); keychainCheckbox.setAction(Foundation.selector("keychainCheckboxClicked:")); keychainCheckbox.setTarget(this.id()); keychainCheckbox.setButtonType(NSButton.NSSwitchButton); keychainCheckbox.setState(options.save ? NSCell.NSOnState : NSCell.NSOffState); keychainCheckbox.sizeToFit(); // Override accessory view with location menu added keychainCheckbox.setFrameOrigin(new NSPoint(0, this.getFrame(alert, view).size.height.doubleValue())); view.addSubview(keychainCheckbox); } inputField = NSSecureTextField.textfieldWithFrame(new NSRect(alert.window().frame().size.width.doubleValue(), 22)); inputField.cell().setPlaceholderString(options.getPasswordPlaceholder()); inputField.setFrameOrigin(new NSPoint(0, this.getFrame(alert, view).size.height.doubleValue() + view.subviews().count().doubleValue() * SUBVIEWS_VERTICAL_SPACE)); view.addSubview(inputField); return view; }