Author: rob.stryker(a)jboss.com
Date: 2008-08-15 19:11:06 -0400 (Fri, 15 Aug 2008)
New Revision: 9746
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/plugin.xml
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesActionProvider.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesLabelProvider.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootContentProvider.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/AbstractArchiveWizard.java
Log:
/JBIDE-2618
Modified: trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/plugin.xml
===================================================================
--- trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/plugin.xml 2008-08-15 22:39:02
UTC (rev 9745)
+++ trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/plugin.xml 2008-08-15 23:11:06
UTC (rev 9746)
@@ -171,9 +171,12 @@
<instanceof
value="org.jboss.ide.eclipse.archives.core.model.IArchiveNode">
</instanceof>
- <count
- value="0">
- </count>
+ <adapt
+ type="java.util.Collection">
+ <count
+ value="0">
+ </count>
+ </adapt>
</or>
</enablement>
</actionProvider>
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesActionProvider.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesActionProvider.java 2008-08-15
22:39:02 UTC (rev 9745)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesActionProvider.java 2008-08-15
23:11:06 UTC (rev 9746)
@@ -38,6 +38,7 @@
import org.jboss.ide.eclipse.archives.ui.NodeContribution;
import org.jboss.ide.eclipse.archives.ui.actions.NewArchiveAction;
import
org.jboss.ide.eclipse.archives.ui.providers.ArchivesContentProviderDelegate.WrappedProject;
+import org.jboss.ide.eclipse.archives.ui.views.ProjectArchivesCommonView;
import org.jboss.ide.eclipse.archives.ui.wizards.FilesetWizard;
import org.jboss.ide.eclipse.archives.ui.wizards.NewJARWizard;
@@ -111,7 +112,7 @@
manager.add(deleteAction);
addContextMenuContributions(node, manager);
}
- } else {
+ } else if( ProjectArchivesCommonView.getInstance().getCurrentProject() != null ){
manager.add(newPackageManager);
}
}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java 2008-08-15
22:39:02 UTC (rev 9745)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java 2008-08-15
23:11:06 UTC (rev 9746)
@@ -16,6 +16,8 @@
import org.jboss.ide.eclipse.archives.core.model.IArchiveModelListener;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
+import org.jboss.ide.eclipse.archives.ui.PrefsInitializer;
+import org.jboss.ide.eclipse.archives.ui.views.ProjectArchivesCommonView;
public class ArchivesContentProviderDelegate implements ITreeContentProvider,
IArchiveModelListener {
@@ -96,7 +98,9 @@
Iterator<Viewer> it = viewersInUse.iterator();
while(it.hasNext()) {
Viewer next = ((Viewer)it.next());
- if( next instanceof StructuredViewer)
+ if( shouldRefreshProject(next))
+ ((StructuredViewer)next).refresh(dp.project);
+ else if( next instanceof StructuredViewer)
((StructuredViewer)next).refresh(dp.wProject);
else
next.refresh();
@@ -109,6 +113,13 @@
job.schedule();
}
+ protected boolean shouldRefreshProject(Viewer viewer) {
+ if( viewer == ProjectArchivesCommonView.getInstance().getCommonViewer() &&
+ !PrefsInitializer.getBoolean(PrefsInitializer.PREF_SHOW_PROJECT_ROOT))
+ return true;
+ return false;
+ }
+
public Object getParent(Object element) {
return null;
}
@@ -118,6 +129,10 @@
return getChildren(element).length > 0;
if( element instanceof IResource )
return ArchivesModel.instance().canReregister(((IResource)element).getLocation());
+ if( element == ArchivesRootContentProvider.NO_PROJECT)
+ return false;
+ if( element instanceof DelayProxy)
+ return false;
return true;
}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesLabelProvider.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesLabelProvider.java 2008-08-15
22:39:02 UTC (rev 9745)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesLabelProvider.java 2008-08-15
23:11:06 UTC (rev 9746)
@@ -77,6 +77,8 @@
}
private String internalGetText(Object element) {
+ if( element == ArchivesRootContentProvider.NO_PROJECT)
+ return "Please select a project";
if( element instanceof WrappedProject ) {
switch(((WrappedProject)element).getType()) {
case WrappedProject.NAME:
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootContentProvider.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootContentProvider.java 2008-08-15
22:39:02 UTC (rev 9745)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootContentProvider.java 2008-08-15
23:11:06 UTC (rev 9746)
@@ -11,6 +11,8 @@
import org.jboss.ide.eclipse.archives.ui.views.ProjectArchivesCommonView;
public class ArchivesRootContentProvider implements ITreeContentProvider {
+ public static final Object NO_PROJECT = new Object();
+
private ArchivesContentProviderDelegate delegate;
public ArchivesRootContentProvider() {
delegate = ArchivesContentProviderDelegate.getDefault();
@@ -29,6 +31,7 @@
}
public Object[] getElements(Object inputElement) {
+ IProject cp = ProjectArchivesCommonView.getInstance().getCurrentProject();
if( showProjectRoot() ) {
if( showAllProjects() ) {
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
@@ -39,11 +42,12 @@
}
return wrap((IProject[]) tmp.toArray(new IProject[tmp.size()]));
}
- IProject cp = ProjectArchivesCommonView.getInstance().getCurrentProject();
if( cp != null )
return wrap(new IProject[]{cp});
+ } else if( cp != null ){
+ return getChildren(new WrappedProject(cp, WrappedProject.NAME));
}
- return new Object[]{};
+ return new Object[]{NO_PROJECT};
}
protected Object[] wrap(IProject[] objs) {
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/AbstractArchiveWizard.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/AbstractArchiveWizard.java 2008-08-15
22:39:02 UTC (rev 9745)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/AbstractArchiveWizard.java 2008-08-15
23:11:06 UTC (rev 9746)
@@ -20,6 +20,8 @@
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.ui.PackagesUIPlugin;
+import
org.jboss.ide.eclipse.archives.ui.providers.ArchivesContentProviderDelegate.WrappedProject;
+import org.jboss.ide.eclipse.archives.ui.views.ProjectArchivesCommonView;
import org.jboss.ide.eclipse.archives.ui.wizards.pages.ArchiveInfoWizardPage;
public abstract class AbstractArchiveWizard extends WizardWithNotification implements
INewWizard {
@@ -123,10 +125,17 @@
project = ((IContainer)selected).getProject();
initialDestinationPath = ((IContainer)selected).getFullPath().toString();
isPathWorkspaceRelative = true;
- } else if( project != null ){
+ } else if(selected instanceof WrappedProject) {
+ project = ((WrappedProject)selected).getElement();
initialDestinationPath = project.getFullPath().toString();
isPathWorkspaceRelative = true;
- }
+ } else {
+ project = ProjectArchivesCommonView.getInstance().getCurrentProject();
+ if( project != null ) {
+ initialDestinationPath = project.getFullPath().toString();
+ isPathWorkspaceRelative = true;
+ }
+ }
setNeedsProgressMonitor(true);
}
Show replies by date