Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/SiteExplorerView.java')
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/SiteExplorerView.java49
1 files changed, 24 insertions, 25 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/SiteExplorerView.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/SiteExplorerView.java
index 086ec3de9..a5fbb287c 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/SiteExplorerView.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/SiteExplorerView.java
@@ -21,7 +21,6 @@ import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ColumnLayoutData;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
@@ -33,8 +32,8 @@ import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
@@ -45,7 +44,6 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Shell;
@@ -148,17 +146,9 @@ public class SiteExplorerView extends ViewPart implements ISiteListener {
return 1;
return compareNames(r1, r2);
case SIZE:
- try {
- return new Integer(r1.getSize(null)).compareTo(new Integer(r2.getSize(null)));
- } catch (TeamException e) {
- return 0;
- }
+ return new Integer(e1.getSize()).compareTo(new Integer(e2.getSize()));
case MODIFIED:
- try {
- return getCollator().compare(r1.getLastModified(null), r2.getLastModified(null));
- } catch (TeamException e) {
- return 0;
- }
+ return getCollator().compare(e1.getLastModified(), e2.getLastModified());
default:
return 0;
}
@@ -265,6 +255,16 @@ public class SiteExplorerView extends ViewPart implements ISiteListener {
}
});
+ // show only folders in tree
+ folderTree.addFilter(new ViewerFilter() {
+ public boolean select(Viewer viewer, Object parentElement, Object element) {
+ if(element instanceof RemoteResourceElement) {
+ return ((RemoteResourceElement)element).getRemoteResource().isContainer();
+ }
+ return false;
+ }
+ });
+
Table table = new Table(sash, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
TableColumn tableColumn = new TableColumn(table, SWT.NULL);
@@ -370,13 +370,7 @@ public class SiteExplorerView extends ViewPart implements ISiteListener {
*/
private void updateFileTable(RemoteResourceElement remoteFolder) {
if(remoteFolder != null && !remoteFolder.equals(folderContentsTable.getInput())) {
- RemoteResourceElement tableFolder = new RemoteResourceElement(
- remoteFolder.getRemoteResource(),
- remoteFolder.SHOW_FILES | remoteFolder.SHOW_FOLDERS);
- tableFolder.setCachedChildren(remoteFolder.getCachedChildren());
- tableFolder.setShell(remoteFolder.getShell());
- tableFolder.setProgressMonitor(remoteFolder.getProgressMonitor());
- folderContentsTable.setInput(tableFolder);
+ folderContentsTable.setInput(remoteFolder);
}
}
@@ -404,8 +398,13 @@ public class SiteExplorerView extends ViewPart implements ISiteListener {
IStructuredSelection selection = (IStructuredSelection)folderTree.getSelection();
Object currentSelection = selection.getFirstElement();
- final RemoteResourceElement selectedFolder = getSelectedRemoteFolder(selection)[0];
-
+ RemoteResourceElement selectedFolder;
+ if(selection.isEmpty()) {
+ selectedFolder = getSelectedRemoteFolder(selection)[0];
+ } else {
+ selectedFolder = (RemoteResourceElement)folderContentsTable.getInput();
+ }
+
IRemoteTargetResource newFolder = CreateNewFolderAction.createDir(shell, selectedFolder.getRemoteResource(), Policy.bind("CreateNewFolderAction.newFolderName"));
if (newFolder == null)
return;
@@ -421,8 +420,8 @@ public class SiteExplorerView extends ViewPart implements ISiteListener {
}
}
public boolean isEnabled() {
- return getSelectedRemoteFolder((IStructuredSelection)folderTree.getSelection()).length == 1 ||
- getSelectedRemoteFolder((IStructuredSelection)folderContentsTable.getSelection()).length == 1;
+ return folderContentsTable.getInput() != null ||
+ getSelectedRemoteFolder((IStructuredSelection)folderTree.getSelection()).length == 1;
}
};
@@ -484,7 +483,7 @@ public class SiteExplorerView extends ViewPart implements ISiteListener {
}
private void initializeTreeInput() {
- root = new SiteRootsElement(TargetManager.getSites(), RemoteResourceElement.SHOW_FOLDERS);
+ root = new SiteRootsElement(TargetManager.getSites());
folderTree.setInput(root);
}

Back to the top