From 21e6da99682f73b2899890d9104a725858749a8f Mon Sep 17 00:00:00 2001 From: Michael Keppler Date: Mon, 30 Oct 2023 20:57:59 +0100 Subject: [PATCH] Target platform icon for "Load TP" job Register the typical target platform icon for the job family of the "Loading target platform" job. That leads to the icon being shown next to the progress bar of the progress view, similar to how the build has its own icon and all egit, m2e etc. jobs have their own icon. --- .../pde/core/target/LoadTargetDefinitionJob.java | 7 +++++++ .../src/org/eclipse/pde/internal/ui/PDEPlugin.java | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/target/LoadTargetDefinitionJob.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/target/LoadTargetDefinitionJob.java index dd2052422a..33d15636a2 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/target/LoadTargetDefinitionJob.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/target/LoadTargetDefinitionJob.java @@ -185,4 +185,11 @@ private void resetPlatform(IProgressMonitor monitor) { PDECore.getDefault().getFeatureModelManager().targetReloaded(); } + /** + * @since 3.17 + */ + public static Object getFamily() { + return JOB_FAMILY_ID; + } + } \ No newline at end of file diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPlugin.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPlugin.java index ef4fac33b9..0d202c9af5 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPlugin.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPlugin.java @@ -26,6 +26,7 @@ import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.pde.core.target.LoadTargetDefinitionJob; import org.eclipse.pde.internal.core.PDEPreferencesManager; import org.eclipse.pde.internal.ui.launcher.PDELogFileProvider; import org.eclipse.pde.internal.ui.shared.target.RepositoryBundleContainerAdapterFactory; @@ -42,6 +43,7 @@ import org.eclipse.ui.internal.views.log.ILogFileProvider; import org.eclipse.ui.internal.views.log.LogFilesManager; import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.ui.progress.IProgressService; import org.eclipse.ui.texteditor.IDocumentProvider; import org.osgi.framework.BundleContext; @@ -214,6 +216,18 @@ public void start(BundleContext context) throws Exception { LogFilesManager.addLogFileProvider(fLogFileProvider); TargetStatus.initializeTargetStatus(); + registerProgressIcon(); + } + + protected void registerProgressIcon() { + if (!PlatformUI.isWorkbenchRunning()) { + return; + } + IProgressService service = PlatformUI.getWorkbench().getProgressService(); + if (service == null) { + return; + } + service.registerIconForFamily(PDEPluginImages.DESC_TARGET_DEFINITION, LoadTargetDefinitionJob.getFamily()); } @Override