Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorBogdan Gheorghe2005-06-23 04:48:11 +0000
committerBogdan Gheorghe2005-06-23 04:48:11 +0000
commitf809cd9fcd8830b360b5cdddc3120b791b01d26f (patch)
tree82fdeca5324f94ec35e20ad6dc4b5b519e529971 /core
parente28ba5192fa86fb96ae2a1e722a833d65cc7eb03 (diff)
downloadorg.eclipse.cdt-f809cd9fcd8830b360b5cdddc3120b791b01d26f.tar.gz
org.eclipse.cdt-f809cd9fcd8830b360b5cdddc3120b791b01d26f.tar.xz
org.eclipse.cdt-f809cd9fcd8830b360b5cdddc3120b791b01d26f.zip
Added ability to specify which CTags you want the CTags indexer to use
Diffstat (limited to 'core')
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java56
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java3
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexerRunner.java58
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIMessages.properties3
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/CTagsIndexerBlock.java150
5 files changed, 244 insertions, 26 deletions
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java
index 8b750e34bda..7a931ab6eba 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java
@@ -45,6 +45,7 @@ class CTagsIndexAll extends CTagsIndexRequest {
IProject project;
private String ctagsFile;
private String ctagsFileToUse;
+ private String ctagsLocation;
public CTagsIndexAll(IProject project, CTagsIndexer indexer) {
super(project.getFullPath(), indexer);
@@ -227,8 +228,15 @@ class CTagsIndexAll extends CTagsIndexRequest {
// Print the command for visual interaction.
launcher.showCommand(true);
- //Process p = launcher.execute(fCompileCommand, args, setEnvironment(launcher), fWorkingDirectory);
- Process p = launcher.execute(new Path("ctags"), args, null, directoryToRunFrom); //$NON-NLS-1$
+ IPath ctagsExecutable = new Path("ctags"); //$NON-NLS-1$
+ if (!useDefaultCTags()){
+ //try to read the executable path from the descriptor
+ if (getCTagsLocation()){
+ ctagsExecutable = new Path(ctagsLocation);
+ }
+ }
+
+ Process p = launcher.execute(ctagsExecutable, args, null, directoryToRunFrom); //$NON-NLS-1$
p.waitFor();
} catch (InterruptedException e) {
@@ -279,6 +287,50 @@ class CTagsIndexAll extends CTagsIndexRequest {
return false;
}
+ private boolean useDefaultCTags(){
+ try {
+ ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(project, false);
+ if (cdesc == null)
+ return true;
+
+ ICExtensionReference[] cext = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID);
+ if (cext.length > 0) {
+ for (int i = 0; i < cext.length; i++) {
+ String orig = cext[i].getExtensionData("ctagslocationtype"); //$NON-NLS-1$
+ if (orig != null){
+ if (orig.equals(CTagsIndexer.CTAGS_PATH_DEFAULT))
+ return true;
+ else if (orig.equals(CTagsIndexer.CTAGS_PATH_SPECIFIED))
+ return false;
+ }
+ }
+ }
+ } catch (CoreException e) {}
+
+ return false;
+ }
+
+ private boolean getCTagsLocation() {
+ try {
+ ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(project, false);
+ if (cdesc == null)
+ return false;
+
+ ICExtensionReference[] cext = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID);
+ if (cext.length > 0) {
+ for (int i = 0; i < cext.length; i++) {
+ String orig = cext[i].getExtensionData("ctagslocation"); //$NON-NLS-1$
+ if (orig != null){
+ ctagsLocation=orig;
+ return true;
+ }
+ }
+ }
+ } catch (CoreException e) {}
+
+ return false;
+ }
+
private boolean ctagIndexIncludes(){
try {
ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(project, false);
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java
index 6fde8a162b4..d27e4afeb7d 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java
@@ -63,7 +63,8 @@ public class CTagsIndexer extends AbstractCExtension implements ICDTIndexer {
public final static String CTAGS_INTERNAL = "ctags_internal"; //$NON-NLS-1$
public final static String CTAGS_EXTERNAL = "ctags_external"; //$NON-NLS-1$
- public final static String CTAGS_LOCATION = "ctags_location"; //$NON-NLS-1$
+ public final static String CTAGS_PATH_DEFAULT = "ctags_path_default"; //$NON-NLS-1$
+ public final static String CTAGS_PATH_SPECIFIED = "ctags_path_specified"; //$NON-NLS-1$
protected List indexChangeListeners = Collections.synchronizedList(new ArrayList());
public static final String INDEX_NOTIFICATION_NAME = Util.bind( "indexNotificationJob" ); //$NON-NLS-1$
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexerRunner.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexerRunner.java
index a25a613b5de..0671ddd930c 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexerRunner.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexerRunner.java
@@ -15,6 +15,8 @@ import java.io.OutputStream;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.CommandLauncher;
+import org.eclipse.cdt.core.ICDescriptor;
+import org.eclipse.cdt.core.ICExtensionReference;
import org.eclipse.cdt.core.IConsoleParser;
import org.eclipse.cdt.core.model.ICModelMarker;
import org.eclipse.cdt.core.resources.IConsole;
@@ -33,6 +35,7 @@ import org.eclipse.core.runtime.Path;
*/
public class CTagsIndexerRunner extends AbstractIndexerRunner {
private CTagsIndexer indexer;
+ String ctagsLocation;
/**
* @param resource
* @param indexer
@@ -87,7 +90,16 @@ public class CTagsIndexerRunner extends AbstractIndexerRunner {
OutputStream consoleErr = (sniffer == null ? cos : sniffer.getErrorStream());
IPath fileDirectory = resourceFile.getRawLocation().removeLastSegments(1);
- Process p = launcher.execute(new Path("ctags"), args, null, fileDirectory); //$NON-NLS-1$
+
+ IPath ctagsExecutable = new Path("ctags"); //$NON-NLS-1$
+ if (!useDefaultCTags()){
+ //try to read the executable path from the descriptor
+ if (getCTagsLocation()){
+ ctagsExecutable = new Path(ctagsLocation);
+ }
+ }
+
+ Process p = launcher.execute(ctagsExecutable, args, null, fileDirectory); //$NON-NLS-1$
if (p != null) {
try {
// Close the input of the Process explicitely.
@@ -113,6 +125,50 @@ public class CTagsIndexerRunner extends AbstractIndexerRunner {
}
}
+ private boolean useDefaultCTags(){
+ try {
+ ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(indexer.getProject(), false);
+ if (cdesc == null)
+ return true;
+
+ ICExtensionReference[] cext = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID);
+ if (cext.length > 0) {
+ for (int i = 0; i < cext.length; i++) {
+ String orig = cext[i].getExtensionData("ctagslocationtype"); //$NON-NLS-1$
+ if (orig != null){
+ if (orig.equals(CTagsIndexer.CTAGS_PATH_DEFAULT))
+ return true;
+ else if (orig.equals(CTagsIndexer.CTAGS_PATH_SPECIFIED))
+ return false;
+ }
+ }
+ }
+ } catch (CoreException e) {}
+
+ return false;
+ }
+
+ private boolean getCTagsLocation() {
+ try {
+ ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(indexer.getProject(), false);
+ if (cdesc == null)
+ return false;
+
+ ICExtensionReference[] cext = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID);
+ if (cext.length > 0) {
+ for (int i = 0; i < cext.length; i++) {
+ String orig = cext[i].getExtensionData("ctagslocation"); //$NON-NLS-1$
+ if (orig != null){
+ ctagsLocation=orig;
+ return true;
+ }
+ }
+ }
+ } catch (CoreException e) {}
+
+ return false;
+ }
+
protected void addMarkers(IFile tempFile, IFile originator, Object problem, Object location) {}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIMessages.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIMessages.properties
index cc751c0905e..257b076c1f3 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIMessages.properties
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CUIMessages.properties
@@ -70,7 +70,10 @@ CTagsIndexerBlock.radioButtonInternal=Use internal CTags file (default)
CTagsIndexerBlock.radioButtonExternal=Import existing CTags file
CTagsIndexerBlock.browseButton=Browse...
CTagsIndexerBlock.fileBrowser=Select CTags File
+CTagsIndexerBlock.radioButtonCTagsDefault=Use the CTags on the path (default)
+CTagsIndexerBlock.radioButtonCTagsSpecified=Use the specified CTags
+CTagsIndexerBlock.ctagsLocation=CTags Location
CTagsIndexerBlock.includeGroup=Include Files
CTagsIndexerBlock.indexIncludes=Index include paths
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/CTagsIndexerBlock.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/CTagsIndexerBlock.java
index 34a68669087..31d8a28112a 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/CTagsIndexerBlock.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/CTagsIndexerBlock.java
@@ -47,13 +47,18 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
protected Button browseButton;
protected Text cTagsFile;
-
- private String storedInternalExternal;
- private String storedTagFile;
+ protected boolean useDefaultCTags = true;
+ protected boolean useSpecifiedCTagsExecutable = false;
+ protected Button useCTagsPath;
+ protected Button useCTagsExecutable;
+ protected Button browseButtonCTagsExec;
+ protected Text cTagsExecutable;
public final static String PREF_INTOREXT_CTAGS = CUIPlugin.PLUGIN_ID + ".intorextctags"; //$NON-NLS-1$
- public final static String PREF_CTAGSLOCATION_CTAGS = CUIPlugin.PLUGIN_ID + ".ctagslocation"; //$NON-NLS-1$
+ public final static String PREF_CTAGS_FILE_LOCATION_CTAGS = CUIPlugin.PLUGIN_ID + ".ctagsfilelocation"; //$NON-NLS-1$
public final static String PREF_CTAGS_INDEXINCLUDEFILES = CUIPlugin.PLUGIN_ID + ".ctagsindexincludes"; //$NON-NLS-1$
+ public final static String PREF_CTAGS_LOCATION_TYPE = CUIPlugin.PLUGIN_ID + ".ctagslocationtype"; //$NON-NLS-1$
+ public final static String PREF_CTAGS_LOCATION = CUIPlugin.PLUGIN_ID + ".ctagslocation"; //$NON-NLS-1$
/* (non-Javadoc)
* @see org.eclipse.cdt.ui.index.AbstractIndexerPage#initialize(org.eclipse.core.resources.IProject)
@@ -77,14 +82,26 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
ICOptionContainer container = getContainer();
IProject proj = null;
String internalExternalCTagsString = internalTagsFile ? CTagsIndexer.CTAGS_INTERNAL : CTagsIndexer.CTAGS_EXTERNAL;
- String cTagsFileLocation = cTagsFile.getText();
+ String cTagsFileLocation = ""; //$NON-NLS-1$
+ if (!internalTagsFile)
+ cTagsFileLocation = cTagsFile.getText();
+
String indexIncludeFiles = new Boolean(indexIncludePaths.getSelection()).toString();
+ String cTagsLocationType = useDefaultCTags ? CTagsIndexer.CTAGS_PATH_DEFAULT : CTagsIndexer.CTAGS_PATH_SPECIFIED;
+ String cTagsLocation = ""; //$NON-NLS-1$
+ if (!useDefaultCTags)
+ cTagsLocation=cTagsExecutable.getText();
+
//if external has been chosen, ensure that there is a cTagsFileLocation selected; otherwise default
//to internal file
if (internalExternalCTagsString.equals(CTagsIndexer.CTAGS_EXTERNAL) && cTagsFileLocation.equals("")) //$NON-NLS-1$
internalExternalCTagsString=CTagsIndexer.CTAGS_INTERNAL;
+ //if an external CPaths has been selected but no path has been provided, switch back to default setting
+ if (cTagsLocationType.equals(CTagsIndexer.CTAGS_PATH_SPECIFIED) && cTagsLocation.equals("")) //$NON-NLS-1$
+ cTagsLocationType=CTagsIndexer.CTAGS_PATH_DEFAULT;
+
if (container != null){
proj = container.getProject();
}
@@ -97,7 +114,6 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
ICExtensionReference[] cext = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID);
if (cext.length > 0) {
for (int i = 0; i < cext.length; i++) {
- String id = cext[i].getID();
String orig = cext[i].getExtensionData("ctagfiletype"); //$NON-NLS-1$
if (orig == null || !orig.equals(internalExternalCTagsString)) {
cext[i].setExtensionData("ctagfiletype", internalExternalCTagsString); //$NON-NLS-1$
@@ -107,16 +123,26 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
cext[i].setExtensionData("ctagfilelocation", cTagsFileLocation); //$NON-NLS-1$
}
orig = cext[i].getExtensionData("ctagsindexincludes"); //$NON-NLS-1$
- if (orig == null || !orig.equals(cTagsFileLocation)) {
+ if (orig == null || !orig.equals(indexIncludeFiles)) {
cext[i].setExtensionData("ctagsindexincludes", indexIncludeFiles); //$NON-NLS-1$
}
+ orig = cext[i].getExtensionData("ctagslocationtype"); //$NON-NLS-1$
+ if (orig == null || !orig.equals(cTagsLocationType)) {
+ cext[i].setExtensionData("ctagslocationtype", cTagsLocationType); //$NON-NLS-1$
+ }
+ orig = cext[i].getExtensionData("ctagslocation"); //$NON-NLS-1$
+ if (orig == null || !orig.equals(cTagsLocation)) {
+ cext[i].setExtensionData("ctagslocation", cTagsLocation); //$NON-NLS-1$
+ }
}
}
} else {
if (prefStore != null) {
prefStore.setValue(PREF_INTOREXT_CTAGS, internalExternalCTagsString);
- prefStore.setValue(PREF_CTAGSLOCATION_CTAGS,cTagsFileLocation);
+ prefStore.setValue(PREF_CTAGS_FILE_LOCATION_CTAGS,cTagsFileLocation);
prefStore.setValue(PREF_CTAGS_INDEXINCLUDEFILES,indexIncludeFiles);
+ prefStore.setValue(PREF_CTAGS_LOCATION_TYPE,cTagsLocationType);
+ prefStore.setValue(PREF_CTAGS_LOCATION,cTagsLocation);
}
}
}
@@ -124,12 +150,22 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
* @see org.eclipse.cdt.ui.dialogs.ICOptionPage#performDefaults()
*/
public void performDefaults() {
+ //ctag file options
internalTagsFile=true;
externalTagsFile=false;
internalCTagsFile.setSelection(true);
externalCTagsFile.setSelection(false);
cTagsFile.setText(""); //$NON-NLS-1$
browseButton.setEnabled(false);
+ //ctag path options
+ useDefaultCTags=true;
+ useSpecifiedCTagsExecutable=false;
+ useCTagsPath.setSelection(true);
+ useCTagsExecutable.setSelection(false);
+ cTagsExecutable.setText(""); //$NON-NLS-1$
+ browseButtonCTagsExec.setEnabled(false);
+ //index include paths
+ indexIncludePaths.setSelection(false);
}
/* (non-Javadoc)
* @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
@@ -137,7 +173,54 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
public void createControl(Composite parent) {
Composite page = ControlFactory.createComposite(parent, 1);
- Group includeGroup = ControlFactory.createGroup(page,CUIMessages.getString("CTagsIndexerBlock.includeGroup"),1);
+ Group cTagsExecutableGroup = ControlFactory.createGroup(page,CUIMessages.getString("CTagsIndexerBlock.ctagsLocation"),3); //$NON-NLS-1$
+ GridData gd3 = (GridData) cTagsExecutableGroup.getLayoutData();
+ gd3.grabExcessHorizontalSpace = true;
+ gd3.horizontalAlignment = GridData.FILL;
+
+ SelectionListener cTagsListener = new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent event) {
+ useDefaultCTags = useCTagsPath.getSelection();
+ useSpecifiedCTagsExecutable = useCTagsExecutable.getSelection();
+
+ if (useDefaultCTags){
+ setButtonState(CTagsIndexer.CTAGS_PATH_DEFAULT);
+ }
+ if (useSpecifiedCTagsExecutable){
+ setButtonState(CTagsIndexer.CTAGS_PATH_SPECIFIED);
+ }
+ }
+ };
+
+ useCTagsPath = ControlFactory.createRadioButton(cTagsExecutableGroup,CUIMessages.getString("CTagsIndexerBlock.radioButtonCTagsDefault"),"CTagsDefault",cTagsListener);//$NON-NLS-1$ //$NON-NLS-2$
+ ((GridData)useCTagsPath.getLayoutData()).horizontalSpan = 3;
+ ((GridData)useCTagsPath.getLayoutData()).grabExcessHorizontalSpace = true;
+ useCTagsPath.setSelection(internalTagsFile);
+
+ useCTagsExecutable = ControlFactory.createRadioButton(cTagsExecutableGroup,CUIMessages.getString("CTagsIndexerBlock.radioButtonCTagsSpecified"),"CTafsSpecified",cTagsListener);//$NON-NLS-1$ //$NON-NLS-2$
+ ((GridData)useCTagsExecutable.getLayoutData()).horizontalSpan = 3;
+ ((GridData)useCTagsExecutable.getLayoutData()).grabExcessHorizontalSpace = true;
+
+ cTagsExecutable = ControlFactory.createTextField(cTagsExecutableGroup);
+ ((GridData)cTagsExecutable.getLayoutData()).horizontalSpan = 2;
+ ((GridData)cTagsExecutable.getLayoutData()).grabExcessHorizontalSpace = true;;
+
+ browseButtonCTagsExec = ControlFactory.createPushButton(cTagsExecutableGroup,CUIMessages.getString("CTagsIndexerBlock.browseButton")); //$NON-NLS-1$
+ ((GridData)browseButtonCTagsExec.getLayoutData()).widthHint = SWTUtil.getButtonWidthHint(browseButtonCTagsExec);
+ browseButtonCTagsExec.setEnabled(false);
+ browseButtonCTagsExec.addSelectionListener(new SelectionAdapter() {
+
+ public void widgetSelected(SelectionEvent event) {
+ handleBrowseButtonSelected();
+ }
+
+ void handleBrowseButtonSelected() {
+ cTagsExecutable.setText(openFileBrowser());
+ }
+ });
+ //
+
+ Group includeGroup = ControlFactory.createGroup(page,CUIMessages.getString("CTagsIndexerBlock.includeGroup"),1); //$NON-NLS-1$
GridData gd2 = (GridData) includeGroup.getLayoutData();
gd2.grabExcessHorizontalSpace = true;
gd2.horizontalAlignment = GridData.FILL;
@@ -190,35 +273,37 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
}
private void handleBrowseButtonSelected() {
- FileDialog dialog = new FileDialog(getShell(), SWT.NONE);
- dialog.setText(CUIMessages.getString("CTagsIndexerBlock.fileBrowser")); //$NON-NLS-1$
- String fileName = dialog.open();
- if (fileName == null) {
- return;
- }
- cTagsFile.setText(fileName);
+ cTagsFile.setText(openFileBrowser());
}
});
setControl(page);
}
+ String openFileBrowser(){
+ FileDialog dialog = new FileDialog(getShell(), SWT.NONE);
+ dialog.setText(CUIMessages.getString("CTagsIndexerBlock.fileBrowser")); //$NON-NLS-1$
+ String fileName = dialog.open();
+ if (fileName == null) {
+ return ""; //$NON-NLS-1$
+ }
+
+ return fileName;
+ }
+
public void loadPersistedValues(IProject project) throws CoreException {
ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(project, false);
ICExtensionReference[] cext = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID);
if (cext.length > 0) {
for (int i = 0; i < cext.length; i++) {
- String id = cext[i].getID();
String orig = cext[i].getExtensionData("ctagfiletype"); //$NON-NLS-1$
if (orig != null){
- storedInternalExternal=orig;
setButtonState(orig);
}
orig = cext[i].getExtensionData("ctagfilelocation"); //$NON-NLS-1$
if (orig != null){
- storedTagFile=orig;
cTagsFile.setText(orig);
}
@@ -230,6 +315,16 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
indexIncludePaths.setSelection(false);
}
}
+
+ orig = cext[i].getExtensionData("ctagslocationtype"); //$NON-NLS-1$
+ if (orig != null){
+ setButtonState(orig);
+ }
+
+ orig = cext[i].getExtensionData("ctagslocation"); //$NON-NLS-1$
+ if (orig != null){
+ cTagsExecutable.setText(orig);
+ }
}
}
@@ -248,6 +343,18 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
externalCTagsFile.setSelection(true);
internalCTagsFile.setSelection(false);
browseButton.setEnabled(true);
+ } else if(orig.equals(CTagsIndexer.CTAGS_PATH_DEFAULT)){
+ useDefaultCTags=true;
+ useSpecifiedCTagsExecutable=false;
+ useCTagsPath.setSelection(true);
+ useCTagsExecutable.setSelection(false);
+ browseButtonCTagsExec.setEnabled(false);
+ } else if(orig.equals(CTagsIndexer.CTAGS_PATH_SPECIFIED)){
+ useDefaultCTags=false;
+ useSpecifiedCTagsExecutable=true;
+ useCTagsPath.setSelection(false);
+ useCTagsExecutable.setSelection(true);
+ browseButtonCTagsExec.setEnabled(true);
}
}
@@ -257,15 +364,14 @@ public class CTagsIndexerBlock extends AbstractIndexerPage {
setButtonState(indexerId);
}
- indexerId=prefStore.getString(PREF_CTAGSLOCATION_CTAGS);
+ indexerId=prefStore.getString(PREF_CTAGS_FILE_LOCATION_CTAGS);
if (!indexerId.equals("")) { //$NON-NLS-1$
- storedTagFile=indexerId;
cTagsFile.setText(indexerId);
}
}
public void removePreferences() {
- prefStore.setToDefault(PREF_CTAGSLOCATION_CTAGS);
+ prefStore.setToDefault(PREF_CTAGS_FILE_LOCATION_CTAGS);
prefStore.setToDefault(PREF_INTOREXT_CTAGS);
}

Back to the top