mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 09:46:02 +02:00
-fixed updates of scope & launch mode for multiple problems
This commit is contained in:
parent
42d13c4bd1
commit
4c2ba3b3f0
6 changed files with 23 additions and 12 deletions
|
@ -40,6 +40,7 @@ public class CodanUIMessages extends NLS {
|
||||||
public static String CustomizeProblemDialog_Message;
|
public static String CustomizeProblemDialog_Message;
|
||||||
public static String CustomizeProblemDialog_Title;
|
public static String CustomizeProblemDialog_Title;
|
||||||
public static String Job_TitleRunningAnalysis;
|
public static String Job_TitleRunningAnalysis;
|
||||||
|
public static String ParametersComposite_DoNotChange;
|
||||||
public static String ParametersComposite_IsEnabled;
|
public static String ParametersComposite_IsEnabled;
|
||||||
public static String ParametersComposite_MessagePattern;
|
public static String ParametersComposite_MessagePattern;
|
||||||
public static String ParametersComposite_NewValue;
|
public static String ParametersComposite_NewValue;
|
||||||
|
|
|
@ -53,14 +53,23 @@ public class CustomizeProblemDialog extends TitleAreaDialog {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private IProblem buildCombined(IProblem[] selectedProblems) {
|
private IProblem buildCombined(IProblem[] selectedProblems) {
|
||||||
|
if (selectedProblems.length == 0)
|
||||||
|
return null;
|
||||||
|
IProblem one = selectedProblems[0];
|
||||||
if (selectedProblems.length == 1) {
|
if (selectedProblems.length == 1) {
|
||||||
return selectedProblems[0];
|
return one;
|
||||||
}
|
}
|
||||||
CodanProblem problem = new CodanProblem("multi", getTitle());
|
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());
|
||||||
problem.setSeverity(selectedProblems[0].getSeverity());
|
problem.setSeverity(one.getSeverity());
|
||||||
problem.setEnabled(selectedProblems[0].isEnabled());
|
problem.setEnabled(one.isEnabled());
|
||||||
|
if (one.getPreference() instanceof RootProblemPreference) {
|
||||||
|
RootProblemPreference onepref = (RootProblemPreference) one.getPreference();
|
||||||
|
RootProblemPreference pref = (RootProblemPreference) problem.getPreference();
|
||||||
|
pref.addChildDescriptor(onepref.getLaunchModePreference());
|
||||||
|
pref.addChildDescriptor(onepref.getScopePreference());
|
||||||
|
}
|
||||||
return problem;
|
return problem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ CustomizeProblemComposite_TabScope=Scope
|
||||||
CustomizeProblemDialog_Message=Edit problem preferences, scope and launch options
|
CustomizeProblemDialog_Message=Edit problem preferences, scope and launch options
|
||||||
CustomizeProblemDialog_Title=Customize Problem...
|
CustomizeProblemDialog_Title=Customize Problem...
|
||||||
Job_TitleRunningAnalysis=Running Code Analysis
|
Job_TitleRunningAnalysis=Running Code Analysis
|
||||||
|
ParametersComposite_DoNotChange=<do not change>
|
||||||
ParametersComposite_IsEnabled=This problem is enabled
|
ParametersComposite_IsEnabled=This problem is enabled
|
||||||
ParametersComposite_MessagePattern=Message Pattern
|
ParametersComposite_MessagePattern=Message Pattern
|
||||||
ParametersComposite_NewValue=New Value
|
ParametersComposite_NewValue=New Value
|
||||||
|
|
|
@ -71,14 +71,14 @@ public class FileScopeComposite extends Composite {
|
||||||
public void save(IProblemWorkingCopy problem) {
|
public void save(IProblemWorkingCopy problem) {
|
||||||
if (page != null)
|
if (page != null)
|
||||||
page.performOk();
|
page.performOk();
|
||||||
savePrefStore();
|
savePrefStore(problem);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void savePrefStore() {
|
private void savePrefStore(IProblemWorkingCopy problem) {
|
||||||
if (scope == null)
|
if (scope == null)
|
||||||
return;
|
return;
|
||||||
String key = scope.getQualifiedKey();
|
String key = scope.getQualifiedKey();
|
||||||
((MapProblemPreference) problem.getPreference()).setChildValue(FileScopeProblemPreference.KEY, scope);
|
((MapProblemPreference) problem.getPreference()).addChildDescriptor(scope);
|
||||||
prefStore.setValue(key, scope.exportValue());
|
prefStore.setValue(key, scope.exportValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,18 +66,18 @@ public class LaunchingTabComposite extends Composite {
|
||||||
page.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
|
page.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void save(@SuppressWarnings("unused") IProblemWorkingCopy problem) {
|
public void save(IProblemWorkingCopy problem) {
|
||||||
if (page != null)
|
if (page != null)
|
||||||
page.performOk();
|
page.performOk();
|
||||||
savePrefStore();
|
savePrefStore(problem);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void savePrefStore() {
|
private void savePrefStore(IProblemWorkingCopy problem) {
|
||||||
if (launchPref == null)
|
if (launchPref == null)
|
||||||
return;
|
return;
|
||||||
saveToPref(launchPref, page.getPreferenceStore());
|
saveToPref(launchPref, page.getPreferenceStore());
|
||||||
MapProblemPreference parentMap = (MapProblemPreference) problem.getPreference();
|
MapProblemPreference parentMap = (MapProblemPreference) problem.getPreference();
|
||||||
parentMap.addChildDescriptor(launchPref);
|
parentMap.addChildDescriptor((IProblemPreference) launchPref.clone());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class ParametersComposite extends Composite {
|
||||||
private static final String PREF_ENABLED = "enabled"; //$NON-NLS-1$
|
private static final String PREF_ENABLED = "enabled"; //$NON-NLS-1$
|
||||||
private static final String PREF_SEVERITY = "severity"; //$NON-NLS-1$
|
private static final String PREF_SEVERITY = "severity"; //$NON-NLS-1$
|
||||||
private static final String PREF_MESSAGE = "message"; //$NON-NLS-1$
|
private static final String PREF_MESSAGE = "message"; //$NON-NLS-1$
|
||||||
public static final String NO_CHANGE = "<do not change>";
|
public static final String NO_CHANGE = CodanUIMessages.ParametersComposite_DoNotChange;
|
||||||
private FieldEditorPreferencePage page;
|
private FieldEditorPreferencePage page;
|
||||||
private IProblem problem;
|
private IProblem problem;
|
||||||
private PreferenceStore prefStore;
|
private PreferenceStore prefStore;
|
||||||
|
|
Loading…
Add table
Reference in a new issue