1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-29 19:23:38 +02:00

enhancement of bug 240023: [terminal] Get rid of the terminal's "Pin" button

https://bugs.eclipse.org/bugs/show_bug.cgi?id=240023
This commit is contained in:
Michael Scharf 2008-07-08 23:13:35 +00:00
parent 9704ead40d
commit e16b33fb2e
4 changed files with 29 additions and 9 deletions

View file

@ -16,6 +16,7 @@
* Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox
* Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs
* Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank
* Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
*******************************************************************************/ *******************************************************************************/
package org.eclipse.tm.internal.terminal.view; package org.eclipse.tm.internal.terminal.view;
@ -61,6 +62,7 @@ class TerminalSettingsDlg extends Dialog {
private PageBook fPageBook; private PageBook fPageBook;
private IDialogSettings fDialogSettings; private IDialogSettings fDialogSettings;
private String fTerminalTitle; private String fTerminalTitle;
private String fTitle=ViewMessages.TERMINALSETTINGS;
public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) {
super(shell); super(shell);
@ -73,6 +75,9 @@ class TerminalSettingsDlg extends Dialog {
fSelectedConnector=i; fSelectedConnector=i;
} }
} }
public void setTitle(String title) {
fTitle=title;
}
/** /**
* @param connectors * @param connectors
* @return connectors excluding connectors with errors * @return connectors excluding connectors with errors
@ -162,7 +167,7 @@ class TerminalSettingsDlg extends Dialog {
protected void configureShell(Shell newShell) { protected void configureShell(Shell newShell) {
super.configureShell(newShell); super.configureShell(newShell);
newShell.setText(ViewMessages.TERMINALSETTINGS); newShell.setText(fTitle);
} }
protected Control createDialogArea(Composite parent) { protected Control createDialogArea(Composite parent) {
Composite ctlComposite = (Composite) super.createDialogArea(parent); Composite ctlComposite = (Composite) super.createDialogArea(parent);

View file

@ -70,6 +70,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory;
import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener;
import org.eclipse.ui.IMemento; import org.eclipse.ui.IMemento;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewReference;
import org.eclipse.ui.IViewSite; import org.eclipse.ui.IViewSite;
import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPage;
@ -243,7 +244,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
public void onTerminalNewTerminal() { public void onTerminalNewTerminal() {
Logger.log("creating new Terminal instance."); //$NON-NLS-1$ Logger.log("creating new Terminal instance."); //$NON-NLS-1$
setupControls(); setupControls();
if(newConnection()==null) { if(newConnection(ViewMessages.NEW_TERMINAL_CONNECTION)==null) {
fMultiConnectionManager.removeActive(); fMultiConnectionManager.removeActive();
} }
} }
@ -258,11 +259,17 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
// unique. This code runs only when the user clicks the New Terminal // unique. This code runs only when the user clicks the New Terminal
// button, so there is no risk that this code will run twice in a single // button, so there is no risk that this code will run twice in a single
// millisecond. // millisecond.
IViewPart newTerminalView = getSite().getPage().showView(
getSite().getPage().showView(
"org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$
"SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$
IWorkbenchPage.VIEW_ACTIVATE); IWorkbenchPage.VIEW_ACTIVATE);
if(newTerminalView instanceof ITerminalView) {
ITerminalConnector c = ((TerminalView)newTerminalView).newConnection(ViewMessages.NEW_TERMINAL_VIEW);
// if there is no connector selected, hide the new view
if(c==null) {
getSite().getPage().hideView(newTerminalView);
}
}
} catch (PartInitException ex) { } catch (PartInitException ex) {
Logger.logException(ex); Logger.logException(ex);
} }
@ -274,7 +281,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
if (fCtlTerminal.getState()!=TerminalState.CLOSED) if (fCtlTerminal.getState()!=TerminalState.CLOSED)
return; return;
if(fCtlTerminal.getTerminalConnector()==null) if(fCtlTerminal.getTerminalConnector()==null)
setConnector(showSettingsDialog()); setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS));
fCtlTerminal.connectTerminal(); fCtlTerminal.connectTerminal();
} }
@ -308,11 +315,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
} }
public void onTerminalSettings() { public void onTerminalSettings() {
newConnection(); newConnection(null);
} }
private ITerminalConnector newConnection() { private ITerminalConnector newConnection(String title) {
ITerminalConnector c=showSettingsDialog(); ITerminalConnector c=showSettingsDialog(title);
if(c!=null) { if(c!=null) {
setConnector(c); setConnector(c);
onTerminalConnect(); onTerminalConnect();
@ -320,7 +327,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
return c; return c;
} }
private ITerminalConnector showSettingsDialog() { private ITerminalConnector showSettingsDialog(String title) {
// When the settings dialog is opened, load the Terminal settings from the // When the settings dialog is opened, load the Terminal settings from the
// persistent settings. // persistent settings.
@ -329,6 +336,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
connectors=new ITerminalConnector[0]; connectors=new ITerminalConnector[0];
TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,fCtlTerminal.getTerminalConnector()); TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,fCtlTerminal.getTerminalConnector());
dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName());
if(title!=null)
dlgTerminalSettings.setTitle(title);
Logger.log("opening Settings dialog."); //$NON-NLS-1$ Logger.log("opening Settings dialog."); //$NON-NLS-1$
if (dlgTerminalSettings.open() == Window.CANCEL) { if (dlgTerminalSettings.open() == Window.CANCEL) {

View file

@ -13,6 +13,7 @@
* Contributors: * Contributors:
* Michael Scharf (Wind River) - split into core, view and connector plugins * Michael Scharf (Wind River) - split into core, view and connector plugins
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
* Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
*******************************************************************************/ *******************************************************************************/
package org.eclipse.tm.internal.terminal.view; package org.eclipse.tm.internal.terminal.view;
@ -27,6 +28,8 @@ public class ViewMessages extends NLS {
public static String SETTINGS; public static String SETTINGS;
public static String TERMINALSETTINGS; public static String TERMINALSETTINGS;
public static String NEW_TERMINAL_CONNECTION;
public static String NEW_TERMINAL_VIEW;
public static String CONNECTIONTYPE; public static String CONNECTIONTYPE;
public static String VIEW_TITLE; public static String VIEW_TITLE;
public static String VIEW_SETTINGS; public static String VIEW_SETTINGS;

View file

@ -13,12 +13,15 @@
# Contributors: # Contributors:
# Michael Scharf (Wind River) - split into core, view and connector plugins # Michael Scharf (Wind River) - split into core, view and connector plugins
# Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Martin Oberhuber (Wind River) - fixed copyright headers and beautified
# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
############################################################################### ###############################################################################
NO_CONNECTION_SELECTED = No Connection Selected NO_CONNECTION_SELECTED = No Connection Selected
PROP_TITLE = Terminal PROP_TITLE = Terminal
SETTINGS = Settings SETTINGS = Settings
TERMINALSETTINGS = Terminal Settings TERMINALSETTINGS = Terminal Settings
NEW_TERMINAL_CONNECTION = New Terminal Connection
NEW_TERMINAL_VIEW = New Terminal View
CONNECTIONTYPE = Connection Type CONNECTIONTYPE = Connection Type
VIEW_TITLE = View Title: VIEW_TITLE = View Title:
VIEW_SETTINGS = View Settings: VIEW_SETTINGS = View Settings: