[88260] Added preference to prompt for licenses the user has already disagreed to.
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
index 4b23822..2984bc7 100644
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
@@ -187,6 +187,30 @@
return getPluginPreferences().getBoolean(PreferenceConstants.CACHE_ENABLED);
return true;
}
+
+ /**
+ * Set whether or not the user should be prompted for licenses to which they
+ * have previously disagreed.
+ *
+ * @param prompt If true the the user should be prompted, if false the user should not be prompted.
+ */
+ public void setPromptDisagreedLicenses(boolean prompt)
+ {
+ getPluginPreferences().setValue(PreferenceConstants.PROMPT_DISAGREED_LICENSES, prompt);
+ }
+
+ /**
+ * Returns true if the the user should be prompted for licenses to which they
+ * have previously disagreed, false otherwise.
+ *
+ * @return True if the user should be prompted, false otherwise.
+ */
+ public boolean shouldPrompt()
+ {
+ if (getPluginPreferences().contains(PreferenceConstants.PROMPT_DISAGREED_LICENSES))
+ return getPluginPreferences().getBoolean(PreferenceConstants.PROMPT_DISAGREED_LICENSES);
+ return true;
+ }
/**
* Start the cache job. The cache job caches resources that were not able to be previously
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
index 4def1f4..9dc6242 100644
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
@@ -19,6 +19,7 @@
_UI_PREF_CACHE_ENTRIES_TITLE = &Cache entries:
_UI_PREF_CACHE_CACHE_OPTION = &Disable caching
_UI_PREF_CACHE_ABOUT = Manage the cache of remote resources, such as those downloaded from the internet.
+_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES = &Prompt me for agreement for licenses for whose terms I have already disagreed.
# Cache monitor strings.
_UI_CACHE_MONITOR_NAME = Caching Remote Resources
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
index 7bb5cbb..0851f7d 100644
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
@@ -114,7 +114,8 @@
}
else if(agreed == LICENSE_DISAGREE)
{
- return false;
+ if(!CachePlugin.getDefault().shouldPrompt())
+ return false;
}
// Prompt the user to accept the license.
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
index cf51c2d..f228efd 100644
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
@@ -62,12 +62,16 @@
private static final String _UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE = "_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE";
private static final String _UI_PREF_CACHE_ABOUT = "_UI_PREF_CACHE_ABOUT";
+
+ private static final String _UI_PREF_PROMPT_FOR_DISAGREED_LICENSES = "_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES";
protected Button clearButton;
protected Button deleteButton;
protected Button enabledButton;
+
+ protected Button disagreedLicensesButton;
protected List entries;
@@ -122,12 +126,15 @@
aboutLabel.setText(CachePlugin.getResourceString(_UI_PREF_CACHE_ABOUT));
GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
gridData.horizontalSpan = 2;
- gridData.heightHint = 20;
aboutLabel.setLayoutData(gridData);
+ Label blankLabel = new Label(composite, SWT.None);
try
{
// Created the disable cache option.
enabledButton = new Button(composite, SWT.CHECK | SWT.LEFT);
+ gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gridData.horizontalSpan = 2;
+ enabledButton.setLayoutData(gridData);
enabledButton.setText(CachePlugin
.getResourceString(_UI_PREF_CACHE_CACHE_OPTION));
enabledButton.setSelection(!CachePlugin.getDefault().getPreferenceStore()
@@ -148,6 +155,31 @@
}
});
+
+ disagreedLicensesButton = new Button(composite, SWT.CHECK | SWT.LEFT);
+ gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gridData.horizontalSpan = 2;
+ disagreedLicensesButton.setLayoutData(gridData);
+ disagreedLicensesButton.setText(CachePlugin
+ .getResourceString(_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES));
+ disagreedLicensesButton.setSelection(CachePlugin.getDefault().getPreferenceStore()
+ .getBoolean(PreferenceConstants.PROMPT_DISAGREED_LICENSES));
+ disagreedLicensesButton.addSelectionListener(new SelectionListener()
+ {
+
+ public void widgetDefaultSelected(SelectionEvent e)
+ {
+ widgetSelected(e);
+
+ }
+
+ public void widgetSelected(SelectionEvent e)
+ {
+ boolean prompt = disagreedLicensesButton.getSelection();
+ CachePlugin.getDefault().setPromptDisagreedLicenses(prompt);
+ }
+
+ });
// Create the entities group.
Label entriesLabel = new Label(composite, SWT.WRAP);
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
index 03d4610..a51c4ae 100644
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
@@ -17,5 +17,7 @@
public class PreferenceConstants
{
public static final String CACHE_ENABLED = "cacheEnabled";
+
+ public static final String PROMPT_DISAGREED_LICENSES = "promptDisagreedLicenses";
}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
index 952f81e..2ee42db 100644
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
@@ -28,5 +28,6 @@
{
IPreferenceStore store = CachePlugin.getDefault().getPreferenceStore();
store.setDefault(PreferenceConstants.CACHE_ENABLED, false);
+ store.setDefault(PreferenceConstants.PROMPT_DISAGREED_LICENSES, false);
}
}