1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 04:55:22 +02:00

[187427] Kevin's patch for Checks Search Archive's checkbox when selecting an archive or file in an archive

This commit is contained in:
David McKnight 2007-07-12 21:00:50 +00:00
parent 54645d9950
commit 52732ec354

View file

@ -14,6 +14,7 @@
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
* Kevin Doyle (IBM) - [182024] Folder field only initialized if selection supports search * Kevin Doyle (IBM) - [182024] Folder field only initialized if selection supports search
* Kevin Doyle (IBM) - [189430] Limited System Types displayed in Folder Dialog * Kevin Doyle (IBM) - [189430] Limited System Types displayed in Folder Dialog
* Kevin Doyle (IBM) - [187427] Selecting an Archive will check Search Archives checkbox
********************************************************************************/ ********************************************************************************/
package org.eclipse.rse.internal.files.ui.search; package org.eclipse.rse.internal.files.ui.search;
@ -41,6 +42,7 @@ import org.eclipse.rse.internal.files.ui.FileResources;
import org.eclipse.rse.internal.ui.view.search.SystemSearchUI; import org.eclipse.rse.internal.ui.view.search.SystemSearchUI;
import org.eclipse.rse.internal.ui.view.search.SystemSearchViewPart; import org.eclipse.rse.internal.ui.view.search.SystemSearchViewPart;
import org.eclipse.rse.services.clientserver.SystemSearchString; import org.eclipse.rse.services.clientserver.SystemSearchString;
import org.eclipse.rse.services.clientserver.archiveutils.ArchiveHandlerManager;
import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.services.clientserver.messages.SystemMessageException; import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
import org.eclipse.rse.services.clientserver.search.SystemSearchUtil; import org.eclipse.rse.services.clientserver.search.SystemSearchUtil;
@ -442,6 +444,13 @@ public class SystemSearchPage extends DialogPage implements ISearchPage {
String connectionName = conn.getAliasName(); String connectionName = conn.getAliasName();
setFolderText(profileName, connectionName, folderPath); setFolderText(profileName, connectionName, folderPath);
String absPath = remoteFile.getAbsolutePath();
boolean supportsSearch = remoteFile.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsSearch();
boolean supportsArchiveManagement = remoteFile.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement();
// if the file/folder is part of an archive select the search archives checkbox
if (supportsSearch && supportsArchiveManagement && (remoteFile.isArchive() || (absPath.indexOf(ArchiveHandlerManager.VIRTUAL_SEPARATOR) > 0)))
searchArchivesButton.setSelection(true);
} }
} }
@ -887,6 +896,7 @@ public class SystemSearchPage extends DialogPage implements ISearchPage {
String profileName = null; String profileName = null;
String connectionName = null; String connectionName = null;
String folderName = null; String folderName = null;
boolean isPartOfArchive = false;
// if selection is not empty, we handle structured selection or text selection // if selection is not empty, we handle structured selection or text selection
if (selection != null && !selection.isEmpty()) { if (selection != null && !selection.isEmpty()) {
@ -917,6 +927,9 @@ public class SystemSearchPage extends DialogPage implements ISearchPage {
connectionName = conn.getAliasName(); connectionName = conn.getAliasName();
folderName = remoteFile.getAbsolutePath(); folderName = remoteFile.getAbsolutePath();
} }
String absPath = remoteFile.getAbsolutePath();
// Determine if we support search + archives and selection is part of an archive
isPartOfArchive = supportsSearch && supportsArchiveManagement && (remoteFile.isArchive() || (absPath.indexOf(ArchiveHandlerManager.VIRTUAL_SEPARATOR) > 0));
} }
} }
// otherwise, if it is a text selection // otherwise, if it is a text selection
@ -946,6 +959,12 @@ public class SystemSearchPage extends DialogPage implements ISearchPage {
// set the file name // set the file name
fileNameEditor.setFileNamesText(fileName); fileNameEditor.setFileNamesText(fileName);
// if the file/folder is part of an archive select the search archives checkbox
if (isPartOfArchive)
{
searchArchivesButton.setSelection(true);
}
// set the remote folder combo properties if profile name, connection name and folder path are // set the remote folder combo properties if profile name, connection name and folder path are
// not null // not null
if (profileName != null && connectionName != null && folderName != null) { if (profileName != null && connectionName != null && folderName != null) {