From 6915a43ab147d54f9694f8b3006cd1464be9deb3 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Tue, 15 Nov 2011 23:29:40 +0000 Subject: [PATCH] [363490] PHP files opening in system editor (Dreamweaver) --- .../ui/view/SystemViewRemoteFileAdapter.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java index 21fe4544316..4d16c6a2bf2 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java @@ -75,6 +75,7 @@ * David McKnight (IBM) - [215814] [performance] Duplicate Queries between Table and Remote Systems View * David McKnight (IBM) - [249031] Last used editor should be set to SystemEditableRemoteFile * David McKnight (IBM) - [341244] folder selection input to unlocked Remote Systems Details view sometimes fails + * David McKnight (IBM) - [363490] PHP files opening in system editor (Dreamweaver) *******************************************************************************/ package org.eclipse.rse.internal.files.ui.view; @@ -3425,14 +3426,22 @@ public class SystemViewRemoteFileAdapter if (editable instanceof SystemEditableRemoteFile){ SystemEditableRemoteFile edit = (SystemEditableRemoteFile)editable; IEditorDescriptor oldDescriptor = edit.getEditorDescriptor(); - IEditorDescriptor curDescriptor; - try { - curDescriptor = IDE.getEditorDescriptor(editable.getLocalResource()); - if (oldDescriptor != curDescriptor){ - edit.setEditorDescriptor(curDescriptor); + IEditorDescriptor curDescriptor = null; + IFile file = editable.getLocalResource(); + + if (file == null || !file.exists()){ + curDescriptor = registry.getDefaultEditor(remoteFile.getName()); + } + if (curDescriptor == null){ + try { + curDescriptor = IDE.getEditorDescriptor(file); + } catch (PartInitException e) { + curDescriptor = IDE.getDefaultEditor(file); } - } catch (PartInitException e) { - } + } + if (oldDescriptor != curDescriptor){ + edit.setEditorDescriptor(curDescriptor); + } } try