mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-15 13:05:22 +02:00
[195543] Kevin's fix for Double Clicking on a folder expands wrong folder if shown twice in view
This commit is contained in:
parent
ad2e9287a6
commit
5161387b9f
1 changed files with 12 additions and 4 deletions
|
@ -14,6 +14,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||||
* Kevin Doyle (IBM) - [182403] Double Click on an object that can be expanded
|
* Kevin Doyle (IBM) - [182403] Double Click on an object that can be expanded
|
||||||
|
* Kevin Doyle (IBM) - [195543] Double Clicking expands wrong folder when duplicate elements shown
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.ui.view.scratchpad;
|
package org.eclipse.rse.internal.ui.view.scratchpad;
|
||||||
|
@ -28,7 +29,9 @@ import org.eclipse.jface.viewers.IDoubleClickListener;
|
||||||
import org.eclipse.jface.viewers.ISelection;
|
import org.eclipse.jface.viewers.ISelection;
|
||||||
import org.eclipse.jface.viewers.ISelectionChangedListener;
|
import org.eclipse.jface.viewers.ISelectionChangedListener;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
|
import org.eclipse.jface.viewers.ITreeSelection;
|
||||||
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
||||||
|
import org.eclipse.jface.viewers.TreePath;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
import org.eclipse.rse.core.RSECorePlugin;
|
import org.eclipse.rse.core.RSECorePlugin;
|
||||||
import org.eclipse.rse.core.events.ISystemResourceChangeEvent;
|
import org.eclipse.rse.core.events.ISystemResourceChangeEvent;
|
||||||
|
@ -176,7 +179,7 @@ public class SystemScratchpadViewPart extends ViewPart
|
||||||
|
|
||||||
private void handleDoubleClick(DoubleClickEvent event)
|
private void handleDoubleClick(DoubleClickEvent event)
|
||||||
{
|
{
|
||||||
IStructuredSelection s = (IStructuredSelection) event.getSelection();
|
ITreeSelection s = (ITreeSelection) event.getSelection();
|
||||||
Object element = s.getFirstElement();
|
Object element = s.getFirstElement();
|
||||||
|
|
||||||
if (element == null)
|
if (element == null)
|
||||||
|
@ -188,13 +191,18 @@ public class SystemScratchpadViewPart extends ViewPart
|
||||||
{
|
{
|
||||||
if (adapter.hasChildren((IAdaptable)element))
|
if (adapter.hasChildren((IAdaptable)element))
|
||||||
{
|
{
|
||||||
if (_viewer.getExpandedState(element))
|
// Get the path for the element and use it for setting expanded state,
|
||||||
|
// so the proper TreeItem is expanded/collapsed
|
||||||
|
TreePath[] paths = s.getPathsFor(element);
|
||||||
|
if (paths == null || paths.length == 0 || paths[0] == null) return;
|
||||||
|
TreePath elementPath = paths[0];
|
||||||
|
if (_viewer.getExpandedState(elementPath))
|
||||||
{
|
{
|
||||||
_viewer.collapseToLevel(element, 1);
|
_viewer.collapseToLevel(elementPath, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_viewer.expandToLevel(element, 1);
|
_viewer.expandToLevel(elementPath, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Reference in a new issue