1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

The "copy" menu item of the "Terminal" view isn't available if the text

is selected via "Select All" from the context menu

Signed-off-by: Max Weninger <max.weninger@windriver.com>
This commit is contained in:
Max Weninger 2015-08-05 16:33:44 +02:00 committed by Uwe Stieber
parent dd006914b5
commit 7c218d95fb
6 changed files with 39 additions and 2 deletions

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.tm.terminal.control; singleton:=true
Bundle-Version: 4.0.0.qualifier
Bundle-Version: 4.1.0.qualifier
Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin

View file

@ -30,4 +30,13 @@ public interface ITerminalListener {
* @param title
*/
void setTerminalTitle(String title);
/**
* selection has been changed internally e.g. select all
* clients might want to react on that
* NOTE: this does not include mouse selections
* those are handled in separate MouseListeners
* TODO should be unified
*/
void setTerminalSelectionChanged();
}

View file

@ -305,6 +305,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
*/
public void selectAll() {
getCtlText().selectAll();
fTerminalListener.setTerminalSelectionChanged();
}
/* (non-Javadoc)
@ -330,8 +331,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
*/
public void clearTerminal() {
// The TerminalText object does all text manipulation.
getTerminalText().clearTerminal();
getCtlText().clearSelection();
fTerminalListener.setTerminalSelectionChanged();
}
/* (non-Javadoc)

View file

@ -343,6 +343,11 @@ public class TextCanvas extends GridCanvas {
fCellCanvasModel.setSelection(0, fCellCanvasModel.getTerminalText().getHeight(), 0, fCellCanvasModel.getTerminalText().getWidth());
fCellCanvasModel.setSelectionAnchor(new Point(0,0));
}
public void clearSelection() {
fCellCanvasModel.setSelection(-1,-1,-1,-1);
}
public boolean isEmpty() {
return false;
}

View file

@ -769,6 +769,22 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid
fireSelectionChanged(getSelection());
}
/**
* Fire the selection changed event with the terminal text!
* to the registered listeners.
* see also TerminalControlSelectionListener- mouseUp
*/
protected void fireTerminalSelectionChanged() {
updateStatusLine();
CTabItem item = getActiveTabItem();
if (item != null && !item.isDisposed()) {
ITerminalViewControl terminal = (ITerminalViewControl)item.getData();
if (terminal != null && !terminal.isDisposed()) {
fireSelectionChanged(new StructuredSelection(terminal.getSelection()));
}
}
}
/**
* Fire the selection changed event to the registered listeners.
*/

View file

@ -149,4 +149,9 @@ public class TabTerminalListener implements ITerminalListener {
@Override
public void setTerminalTitle(String title) {
}
@Override
public void setTerminalSelectionChanged() {
tabFolderManager.fireTerminalSelectionChanged();
}
}