mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-10 09:45:39 +02:00
Bug 568397: Hide "Build settings" if using custom command
When unchecking the "Use default build command" checkbox, hide the GUI options to configure the flags as the user should have full control. This solution was discussed in https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/171735 Change-Id: Ifbd67b279db55f5a83f4a660b9a1248e5c021df2 Also-by: cartu38 opendev <cartu38.opendev@gmail.com> Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
This commit is contained in:
parent
c0b26f9993
commit
1d226f9273
2 changed files with 23 additions and 14 deletions
|
@ -1086,18 +1086,20 @@ public class Builder extends HoldsOptions implements IBuilder, IMatchKeyProvider
|
||||||
@Override
|
@Override
|
||||||
public String getArguments() {
|
public String getArguments() {
|
||||||
String args = getArgumentsAttribute();
|
String args = getArgumentsAttribute();
|
||||||
String stopOnErrCmd = getStopOnErrCmd(isStopOnError());
|
if (isDefaultBuildCmd()) {
|
||||||
int parallelNum = getParallelizationNum();
|
String stopOnErrCmd = getStopOnErrCmd(isStopOnError());
|
||||||
String parallelCmd = isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
int parallelNum = getParallelizationNum();
|
||||||
|
String parallelCmd = isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
||||||
|
|
||||||
String reversedStopOnErrCmd = getStopOnErrCmd(!isStopOnError());
|
String reversedStopOnErrCmd = getStopOnErrCmd(!isStopOnError());
|
||||||
String reversedParallelBuildCmd = !isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
String reversedParallelBuildCmd = !isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
||||||
|
|
||||||
args = removeCmd(args, reversedStopOnErrCmd);
|
args = removeCmd(args, reversedStopOnErrCmd);
|
||||||
args = removeCmd(args, reversedParallelBuildCmd);
|
args = removeCmd(args, reversedParallelBuildCmd);
|
||||||
|
|
||||||
args = addCmd(args, stopOnErrCmd);
|
args = addCmd(args, stopOnErrCmd);
|
||||||
args = addCmd(args, parallelCmd);
|
args = addCmd(args, parallelCmd);
|
||||||
|
}
|
||||||
|
|
||||||
return args != null ? args.trim() : null;
|
return args != null ? args.trim() : null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,6 +69,8 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
||||||
private Button b_parallelUnlimited;
|
private Button b_parallelUnlimited;
|
||||||
private Spinner s_parallelNumber;
|
private Spinner s_parallelNumber;
|
||||||
|
|
||||||
|
private Group grp_buildSettings;
|
||||||
|
|
||||||
private Label title2;
|
private Label title2;
|
||||||
private Button b_autoBuild; //3
|
private Button b_autoBuild; //3
|
||||||
private Text t_autoBuild;
|
private Text t_autoBuild;
|
||||||
|
@ -89,13 +91,13 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
||||||
usercomp.setLayout(new GridLayout(1, false));
|
usercomp.setLayout(new GridLayout(1, false));
|
||||||
|
|
||||||
// Build setting group
|
// Build setting group
|
||||||
Group g3 = setupGroup(usercomp, Messages.BuilderSettingsTab_9, 2, GridData.FILL_HORIZONTAL);
|
grp_buildSettings = setupGroup(usercomp, Messages.BuilderSettingsTab_9, 2, GridData.FILL_HORIZONTAL);
|
||||||
GridLayout gl = new GridLayout(2, true);
|
GridLayout gl = new GridLayout(2, true);
|
||||||
gl.verticalSpacing = 0;
|
gl.verticalSpacing = 0;
|
||||||
gl.marginWidth = 0;
|
gl.marginWidth = 0;
|
||||||
g3.setLayout(gl);
|
grp_buildSettings.setLayout(gl);
|
||||||
|
|
||||||
Composite c1 = new Composite(g3, SWT.NONE);
|
Composite c1 = new Composite(grp_buildSettings, SWT.NONE);
|
||||||
setupControl(c1, 1, GridData.FILL_BOTH);
|
setupControl(c1, 1, GridData.FILL_BOTH);
|
||||||
GridData gd = (GridData) c1.getLayoutData();
|
GridData gd = (GridData) c1.getLayoutData();
|
||||||
gd.verticalSpan = 2;
|
gd.verticalSpan = 2;
|
||||||
|
@ -109,7 +111,7 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
||||||
|
|
||||||
b_stopOnError = setupCheck(c1, Messages.BuilderSettingsTab_10, 1, GridData.BEGINNING);
|
b_stopOnError = setupCheck(c1, Messages.BuilderSettingsTab_10, 1, GridData.BEGINNING);
|
||||||
|
|
||||||
Composite c2 = new Composite(g3, SWT.NONE);
|
Composite c2 = new Composite(grp_buildSettings, SWT.NONE);
|
||||||
setupControl(c2, 1, GridData.FILL_BOTH);
|
setupControl(c2, 1, GridData.FILL_BOTH);
|
||||||
gl = new GridLayout(1, false);
|
gl = new GridLayout(1, false);
|
||||||
gl.verticalSpacing = 0;
|
gl.verticalSpacing = 0;
|
||||||
|
@ -119,7 +121,7 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
||||||
|
|
||||||
b_parallel = setupCheck(c2, Messages.BuilderSettingsTab_EnableParallelBuild, 1, GridData.BEGINNING);
|
b_parallel = setupCheck(c2, Messages.BuilderSettingsTab_EnableParallelBuild, 1, GridData.BEGINNING);
|
||||||
|
|
||||||
Composite c3 = new Composite(g3, SWT.NONE);
|
Composite c3 = new Composite(grp_buildSettings, SWT.NONE);
|
||||||
setupControl(c3, 1, GridData.FILL_BOTH);
|
setupControl(c3, 1, GridData.FILL_BOTH);
|
||||||
gl = new GridLayout(2, false);
|
gl = new GridLayout(2, false);
|
||||||
gl.verticalSpacing = 0;
|
gl.verticalSpacing = 0;
|
||||||
|
@ -337,6 +339,11 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
||||||
t_cmdClean.setText(bldr.getBuildAttribute(IBuilder.BUILD_TARGET_CLEAN, EMPTY_STR));
|
t_cmdClean.setText(bldr.getBuildAttribute(IBuilder.BUILD_TARGET_CLEAN, EMPTY_STR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean defaultBuildCommand = bldr.isDefaultBuildCmd();
|
||||||
|
grp_buildSettings.setVisible(defaultBuildCommand);
|
||||||
|
((GridData) grp_buildSettings.getLayoutData()).exclude = !defaultBuildCommand;
|
||||||
|
grp_buildSettings.getParent().layout();
|
||||||
|
|
||||||
boolean external = !isInternalBuilderEnabled();
|
boolean external = !isInternalBuilderEnabled();
|
||||||
title2.setVisible(external);
|
title2.setVisible(external);
|
||||||
t_autoBuild.setVisible(external);
|
t_autoBuild.setVisible(external);
|
||||||
|
|
Loading…
Add table
Reference in a new issue