- Point eventLocation = mouseEvent.getPoint();
- TreePath[] selectedPaths = fileTree.getSelectionPaths();
- if ((selectedPaths == null) || (selectedPaths.length == 0)) {
- /* try to find item under click. */
- TreePath clickedPath = fileTree.getPathForLocation(mouseEvent.getX(), mouseEvent.getY());
- if (clickedPath != null) {
- fileTree.setSelectionPath(clickedPath);
- selectedPaths = new TreePath[] { clickedPath };
- } else {
- logger.log(Level.FINER, "nothing selected for context menu");
- return;
- }
+ List<ProjectFileWrapper> selectedProjectFileWrappers = getSelectedProjectFileWrappers(false);
+ TreePath clickedPath = fileTree.getPathForLocation(mouseEvent.getX(), mouseEvent.getY());
+ ProjectFileWrapper clickedProjectFileWrapper = (ProjectFileWrapper) clickedPath.getLastPathComponent();
+ if (!selectedProjectFileWrappers.contains(clickedProjectFileWrapper)) {
+ fileTree.setSelectionPath(clickedPath);