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;
|
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
|
private static
|
||||||
Class<? extends Tray> selectTypeQuietly(final TrayType trayType) {
|
Class<? extends Tray> selectTypeQuietly(final TrayType trayType) {
|
||||||
try {
|
try {
|
||||||
@ -1417,5 +1441,13 @@ class SystemTray {
|
|||||||
int getMenuImageSize() {
|
int getMenuImageSize() {
|
||||||
return SizeAndScalingUtil.getMenuImageSize(systemTrayMenu.getClass());
|
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);
|
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() {
|
systemTray.getMenu().add(new MenuItem("Quit", new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
|
@ -253,6 +253,10 @@ class TestTrayJavaFX {
|
|||||||
}));
|
}));
|
||||||
mainMenu.add(submenu);
|
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() {
|
systemTray.getMenu().add(new MenuItem("Quit", new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
|
@ -209,6 +209,10 @@ class TestTraySwt {
|
|||||||
}));
|
}));
|
||||||
mainMenu.add(submenu);
|
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() {
|
systemTray.getMenu().add(new MenuItem("Quit", new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
|
Loading…
Reference in New Issue
Block a user