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:
parent
1cd5180642
commit
a1be8d5681
4 changed files with 17 additions and 7 deletions
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
|
|
Loading…
Add table
Reference in a new issue