mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 22:52: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"
|
property="org.eclipse.core.resources.projectNature"
|
||||||
value="org.eclipse.cdt.core.cnature"/>
|
value="org.eclipse.cdt.core.cnature"/>
|
||||||
</adapt>
|
</adapt>
|
||||||
<instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
|
<instanceof value="org.eclipse.core.resources.IResource"/>
|
||||||
<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.cdt.core.model.ICElement"/>
|
<instanceof value="org.eclipse.cdt.core.model.ICElement"/>
|
||||||
<instanceof value="org.eclipse.cdt.ui.CElementGrouping"/>
|
<instanceof value="org.eclipse.cdt.ui.CElementGrouping"/>
|
||||||
</or>
|
</or>
|
||||||
</triggerPoints>
|
</triggerPoints>
|
||||||
<possibleChildren>
|
<possibleChildren>
|
||||||
<or>
|
<or>
|
||||||
<instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
|
<instanceof value="org.eclipse.core.resources.IResource"/>
|
||||||
<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.cdt.core.model.ICElement"/>
|
<instanceof value="org.eclipse.cdt.core.model.ICElement"/>
|
||||||
<instanceof value="org.eclipse.cdt.ui.CElementGrouping"/>
|
<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>
|
</or>
|
||||||
</possibleChildren>
|
</possibleChildren>
|
||||||
<override
|
<override
|
||||||
|
|
|
@ -259,6 +259,9 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
||||||
* @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
|
* @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
|
||||||
*/
|
*/
|
||||||
public PipelinedShapeModification interceptAdd(PipelinedShapeModification addModification) {
|
public PipelinedShapeModification interceptAdd(PipelinedShapeModification addModification) {
|
||||||
|
if(addModification.getParent() instanceof ICProject && fRealInput instanceof IWorkspaceRoot) {
|
||||||
|
addModification.setParent(((ICProject)addModification.getParent()).getProject());
|
||||||
|
}
|
||||||
convertToCElements(addModification);
|
convertToCElements(addModification);
|
||||||
return addModification;
|
return addModification;
|
||||||
}
|
}
|
||||||
|
@ -307,7 +310,6 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
||||||
modification.setParent(element);
|
modification.setParent(element);
|
||||||
}
|
}
|
||||||
return convertToCElements(modification.getChildren());
|
return convertToCElements(modification.getChildren());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -336,6 +338,9 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
||||||
convertedChildren.add(newChild);
|
convertedChildren.add(newChild);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// } else if (child instanceof ICProject) {
|
||||||
|
// iter.remove();
|
||||||
|
// convertedChildren.add(((ICProject)child).getProject());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!convertedChildren.isEmpty()) {
|
if (!convertedChildren.isEmpty()) {
|
||||||
|
@ -351,7 +356,7 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
||||||
protected void postRefresh(final Object element) {
|
protected void postRefresh(final Object element) {
|
||||||
if (element instanceof ICModel) {
|
if (element instanceof ICModel) {
|
||||||
super.postRefresh(fRealInput);
|
super.postRefresh(fRealInput);
|
||||||
} else if (element instanceof ICProject) {
|
} else if (element instanceof ICProject && fRealInput instanceof IWorkspaceRoot) {
|
||||||
super.postRefresh(((ICProject)element).getProject());
|
super.postRefresh(((ICProject)element).getProject());
|
||||||
} else {
|
} else {
|
||||||
super.postRefresh(element);
|
super.postRefresh(element);
|
||||||
|
@ -361,7 +366,7 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
||||||
protected void postAdd(final Object parent, final Object element) {
|
protected void postAdd(final Object parent, final Object element) {
|
||||||
if (parent instanceof ICModel) {
|
if (parent instanceof ICModel) {
|
||||||
super.postAdd(fRealInput, element);
|
super.postAdd(fRealInput, element);
|
||||||
} else if (parent instanceof ICProject) {
|
} else if (parent instanceof ICProject && fRealInput instanceof IWorkspaceRoot) {
|
||||||
super.postAdd(((ICProject)parent).getProject(), element);
|
super.postAdd(((ICProject)parent).getProject(), element);
|
||||||
} else {
|
} else {
|
||||||
super.postAdd(parent, element);
|
super.postAdd(parent, element);
|
||||||
|
|
Loading…
Add table
Reference in a new issue