mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-01 06:05:24 +02:00
bug 206221: [terminal] The preference setting "Limit terminal output" has no effect
https://bugs.eclipse.org/bugs/show_bug.cgi?id=206221
This commit is contained in:
parent
878abc5139
commit
60e7a1f2d6
2 changed files with 3 additions and 76 deletions
|
@ -20,12 +20,6 @@ import org.eclipse.jface.preference.BooleanFieldEditor;
|
|||
import org.eclipse.jface.preference.FieldEditorPreferencePage;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.jface.preference.IntegerFieldEditor;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.eclipse.ui.IWorkbench;
|
||||
import org.eclipse.ui.IWorkbenchPreferencePage;
|
||||
|
||||
|
@ -43,8 +37,6 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
|
|||
public static final boolean DEFAULT_INVERT_COLORS = false;
|
||||
|
||||
|
||||
protected TerminalBooleanFieldEditor fEditorLimitOutput;
|
||||
|
||||
protected BooleanFieldEditor fInvertColors;
|
||||
|
||||
protected IntegerFieldEditor fEditorBufferSize;
|
||||
|
@ -55,41 +47,15 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
|
|||
public TerminalPreferencePage() {
|
||||
super(GRID);
|
||||
}
|
||||
public void onLimitOutputSelected() {
|
||||
Button ctlButton;
|
||||
Text ctlText;
|
||||
Label ctlLabel;
|
||||
boolean bEnabled;
|
||||
|
||||
|
||||
ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent());
|
||||
ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent());
|
||||
ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent());
|
||||
bEnabled = ctlButton.getSelection();
|
||||
|
||||
ctlText.setEnabled(bEnabled);
|
||||
ctlLabel.setEnabled(bEnabled);
|
||||
}
|
||||
protected void createFieldEditors() {
|
||||
setupPage();
|
||||
}
|
||||
protected void initialize() {
|
||||
super.initialize();
|
||||
|
||||
onLimitOutputSelected();
|
||||
}
|
||||
protected void performDefaults() {
|
||||
super.performDefaults();
|
||||
|
||||
onLimitOutputSelected();
|
||||
}
|
||||
public void init(IWorkbench workbench) {
|
||||
// do nothing
|
||||
}
|
||||
protected void setupPage() {
|
||||
setupData();
|
||||
setupEditors();
|
||||
setupListeners();
|
||||
}
|
||||
protected void setupData() {
|
||||
TerminalViewPlugin plugin;
|
||||
|
@ -103,9 +69,6 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
|
|||
fInvertColors = new BooleanFieldEditor(
|
||||
PREF_INVERT_COLORS, ViewMessages.INVERT_COLORS,
|
||||
getFieldEditorParent());
|
||||
fEditorLimitOutput = new TerminalBooleanFieldEditor(
|
||||
PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT,
|
||||
getFieldEditorParent());
|
||||
fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES,
|
||||
ViewMessages.BUFFERLINES, getFieldEditorParent());
|
||||
fEditorSerialTimeout = new IntegerFieldEditor(
|
||||
|
@ -120,44 +83,8 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
|
|||
fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE);
|
||||
|
||||
addField(fInvertColors);
|
||||
addField(fEditorLimitOutput);
|
||||
addField(fEditorBufferSize);
|
||||
addField(fEditorSerialTimeout);
|
||||
addField(fEditorNetworkTimeout);
|
||||
}
|
||||
protected void setupListeners() {
|
||||
TerminalSelectionHandler selectionHandler;
|
||||
Button ctlButton;
|
||||
|
||||
selectionHandler = new TerminalSelectionHandler();
|
||||
ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent());
|
||||
ctlButton.addSelectionListener(selectionHandler);
|
||||
}
|
||||
public class TerminalBooleanFieldEditor extends BooleanFieldEditor {
|
||||
public TerminalBooleanFieldEditor(String strName, String strLabel,
|
||||
Composite ctlParent) {
|
||||
super(strName, strLabel, ctlParent);
|
||||
}
|
||||
public Button getChangeControl(Composite parent) {
|
||||
return super.getChangeControl(parent);
|
||||
}
|
||||
}
|
||||
protected class TerminalSelectionHandler extends SelectionAdapter {
|
||||
protected TerminalSelectionHandler() {
|
||||
super();
|
||||
}
|
||||
public void widgetSelected(SelectionEvent event) {
|
||||
Object source;
|
||||
Button ctlButton;
|
||||
|
||||
source = event.getSource();
|
||||
ctlButton = fEditorLimitOutput
|
||||
.getChangeControl(getFieldEditorParent());
|
||||
|
||||
if (source == ctlButton) {
|
||||
onLimitOutputSelected();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,10 +163,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
|||
*/
|
||||
private void updatePreferences() {
|
||||
Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences();
|
||||
boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT);
|
||||
// boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT);
|
||||
// if(!limitOutput)
|
||||
// bufferLineLimit=-1;
|
||||
int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES);
|
||||
if(!limitOutput)
|
||||
bufferLineLimit=-1;
|
||||
fCtlTerminal.setBufferLineLimit(bufferLineLimit);
|
||||
fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue