Bug 378112 - Product editor should allow 256x256 window icon
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/ProductExportOperation.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/ProductExportOperation.java
index 4dd7378..d21ae34 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/ProductExportOperation.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/ProductExportOperation.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2010 IBM Corporation and others.
+ * Copyright (c) 2006, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -396,6 +396,7 @@
append(buffer, info.getIconPath(ILauncherInfo.WIN32_32_LOW));
append(buffer, info.getIconPath(ILauncherInfo.WIN32_48_HIGH));
append(buffer, info.getIconPath(ILauncherInfo.WIN32_48_LOW));
+ append(buffer, info.getIconPath(ILauncherInfo.WIN32_256_HIGH));
}
return buffer.length() > 0 ? buffer.toString() : null;
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/iproduct/ILauncherInfo.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/iproduct/ILauncherInfo.java
index 968ea1e..e88ee99 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/iproduct/ILauncherInfo.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/iproduct/ILauncherInfo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -27,6 +27,7 @@
public static final String WIN32_32_HIGH = "winMediumHigh"; //$NON-NLS-1$
public static final String WIN32_48_LOW = "winLargeLow"; //$NON-NLS-1$
public static final String WIN32_48_HIGH = "winLargeHigh"; //$NON-NLS-1$
+ public static final String WIN32_256_HIGH = "winExtraLargeHigh"; //$NON-NLS-1$
public static final String P_USE_ICO = "useIco"; //$NON-NLS-1$
public static final String P_ICO_PATH = "icoFile"; //$NON-NLS-1$
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/LauncherInfo.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/LauncherInfo.java
index 13f2d87..cca6be1 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/LauncherInfo.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/LauncherInfo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,12 +13,9 @@
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
-
import org.eclipse.pde.internal.core.iproduct.ILauncherInfo;
import org.eclipse.pde.internal.core.iproduct.IProductModel;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import org.w3c.dom.*;
public class LauncherInfo extends ProductObject implements ILauncherInfo {
@@ -104,6 +101,7 @@
fIcons.put(WIN32_32_LOW, child.getAttribute(WIN32_32_LOW));
fIcons.put(WIN32_48_HIGH, child.getAttribute(WIN32_48_HIGH));
fIcons.put(WIN32_48_LOW, child.getAttribute(WIN32_48_LOW));
+ fIcons.put(WIN32_256_HIGH, child.getAttribute(WIN32_256_HIGH));
}
}
}
@@ -149,6 +147,7 @@
writeIcon(indent + " ", WIN32_32_LOW, writer); //$NON-NLS-1$
writeIcon(indent + " ", WIN32_48_HIGH, writer); //$NON-NLS-1$
writeIcon(indent + " ", WIN32_48_LOW, writer); //$NON-NLS-1$
+ writeIcon(indent + " ", WIN32_256_HIGH, writer); //$NON-NLS-1$
writer.println("/>"); //$NON-NLS-1$
writer.println(indent + "</win>"); //$NON-NLS-1$
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java
index 933cbff..3d7b12e 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java
@@ -1000,6 +1000,7 @@
public static String LauncherSection_32High;
public static String LauncherSection_48Low;
public static String LauncherSection_48High;
+ public static String LauncherSection_256High;
public static String LauncherSection_linuxLabel;
public static String LauncherSection_large;
public static String LauncherSection_medium;
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/LauncherSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/LauncherSection.java
index af709ef..ee4a9be 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/LauncherSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/LauncherSection.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -48,10 +48,10 @@
private TextValidator fSingleWinIconValidator;
- private static final String[] F_WIN_ICON_LABELS = new String[] {PDEUIMessages.LauncherSection_Low16, PDEUIMessages.LauncherSection_High16, PDEUIMessages.LauncherSection_32Low, PDEUIMessages.LauncherSection_32High, PDEUIMessages.LauncherSection_48Low, PDEUIMessages.LauncherSection_48High};
- public static final int[] F_WIN_ICON_DEPTHS = new int[] {8, 32, 8, 32, 8, 32};
- public static final int[][] F_WIN_ICON_DIMENSIONS = new int[][] { {16, 16}, {16, 16}, {32, 32}, {32, 32}, {48, 48}, {48, 48}};
- private static final String[] F_WIN_ICON_IDS = new String[] {ILauncherInfo.WIN32_16_LOW, ILauncherInfo.WIN32_16_HIGH, ILauncherInfo.WIN32_32_LOW, ILauncherInfo.WIN32_32_HIGH, ILauncherInfo.WIN32_48_LOW, ILauncherInfo.WIN32_48_HIGH};
+ private static final String[] F_WIN_ICON_LABELS = new String[] {PDEUIMessages.LauncherSection_Low16, PDEUIMessages.LauncherSection_High16, PDEUIMessages.LauncherSection_32Low, PDEUIMessages.LauncherSection_32High, PDEUIMessages.LauncherSection_48Low, PDEUIMessages.LauncherSection_48High, PDEUIMessages.LauncherSection_256High};
+ public static final int[] F_WIN_ICON_DEPTHS = new int[] {8, 32, 8, 32, 8, 32, 32};
+ public static final int[][] F_WIN_ICON_DIMENSIONS = new int[][] { {16, 16}, {16, 16}, {32, 32}, {32, 32}, {48, 48}, {48, 48}, {256, 256}};
+ private static final String[] F_WIN_ICON_IDS = new String[] {ILauncherInfo.WIN32_16_LOW, ILauncherInfo.WIN32_16_HIGH, ILauncherInfo.WIN32_32_LOW, ILauncherInfo.WIN32_32_HIGH, ILauncherInfo.WIN32_48_LOW, ILauncherInfo.WIN32_48_HIGH, ILauncherInfo.WIN32_256_HIGH};
private FormEntry fNameEntry;
private ArrayList fIcons = new ArrayList();
@@ -356,7 +356,7 @@
if (id.equals(ILauncherInfo.P_ICO_PATH)) {
boolean enabled = isEditable() && useIco;
entry.setEditable(enabled);
- } else if (id.equals(ILauncherInfo.WIN32_16_HIGH) || id.equals(ILauncherInfo.WIN32_16_LOW) || id.equals(ILauncherInfo.WIN32_32_HIGH) || id.equals(ILauncherInfo.WIN32_32_LOW) || id.equals(ILauncherInfo.WIN32_48_HIGH) || id.equals(ILauncherInfo.WIN32_48_LOW)) {
+ } else if (id.equals(ILauncherInfo.WIN32_16_HIGH) || id.equals(ILauncherInfo.WIN32_16_LOW) || id.equals(ILauncherInfo.WIN32_32_HIGH) || id.equals(ILauncherInfo.WIN32_32_LOW) || id.equals(ILauncherInfo.WIN32_48_HIGH) || id.equals(ILauncherInfo.WIN32_48_LOW) || id.equals(ILauncherInfo.WIN32_256_HIGH)) {
entry.setEditable(isEditable() && !useIco);
}
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties
index 6730648..20a6c1d 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties
@@ -596,7 +596,7 @@
Launcher_error_title=Launch Error
LauncherSection_desc=Customize the executable that is used to launch the product.
-LauncherSection_ico=Use a single ICO file containing the 6 images:
+LauncherSection_ico=Use a single ICO file containing the 7 images:
LauncherUtils_workspaceLocked=Workspace Cannot Be Locked
LauncherUtils_clearLogFile=Do you really want to clear the log file?
LauncherUtils_edit=&Edit...
@@ -612,13 +612,14 @@
LauncherSection_browse=Browse...
LauncherSection_title=Program Launcher
LauncherSection_label=Customizing the launcher icon varies per platform.
-LauncherSection_bmpImages=Specify 6 separate BMP images:
+LauncherSection_bmpImages=Specify 7 separate BMP images:
LauncherSection_Low16=16x16 (8-bit):
LauncherSection_High16=16x16 (32-bit):
LauncherSection_32Low=32x32 (8-bit):
LauncherSection_32High=32x32 (32-bit):
LauncherSection_48Low=48x48 (8-bit):
LauncherSection_48High=48x48 (32-bit):
+LauncherSection_256High=256x256 (32-bit):
LauncherSection_linuxLabel=A single XPM icon is required:
LauncherSection_large=Large:
LauncherSection_medium=Medium: