public void createToolbarPanel(Shell dialog) { Composite chooserToolbarPanel = new Composite(dialog, SWT.NONE); chooserToolbarPanel.setLayout(new GridLayout(6, false)); GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); chooserToolbarPanel.setLayoutData(gridData); // changeRootButton = new Button(chooserToolbarPanel, SWT.PUSH); // changeRootButton.setToolTipText(Messages.getString("VfsFileChooserDialog.changeVFSRoot")); // //$NON-NLS-1$ // changeRootButton.setImage(new Image(chooserToolbarPanel.getDisplay(), // getClass().getResourceAsStream("/icons/network.gif"))); //$NON-NLS-1$ // gridData = new GridData(SWT.CENTER, SWT.CENTER, false, false); // changeRootButton.setLayoutData(gridData); // changeRootButton.addSelectionListener(this); Label parentFoldersLabel = new Label(chooserToolbarPanel, SWT.NONE); if (fileDialogMode != VFS_DIALOG_SAVEAS) { parentFoldersLabel.setText( Messages.getString("VfsFileChooserDialog.openFromFolder")); // $NON-NLS-1$ } else { parentFoldersLabel.setText( Messages.getString("VfsFileChooserDialog.saveInFolder")); // $NON-NLS-1$ } gridData = new GridData(SWT.FILL, SWT.CENTER, false, false); parentFoldersLabel.setLayoutData(gridData); openFileCombo = new Combo(chooserToolbarPanel, SWT.BORDER); gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); openFileCombo.setLayoutData(gridData); openFileCombo.addSelectionListener(this); openFileCombo.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent event) { // UP : // if ((event.keyCode == SWT.ARROW_UP) && ((event.stateMask & SWT.CONTROL) == 0) && ((event.stateMask & SWT.ALT) == 0)) { resolveVfsBrowser(); vfsBrowser.selectPreviousItem(); } // DOWN: // if ((event.keyCode == SWT.ARROW_DOWN) && ((event.stateMask & SWT.CONTROL) == 0) && ((event.stateMask & SWT.ALT) == 0)) { resolveVfsBrowser(); vfsBrowser.selectNextItem(); } } public void keyReleased(KeyEvent event) { if (event.keyCode == SWT.CR || event.keyCode == SWT.KEYPAD_CR) { try { // resolve the selected folder (without displaying access/secret keys in plain text) // FileObject newRoot = // rootFile.getFileSystem().getFileSystemManager().resolveFile(folderURL.getFolderURL(openFileCombo.getText())); // FileObject newRoot = // rootFile.getFileSystem().getFileSystemManager().resolveFile(getSelectedFile().getName().getURI()); FileObject newRoot = currentPanel.resolveFile(openFileCombo.getText()); vfsBrowser.resetVfsRoot(newRoot); } catch (FileSystemException e) { MessageBox errorDialog = new MessageBox(vfsBrowser.getDisplay().getActiveShell(), SWT.OK); errorDialog.setText( Messages.getString("VfsFileChooserDialog.error")); // $NON-NLS-1$ errorDialog.setMessage(e.getMessage()); errorDialog.open(); } } } }); folderUpButton = new Button(chooserToolbarPanel, SWT.PUSH); folderUpButton.setToolTipText( Messages.getString("VfsFileChooserDialog.upOneLevel")); // $NON-NLS-1$ folderUpButton.setImage(getFolderUpImage(chooserToolbarPanel.getDisplay())); gridData = new GridData(SWT.CENTER, SWT.CENTER, false, false); folderUpButton.setLayoutData(gridData); folderUpButton.addSelectionListener(this); deleteFileButton = new Button(chooserToolbarPanel, SWT.PUSH); deleteFileButton.setToolTipText( Messages.getString("VfsFileChooserDialog.deleteFile")); // $NON-NLS-1$ deleteFileButton.setImage(getDeleteImage(chooserToolbarPanel.getDisplay())); gridData = new GridData(SWT.CENTER, SWT.CENTER, false, false); deleteFileButton.setLayoutData(gridData); deleteFileButton.addSelectionListener(this); newFolderButton = new Button(chooserToolbarPanel, SWT.PUSH); newFolderButton.setToolTipText( Messages.getString("VfsFileChooserDialog.createNewFolder")); // $NON-NLS-1$ newFolderButton.setImage(getNewFolderImage(chooserToolbarPanel.getDisplay())); gridData = new GridData(SWT.CENTER, SWT.CENTER, false, false); newFolderButton.setLayoutData(gridData); newFolderButton.addSelectionListener(this); }
public void createCustomUIPanel(final Shell dialog) { customUIPanel = new Composite(dialog, SWT.NONE); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false); customUIPanel.setLayoutData(gridData); customUIPanel.setLayout(new GridLayout(1, false)); comboPanel = new Composite(customUIPanel, SWT.NONE); comboPanel.setLayoutData(gridData); comboPanel.setLayout(new GridLayout(2, false)); comboPanel.setData("donotremove"); Label lookInLabel = new Label(comboPanel, SWT.NONE); lookInLabel.setText(Messages.getString("VfsFileChooserDialog.LookIn")); gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false); lookInLabel.setLayoutData(gridData); customUIPicker = new Combo(comboPanel, SWT.READ_ONLY); gridData = new GridData(SWT.LEFT, SWT.CENTER, true, false); customUIPicker.setLayoutData(gridData); if (!showLocation) { comboPanel.setParent(fakeShell); } if (!showCustomUI) { customUIPanel.setParent(fakeShell); } customUIPicker.addSelectionListener( new SelectionListener() { public void widgetSelected(SelectionEvent event) { selectCustomUI(); } public void widgetDefaultSelected(SelectionEvent event) { selectCustomUI(); } }); customUIPicker.addKeyListener( new KeyListener() { public void keyReleased(KeyEvent arg0) { selectCustomUI(); } public void keyPressed(KeyEvent arg0) { selectCustomUI(); } }); boolean createdLocal = false; for (CustomVfsUiPanel panel : customUIPanels) { if (panel.getVfsScheme().equals("file")) { createdLocal = true; } } if (!createdLocal) { CustomVfsUiPanel localPanel = new CustomVfsUiPanel("file", "Local", this, SWT.None) { public void activate() { try { File startFile = new File(System.getProperty("user.home")); if (startFile == null || !startFile.exists()) { startFile = File.listRoots()[0]; } FileObject dot = fsm.resolveFile(startFile.toURI().toURL().toExternalForm()); rootFile = dot.getFileSystem().getRoot(); selectedFile = rootFile; setInitialFile(selectedFile); openFileCombo.setText(selectedFile.getName().getURI()); resolveVfsBrowser(); } catch (Throwable t) { } } }; addVFSUIPanel(localPanel); } }