Added ability to query the system tray type
This commit is contained in:
parent
f0e7ff5cf8
commit
56832b44ca
@ -206,6 +206,30 @@ class SystemTray {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static
|
||||
TrayType fromClass(final Class<? extends Tray> trayClass) {
|
||||
if (trayClass == _GtkStatusIconNativeTray.class) {
|
||||
return TrayType.GtkStatusIcon;
|
||||
}
|
||||
else if (trayClass == _AppIndicatorNativeTray.class) {
|
||||
return TrayType.AppIndicator;
|
||||
}
|
||||
else if (trayClass == _WindowsNativeTray.class) {
|
||||
return TrayType.WindowsNotifyIcon;
|
||||
}
|
||||
else if (trayClass == _SwingTray.class) {
|
||||
return TrayType.Swing;
|
||||
}
|
||||
else if (trayClass == _OsxNativeTray.class) {
|
||||
return TrayType.OSXStatusItem;
|
||||
}
|
||||
else if (trayClass == _AwtTray.class) {
|
||||
return TrayType.AWT;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static
|
||||
Class<? extends Tray> selectTypeQuietly(final TrayType trayType) {
|
||||
try {
|
||||
@ -1417,5 +1441,13 @@ class SystemTray {
|
||||
int getMenuImageSize() {
|
||||
return SizeAndScalingUtil.getMenuImageSize(systemTrayMenu.getClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the tray type used to create the system tray
|
||||
*/
|
||||
public
|
||||
TrayType getType() {
|
||||
return fromClass(systemTrayMenu.getClass());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -196,6 +196,10 @@ class TestTray {
|
||||
}));
|
||||
mainMenu.add(submenu);
|
||||
|
||||
MenuItem entry = new MenuItem("Type: " + systemTray.getType().toString());
|
||||
entry.setEnabled(false);
|
||||
systemTray.getMenu().add(entry);
|
||||
|
||||
systemTray.getMenu().add(new MenuItem("Quit", new ActionListener() {
|
||||
@Override
|
||||
public
|
||||
|
@ -253,6 +253,10 @@ class TestTrayJavaFX {
|
||||
}));
|
||||
mainMenu.add(submenu);
|
||||
|
||||
MenuItem entry = new MenuItem("Type: " + systemTray.getType().toString());
|
||||
entry.setEnabled(false);
|
||||
systemTray.getMenu().add(entry);
|
||||
|
||||
systemTray.getMenu().add(new MenuItem("Quit", new ActionListener() {
|
||||
@Override
|
||||
public
|
||||
|
@ -209,6 +209,10 @@ class TestTraySwt {
|
||||
}));
|
||||
mainMenu.add(submenu);
|
||||
|
||||
MenuItem entry = new MenuItem("Type: " + systemTray.getType().toString());
|
||||
entry.setEnabled(false);
|
||||
systemTray.getMenu().add(entry);
|
||||
|
||||
systemTray.getMenu().add(new MenuItem("Quit", new ActionListener() {
|
||||
@Override
|
||||
public
|
||||
|
Loading…
Reference in New Issue
Block a user