mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-05 08:05:24 +02:00
[180875] applying Kevin Dolye's patch for closing file dialog on double-click
This commit is contained in:
parent
26ca200828
commit
9c7c0f0cac
4 changed files with 97 additions and 1 deletions
|
@ -11,15 +11,23 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
|
* Kevin Doyle (IBM) - Added Double Click Listener that closes dialog on file double click
|
||||||
* {Name} (company) - description of contribution.
|
* {Name} (company) - description of contribution.
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.files.ui.dialogs;
|
package org.eclipse.rse.files.ui.dialogs;
|
||||||
|
|
||||||
|
import org.eclipse.jface.viewers.DoubleClickEvent;
|
||||||
|
import org.eclipse.jface.viewers.IDoubleClickListener;
|
||||||
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources;
|
import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources;
|
||||||
import org.eclipse.rse.internal.ui.view.SystemActionViewerFilter;
|
import org.eclipse.rse.internal.ui.view.SystemActionViewerFilter;
|
||||||
|
import org.eclipse.rse.internal.ui.view.SystemView;
|
||||||
|
import org.eclipse.rse.ui.dialogs.SystemPromptDialog;
|
||||||
import org.eclipse.rse.ui.dialogs.SystemRemoteResourceDialog;
|
import org.eclipse.rse.ui.dialogs.SystemRemoteResourceDialog;
|
||||||
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,4 +63,40 @@ public class SystemRemoteFileDialog extends SystemRemoteResourceDialog
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override of parent.
|
||||||
|
*/
|
||||||
|
protected Control createContents(Composite parent)
|
||||||
|
{
|
||||||
|
Control control = super.createContents(parent);
|
||||||
|
_form.getSystemViewForm().getSystemView().addDoubleClickListener(new IDoubleClickListener() {
|
||||||
|
public void doubleClick(DoubleClickEvent event) {
|
||||||
|
handleDoubleClick(event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return control;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles double clicks in viewer.
|
||||||
|
* Closes the dialog if a file is double clicked
|
||||||
|
*/
|
||||||
|
protected void handleDoubleClick(DoubleClickEvent event)
|
||||||
|
{
|
||||||
|
SystemView tree = _form.getSystemViewForm().getSystemView();
|
||||||
|
IStructuredSelection s = (IStructuredSelection) event.getSelection();
|
||||||
|
Object element = s.getFirstElement();
|
||||||
|
if (element == null)
|
||||||
|
return;
|
||||||
|
if (_form.isPageComplete() && !tree.isExpandable(element))
|
||||||
|
{
|
||||||
|
setReturnCode(OK);
|
||||||
|
if (processOK())
|
||||||
|
{
|
||||||
|
okPressed = true;
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -11,10 +11,14 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
|
* Kevin Doyle (IBM) - Added a double click listener that closes the dialog if appropriate
|
||||||
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.files.ui.dialogs;
|
package org.eclipse.rse.files.ui.dialogs;
|
||||||
|
import org.eclipse.jface.viewers.DoubleClickEvent;
|
||||||
|
import org.eclipse.jface.viewers.IDoubleClickListener;
|
||||||
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.jface.viewers.ViewerFilter;
|
import org.eclipse.jface.viewers.ViewerFilter;
|
||||||
import org.eclipse.rse.core.IRSESystemType;
|
import org.eclipse.rse.core.IRSESystemType;
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
@ -22,6 +26,7 @@ import org.eclipse.rse.files.ui.ISystemAddFileListener;
|
||||||
import org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm;
|
import org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm;
|
||||||
import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources;
|
import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources;
|
||||||
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.internal.ui.view.SystemViewForm;
|
import org.eclipse.rse.internal.ui.view.SystemViewForm;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
|
@ -404,6 +409,43 @@ public class SystemSelectRemoteFileOrFolderDialog
|
||||||
// ------------------
|
// ------------------
|
||||||
// PRIVATE METHODS...
|
// PRIVATE METHODS...
|
||||||
// ------------------
|
// ------------------
|
||||||
|
/**
|
||||||
|
* Private method.
|
||||||
|
* @see SystemPromptDialog#createContents(Composite)
|
||||||
|
*/
|
||||||
|
protected Control createContents(Composite parent)
|
||||||
|
{
|
||||||
|
Control control = super.createContents(parent);
|
||||||
|
form.getSystemViewForm().getSystemView().addDoubleClickListener(new IDoubleClickListener() {
|
||||||
|
public void doubleClick(DoubleClickEvent event) {
|
||||||
|
handleDoubleClick(event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return control;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles double clicks in viewer.
|
||||||
|
* Closes the dialog if a file is double clicked
|
||||||
|
*/
|
||||||
|
protected void handleDoubleClick(DoubleClickEvent event)
|
||||||
|
{
|
||||||
|
SystemView tree = form.getSystemViewForm().getSystemView();
|
||||||
|
IStructuredSelection s = (IStructuredSelection) event.getSelection();
|
||||||
|
Object element = s.getFirstElement();
|
||||||
|
if (element == null)
|
||||||
|
return;
|
||||||
|
if (FILE_MODE && form.isPageComplete() && !tree.isExpandable(element))
|
||||||
|
{
|
||||||
|
setReturnCode(OK);
|
||||||
|
if (processOK())
|
||||||
|
{
|
||||||
|
okPressed = true;
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private method.
|
* Private method.
|
||||||
* @see SystemPromptDialog#getInitialFocusControl()
|
* @see SystemPromptDialog#getInitialFocusControl()
|
||||||
|
|
|
@ -11,6 +11,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:
|
||||||
|
* Kevin Doyle (IBM) - Added getSystemViewForm()
|
||||||
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
|
@ -131,6 +132,15 @@ public class SystemResourceSelectionForm implements ISelectionChangedListener
|
||||||
return outputObjects;
|
return outputObjects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the embedded System Tree object.
|
||||||
|
* Will be null until createControls is called.
|
||||||
|
*/
|
||||||
|
public SystemViewForm getSystemViewForm()
|
||||||
|
{
|
||||||
|
return _systemViewForm;
|
||||||
|
}
|
||||||
|
|
||||||
public void createControls(Composite parent)
|
public void createControls(Composite parent)
|
||||||
{
|
{
|
||||||
_container = SystemWidgetHelpers.createComposite(parent, showPropertySheet ? 2 : 1);
|
_container = SystemWidgetHelpers.createComposite(parent, showPropertySheet ? 2 : 1);
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.eclipse.swt.widgets.Shell;
|
||||||
|
|
||||||
public abstract class SystemRemoteResourceDialog extends SystemPromptDialog
|
public abstract class SystemRemoteResourceDialog extends SystemPromptDialog
|
||||||
{
|
{
|
||||||
private SystemResourceSelectionForm _form;
|
protected SystemResourceSelectionForm _form;
|
||||||
private SystemResourceSelectionInputProvider _inputProvider;
|
private SystemResourceSelectionInputProvider _inputProvider;
|
||||||
private Object _preSelection;
|
private Object _preSelection;
|
||||||
private IValidatorRemoteSelection _selectionValidator;
|
private IValidatorRemoteSelection _selectionValidator;
|
||||||
|
|
Loading…
Add table
Reference in a new issue