1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

Bug 549013 - Eclipse menu won't display on Ubuntu 16.04 LTS when SSH/Serial command shells are opened

Buglink: https://bugs.eclipse.org/bugs/show_bug.cgi?id=549013
Signed-off-by: Julien Dehaudt <julien.dehaudt@st.com>
This commit is contained in:
Julien Dehaudt 2019-07-17 11:21:08 +02:00
parent 009ec61cff
commit 19351cbc2b

View file

@ -74,13 +74,12 @@ import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridLayout;
@ -143,7 +142,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
private KeyListener fKeyHandler; private KeyListener fKeyHandler;
private final ITerminalListener fTerminalListener; private final ITerminalListener fTerminalListener;
private String fMsg = ""; //$NON-NLS-1$ private String fMsg = ""; //$NON-NLS-1$
private TerminalFocusListener fFocusListener; private TerminalMouseTrackListener fFocusListener;
private ITerminalConnector fConnector; private ITerminalConnector fConnector;
private final ITerminalConnector[] fConnectors; private final ITerminalConnector[] fConnectors;
private final boolean fUseCommonPrefs; private final boolean fUseCommonPrefs;
@ -793,10 +792,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
protected void setupListeners() { protected void setupListeners() {
fKeyHandler = new TerminalKeyHandler(); fKeyHandler = new TerminalKeyHandler();
fFocusListener = new TerminalFocusListener(); fFocusListener = new TerminalMouseTrackListener();
getCtlText().addKeyListener(fKeyHandler); getCtlText().addKeyListener(fKeyHandler);
getCtlText().addFocusListener(fFocusListener); getCtlText().addMouseTrackListener(fFocusListener);
} }
@ -878,17 +877,21 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
public VT100Emulator getTerminalText() { public VT100Emulator getTerminalText() {
return fTerminalText; return fTerminalText;
} }
protected class TerminalFocusListener implements FocusListener { protected class TerminalMouseTrackListener implements MouseTrackListener {
private IContextActivation terminalContextActivation = null; private IContextActivation terminalContextActivation = null;
private IContextActivation editContextActivation = null; private IContextActivation editContextActivation = null;
protected TerminalFocusListener() { protected TerminalMouseTrackListener() {
super(); super();
} }
@Override
public void mouseHover(MouseEvent e) {
}
@Override @Override
@SuppressWarnings("cast") @SuppressWarnings("cast")
public void focusGained(FocusEvent event) { public void mouseEnter(MouseEvent e) {
// Disable all keyboard accelerators (e.g., Control-B) so the Terminal view // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view
// can see every keystroke. Without this, Emacs, vi, and Bash are unusable // can see every keystroke. Without this, Emacs, vi, and Bash are unusable
// in the Terminal view. // in the Terminal view.
@ -901,7 +904,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
@Override @Override
@SuppressWarnings("cast") @SuppressWarnings("cast")
public void focusLost(FocusEvent event) { public void mouseExit(MouseEvent e) {
// Enable all keybindings. // Enable all keybindings.
captureKeyEvents(false); captureKeyEvents(false);