private void makeActions() { encryptFilesAction = new Action() { public void run() { FileDialog fileDialog = new FileDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.MULTI); String tempPath = fileDialog.open(); if (tempPath == null) return; final File path = new File(tempPath); final String[] selectedFiles = fileDialog.getFileNames(); EncryptedFolderDob parentFolder = root; if (!treeViewer.getSelection().isEmpty()) { DroppedElement selectedElement = (DroppedElement) ((TreeSelection) treeViewer.getSelection()).getFirstElement(); if (selectedElement instanceof EncryptedFileDob) parentFolder = ((EncryptedFileDob) selectedElement).getParent(); else if (selectedElement instanceof EncryptedFolderDob) { parentFolder = (EncryptedFolderDob) selectedElement; treeViewer.expandToLevel( ((TreeSelection) treeViewer.getSelection()).getFirstElement(), 1); } } final EncryptedFolderDob parentFolderFinal = parentFolder; ProgressMonitorDialog progressDialog = new ProgressMonitorDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); try { progressDialog.open(); progressDialog.run( false, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask( Messages.TableView_ProgressMonitorDialog_Encrypt, selectedFiles.length + 2); monitor.worked(1); monitor.subTask(Messages.TableView_ProgressMonitor_SubTast_Handler); if (fileDropHandler == null) fileDropHandler = new FileDropHandler(); monitor.worked(1); fileDropHandler.processData( selectedFiles, path.getParent(), parentFolderFinal, monitor); monitor.done(); } }); } catch (InvocationTargetException e) { log.error(e.getMessage()); } catch (InterruptedException e) { log.error(e.getMessage()); } setSuccessfullyImported(); treeViewer.refresh(); SideBarView.updateFileTypeFilter(); } }; encryptFilesAction.setToolTipText(Messages.TableView_EncryptFile_Tooltip); encryptFilesAction.setImageDescriptor(Activator.getImageDescriptor("icons/encrypt.png")); newFolderAction = new Action() { public void run() { InputDialog newFolderDialog = new InputDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.TableView_NewFolderDialog_Title, Messages.TableView_NewFolderDialog, "", new SteadyInputValidator()); if (newFolderDialog.open() == Window.OK) { EncryptedFolderDob parentFolder = root; if (!treeViewer.getSelection().isEmpty()) { DroppedElement selectedElement = (DroppedElement) ((TreeSelection) treeViewer.getSelection()).getFirstElement(); if (selectedElement instanceof EncryptedFolderDob) parentFolder = (EncryptedFolderDob) selectedElement; else if (selectedElement instanceof EncryptedFileDob) parentFolder = ((EncryptedFileDob) selectedElement).getParent(); } parentFolder.addFolder( encryptedFolderDao.addFolder( new EncryptedFolder( newFolderDialog.getValue().trim(), new Date(System.currentTimeMillis()), "", parentFolder))); if (!treeViewer.getSelection().isEmpty()) { DroppedElement selectedElement = (DroppedElement) ((TreeSelection) treeViewer.getSelection()).getFirstElement(); if (selectedElement instanceof EncryptedFolderDob) treeViewer.expandToLevel( ((TreeSelection) treeViewer.getSelection()).getFirstElement(), 1); } statusline.setMessage( Activator.getImageDescriptor("icons/info.png").createImage(), NLS.bind(Messages.StatusLine_FolderCreated, newFolderDialog.getValue().trim())); treeViewer.refresh(); } } }; newFolderAction.setToolTipText(Messages.TableView_NewFolder_Tooltip); newFolderAction.setImageDescriptor(Activator.getImageDescriptor("icons/folder_add.png")); exportSelectionAction = new Action() { public void run() { if (!treeViewer.getSelection().isEmpty()) { final TreeSelection currentSelection = (TreeSelection) treeViewer.getSelection(); DirectoryDialog directoryDialog = new DirectoryDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.SAVE); directoryDialog.setText(Messages.TableView_ExportFileDialog_Title); final String path = directoryDialog.open(); if (path != null) { ProgressMonitorDialog progressDialog = new ProgressMonitorDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); try { progressDialog.open(); progressDialog.run( false, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask( Messages.TableView_ProgressMonitorDialog_Decrypt, currentSelection.size() + 2); monitor.worked(1); monitor.subTask(Messages.TableView_ProgressMonitor_SubTast_Handler); if (decryptHandler == null) decryptHandler = new DecryptHandler(); monitor.worked(1); decryptHandler.processData(currentSelection, path, monitor); monitor.done(); } }); } catch (InvocationTargetException e) { log.error(e.getMessage()); } catch (InterruptedException e) { log.error(e.getMessage()); } statusline.setMessage( Activator.getImageDescriptor("icons/info.png").createImage(), NLS.bind(Messages.StatusLine_Decrypted, remainingHddSpace())); treeViewer.refresh(); SideBarView.updateFileTypeFilter(); } } } }; exportSelectionAction.setText(Messages.TableView_ExportFile); exportSelectionAction.setToolTipText(Messages.TableView_ExportFile_Tooltip); exportSelectionAction.setImageDescriptor(Activator.getImageDescriptor("icons/export.png")); exportSelectionAction.setEnabled(false); exportSelectionToOrigPathAction = new Action() { public void run() { if (!treeViewer.getSelection().isEmpty()) { final TreeSelection currentSelection = (TreeSelection) treeViewer.getSelection(); if (!(((DroppedElement) currentSelection.getFirstElement()).getPath().length() == 0)) { ProgressMonitorDialog progressDialog = new ProgressMonitorDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); try { progressDialog.open(); progressDialog.run( false, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask(Messages.TableView_ProgressMonitorDialog_Decrypt, 3); monitor.worked(1); monitor.subTask(Messages.TableView_ProgressMonitor_SubTast_Handler); if (decryptHandler == null) decryptHandler = new DecryptHandler(); monitor.worked(1); decryptHandler.processData( (DroppedElement) currentSelection.getFirstElement(), monitor); monitor.done(); } }); } catch (InvocationTargetException e) { log.error(e.getMessage()); } catch (InterruptedException e) { log.error(e.getMessage()); } statusline.setMessage( Activator.getImageDescriptor("icons/info.png").createImage(), NLS.bind(Messages.StatusLine_Decrypted, remainingHddSpace())); treeViewer.refresh(); SideBarView.updateFileTypeFilter(); } else { MessageDialog.openInformation( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.TableView_InfoDialog_Title, Messages.TableView_ErrorDialog_SCFolder); exportSelectionAction.run(); } } } }; exportSelectionToOrigPathAction.setText(Messages.TableView_ExportFileToOrigPath); exportSelectionToOrigPathAction.setToolTipText(Messages.TableView_ExportFileToOrigPath_Tooltip); exportSelectionToOrigPathAction.setImageDescriptor( Activator.getImageDescriptor("icons/export.png")); exportSelectionToOrigPathAction.setEnabled(false); deleteSelectionAction = new Action() { public void run() { if (!treeViewer.getSelection().isEmpty()) { final TreeSelection currentSelection = (TreeSelection) treeViewer.getSelection(); if (MessageDialog.openQuestion( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.TableView_WarningDialog_Title, Messages.TableView_WarningDialog_Delete)) { ProgressMonitorDialog progressDialog = new ProgressMonitorDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); try { progressDialog.open(); progressDialog.run( false, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask( Messages.TableView_ProgressMonitorDialog_Delete, currentSelection.size() + 2); monitor.worked(1); monitor.subTask(Messages.TableView_ProgressMonitor_SubTast_Handler); if (deleteFileHandler == null) deleteFileHandler = new DeleteFileHandler(); monitor.worked(1); deleteFileHandler.processData(currentSelection, monitor); monitor.done(); } }); } catch (InvocationTargetException e) { log.error(e.getMessage()); e.printStackTrace(); } catch (InterruptedException e) { log.error(e.getMessage()); } statusline.setMessage( Activator.getImageDescriptor("icons/info.png").createImage(), NLS.bind(Messages.StatusLine_TDeleted, remainingHddSpace())); treeViewer.refresh(); SideBarView.updateFileTypeFilter(); } } } }; deleteSelectionAction.setText(Messages.TableView_DeleteFile); deleteSelectionAction.setToolTipText(Messages.TableView_DeleteFile_Tooltip); deleteSelectionAction.setImageDescriptor( Activator.getImageDescriptor(ISharedImages.IMG_ETOOL_DELETE)); deleteSelectionAction.setEnabled(false); renameAction = new Action() { @SuppressWarnings("unchecked") public void run() { if (!treeViewer.getSelection().isEmpty()) { Iterator<DroppedElement> selectedElementsIterator = ((TreeSelection) treeViewer.getSelection()).iterator(); while (selectedElementsIterator.hasNext()) { DroppedElement selectedElement = selectedElementsIterator.next(); String nameWithoutExtension = selectedElement instanceof EncryptedFileDob ? selectedElement .getName() .substring(0, selectedElement.getName().lastIndexOf(".")) : selectedElement.getName(); InputDialog renameDialog = new InputDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.TableView_RenameDialog_Title, NLS.bind(Messages.TableView_RenameDialog, nameWithoutExtension), nameWithoutExtension, new SteadyInputValidator()); if (renameDialog.open() == Window.OK) { if (selectedElement instanceof EncryptedFolderDob) { selectedElement.setName(renameDialog.getValue()); encryptedFolderDao.updateFolder((EncryptedFolderDob) selectedElement); } else if (selectedElement instanceof EncryptedFileDob) { selectedElement.setName( renameDialog.getValue() + "." + ((EncryptedFileDob) selectedElement).getType()); encryptedFileDao.updateFile((EncryptedFileDob) selectedElement); } } } treeViewer.refresh(); } } }; renameAction.setText(Messages.TableView_Rename); renameAction.setToolTipText(Messages.TableView_Rename); renameAction.setImageDescriptor(Activator.getImageDescriptor("icons/rename.png")); renameAction.setEnabled(false); expandAllAction = new Action() { public void run() { treeViewer.expandAll(); } }; expandAllAction.setToolTipText(Messages.TableView_ExpandAll_Tooltip); expandAllAction.setImageDescriptor(Activator.getImageDescriptor("icons/expandall.gif")); expandChildrenAction = new Action() { public void run() { treeViewer.expandToLevel( ((TreeSelection) treeViewer.getSelection()).getFirstElement(), TreeViewer.ALL_LEVELS); } }; expandChildrenAction.setText(Messages.TableView_ExpandChildren); expandChildrenAction.setToolTipText(Messages.TableView_ExpandChildren_Tooltip); expandChildrenAction.setImageDescriptor(Activator.getImageDescriptor("icons/expandall.gif")); expandChildrenAction.setEnabled(false); collapseAllAction = new Action() { public void run() { treeViewer.collapseAll(); } }; collapseAllAction.setToolTipText(Messages.TableView_CollapseAll_Tooltip); collapseAllAction.setImageDescriptor( Activator.getImageDescriptor(ISharedImages.IMG_ELCL_COLLAPSEALL)); collapseChildrenAction = new Action() { public void run() { treeViewer.collapseToLevel( ((TreeSelection) treeViewer.getSelection()).getFirstElement(), TreeViewer.ALL_LEVELS); } }; collapseChildrenAction.setText(Messages.TableView_CollapseChildren); collapseChildrenAction.setToolTipText(Messages.TableView_CollapseChildren_Tooltip); collapseChildrenAction.setImageDescriptor( Activator.getImageDescriptor(ISharedImages.IMG_ELCL_COLLAPSEALL)); collapseChildrenAction.setEnabled(false); }
public static void setSuccessfullyImported() { statusline.setMessage( Activator.getImageDescriptor("icons/info.png").createImage(), NLS.bind(Messages.StatusLine_Encrypted, remainingHddSpace())); }
public void createPartControl(Composite parent) { statusline = getViewSite().getActionBars().getStatusLineManager(); statusline.setMessage( Activator.getImageDescriptor("icons/info.png").createImage(), Messages.StatusLine_DropFilesHint); makeActions(); ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL); scrolledComposite.setExpandVertical(true); scrolledComposite.setExpandHorizontal(true); Composite content = new Composite(scrolledComposite, SWT.NONE); content.setLayout(new GridLayout(1, false)); scrolledComposite.setContent(content); toolBarManager = new ToolBarManager(); toolBarManager.add(encryptFilesAction); toolBarManager.add(newFolderAction); toolBarManager.add(new Separator("static")); toolBarManager.add(exportSelectionAction); toolBarManager.add(renameAction); toolBarManager.add(deleteSelectionAction); toolBarManager.add(new Separator("static")); toolBarManager.add(expandAllAction); toolBarManager.add(collapseAllAction); ToolBar toolbar = toolBarManager.createControl(content); toolbar.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); // Create the tree viewer as a child of the composite parent treeViewer = new TreeViewer( content, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); // Anpassungen für TreeTable tree = treeViewer.getTree(); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); treeViewer.getControl().setLayoutData(gridData); treeViewer.setUseHashlookup(true); /** * Tree table specific code starts ** */ tree.setHeaderVisible(true); tree.setLinesVisible(true); for (SteadyTableIdentifier identifier : SteadyTableIdentifier.values()) { new TreeColumn(tree, SWT.NONE).setText(Messages.getSteadyTableColumnTitle(identifier)); tree.getColumn(identifier.ordinal()).setWidth(identifier.columnWidth); } /** * Tree table specific code ends ** */ // layout the tree viewer below the text field gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = GridData.FILL; gridData.verticalAlignment = GridData.FILL; treeViewer.getControl().setLayoutData(gridData); treeViewer.setContentProvider(new SteadyTreeTableContentProvider()); treeViewer.setLabelProvider(new SteadyTreeTableLabelProvider()); root = getInitialInput(); treeViewer.setInput(root); treeViewer.expandToLevel(1); // Drag-Part ////////////////////////////////////////////////////////// DragSource source = new DragSource(tree, DND.DROP_COPY | DND.DROP_MOVE); source.setTransfer(new Transfer[] {TextTransfer.getInstance()}); source.addDragListener(new TreeDragSourceListener(tree)); // Drop-Part ////////////////////////////////////////////////////////// DropTarget dropTarget = new DropTarget(tree, DND.DROP_COPY | DND.DROP_DEFAULT); dropTarget.setTransfer(new Transfer[] {TextTransfer.getInstance(), FileTransfer.getInstance()}); dropTarget.addDropListener(new TreeDropTargetAdapter(treeViewer, root)); addListeners(); createContextMenu(); createFiltersAndSorters(); }