mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-04 23:55:26 +02:00
fix for 162993
This commit is contained in:
parent
3a92aa6a5d
commit
3b422f0d1e
3 changed files with 35 additions and 7 deletions
|
@ -21,6 +21,8 @@ import org.eclipse.core.runtime.IProgressMonitor;
|
|||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.model.ISystemRemoteChangeEvents;
|
||||
import org.eclipse.rse.model.ISystemResourceChangeEvents;
|
||||
import org.eclipse.rse.model.SystemResourceChangeEvent;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||
|
@ -95,12 +97,15 @@ public class SystemMoveRemoteFileAction extends SystemCopyRemoteFileAction
|
|||
{
|
||||
String sep = targetFolder.getSeparator();
|
||||
String targetFolderName = targetFolder.getAbsolutePath();
|
||||
String resultPath = null;
|
||||
|
||||
if (!targetFolderName.endsWith(sep))
|
||||
copiedFiles.addElement(targetFolderName+sep+newName);
|
||||
resultPath = targetFolderName+sep+newName;
|
||||
else
|
||||
copiedFiles.addElement(targetFolderName+newName);
|
||||
|
||||
movedFiles.addElement(srcFileOrFolder);
|
||||
resultPath = targetFolderName+newName;
|
||||
|
||||
copiedFiles.addElement(resultPath);
|
||||
movedFiles.add(srcFileOrFolder);
|
||||
}
|
||||
|
||||
return ok;
|
||||
|
@ -154,7 +159,8 @@ public class SystemMoveRemoteFileAction extends SystemCopyRemoteFileAction
|
|||
// ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_DELETED, copiedFiles, firstSelectionParent.getAbsolutePath(), fileSS, null, null);
|
||||
RSEUIPlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(
|
||||
ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_DELETED, movedFiles, firstSelectionParent.getAbsolutePath(), fileSS, null, null);
|
||||
|
||||
|
||||
|
||||
/* old release 1.0 way of doing it...
|
||||
Viewer v = getViewer();
|
||||
if (v instanceof ISystemTree)
|
||||
|
|
|
@ -1054,6 +1054,10 @@ public class DStoreFileService extends AbstractDStoreService implements IFileSer
|
|||
DataElement srcDE = getElementFor(srcRemotePath);
|
||||
|
||||
DataElement tgtDE = getElementFor(tgtParent);
|
||||
if (tgtDE.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR))
|
||||
{
|
||||
dsQueryCommand(monitor, tgtDE, C_QUERY_GET_REMOTE_OBJECT);
|
||||
}
|
||||
|
||||
DataElement cpCmd = getCommandDescriptor(tgtDE, C_COPY);
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ import org.eclipse.rse.core.filters.ISystemFilterPoolManager;
|
|||
import org.eclipse.rse.core.filters.ISystemFilterPoolReference;
|
||||
import org.eclipse.rse.core.filters.ISystemFilterReference;
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.model.ISystemContainer;
|
||||
import org.eclipse.rse.core.model.ISystemMessageObject;
|
||||
import org.eclipse.rse.core.model.ISystemResourceSet;
|
||||
import org.eclipse.rse.core.model.SystemChildrenContentsType;
|
||||
|
@ -345,15 +346,32 @@ public class SystemViewFilterReferenceAdapter
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
boolean doQuery = true;
|
||||
if (!referencedFilter.isTransient() &&
|
||||
ssf.supportsFilterCaching() &&
|
||||
!fRef.isStale() &&
|
||||
fRef.hasContents(SystemChildrenContentsType.getInstance()))
|
||||
{
|
||||
doQuery = false;
|
||||
children = fRef.getContents(SystemChildrenContentsType.getInstance());
|
||||
if (children != null)
|
||||
{
|
||||
// check for stale children
|
||||
for (int i = 0; i < children.length && !doQuery; i++)
|
||||
{
|
||||
Object child = children[i];
|
||||
if (child instanceof ISystemContainer)
|
||||
{
|
||||
if (((ISystemContainer)child).isStale())
|
||||
{
|
||||
doQuery = true;
|
||||
fRef.markStale(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if (doQuery)
|
||||
{
|
||||
Object[] allChildren = null;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue