Bug 107436 - [IDE] navigator: show file/folder in "Windows Explorer",
Finder, Nautilus
Changed pattern for nautilus on linux
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/handlers/ShowInSystemExplorerHandler.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/handlers/ShowInSystemExplorerHandler.java
index 87eb6b3..3016943 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/handlers/ShowInSystemExplorerHandler.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/handlers/ShowInSystemExplorerHandler.java
@@ -44,6 +44,7 @@
public static final String ID = "org.eclipse.ui.showIn.systemExplorer"; //$NON-NLS-1$
private static final String VARIABLE_RE = "\\$\\{selected_resource_loc\\}"; //$NON-NLS-1$
+ private static final String VARIABLE_FOLDER = "\\$\\{selected_resource_parent\\}"; //$NON-NLS-1$
/*
* (non-Javadoc)
@@ -78,7 +79,7 @@
}
try {
- String canonicalPath = getSystemExplorerPath(item);
+ File canonicalPath = getSystemExplorerPath(item);
if (canonicalPath == null) {
ErrorDialog
.openError(
@@ -138,10 +139,11 @@
* the path to show
* @return the command that shows the path
*/
- private String formShowInSytemExplorerCommand(String path) {
+ private String formShowInSytemExplorerCommand(File path) throws IOException {
String command = IDEWorkbenchPlugin.getDefault().getPreferenceStore()
.getString(IDEInternalPreferences.WORKBENCH_SYSTEM_EXPLORER);
- return command.replaceAll(VARIABLE_RE, path);
+ command = command.replaceAll(VARIABLE_RE, path.getCanonicalPath());
+ return command.replaceAll(VARIABLE_FOLDER, path.getParentFile().getCanonicalPath());
}
/**
@@ -156,12 +158,11 @@
* @throws IOException
* if an I/O error occurs while trying to determine the path
*/
- private String getSystemExplorerPath(IResource resource) throws IOException {
+ private File getSystemExplorerPath(IResource resource) throws IOException {
IPath location = resource.getLocation();
if (location == null)
return null;
- File f = location.toFile();
- return f.getCanonicalPath();
+ return location.toFile();
}
/**
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
index cdc9bff..c82807f 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
@@ -490,7 +490,7 @@
IDEWorkspacePreference_workspaceName=Wor&kspace name (shown in window title):
IDEWorkbenchPreference_workbenchSystemExplorer=Command for launching system explorer.
-ShowInSystemExplorerHandler_LinuxDefaultCommand=gdbus call -e -d org.freedesktop.FileManager1 -o /org/freedesktop/FileManager1 -m org.freedesktop.FileManager1.ShowItems ['file://${selected_resource_loc}'] ''
+ShowInSystemExplorerHandler_LinuxDefaultCommand=nautilus file://${selected_resource_parent}
ShowInSystemExplorerHandler_Win32DefaultCommand=explorer /E,/select=${selected_resource_loc}
ShowInSystemExplorerHandler_MacOSXDefaultCommand=open -R '${selected_resource_loc}'