mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +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
|
||||
public String getArguments() {
|
||||
String args = getArgumentsAttribute();
|
||||
String stopOnErrCmd = getStopOnErrCmd(isStopOnError());
|
||||
int parallelNum = getParallelizationNum();
|
||||
String parallelCmd = isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
||||
if (isDefaultBuildCmd()) {
|
||||
String stopOnErrCmd = getStopOnErrCmd(isStopOnError());
|
||||
int parallelNum = getParallelizationNum();
|
||||
String parallelCmd = isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
||||
|
||||
String reversedStopOnErrCmd = getStopOnErrCmd(!isStopOnError());
|
||||
String reversedParallelBuildCmd = !isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
||||
String reversedStopOnErrCmd = getStopOnErrCmd(!isStopOnError());
|
||||
String reversedParallelBuildCmd = !isParallelBuildOn() ? getParallelizationCmd(parallelNum) : EMPTY_STRING;
|
||||
|
||||
args = removeCmd(args, reversedStopOnErrCmd);
|
||||
args = removeCmd(args, reversedParallelBuildCmd);
|
||||
args = removeCmd(args, reversedStopOnErrCmd);
|
||||
args = removeCmd(args, reversedParallelBuildCmd);
|
||||
|
||||
args = addCmd(args, stopOnErrCmd);
|
||||
args = addCmd(args, parallelCmd);
|
||||
args = addCmd(args, stopOnErrCmd);
|
||||
args = addCmd(args, parallelCmd);
|
||||
}
|
||||
|
||||
return args != null ? args.trim() : null;
|
||||
}
|
||||
|
|
|
@ -69,6 +69,8 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
|||
private Button b_parallelUnlimited;
|
||||
private Spinner s_parallelNumber;
|
||||
|
||||
private Group grp_buildSettings;
|
||||
|
||||
private Label title2;
|
||||
private Button b_autoBuild; //3
|
||||
private Text t_autoBuild;
|
||||
|
@ -89,13 +91,13 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
|||
usercomp.setLayout(new GridLayout(1, false));
|
||||
|
||||
// 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);
|
||||
gl.verticalSpacing = 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);
|
||||
GridData gd = (GridData) c1.getLayoutData();
|
||||
gd.verticalSpan = 2;
|
||||
|
@ -109,7 +111,7 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
|||
|
||||
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);
|
||||
gl = new GridLayout(1, false);
|
||||
gl.verticalSpacing = 0;
|
||||
|
@ -119,7 +121,7 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
|||
|
||||
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);
|
||||
gl = new GridLayout(2, false);
|
||||
gl.verticalSpacing = 0;
|
||||
|
@ -337,6 +339,11 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab {
|
|||
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();
|
||||
title2.setVisible(external);
|
||||
t_autoBuild.setVisible(external);
|
||||
|
|
Loading…
Add table
Reference in a new issue