*** empty log message ***
diff --git a/update/org.eclipse.update.ui/icons/full/cview16/featuresrc_result.gif b/update/org.eclipse.update.ui/icons/full/cview16/featuresrc_result.gif
new file mode 100644
index 0000000..16973cd
--- /dev/null
+++ b/update/org.eclipse.update.ui/icons/full/cview16/featuresrc_result.gif
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/eview16/featuresrc_result.gif b/update/org.eclipse.update.ui/icons/full/eview16/featuresrc_result.gif
new file mode 100644
index 0000000..0f9bedc
--- /dev/null
+++ b/update/org.eclipse.update.ui/icons/full/eview16/featuresrc_result.gif
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/efix_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/efix_obj.gif
new file mode 100644
index 0000000..6a08981
--- /dev/null
+++ b/update/org.eclipse.update.ui/icons/full/obj16/efix_obj.gif
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/ovr16/updated_co.gif b/update/org.eclipse.update.ui/icons/full/ovr16/updated_co.gif
index 06fbc5b..3d0a37f 100644
--- a/update/org.eclipse.update.ui/icons/full/ovr16/updated_co.gif
+++ b/update/org.eclipse.update.ui/icons/full/ovr16/updated_co.gif
Binary files differ
diff --git a/update/org.eclipse.update.ui/plugin.xml b/update/org.eclipse.update.ui/plugin.xml
index a218747..230acbe 100644
--- a/update/org.eclipse.update.ui/plugin.xml
+++ b/update/org.eclipse.update.ui/plugin.xml
@@ -95,7 +95,7 @@
</view>
<view
name="Feature Search Results"
- icon="icons/full/obj16/psearch_obj.gif"
+ icon="icons/full/cview16/featuresrc_result.gif"
category="org.eclipse.update.ui"
class="org.eclipse.update.internal.ui.views.SearchResultView"
id="org.eclipse.update.ui.SearchResultsView">
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
index 38de7e9..be43d80 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
@@ -254,6 +254,17 @@
return (IFeature[]) features.toArray(new IFeature[features.size()]);
}
+ public static boolean isPatch(IFeature candidate) {
+ IImport[] imports = candidate.getImports();
+
+ for (int i = 0; i < imports.length; i++) {
+ IImport iimport = imports[i];
+ if (iimport.isPatch())
+ return true;
+ }
+ return false;
+ }
+
public static boolean isPatch(
IFeature target,
IFeature candidate) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java
index cd1a8d2..6eae3fb 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java
@@ -64,6 +64,7 @@
public static final ImageDescriptor DESC_COMPUTER_OBJ = create(PATH_OBJ, "computer_obj.gif");
public static final ImageDescriptor DESC_CONFIG_OBJ = create(PATH_OBJ, "config_obj.gif");
public static final ImageDescriptor DESC_FEATURE_OBJ = create(PATH_OBJ, "feature_obj.gif");
+ public static final ImageDescriptor DESC_EFIX_OBJ = create(PATH_OBJ, "efix_obj.gif");
public static final ImageDescriptor DESC_FLOPPY_OBJ = create(PATH_OBJ, "floppy_obj.gif");
public static final ImageDescriptor DESC_HISTORY_OBJ = create(PATH_OBJ, "history_obj.gif");
public static final ImageDescriptor DESC_LSITE_OBJ = create(PATH_OBJ, "lsite_obj.gif");
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
index 6ca289d..6090ae5 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
@@ -48,7 +48,8 @@
"ConfigurationView.missingOptionalStatus";
private static final String KEY_MISSING_STATUS =
"ConfigurationView.missingStatus";
- private static final String STATE_SHOW_UNCONF = "ConfigurationView.showUnconf";
+ private static final String STATE_SHOW_UNCONF =
+ "ConfigurationView.showUnconf";
private Image eclipseImage;
private Image featureImage;
private Image updatedFeatureImage;
@@ -58,6 +59,9 @@
private Image unconfFeatureImage;
private Image errorUnconfFeatureImage;
private Image warningUnconfFeatureImage;
+ private Image efixImage;
+ private Image warningEfixImage;
+ private Image errorEfixImage;
private Image siteImage;
private Image installSiteImage;
private Image linkedSiteImage;
@@ -458,13 +462,18 @@
IStatus status = localSite.getFeatureStatus(feature);
int code = getStatusCode(feature, status);
if (configured) {
+ boolean efix = UpdateUIPlugin.isPatch(feature);
switch (code) {
case IFeature.STATUS_UNHAPPY :
- return errorFeatureImage;
+ return efix ? errorEfixImage : errorFeatureImage;
case IFeature.STATUS_AMBIGUOUS :
- return warningFeatureImage;
+ return efix
+ ? warningEfixImage
+ : warningFeatureImage;
default :
- return updated ? updatedFeatureImage : featureImage;
+ return updated
+ ? updatedFeatureImage
+ : (efix ? efixImage : featureImage);
}
} else {
switch (code) {
@@ -548,6 +557,26 @@
});
warningUnconfFeatureImage = edesc.createImage();
+ efixImage = UpdateUIPluginImages.DESC_EFIX_OBJ.createImage();
+ edesc =
+ new OverlayIcon(
+ UpdateUIPluginImages.DESC_EFIX_OBJ,
+ new ImageDescriptor[][] { {
+ }, {
+ }, {
+ UpdateUIPluginImages.DESC_ERROR_CO }
+ });
+ errorEfixImage = edesc.createImage();
+ edesc =
+ new OverlayIcon(
+ UpdateUIPluginImages.DESC_EFIX_OBJ,
+ new ImageDescriptor[][] { {
+ }, {
+ }, {
+ UpdateUIPluginImages.DESC_WARNING_CO }
+ });
+ warningEfixImage = edesc.createImage();
+
ImageDescriptor siteDesc = UpdateUIPluginImages.DESC_LSITE_OBJ;
siteImage = siteDesc.createImage();
ImageDescriptor installSiteDesc = UpdateUIPluginImages.DESC_LSITE_OBJ;
@@ -667,6 +696,9 @@
unconfFeatureImage.dispose();
errorFeatureImage.dispose();
warningFeatureImage.dispose();
+ efixImage.dispose();
+ warningEfixImage.dispose();
+ errorEfixImage.dispose();
errorUnconfFeatureImage.dispose();
warningUnconfFeatureImage.dispose();
siteImage.dispose();
@@ -743,12 +775,15 @@
protected void makeActions() {
super.makeActions();
- final IDialogSettings settings = UpdateUIPlugin.getDefault().getDialogSettings();
+ final IDialogSettings settings =
+ UpdateUIPlugin.getDefault().getDialogSettings();
boolean showUnconfState = settings.getBoolean(STATE_SHOW_UNCONF);
showUnconfFeaturesAction = new Action() {
public void run() {
viewer.refresh(getLocalSite());
- settings.put(STATE_SHOW_UNCONF, showUnconfFeaturesAction.isChecked());
+ settings.put(
+ STATE_SHOW_UNCONF,
+ showUnconfFeaturesAction.isChecked());
}
};
WorkbenchHelp.setHelp(
@@ -1024,28 +1059,28 @@
UpdateUIPlugin.logException(e);
}
} /**
- * @see IInstallConfigurationChangedListener#installSiteAdded(ISite)
- */
+ * @see IInstallConfigurationChangedListener#installSiteAdded(ISite)
+ */
public void installSiteAdded(IConfiguredSite csite) {
asyncRefresh();
} /**
- * @see IInstallConfigurationChangedListener#installSiteRemoved(ISite)
- */
+ * @see IInstallConfigurationChangedListener#installSiteRemoved(ISite)
+ */
public void installSiteRemoved(IConfiguredSite site) {
asyncRefresh();
} /**
- * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
- */
+ * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
+ */
public void featureInstalled(IFeature feature) {
asyncRefresh();
} /**
- * @see IConfiguredSiteChangedListener#featureUninstalled(IFeature)
- */
+ * @see IConfiguredSiteChangedListener#featureUninstalled(IFeature)
+ */
public void featureRemoved(IFeature feature) {
asyncRefresh();
} /**
- * @see IConfiguredSiteChangedListener#featureUConfigured(IFeature)
- */
+ * @see IConfiguredSiteChangedListener#featureUConfigured(IFeature)
+ */
public void featureConfigured(IFeature feature) {
};
/**
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java
index 4b9fe11..b194439 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java
@@ -86,6 +86,7 @@
private Image siteImage;
private Image installSiteImage;
private Image featureImage;
+ private Image efixImage;
private Image errorFeatureImage;
private Image categoryImage;
private Image discoveryImage;
@@ -322,14 +323,17 @@
if (obj instanceof SearchObject) {
return getSearchObjectImage((SearchObject) obj);
}
- if (obj instanceof IFeature)
- return featureImage;
+ if (obj instanceof IFeature) {
+ boolean efix = UpdateUIPlugin.isPatch((IFeature)obj);
+ return efix?efixImage:featureImage;
+ }
if (obj instanceof IFeatureAdapter) {
IFeatureAdapter adapter = (IFeatureAdapter) obj;
IFeature feature = getFeature(adapter);
if (feature instanceof MissingFeature)
return errorFeatureImage;
- return featureImage;
+ boolean efix = UpdateUIPlugin.isPatch(feature);
+ return efix?efixImage:featureImage;
}
return super.getImage(obj);
}
@@ -892,6 +896,7 @@
siteImage = UpdateUIPluginImages.DESC_SITE_OBJ.createImage();
installSiteImage = UpdateUIPluginImages.DESC_LSITE_OBJ.createImage();
featureImage = UpdateUIPluginImages.DESC_FEATURE_OBJ.createImage();
+ efixImage = UpdateUIPluginImages.DESC_EFIX_OBJ.createImage();
discoveryImage = UpdateUIPluginImages.DESC_PLACES_OBJ.createImage();
bookmarkFolderImage =
UpdateUIPluginImages.DESC_BFOLDER_OBJ.createImage();
@@ -912,6 +917,7 @@
siteImage.dispose();
installSiteImage.dispose();
featureImage.dispose();
+ efixImage.dispose();
errorFeatureImage.dispose();
discoveryImage.dispose();
bookmarkFolderImage.dispose();
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java
index a66e69c..0fb0f9b 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java
@@ -27,6 +27,7 @@
private Text text;
private Table table;
private Image featureImage;
+ private Image efixImage;
/**
* Constructor for LicensePage
@@ -38,6 +39,7 @@
this.multiLicenseMode = multiLicenseMode;
if (multiLicenseMode) {
featureImage = UpdateUIPluginImages.DESC_FEATURE_OBJ.createImage();
+ efixImage = UpdateUIPluginImages.DESC_EFIX_OBJ.createImage();
}
setDescription(
UpdateUIPlugin.getResourceString(
@@ -46,6 +48,8 @@
public void dispose() {
if (featureImage != null)
featureImage.dispose();
+ if (efixImage !=null)
+ efixImage.dispose();
super.dispose();
}
@@ -139,7 +143,8 @@
IFeature feature = jobs[i].getFeature();
item = new TableItem(table, SWT.NONE);
item.setText(feature.getLabel());
- item.setImage(featureImage);
+ boolean efix = UpdateUIPlugin.isPatch(feature);
+ item.setImage(efix?efixImage:featureImage);
String license = feature.getLicense().getAnnotation();
// Question: Can this ever be null? What is the runtime cost?
item.setData(license);
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java
index 99cd4e4..b65dff7 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java
@@ -56,6 +56,7 @@
private CheckboxTableViewer tableViewer;
private IInstallConfiguration config;
private Image featureImage;
+ private Image efixImage;
private PendingChange[] pendingChanges;
private Label counterLabel;
private Button filterCheck;
@@ -80,8 +81,16 @@
* @see ITableLabelProvider#getColumnImage(Object, int)
*/
public Image getColumnImage(Object obj, int col) {
- if (col == 0)
- return featureImage;
+ if (col == 0) {
+ try {
+ IFeature feature = ((IFeatureAdapter) obj).getFeature();
+ boolean patch = UpdateUIPlugin.isPatch(feature);
+ return patch?efixImage:featureImage;
+ }
+ catch (CoreException e) {
+ return featureImage;
+ }
+ }
else
return null;
}
@@ -171,6 +180,7 @@
this.config = config;
this.pendingChanges = changes;
featureImage = UpdateUIPluginImages.DESC_FEATURE_OBJ.createImage();
+ efixImage = UpdateUIPluginImages.DESC_EFIX_OBJ.createImage();
setBannerVisible(false);
}
@@ -179,6 +189,10 @@
featureImage.dispose();
featureImage = null;
}
+ if (efixImage != null) {
+ efixImage.dispose();
+ efixImage = null;
+ }
super.dispose();
}