npe fix for non-tray users

pull/1/head
Michael Peter Christen 11 years ago
parent 53ecce81e3
commit 4709d8417c

@ -51,7 +51,7 @@ import net.yacy.search.SwitchboardConstants;
public final class Tray { public final class Tray {
private Switchboard sb; private Switchboard sb;
private TrayIcon ti; private TrayIcon ti = null;
private String trayLabel; private String trayLabel;
final private static boolean deutsch = System.getProperty("user.language","").equals("de"); final private static boolean deutsch = System.getProperty("user.language","").equals("de");
@ -64,6 +64,11 @@ public final class Tray {
private Image trayIcon = null; private Image trayIcon = null;
private BufferedImage[] progressIcons = null; private BufferedImage[] progressIcons = null;
private MenuItem menuItemHeadline = null;
private MenuItem menuItemSearch = null;
private MenuItem menuItemAdministration = null;
private MenuItem menuItemTerminate = null;
public Tray(final Switchboard sb_par) { public Tray(final Switchboard sb_par) {
sb = sb_par; sb = sb_par;
menuEnabled = sb.getConfigBool(SwitchboardConstants.TRAY_MENU_ENABLED, true); menuEnabled = sb.getConfigBool(SwitchboardConstants.TRAY_MENU_ENABLED, true);
@ -136,6 +141,7 @@ public final class Tray {
} }
private static void setDockIcon(Image icon) { private static void setDockIcon(Image icon) {
if (!OS.isMacArchitecture) return;
try { try {
Class<?> applicationClass = Class.forName("com.apple.eawt.Application"); Class<?> applicationClass = Class.forName("com.apple.eawt.Application");
Method applicationGetApplication = applicationClass.getMethod("getApplication"); Method applicationGetApplication = applicationClass.getMethod("getApplication");
@ -146,22 +152,20 @@ public final class Tray {
// same as: Application.getApplication().setDockIconImage(i); // same as: Application.getApplication().setDockIconImage(i);
} }
private MenuItem menuItemHeadline;
private MenuItem menuItemSearch;
private MenuItem menuItemAdministration;
private MenuItem menuItemTerminate;
/** /**
* set all functions available * set all functions available
*/ */
public void setReady() { public void setReady() {
appIsReady = true; appIsReady = true;
if (ti != null) {
ti.setImage(this.trayIcon); ti.setImage(this.trayIcon);
if (OS.isMacArchitecture) setDockIcon(trayIcon);
ti.setToolTip(readyMessage()); ti.setToolTip(readyMessage());
this.menuItemHeadline.setLabel(readyMessage()); }
this.menuItemSearch.setEnabled(true); setDockIcon(trayIcon);
this.menuItemAdministration.setEnabled(true); if (this.menuItemHeadline != null) this.menuItemHeadline.setLabel(readyMessage());
this.menuItemTerminate.setEnabled(true); if (this.menuItemSearch != null) this.menuItemSearch.setEnabled(true);
if (this.menuItemAdministration != null) this.menuItemAdministration.setEnabled(true);
if (this.menuItemTerminate != null) this.menuItemTerminate.setEnabled(true);
} }
public void remove() { public void remove() {

Loading…
Cancel
Save