Index: src/java/org/apache/ivyde/eclipse/ui/editors/IvyModuleDescriptorEditor.java =================================================================== --- src/java/org/apache/ivyde/eclipse/ui/editors/IvyModuleDescriptorEditor.java (revision 813413) +++ src/java/org/apache/ivyde/eclipse/ui/editors/IvyModuleDescriptorEditor.java (working copy) @@ -166,9 +166,11 @@ List/* */containers = IvyClasspathUtil .getIvyFileClasspathContainers(file); Iterator/* */itContainers = containers.iterator(); - while (itContainers.hasNext()) { - IvyClasspathContainer ivycp = (IvyClasspathContainer) itContainers.next(); - ivycp.launchResolve(false, true, null); + if(IvyPlugin.getPreferenceStoreHelper().getAutoResolveOnChange()) { + while (itContainers.hasNext()) { + IvyClasspathContainer ivycp = (IvyClasspathContainer) itContainers.next(); + ivycp.launchResolve(false, true, null); + } } } Index: src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java =================================================================== --- src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java (revision 813413) +++ src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java (working copy) @@ -211,4 +211,11 @@ prefStore.setValue(PreferenceConstants.AUTO_RESOLVE_ON_OPEN, autoResolveOnOpen); } + public boolean getAutoResolveOnChange() { + return prefStore.getBoolean(PreferenceConstants.AUTO_RESOLVE_ON_CHANGE); + } + + public void setAutoResolveOnChange(boolean autoResolveChange) { + prefStore.setValue(PreferenceConstants.AUTO_RESOLVE_ON_CHANGE, autoResolveChange); + } } Index: src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java =================================================================== --- src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java (revision 813413) +++ src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java (working copy) @@ -57,7 +57,11 @@ private Button resolveOnStartupButton; - private Button doNothingButton; + private Button doNothingOnStartupButton; + + private Button resolveOnChangeButton; + + private Button doNothingOnChangeButton; public IvyPreferencePage() { setPreferenceStore(IvyPlugin.getDefault().getPreferenceStore()); @@ -86,9 +90,9 @@ startupGroup.setLayout(new GridLayout()); startupGroup.setText("On Eclipse startup"); - doNothingButton = new Button(startupGroup, SWT.RADIO); - doNothingButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); - doNothingButton.setText("Do nothing"); + doNothingOnStartupButton = new Button(startupGroup, SWT.RADIO); + doNothingOnStartupButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); + doNothingOnStartupButton.setText("Do nothing"); refreshOnStartupButton = new Button(startupGroup, SWT.RADIO); refreshOnStartupButton @@ -100,6 +104,19 @@ .setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); resolveOnStartupButton.setText("Trigger resolve"); + Group fileChangeGroup = new Group(composite, SWT.NONE); + fileChangeGroup.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); + fileChangeGroup.setLayout(new GridLayout()); + fileChangeGroup.setText("On Ivy File Change"); + + doNothingOnChangeButton = new Button(fileChangeGroup, SWT.RADIO); + doNothingOnChangeButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); + doNothingOnChangeButton.setText("Do nothing"); + + resolveOnChangeButton = new Button(fileChangeGroup, SWT.RADIO); + resolveOnChangeButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); + resolveOnChangeButton.setText("Trigger resolve"); + Group editorGroup = new Group(composite, SWT.NONE); editorGroup.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 3, 1)); editorGroup.setLayout(new GridLayout(2, false)); @@ -127,7 +144,7 @@ IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper(); switch (helper.getResolveOnStartup()) { case IvyClasspathInitializer.ON_STARTUP_NOTHING: - doNothingButton.setSelection(true); + doNothingOnStartupButton.setSelection(true); break; case IvyClasspathInitializer.ON_STARTUP_REFRESH: refreshOnStartupButton.setSelection(true); @@ -136,19 +153,37 @@ resolveOnStartupButton.setSelection(true); break; } + + if(helper.getAutoResolveOnChange()) { + resolveOnChangeButton.setSelection(true); + } + else { + doNothingOnChangeButton.setSelection(true); + } + organizationText.setText(helper.getIvyOrg()); organizationUrlText.setText(helper.getIvyOrgUrl()); } public boolean performOk() { IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper(); - if (doNothingButton.getSelection()) { + + if (doNothingOnStartupButton.getSelection()) { helper.setResolveOnStartup(IvyClasspathInitializer.ON_STARTUP_NOTHING); } else if (refreshOnStartupButton.getSelection()) { helper.setResolveOnStartup(IvyClasspathInitializer.ON_STARTUP_REFRESH); } else { helper.setResolveOnStartup(IvyClasspathInitializer.ON_STARTUP_RESOLVE); } + + if(resolveOnChangeButton.getSelection()) { + helper.setAutoResolveOnChange(true); + } + else { + helper.setAutoResolveOnChange(false); + } + + helper.setOrganization(organizationText.getText()); helper.setOrganizationUrl(organizationUrlText.getText()); return true; @@ -157,7 +192,7 @@ protected void performDefaults() { switch (PreferenceInitializer.DEFAULT_RESOLVE_ON_STARTUP) { case IvyClasspathInitializer.ON_STARTUP_NOTHING: - doNothingButton.setSelection(true); + doNothingOnStartupButton.setSelection(true); break; case IvyClasspathInitializer.ON_STARTUP_REFRESH: refreshOnStartupButton.setSelection(true); @@ -166,6 +201,14 @@ resolveOnStartupButton.setSelection(true); break; } + + if(PreferenceInitializer.DEFAULT_AUTO_RESOLVE_ON_CHANGE) { + resolveOnChangeButton.setSelection(true); + } + else { + doNothingOnChangeButton.setSelection(true); + } + organizationText.setText(PreferenceInitializer.DEFAULT_ORGANISATION); organizationUrlText.setText(PreferenceInitializer.DEFAULT_ORGANISATION_URL); } Index: src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java =================================================================== --- src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java (revision 813413) +++ src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java (working copy) @@ -76,4 +76,5 @@ public static final String AUTO_RESOLVE_ON_CLOSE = "autoResolve.close"; + public static final String AUTO_RESOLVE_ON_CHANGE = "autoResolve.change"; } Index: src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java =================================================================== --- src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java (revision 813413) +++ src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java (working copy) @@ -66,6 +66,8 @@ public static final boolean DEFAULT_AUTO_RESOLVE_ON_OPEN = false; + public static final boolean DEFAULT_AUTO_RESOLVE_ON_CHANGE = true; + public void initializeDefaultPreferences() { IPreferenceStore store = IvyPlugin.getDefault().getPreferenceStore(); store.setDefault(PreferenceConstants.P_BOOLEAN, true); @@ -111,6 +113,7 @@ store.setDefault(PreferenceConstants.AUTO_RESOLVE_ON_CLOSE, DEFAULT_AUTO_RESOLVE_ON_CLOSE); store.setDefault(PreferenceConstants.AUTO_RESOLVE_ON_OPEN, DEFAULT_AUTO_RESOLVE_ON_OPEN); + store.setDefault(PreferenceConstants.AUTO_RESOLVE_ON_CHANGE, DEFAULT_AUTO_RESOLVE_ON_CHANGE); } }