1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-19 06:55:23 +02:00

Bug 547179 - Fix reset suppression comment on multi selection

Change-Id: I501a5f3ad5064ca8a8f7588c264fffffb256c4a8
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
This commit is contained in:
Marco Stornelli 2019-05-11 17:41:19 +02:00
parent 1cd5180642
commit a1be8d5681
4 changed files with 17 additions and 7 deletions

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.cdt.codan.ui; singleton:=true Bundle-SymbolicName: org.eclipse.cdt.codan.ui; singleton:=true
Bundle-Version: 3.3.100.qualifier Bundle-Version: 3.3.200.qualifier
Bundle-Activator: org.eclipse.cdt.codan.internal.ui.CodanUIActivator Bundle-Activator: org.eclipse.cdt.codan.internal.ui.CodanUIActivator
Bundle-Vendor: %Bundle-Vendor Bundle-Vendor: %Bundle-Vendor
Require-Bundle: org.eclipse.cdt.codan.core, Require-Bundle: org.eclipse.cdt.codan.core,

View file

@ -37,6 +37,7 @@ public class CustomizeProblemDialog extends TitleAreaDialog {
private IProblem problem; private IProblem problem;
private IProblem[] problems; private IProblem[] problems;
private IResource resource; private IResource resource;
private boolean combined;
/** /**
* @param parentShell * @param parentShell
@ -45,6 +46,7 @@ public class CustomizeProblemDialog extends TitleAreaDialog {
*/ */
public CustomizeProblemDialog(Shell parentShell, IProblem[] selectedProblems, IResource resource) { public CustomizeProblemDialog(Shell parentShell, IProblem[] selectedProblems, IResource resource) {
super(parentShell); super(parentShell);
this.combined = false;
this.problems = selectedProblems; this.problems = selectedProblems;
this.problem = buildCombined(selectedProblems); this.problem = buildCombined(selectedProblems);
this.resource = resource; this.resource = resource;
@ -62,6 +64,7 @@ public class CustomizeProblemDialog extends TitleAreaDialog {
if (selectedProblems.length == 1) { if (selectedProblems.length == 1) {
return one; return one;
} }
combined = true;
CodanProblem problem = new CodanProblem("multi", getTitle()); //$NON-NLS-1$ CodanProblem problem = new CodanProblem("multi", getTitle()); //$NON-NLS-1$
problem.setMessagePattern(ParametersComposite.NO_CHANGE); problem.setMessagePattern(ParametersComposite.NO_CHANGE);
problem.setPreference(new RootProblemPreference()); problem.setPreference(new RootProblemPreference());
@ -92,7 +95,7 @@ public class CustomizeProblemDialog extends TitleAreaDialog {
setTitle(getTitle()); setTitle(getTitle());
setMessage(CodanUIMessages.CustomizeProblemDialog_Message); setMessage(CodanUIMessages.CustomizeProblemDialog_Message);
Composite area = (Composite) super.createDialogArea(parent); Composite area = (Composite) super.createDialogArea(parent);
comp = new CustomizeProblemComposite(area, problem, resource); comp = new CustomizeProblemComposite(area, problem, resource, combined);
GridData ld = new GridData(GridData.FILL_BOTH); GridData ld = new GridData(GridData.FILL_BOTH);
ld.minimumHeight = 300; ld.minimumHeight = 300;
comp.setLayoutData(ld); comp.setLayoutData(ld);

View file

@ -42,7 +42,7 @@ public class CustomizeProblemComposite extends Composite {
* @param resource * @param resource
* @param style * @param style
*/ */
public CustomizeProblemComposite(Composite parent, IProblem selectedProblem, IResource resource) { public CustomizeProblemComposite(Composite parent, IProblem selectedProblem, IResource resource, boolean combined) {
super(parent, SWT.NONE); super(parent, SWT.NONE);
this.setLayout(new GridLayout(1, false)); this.setLayout(new GridLayout(1, false));
this.problem = selectedProblem; this.problem = selectedProblem;
@ -50,7 +50,7 @@ public class CustomizeProblemComposite extends Composite {
final TabFolder tabFolder = new TabFolder(this, SWT.TOP); final TabFolder tabFolder = new TabFolder(this, SWT.TOP);
tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH)); tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
// createMainTab(tabFolder); // createMainTab(tabFolder);
createParamtersTab(tabFolder); createParamtersTab(tabFolder, combined);
createScopeTab(tabFolder); createScopeTab(tabFolder);
createLaunchingTab(tabFolder); createLaunchingTab(tabFolder);
} }
@ -64,13 +64,13 @@ public class CustomizeProblemComposite extends Composite {
/** /**
* @param tabFolder * @param tabFolder
*/ */
private void createParamtersTab(TabFolder tabFolder) { private void createParamtersTab(TabFolder tabFolder, boolean combined) {
TabItem tabItem1 = new TabItem(tabFolder, SWT.NULL); TabItem tabItem1 = new TabItem(tabFolder, SWT.NULL);
tabItem1.setText(CodanUIMessages.CustomizeProblemComposite_TabParameters); tabItem1.setText(CodanUIMessages.CustomizeProblemComposite_TabParameters);
parametersTab = new Composite(tabFolder, SWT.NONE); parametersTab = new Composite(tabFolder, SWT.NONE);
tabItem1.setControl(parametersTab); tabItem1.setControl(parametersTab);
parametersTab.setLayout(new GridLayout()); parametersTab.setLayout(new GridLayout());
problemsComposite = new ParametersComposite(parametersTab, problem); problemsComposite = new ParametersComposite(parametersTab, problem, combined);
problemsComposite.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, true, false)); problemsComposite.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, true, false));
} }

View file

@ -24,6 +24,7 @@ import org.eclipse.cdt.codan.core.param.IProblemPreference;
import org.eclipse.cdt.codan.core.param.IProblemPreferenceCompositeDescriptor; import org.eclipse.cdt.codan.core.param.IProblemPreferenceCompositeDescriptor;
import org.eclipse.cdt.codan.core.param.LaunchModeProblemPreference; import org.eclipse.cdt.codan.core.param.LaunchModeProblemPreference;
import org.eclipse.cdt.codan.core.param.ListProblemPreference; import org.eclipse.cdt.codan.core.param.ListProblemPreference;
import org.eclipse.cdt.codan.core.param.SuppressionCommentProblemPreference;
import org.eclipse.cdt.codan.internal.ui.CodanUIMessages; import org.eclipse.cdt.codan.internal.ui.CodanUIMessages;
import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.BooleanFieldEditor;
@ -55,17 +56,19 @@ public class ParametersComposite extends Composite {
private FieldEditorPreferencePage page; private FieldEditorPreferencePage page;
private IProblem problem; private IProblem problem;
private PreferenceStore prefStore; private PreferenceStore prefStore;
private boolean combined;
/** /**
* @param parent * @param parent
* @param problem * @param problem
* @param style * @param style
*/ */
public ParametersComposite(Composite parent, final IProblem problem) { public ParametersComposite(Composite parent, final IProblem problem, final boolean combined) {
super(parent, SWT.NONE); super(parent, SWT.NONE);
if (problem == null) if (problem == null)
throw new NullPointerException(); throw new NullPointerException();
this.setLayout(new GridLayout(2, false)); this.setLayout(new GridLayout(2, false));
this.combined = combined;
this.problem = problem; this.problem = problem;
this.prefStore = new PreferenceStore(); this.prefStore = new PreferenceStore();
page = new FieldEditorPreferencePage(FieldEditorPreferencePage.GRID) { page = new FieldEditorPreferencePage(FieldEditorPreferencePage.GRID) {
@ -125,6 +128,8 @@ public class ParametersComposite extends Composite {
return; // skip the scope return; // skip the scope
if (info.getKey() == LaunchModeProblemPreference.KEY) if (info.getKey() == LaunchModeProblemPreference.KEY)
return; // skip the launch return; // skip the launch
if (info.getKey() == SuppressionCommentProblemPreference.KEY && combined)
return; // skip the suppression comment in multi selection
switch (info.getType()) { switch (info.getType()) {
case TYPE_STRING: { case TYPE_STRING: {
StringFieldEditor fe = new StringFieldEditor(info.getQualifiedKey(), info.getLabel(), StringFieldEditor fe = new StringFieldEditor(info.getQualifiedKey(), info.getLabel(),
@ -246,6 +251,8 @@ public class ParametersComposite extends Composite {
if (desc == null) if (desc == null)
return; return;
String key = desc.getQualifiedKey(); String key = desc.getQualifiedKey();
if (!prefStore.contains(key) && combined)
return;
switch (desc.getType()) { switch (desc.getType()) {
case TYPE_STRING: case TYPE_STRING:
desc.setValue(prefStore.getString(key)); desc.setValue(prefStore.getString(key));