mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-05 15:25:49 +02:00
[224377] "open with" menu does not have "other" option
This commit is contained in:
parent
669b79655c
commit
6201d0e1ad
18 changed files with 160 additions and 144 deletions
|
@ -28,6 +28,7 @@
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
* David McKnight (IBM) - [222406] Need to be able to override local encoding
|
* David McKnight (IBM) - [222406] Need to be able to override local encoding
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.files.ui.resources;
|
package org.eclipse.rse.files.ui.resources;
|
||||||
|
@ -98,6 +99,7 @@ import org.eclipse.ui.PartInitException;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
import org.eclipse.ui.actions.WorkspaceModifyOperation;
|
import org.eclipse.ui.actions.WorkspaceModifyOperation;
|
||||||
import org.eclipse.ui.ide.IDE;
|
import org.eclipse.ui.ide.IDE;
|
||||||
|
import org.eclipse.ui.internal.WorkbenchPage;
|
||||||
import org.eclipse.ui.part.FileEditorInput;
|
import org.eclipse.ui.part.FileEditorInput;
|
||||||
import org.eclipse.ui.texteditor.IDocumentProvider;
|
import org.eclipse.ui.texteditor.IDocumentProvider;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
|
@ -200,7 +202,7 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String _editorId = null;
|
private IEditorDescriptor _editorDescriptor = null;
|
||||||
private boolean _isRemoteFileMounted = false;
|
private boolean _isRemoteFileMounted = false;
|
||||||
private String _actualRemoteHost = null;
|
private String _actualRemoteHost = null;
|
||||||
private String _actualRemotePath = null;
|
private String _actualRemotePath = null;
|
||||||
|
@ -208,7 +210,7 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
/**
|
/**
|
||||||
* Constructor for SystemEditableRemoteFile
|
* Constructor for SystemEditableRemoteFile
|
||||||
*/
|
*/
|
||||||
public SystemEditableRemoteFile(IWorkbenchPage page, IRemoteFile remoteFile, String editorId)
|
public SystemEditableRemoteFile(IWorkbenchPage page, IRemoteFile remoteFile, IEditorDescriptor editorDescriptor)
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this.page = page;
|
this.page = page;
|
||||||
|
@ -223,15 +225,15 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
|
|
||||||
this.root = mgr.getRemoteEditProjectLocation().makeAbsolute().toOSString();
|
this.root = mgr.getRemoteEditProjectLocation().makeAbsolute().toOSString();
|
||||||
this.localPath = getDownloadPath();
|
this.localPath = getDownloadPath();
|
||||||
this._editorId = editorId;
|
this._editorDescriptor = editorDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for SystemEditableRemoteFile
|
* Constructor for SystemEditableRemoteFile
|
||||||
*/
|
*/
|
||||||
public SystemEditableRemoteFile(IRemoteFile remoteFile, String editorId)
|
public SystemEditableRemoteFile(IRemoteFile remoteFile, IEditorDescriptor editorDescriptor)
|
||||||
{
|
{
|
||||||
this(null, remoteFile, editorId);
|
this(null, remoteFile, editorDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -256,8 +258,7 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
{
|
{
|
||||||
descriptor = getDefaultTextEditor();
|
descriptor = getDefaultTextEditor();
|
||||||
}
|
}
|
||||||
String id = descriptor.getId();
|
this._editorDescriptor = descriptor;
|
||||||
this._editorId = id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IEditorRegistry getEditorRegistry()
|
protected IEditorRegistry getEditorRegistry()
|
||||||
|
@ -1596,7 +1597,12 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
}
|
}
|
||||||
|
|
||||||
// set editor as preferred editor for this file
|
// set editor as preferred editor for this file
|
||||||
IDE.setDefaultEditor(file, _editorId);
|
|
||||||
|
String editorId = null;
|
||||||
|
if (_editorDescriptor != null)
|
||||||
|
_editorDescriptor.getId();
|
||||||
|
|
||||||
|
IDE.setDefaultEditor(file, editorId);
|
||||||
|
|
||||||
FileEditorInput finput = new FileEditorInput(file);
|
FileEditorInput finput = new FileEditorInput(file);
|
||||||
|
|
||||||
|
@ -1605,7 +1611,13 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
// DKM - when _editorId is not lpex, this causes problem
|
// DKM - when _editorId is not lpex, this causes problem
|
||||||
// DY - changed editor from SystemTextEditor to IEditorPart
|
// DY - changed editor from SystemTextEditor to IEditorPart
|
||||||
//editor = (SystemTextEditor)activePage.openEditor(file, _editorId);
|
//editor = (SystemTextEditor)activePage.openEditor(file, _editorId);
|
||||||
editor = activePage.openEditor(finput, _editorId);
|
if (_editorDescriptor != null && _editorDescriptor.isOpenExternal()){
|
||||||
|
editor = ((WorkbenchPage)activePage).openEditorFromDescriptor(new FileEditorInput(file), _editorDescriptor, true, null);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
editor = activePage.openEditor(finput, _editorDescriptor.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SystemIFileProperties properties = new SystemIFileProperties(file);
|
SystemIFileProperties properties = new SystemIFileProperties(file);
|
||||||
properties.setRemoteFileObject(this);
|
properties.setRemoteFileObject(this);
|
||||||
|
@ -1624,7 +1636,10 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
||||||
IFile file = getLocalResource();
|
IFile file = getLocalResource();
|
||||||
|
|
||||||
// set editor as preferred editor for this file
|
// set editor as preferred editor for this file
|
||||||
IDE.setDefaultEditor(file, _editorId);
|
String editorId = null;
|
||||||
|
if (_editorDescriptor != null)
|
||||||
|
editorId = _editorDescriptor.getId();
|
||||||
|
IDE.setDefaultEditor(file, editorId);
|
||||||
|
|
||||||
FileEditorInput fileInput = new FileEditorInput(file);
|
FileEditorInput fileInput = new FileEditorInput(file);
|
||||||
activePage.openEditor(fileInput, IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
|
activePage.openEditor(fileInput, IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
* David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings
|
* David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings
|
||||||
* David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others
|
* David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui;
|
package org.eclipse.rse.internal.files.ui;
|
||||||
|
@ -403,6 +404,9 @@ public class FileResources extends NLS
|
||||||
|
|
||||||
public static String EditorManager_saveResourcesTitle;
|
public static String EditorManager_saveResourcesTitle;
|
||||||
|
|
||||||
|
public static String OpenWithMenu_Other;
|
||||||
|
public static String OpenWithMenu_OtherDialogDescription;
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
// load message values from bundle file
|
// load message values from bundle file
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
# David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
# David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
# David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings
|
# David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings
|
||||||
# David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others
|
# David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others
|
||||||
|
# David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# NLS_MESSAGEFORMAT_VAR
|
# NLS_MESSAGEFORMAT_VAR
|
||||||
|
@ -391,4 +392,8 @@ MSG_CREATEFOLDERGENERIC_PROGRESS =Creating folder {0}...
|
||||||
MSG_ERROR_FILENAME_INVALID = File type extension must not contain '*' or '.'
|
MSG_ERROR_FILENAME_INVALID = File type extension must not contain '*' or '.'
|
||||||
|
|
||||||
EditorManager_saveResourcesTitle = Save Resources
|
EditorManager_saveResourcesTitle = Save Resources
|
||||||
|
|
||||||
|
OpenWithMenu_Other=Other...
|
||||||
|
OpenWithMenu_OtherDialogDescription=Choose the editor for opening {0}:
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -21,6 +22,7 @@ import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IEditorDescriptor;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -35,17 +37,17 @@ public class SystemBrowseFileAction extends SystemEditFileAction {
|
||||||
* @param tooltip
|
* @param tooltip
|
||||||
* @param image
|
* @param image
|
||||||
* @param parent
|
* @param parent
|
||||||
* @param editorId
|
* @param editorDescriptor
|
||||||
*/
|
*/
|
||||||
public SystemBrowseFileAction(String text, String tooltip, ImageDescriptor image, Shell parent, String editorId) {
|
public SystemBrowseFileAction(String text, String tooltip, ImageDescriptor image, Shell parent, IEditorDescriptor editorDescriptor) {
|
||||||
super(text, tooltip, image, parent, editorId);
|
super(text, tooltip, image, parent, editorDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.eclipse.rse.internal.files.ui.actions.SystemEditFileAction#process(IRemoteFile)
|
* @see org.eclipse.rse.internal.files.ui.actions.SystemEditFileAction#process(IRemoteFile)
|
||||||
*/
|
*/
|
||||||
protected void process(IRemoteFile remoteFile) {
|
protected void process(IRemoteFile remoteFile) {
|
||||||
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorId);
|
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorDescriptor);
|
||||||
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell(), true);
|
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -21,6 +22,7 @@ import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IEditorDescriptor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a remote file as read-only
|
* Open a remote file as read-only
|
||||||
|
@ -36,16 +38,16 @@ public class SystemBrowseFileLineAction extends SystemEditFileLineAction {
|
||||||
* @param editorId
|
* @param editorId
|
||||||
* @param line
|
* @param line
|
||||||
*/
|
*/
|
||||||
public SystemBrowseFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, String editorId,
|
public SystemBrowseFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, IEditorDescriptor editorDescriptor,
|
||||||
IRemoteFile remoteFile, int line, int charStart, int charEnd) {
|
IRemoteFile remoteFile, int line, int charStart, int charEnd) {
|
||||||
super(text, tooltip, image, parent, editorId, remoteFile, line, charStart, charEnd);
|
super(text, tooltip, image, parent, editorDescriptor, remoteFile, line, charStart, charEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.eclipse.rse.internal.files.ui.actions.SystemEditFileAction#process(IRemoteFile)
|
* @see org.eclipse.rse.internal.files.ui.actions.SystemEditFileAction#process(IRemoteFile)
|
||||||
*/
|
*/
|
||||||
protected void process(IRemoteFile remoteFile) {
|
protected void process(IRemoteFile remoteFile) {
|
||||||
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorId);
|
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorDescriptor);
|
||||||
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell(), true);
|
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell(), true);
|
||||||
handleGotoLine();
|
handleGotoLine();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
* Rupen Mardirossian (IBM) - [210682] created checkForCollision method that returns a boolean for SystemCopyDialog enhancement
|
* Rupen Mardirossian (IBM) - [210682] created checkForCollision method that returns a boolean for SystemCopyDialog enhancement
|
||||||
|
* David McKnight (IBM) - [224313] [api] Create RSE Events for MOVE and COPY holding both source and destination fields
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -50,7 +52,6 @@ import org.eclipse.rse.internal.files.ui.FileResources;
|
||||||
import org.eclipse.rse.internal.files.ui.ISystemFileConstants;
|
import org.eclipse.rse.internal.files.ui.ISystemFileConstants;
|
||||||
import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager;
|
import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager;
|
||||||
import org.eclipse.rse.internal.ui.SystemResources;
|
import org.eclipse.rse.internal.ui.SystemResources;
|
||||||
import org.eclipse.rse.internal.ui.view.SystemView;
|
|
||||||
import org.eclipse.rse.services.clientserver.SystemEncodingUtil;
|
import org.eclipse.rse.services.clientserver.SystemEncodingUtil;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage;
|
import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||||
|
@ -391,6 +392,18 @@ implements IValidatorRemoteSelection
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SystemBaseCopyAction#getOldAbsoluteNames()
|
||||||
|
*/
|
||||||
|
protected String[] getOldAbsoluteNames()
|
||||||
|
{
|
||||||
|
IRemoteFile[] files = getSelectedFiles();
|
||||||
|
String[] names = new String[files.length];
|
||||||
|
for (int idx=0; idx<files.length; idx++)
|
||||||
|
names[idx] = files[idx].getAbsolutePath();
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Override of parent.
|
* Override of parent.
|
||||||
* Return the dialog that will be used to prompt for the copy/move target location.
|
* Return the dialog that will be used to prompt for the copy/move target location.
|
||||||
|
@ -524,7 +537,7 @@ implements IValidatorRemoteSelection
|
||||||
* Called after all the copy/move operations end, be it successfully or not.
|
* Called after all the copy/move operations end, be it successfully or not.
|
||||||
* Your opportunity to display completion or do post-copy selections/refreshes
|
* Your opportunity to display completion or do post-copy selections/refreshes
|
||||||
*/
|
*/
|
||||||
public void copyComplete()
|
public void copyComplete(String operation)
|
||||||
{
|
{
|
||||||
if (copiedFiles.size() == 0)
|
if (copiedFiles.size() == 0)
|
||||||
return;
|
return;
|
||||||
|
@ -532,74 +545,20 @@ implements IValidatorRemoteSelection
|
||||||
// refresh all instances of this parent, and all affected filters...
|
// refresh all instances of this parent, and all affected filters...
|
||||||
ISubSystem fileSS = targetFolder.getParentRemoteFileSubSystem();
|
ISubSystem fileSS = targetFolder.getParentRemoteFileSubSystem();
|
||||||
Viewer originatingViewer = getViewer();
|
Viewer originatingViewer = getViewer();
|
||||||
if (originatingViewer != null)
|
|
||||||
{
|
|
||||||
if (!targetFolder.getAbsolutePath().equals(firstSelectionParent.getAbsolutePath()))
|
|
||||||
{
|
|
||||||
// we select the first instance of the target folder now so that the copied members will be selected in it
|
|
||||||
// after it is refreshed via the remote_resource_created event.
|
|
||||||
if (originatingViewer instanceof SystemView)
|
|
||||||
{
|
|
||||||
// boolean selectedOk = ((SystemView)originatingViewer).selectRemoteObjects(targetFolder.getAbsolutePath(), fileSS, null);
|
|
||||||
//System.out.println(targetFolder.getAbsolutePath()+" selectedOK? " + selectedOk);
|
|
||||||
//if (selectedOk)
|
|
||||||
// return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
targetFolder.markStale(true);
|
targetFolder.markStale(true);
|
||||||
|
|
||||||
// invalidate filters
|
// invalidate filters
|
||||||
invalidateFilterReferences(targetFolder);
|
invalidateFilterReferences(targetFolder);
|
||||||
|
|
||||||
|
if (operation == null){
|
||||||
RSECorePlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(
|
operation = ISystemRemoteChangeEvents.SYSTEM_REMOTE_OPERATION_COPY;
|
||||||
ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, copiedFiles, targetFolder.getAbsolutePath(), fileSS, null, originatingViewer);
|
|
||||||
|
|
||||||
/* Old release 1.0 way...
|
|
||||||
// did they copy to the same parent? Just refresh that parent, whatever it is...
|
|
||||||
if (targetFolder.getAbsolutePath().equals(firstSelectionParent.getAbsolutePath()))
|
|
||||||
{
|
|
||||||
Viewer v = getViewer();
|
|
||||||
if (v instanceof ISystemTree)
|
|
||||||
{
|
|
||||||
SystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
|
||||||
ISystemTree tree = (ISystemTree)v;
|
|
||||||
Object parent = tree.getSelectedParent();
|
|
||||||
if (parent == null)
|
|
||||||
return;
|
|
||||||
if (parent instanceof IRemoteFile)
|
|
||||||
// refresh parent in all views...
|
|
||||||
sr.fireEvent(
|
|
||||||
new org.eclipse.rse.ui.model.SystemResourceChangeEvent(
|
|
||||||
parent,ISystemResourceChangeEvent.EVENT_REFRESH_REMOTE, null)
|
|
||||||
);
|
|
||||||
else
|
|
||||||
// refresh parent in all views...
|
|
||||||
sr.fireEvent(
|
|
||||||
new org.eclipse.rse.ui.model.SystemResourceChangeEvent(
|
|
||||||
parent,ISystemResourceChangeEvent.EVENT_REFRESH, null)
|
|
||||||
);
|
|
||||||
// select new files in this view only
|
|
||||||
sr.fireEvent((ISystemResourceChangeListener)v,
|
|
||||||
new org.eclipse.rse.ui.model.SystemResourceChangeEvent(
|
|
||||||
copiedFiles,ISystemResourceChangeEvent.EVENT_SELECT_REMOTE, targetFolder)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// they copied somewhere else... a little more work...
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// refresh target folder in all views, but only select new files in this view...
|
|
||||||
org.eclipse.rse.ui.model.SystemResourceChangeEvent event =
|
|
||||||
new org.eclipse.rse.ui.model.SystemResourceChangeEvent(
|
|
||||||
targetFolder,ISystemResourceChangeEvent.EVENT_REFRESH_REMOTE, copiedFiles);
|
|
||||||
event.setOriginatingViewer(getViewer());
|
|
||||||
sr.fireEvent(event);
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
RSECorePlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(operation,
|
||||||
|
ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, copiedFiles, targetFolder.getAbsolutePath(), fileSS, getOldAbsoluteNames(), originatingViewer);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -204,7 +204,7 @@ public class SystemCreateEditActions
|
||||||
ImageDescriptor image = getImageDescriptor(remoteFile, descriptor);
|
ImageDescriptor image = getImageDescriptor(remoteFile, descriptor);
|
||||||
|
|
||||||
// create action
|
// create action
|
||||||
SystemEditFileAction action = new SystemEditFileAction(label, label, image, IAction.AS_RADIO_BUTTON, shell, editorId);
|
SystemEditFileAction action = new SystemEditFileAction(label, label, image, IAction.AS_RADIO_BUTTON, shell, descriptor);
|
||||||
|
|
||||||
// check if editor is the preferred editor
|
// check if editor is the preferred editor
|
||||||
boolean isPreferred = preferredEditor != null && editorId.equals(preferredEditor.getId());
|
boolean isPreferred = preferredEditor != null && editorId.equals(preferredEditor.getId());
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -90,8 +90,7 @@ public class SystemDoubleClickEditAction extends SystemBaseAction
|
||||||
descriptor = registry.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
|
descriptor = registry.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
|
||||||
|
|
||||||
}
|
}
|
||||||
String id = descriptor.getId();
|
SystemEditFileAction editAction = new SystemEditFileAction(null, null, null, null, descriptor);
|
||||||
SystemEditFileAction editAction = new SystemEditFileAction(null, null, null, null, id);
|
|
||||||
editAction.setSelection(new StructuredSelection(element));
|
editAction.setSelection(new StructuredSelection(element));
|
||||||
editAction.run();
|
editAction.run();
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
* David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob
|
* David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -30,30 +31,31 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
|
||||||
import org.eclipse.rse.ui.actions.SystemBaseAction;
|
import org.eclipse.rse.ui.actions.SystemBaseAction;
|
||||||
import org.eclipse.rse.ui.view.ISystemEditableRemoteObject;
|
import org.eclipse.rse.ui.view.ISystemEditableRemoteObject;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IEditorDescriptor;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class SystemEditFileAction extends SystemBaseAction {
|
public class SystemEditFileAction extends SystemBaseAction {
|
||||||
|
|
||||||
|
|
||||||
protected String _editorId;
|
protected IEditorDescriptor _editorDescriptor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for SystemEditFileAction
|
* Constructor for SystemEditFileAction
|
||||||
*/
|
*/
|
||||||
public SystemEditFileAction(String text, String tooltip, ImageDescriptor image, Shell parent, String editorId) {
|
public SystemEditFileAction(String text, String tooltip, ImageDescriptor image, Shell parent, IEditorDescriptor editorDescriptor) {
|
||||||
super(text, tooltip, null, image, parent);
|
super(text, tooltip, null, image, parent);
|
||||||
init();
|
init();
|
||||||
_editorId = editorId;
|
_editorDescriptor = editorDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for SystemEditFileAction
|
* Constructor for SystemEditFileAction
|
||||||
*/
|
*/
|
||||||
public SystemEditFileAction(String text, String tooltip, ImageDescriptor image, int style, Shell parent, String editorId) {
|
public SystemEditFileAction(String text, String tooltip, ImageDescriptor image, int style, Shell parent, IEditorDescriptor editorDescriptor) {
|
||||||
super(text, tooltip, null, image, style, parent);
|
super(text, tooltip, null, image, style, parent);
|
||||||
init();
|
init();
|
||||||
_editorId = editorId;
|
_editorDescriptor = editorDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -146,7 +148,7 @@ public class SystemEditFileAction extends SystemBaseAction {
|
||||||
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorId);
|
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorId);
|
||||||
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell());
|
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell());
|
||||||
*/
|
*/
|
||||||
SystemEditableRemoteFile editable = new SystemEditableRemoteFile(remoteFile, _editorId);
|
SystemEditableRemoteFile editable = new SystemEditableRemoteFile(remoteFile, _editorDescriptor);
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -25,6 +26,7 @@ import org.eclipse.rse.subsystems.files.core.SystemIFileProperties;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IEditorDescriptor;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IEditorPart;
|
import org.eclipse.ui.IEditorPart;
|
||||||
import org.eclipse.ui.IEditorReference;
|
import org.eclipse.ui.IEditorReference;
|
||||||
|
@ -46,8 +48,8 @@ public class SystemEditFileLineAction extends SystemEditFileAction {
|
||||||
/**
|
/**
|
||||||
* Constructor for SystemEditFileAction.
|
* Constructor for SystemEditFileAction.
|
||||||
*/
|
*/
|
||||||
public SystemEditFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, String editorId, IRemoteFile remoteFile, int line, int charStart, int charEnd) {
|
public SystemEditFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, IEditorDescriptor editorDescriptor, IRemoteFile remoteFile, int line, int charStart, int charEnd) {
|
||||||
super(text, tooltip, image, parent, editorId);
|
super(text, tooltip, image, parent, editorDescriptor);
|
||||||
_line = line;
|
_line = line;
|
||||||
_remoteFile = remoteFile;
|
_remoteFile = remoteFile;
|
||||||
_charStart = charStart;
|
_charStart = charStart;
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
* David McKnight (IBM) - [209660] check for changed encoding before using cached file
|
* David McKnight (IBM) - [209660] check for changed encoding before using cached file
|
||||||
* David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob
|
* David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -173,7 +174,7 @@ public class SystemEditFilesAction extends SystemBaseAction {
|
||||||
editorId = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$
|
editorId = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
SystemEditableRemoteFile editable = new SystemEditableRemoteFile(remoteFile, editorId);
|
SystemEditableRemoteFile editable = new SystemEditableRemoteFile(remoteFile, des);
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
* Rupen Mardirossian (IBM) - [210682] Modified MoveRemoteFileJob.runInWorkspace to use SystemCopyDialog for collisions in move operations
|
* Rupen Mardirossian (IBM) - [210682] Modified MoveRemoteFileJob.runInWorkspace to use SystemCopyDialog for collisions in move operations
|
||||||
|
* David McKnight (IBM) - [224313] [api] Create RSE Events for MOVE and COPY holding both source and destination fields
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -188,7 +190,7 @@ public class SystemMoveRemoteFileAction extends SystemCopyRemoteFileAction
|
||||||
}
|
}
|
||||||
if (movedFiles.size() > 0)
|
if (movedFiles.size() > 0)
|
||||||
{
|
{
|
||||||
copyComplete(); //Need to reflect the views.
|
copyComplete(ISystemRemoteChangeEvents.SYSTEM_REMOTE_OPERATION_MOVE); //Need to reflect the views.
|
||||||
}
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
@ -359,52 +361,23 @@ public class SystemMoveRemoteFileAction extends SystemCopyRemoteFileAction
|
||||||
* Called after all the copy/move operations end, be it successfully or not.
|
* Called after all the copy/move operations end, be it successfully or not.
|
||||||
* Your opportunity to display completion or do post-copy selections/refreshes
|
* Your opportunity to display completion or do post-copy selections/refreshes
|
||||||
*/
|
*/
|
||||||
public void copyComplete()
|
public void copyComplete(String operation)
|
||||||
{
|
{
|
||||||
// we want to do the super.copyComplete() to refresh the target, but first we must do refresh the
|
// we want to do the super.copyComplete() to refresh the target, but first we must do refresh the
|
||||||
// source to reflect the deletion...
|
// source to reflect the deletion...
|
||||||
|
|
||||||
// refresh all instances of the source parent, and all affected filters...
|
// refresh all instances of the source parent, and all affected filters...
|
||||||
ISubSystem fileSS = targetFolder.getParentRemoteFileSubSystem();
|
ISubSystem fileSS = targetFolder.getParentRemoteFileSubSystem();
|
||||||
//RSECorePlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(
|
|
||||||
// ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_DELETED, copiedFiles, firstSelectionParent.getAbsolutePath(), fileSS, null, null);
|
|
||||||
Viewer originatingViewer = getViewer();
|
|
||||||
RSECorePlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(
|
|
||||||
ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_DELETED, movedFiles, firstSelectionParent.getAbsolutePath(), fileSS, null, originatingViewer);
|
|
||||||
|
|
||||||
|
if (operation == null){
|
||||||
/* old release 1.0 way of doing it...
|
operation = ISystemRemoteChangeEvents.SYSTEM_REMOTE_OPERATION_MOVE;
|
||||||
Viewer v = getViewer();
|
}
|
||||||
if (v instanceof ISystemTree)
|
|
||||||
{
|
|
||||||
SystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
Viewer originatingViewer = getViewer();
|
||||||
ISystemTree tree = (ISystemTree)v;
|
RSECorePlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(operation,
|
||||||
Object parent = tree.getSelectedParent();
|
ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_DELETED, movedFiles, firstSelectionParent.getAbsolutePath(), fileSS, getOldAbsoluteNames(), originatingViewer);
|
||||||
if (parent != null)
|
|
||||||
{
|
super.copyComplete(operation);
|
||||||
if (parent instanceof IRemoteFile)
|
|
||||||
{
|
|
||||||
//System.out.println("Firing REFRESH_REMOTE");
|
|
||||||
sr.fireEvent(
|
|
||||||
new org.eclipse.rse.ui.model.impl.SystemResourceChangeEvent(
|
|
||||||
parent,ISystemResourceChangeEvent.EVENT_REFRESH_REMOTE, null) );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//System.out.println("MOVE OPERATION: Firing REFRESH");
|
|
||||||
// FIRST REFRESH EXPANDED FILTER
|
|
||||||
sr.fireEvent(
|
|
||||||
new org.eclipse.rse.ui.model.impl.SystemResourceChangeEvent(
|
|
||||||
parent,ISystemResourceChangeEvent.EVENT_REFRESH, null) );
|
|
||||||
// NEXT REFRESH ALL OTHER PLACES THAT MIGHT BE SHOWING THE SOURCE FOLDER
|
|
||||||
sr.fireEvent(
|
|
||||||
new org.eclipse.rse.ui.model.impl.SystemResourceChangeEvent(
|
|
||||||
firstSelectionParent,ISystemResourceChangeEvent.EVENT_REFRESH_REMOTE, null) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
RSEUIPlugin.logWarning("Hmm, selected parent is null on a move operation!");
|
|
||||||
}*/
|
|
||||||
super.copyComplete();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -13,6 +13,7 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -137,7 +138,7 @@ public class SystemRemoteFileLineOpenWithMenu extends SystemRemoteFileOpenWithMe
|
||||||
|
|
||||||
protected void openEditor(IRemoteFile file, IEditorDescriptor descriptor)
|
protected void openEditor(IRemoteFile file, IEditorDescriptor descriptor)
|
||||||
{
|
{
|
||||||
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(file, descriptor.getId());
|
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(file, descriptor);
|
||||||
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell());
|
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell());
|
||||||
handleGotoLine();
|
handleGotoLine();
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
* David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob
|
* David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -30,6 +31,8 @@ import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
import org.eclipse.jface.action.ContributionItem;
|
import org.eclipse.jface.action.ContributionItem;
|
||||||
import org.eclipse.jface.resource.ImageDescriptor;
|
import org.eclipse.jface.resource.ImageDescriptor;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
|
import org.eclipse.jface.window.Window;
|
||||||
|
import org.eclipse.osgi.util.NLS;
|
||||||
import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile;
|
import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile;
|
||||||
import org.eclipse.rse.files.ui.resources.UniversalFileTransferUtility;
|
import org.eclipse.rse.files.ui.resources.UniversalFileTransferUtility;
|
||||||
import org.eclipse.rse.internal.files.ui.FileResources;
|
import org.eclipse.rse.internal.files.ui.FileResources;
|
||||||
|
@ -51,6 +54,7 @@ import org.eclipse.ui.IEditorRegistry;
|
||||||
import org.eclipse.ui.IWorkbenchPage;
|
import org.eclipse.ui.IWorkbenchPage;
|
||||||
import org.eclipse.ui.PartInitException;
|
import org.eclipse.ui.PartInitException;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
|
import org.eclipse.ui.dialogs.EditorSelectionDialog;
|
||||||
import org.eclipse.ui.ide.IDE;
|
import org.eclipse.ui.ide.IDE;
|
||||||
|
|
||||||
|
|
||||||
|
@ -181,6 +185,40 @@ protected void createMenuItem(Menu menu, final IEditorDescriptor descriptor, fin
|
||||||
menuItem.addListener(SWT.Selection, listener);
|
menuItem.addListener(SWT.Selection, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the Other... menu item
|
||||||
|
*
|
||||||
|
* @param menu the menu to add the item to
|
||||||
|
*/
|
||||||
|
private void createOtherMenuItem(final Menu menu, final IRemoteFile remoteFile) {
|
||||||
|
|
||||||
|
new MenuItem(menu, SWT.SEPARATOR);
|
||||||
|
final MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
|
||||||
|
menuItem.setText(FileResources.OpenWithMenu_Other);
|
||||||
|
Listener listener = new Listener() {
|
||||||
|
public void handleEvent(Event event) {
|
||||||
|
switch (event.type) {
|
||||||
|
case SWT.Selection:
|
||||||
|
EditorSelectionDialog dialog = new EditorSelectionDialog(
|
||||||
|
menu.getShell());
|
||||||
|
dialog
|
||||||
|
.setMessage(NLS
|
||||||
|
.bind(
|
||||||
|
FileResources.OpenWithMenu_OtherDialogDescription,
|
||||||
|
remoteFile.getName()));
|
||||||
|
if (dialog.open() == Window.OK) {
|
||||||
|
IEditorDescriptor editor = dialog.getSelectedEditor();
|
||||||
|
if (editor != null) {
|
||||||
|
openEditor(remoteFile, editor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
menuItem.addListener(SWT.Selection, listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void openEditor(IRemoteFile remoteFile, IEditorDescriptor descriptor) {
|
protected void openEditor(IRemoteFile remoteFile, IEditorDescriptor descriptor) {
|
||||||
|
|
||||||
|
@ -192,7 +230,7 @@ protected void openEditor(IRemoteFile remoteFile, IEditorDescriptor descriptor)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
editable = new SystemEditableRemoteFile(remoteFile, descriptor.getId());
|
editable = new SystemEditableRemoteFile(remoteFile, descriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean systemEditor = descriptor != null && descriptor.getId().equals(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
|
boolean systemEditor = descriptor != null && descriptor.getId().equals(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
|
||||||
|
@ -392,6 +430,10 @@ public void fill(Menu menu, int index)
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
createDefaultMenuItem(menu, _remoteFile);
|
createDefaultMenuItem(menu, _remoteFile);
|
||||||
|
|
||||||
|
// create other menu
|
||||||
|
createOtherMenuItem(menu, _remoteFile);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -22,6 +23,7 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteSearchResult;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteSearchResult;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IEditorDescriptor;
|
||||||
|
|
||||||
|
|
||||||
public class SystemSearchBrowseFileLineAction extends SystemSearchEditFileLineAction {
|
public class SystemSearchBrowseFileLineAction extends SystemSearchEditFileLineAction {
|
||||||
|
@ -32,19 +34,19 @@ public class SystemSearchBrowseFileLineAction extends SystemSearchEditFileLineAc
|
||||||
* @param tooltip the tooltip for the action.
|
* @param tooltip the tooltip for the action.
|
||||||
* @param image the image for the action.
|
* @param image the image for the action.
|
||||||
* @param parent the parent shell.
|
* @param parent the parent shell.
|
||||||
* @param editorId the editor id.
|
* @param editorDescriptor the editor id.
|
||||||
* @param remoteFile the remote file that is to be opened.
|
* @param remoteFile the remote file that is to be opened.
|
||||||
* @param searchResult the line number.
|
* @param searchResult the line number.
|
||||||
*/
|
*/
|
||||||
public SystemSearchBrowseFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, String editorId, IRemoteFile remoteFile, IRemoteSearchResult searchResult) {
|
public SystemSearchBrowseFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, IEditorDescriptor editorDescriptor, IRemoteFile remoteFile, IRemoteSearchResult searchResult) {
|
||||||
super(text, tooltip, image, parent, editorId, remoteFile, searchResult);
|
super(text, tooltip, image, parent, editorDescriptor, remoteFile, searchResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.eclipse.rse.internal.files.ui.actions.SystemEditFileAction#process(IRemoteFile)
|
* @see org.eclipse.rse.internal.files.ui.actions.SystemEditFileAction#process(IRemoteFile)
|
||||||
*/
|
*/
|
||||||
protected void process(IRemoteFile remoteFile) {
|
protected void process(IRemoteFile remoteFile) {
|
||||||
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorId);
|
SystemEditableRemoteFile editableFile = new SystemEditableRemoteFile(remoteFile, _editorDescriptor);
|
||||||
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell(), true);
|
editableFile.open(SystemBasePlugin.getActiveWorkbenchShell(), true);
|
||||||
handleGotoLine(_remoteFile, _searchResult);
|
handleGotoLine(_remoteFile, _searchResult);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -26,6 +27,7 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteSearchResult;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteSearchResult;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IEditorDescriptor;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IEditorPart;
|
import org.eclipse.ui.IEditorPart;
|
||||||
import org.eclipse.ui.IEditorReference;
|
import org.eclipse.ui.IEditorReference;
|
||||||
|
@ -54,8 +56,8 @@ public class SystemSearchEditFileLineAction extends SystemEditFileAction {
|
||||||
* @param remoteFile the remote file that is to be opened.
|
* @param remoteFile the remote file that is to be opened.
|
||||||
* @param searchResult the line number.
|
* @param searchResult the line number.
|
||||||
*/
|
*/
|
||||||
public SystemSearchEditFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, String editorId, IRemoteFile remoteFile, IRemoteSearchResult searchResult) {
|
public SystemSearchEditFileLineAction(String text, String tooltip, ImageDescriptor image, Shell parent, IEditorDescriptor editorDescriptor, IRemoteFile remoteFile, IRemoteSearchResult searchResult) {
|
||||||
super(text, tooltip, image, parent, editorId);
|
super(text, tooltip, image, parent, editorDescriptor);
|
||||||
this._remoteFile = remoteFile;
|
this._remoteFile = remoteFile;
|
||||||
this._searchResult = searchResult;
|
this._searchResult = searchResult;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
* Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.actions;
|
package org.eclipse.rse.internal.files.ui.actions;
|
||||||
|
@ -533,7 +534,7 @@ public class SystemUploadConflictAction extends SystemBaseAction implements Runn
|
||||||
String id = editor.getEditorSite().getId();
|
String id = editor.getEditorSite().getId();
|
||||||
|
|
||||||
// open editor on new file
|
// open editor on new file
|
||||||
SystemEditableRemoteFile edit = new SystemEditableRemoteFile(_saveasFile, id);
|
SystemEditableRemoteFile edit = new SystemEditableRemoteFile(_saveasFile);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
edit.download(getShell());
|
edit.download(getShell());
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
|
||||||
* Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI
|
* Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI
|
||||||
* Rupen Mardirossian (IBM) - [210682] Copy collisions will use SystemCopyDialog now instead of renameDialog when there is a copy collision within the same connection
|
* Rupen Mardirossian (IBM) - [210682] Copy collisions will use SystemCopyDialog now instead of renameDialog when there is a copy collision within the same connection
|
||||||
|
* David McKnight (IBM) - [224377] "open with" menu does not have "other" option
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.view;
|
package org.eclipse.rse.internal.files.ui.view;
|
||||||
|
@ -395,6 +396,9 @@ public class SystemViewRemoteFileAdapter
|
||||||
openWithMenu.updateSelection(selection);
|
openWithMenu.updateSelection(selection);
|
||||||
submenu.add(openWithMenu);
|
submenu.add(openWithMenu);
|
||||||
menu.getMenuManager().appendToGroup(ISystemContextMenuConstants.GROUP_OPENWITH, submenu);
|
menu.getMenuManager().appendToGroup(ISystemContextMenuConstants.GROUP_OPENWITH, submenu);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue