mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Fix for 190665: Project Explorer view is not updated when a file is added to a folder
This commit is contained in:
parent
3ddfd0b436
commit
e9132a0cf8
2 changed files with 10 additions and 22 deletions
|
@ -1898,33 +1898,16 @@
|
|||
property="org.eclipse.core.resources.projectNature"
|
||||
value="org.eclipse.cdt.core.cnature"/>
|
||||
</adapt>
|
||||
<instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
|
||||
<instanceof value="org.eclipse.core.resources.IFolder" />
|
||||
<instanceof value="org.eclipse.core.resources.IFile" />
|
||||
<instanceof value="org.eclipse.core.resources.IStorage" />
|
||||
<instanceof value="org.eclipse.cdt.core.model.ICProject"/>
|
||||
<instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
|
||||
<instanceof value="org.eclipse.core.resources.IResource"/>
|
||||
<instanceof value="org.eclipse.cdt.core.model.ICElement"/>
|
||||
<instanceof value="org.eclipse.cdt.ui.CElementGrouping"/>
|
||||
</or>
|
||||
</triggerPoints>
|
||||
<possibleChildren>
|
||||
<or>
|
||||
<instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
|
||||
<instanceof value="org.eclipse.core.resources.IFolder" />
|
||||
<instanceof value="org.eclipse.core.resources.IFile" />
|
||||
<instanceof value="org.eclipse.core.resources.IStorage" />
|
||||
<instanceof value="org.eclipse.cdt.core.model.ICProject"/>
|
||||
<instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
|
||||
<instanceof value="org.eclipse.core.resources.IResource"/>
|
||||
<instanceof value="org.eclipse.cdt.core.model.ICElement"/>
|
||||
<instanceof value="org.eclipse.cdt.ui.CElementGrouping"/>
|
||||
<adapt
|
||||
type="org.eclipse.core.resources.IProject">
|
||||
<test
|
||||
property="org.eclipse.core.resources.projectNature"
|
||||
value="org.eclipse.cdt.core.cnature">
|
||||
</test>
|
||||
</adapt>
|
||||
</or>
|
||||
</possibleChildren>
|
||||
<override
|
||||
|
|
|
@ -259,6 +259,9 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
|||
* @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
|
||||
*/
|
||||
public PipelinedShapeModification interceptAdd(PipelinedShapeModification addModification) {
|
||||
if(addModification.getParent() instanceof ICProject && fRealInput instanceof IWorkspaceRoot) {
|
||||
addModification.setParent(((ICProject)addModification.getParent()).getProject());
|
||||
}
|
||||
convertToCElements(addModification);
|
||||
return addModification;
|
||||
}
|
||||
|
@ -307,7 +310,6 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
|||
modification.setParent(element);
|
||||
}
|
||||
return convertToCElements(modification.getChildren());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -336,6 +338,9 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
|||
convertedChildren.add(newChild);
|
||||
}
|
||||
}
|
||||
// } else if (child instanceof ICProject) {
|
||||
// iter.remove();
|
||||
// convertedChildren.add(((ICProject)child).getProject());
|
||||
}
|
||||
}
|
||||
if (!convertedChildren.isEmpty()) {
|
||||
|
@ -351,7 +356,7 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
|||
protected void postRefresh(final Object element) {
|
||||
if (element instanceof ICModel) {
|
||||
super.postRefresh(fRealInput);
|
||||
} else if (element instanceof ICProject) {
|
||||
} else if (element instanceof ICProject && fRealInput instanceof IWorkspaceRoot) {
|
||||
super.postRefresh(((ICProject)element).getProject());
|
||||
} else {
|
||||
super.postRefresh(element);
|
||||
|
@ -361,7 +366,7 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
|||
protected void postAdd(final Object parent, final Object element) {
|
||||
if (parent instanceof ICModel) {
|
||||
super.postAdd(fRealInput, element);
|
||||
} else if (parent instanceof ICProject) {
|
||||
} else if (parent instanceof ICProject && fRealInput instanceof IWorkspaceRoot) {
|
||||
super.postAdd(((ICProject)parent).getProject(), element);
|
||||
} else {
|
||||
super.postAdd(parent, element);
|
||||
|
|
Loading…
Add table
Reference in a new issue