diff options
| author | Ed Merks | 2015-05-28 12:35:20 +0000 |
|---|---|---|
| committer | Ed Merks | 2015-05-28 12:35:20 +0000 |
| commit | 13bb84027e0aa7a3992c93a9402218cf8c312b8f (patch) | |
| tree | cc483cc526010ff70df723340521e2f2fe98d42c | |
| parent | 8896474658e3248ca0db57ccdfeb9d7b210dc0a3 (diff) | |
| download | org.eclipse.oomph-13bb84027e0aa7a3992c93a9402218cf8c312b8f.tar.gz org.eclipse.oomph-13bb84027e0aa7a3992c93a9402218cf8c312b8f.tar.xz org.eclipse.oomph-13bb84027e0aa7a3992c93a9402218cf8c312b8f.zip | |
[466867] When manually passing a VM to the eclipse-installer, it should
offer that VM for the installation too
https://bugs.eclipse.org/bugs/show_bug.cgi?id=466867
4 files changed, 65 insertions, 7 deletions
diff --git a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java index 61b886dc8..1b49877bf 100644 --- a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java +++ b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java @@ -21,6 +21,9 @@ import org.eclipse.oomph.util.OS; import org.eclipse.oomph.util.PropertiesUtil; import org.eclipse.oomph.util.Request; +import org.eclipse.emf.edit.provider.IItemFontProvider; +import org.eclipse.emf.edit.ui.provider.ExtendedFontRegistry; + import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.layout.TreeColumnLayout; @@ -31,6 +34,7 @@ import org.eclipse.jface.viewers.IColorProvider; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.LabelProvider; @@ -45,6 +49,7 @@ import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; @@ -115,7 +120,7 @@ public class JREComposite extends Composite treeViewer = new TreeViewer(composite, SWT.BORDER | SWT.MULTI); treeViewer.setContentProvider(contentProvider); - treeViewer.setLabelProvider(new JRELabelProvider()); + treeViewer.setLabelProvider(new JRELabelProvider(treeViewer.getTree().getFont())); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) @@ -506,8 +511,15 @@ public class JREComposite extends Composite /** * @author Eike Stepper */ - private final class JRELabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider + private final class JRELabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider, ITableFontProvider { + private Font font; + + public JRELabelProvider(Font font) + { + this.font = font; + } + public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 0) @@ -545,7 +557,7 @@ public class JREComposite extends Composite switch (columnIndex) { case 0: - return jre.getJavaHome().getAbsolutePath(); + return jre.toString(); case 1: return jre.getMajor() + "." + jre.getMinor() + "." + jre.getMicro(); case 2: @@ -576,5 +588,19 @@ public class JREComposite extends Composite { return null; } + + public Font getFont(Object element, int columnIndex) + { + if (element instanceof JRE) + { + JRE jre = (JRE)element; + if (jre.isCurrent()) + { + return ExtendedFontRegistry.INSTANCE.getFont(font, IItemFontProvider.BOLD_FONT); + } + } + + return null; + } } } diff --git a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java index 38e5abbd7..c17371433 100644 --- a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java +++ b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java @@ -257,7 +257,18 @@ public abstract class JREController implements ISelectionChangedListener if (selection == null || !jres.contains(selection)) { - selection = jres.iterator().next(); + for (JRE jre : jres) + { + if (selection == null) + { + selection = jre; + } + else if (jre.isCurrent()) + { + selection = jre; + break; + } + } } setSelection(new StructuredSelection(selection)); diff --git a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java index 07dc6ad18..73b25e8ef 100644 --- a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java +++ b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java @@ -118,6 +118,12 @@ public final class JRE implements Comparable<JRE> return true; } + public boolean isCurrent() + { + String systemJavaHome = System.getProperty("java.home"); + return javaHome.getPath().equals(systemJavaHome); + } + public boolean isMatch(JREFilter filter) { Integer filterMajor = filter.getMajor(); @@ -222,9 +228,7 @@ public final class JRE implements Comparable<JRE> @Override public String toString() { - // return javaHome.getAbsolutePath() + " (" + major + "." + minor + "." + micro + "/" + bitness + "bit " + (jdk ? "JDK" : "JRE") + ")"; - // return javaHome.getAbsolutePath() + " (" + bitness + " Bit " + (jdk ? "JDK" : "JRE") + ")"; - return javaHome.getAbsolutePath(); + return javaHome.getPath() + (isCurrent() ? " (Current)" : ""); } String toLine() diff --git a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java index 47a16496e..455cc2cee 100644 --- a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java +++ b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java @@ -66,6 +66,23 @@ public final class JREInfo //$FALL-THROUGH$ } + String javaHome = System.getProperty("java.home"); + if (javaHome != null) + { + File javaHomeFolder = new File(javaHome); + if (javaHomeFolder.isDirectory()) + { + int jdk = isJDK(javaHomeFolder); + + JREInfo info = new JREInfo(); + info.javaHome = javaHomeFolder.getAbsolutePath(); + info.jdk = jdk; + info.next = jreInfo; + + jreInfo = info; + } + } + if (!SKIP_USER_HOME) { jreInfo = searchFolder(jreInfo, PropertiesUtil.USER_HOME); |
