Code polish

This commit is contained in:
nathan 2017-12-01 22:46:19 +01:00
parent e1cca820c3
commit 142be61a9c
2 changed files with 9 additions and 10 deletions

View File

@ -159,8 +159,8 @@ class GtkMenu extends GtkBaseMenuItem implements MenuPeer {
} }
} }
Gtk2.gtk_widget_show_all(_nativeMenu); // necessary to guarantee widget is visible (doesn't always show_all for all children)
onMenuAdded(_nativeMenu); onMenuAdded(_nativeMenu);
Gtk2.gtk_widget_show_all(_nativeMenu); // necessary to guarantee widget is visible (doesn't always show_all for all children)
} }
/** /**

View File

@ -23,7 +23,6 @@ import com.sun.jna.Pointer;
import dorkbox.systemTray.MenuItem; import dorkbox.systemTray.MenuItem;
import dorkbox.systemTray.SystemTray; import dorkbox.systemTray.SystemTray;
import dorkbox.systemTray.Tray; import dorkbox.systemTray.Tray;
import dorkbox.systemTray.gnomeShell.Extension;
import dorkbox.systemTray.util.ImageResizeUtil; import dorkbox.systemTray.util.ImageResizeUtil;
import dorkbox.util.jna.linux.AppIndicator; import dorkbox.util.jna.linux.AppIndicator;
import dorkbox.util.jna.linux.Gobject; import dorkbox.util.jna.linux.Gobject;
@ -91,7 +90,7 @@ class _AppIndicatorNativeTray extends Tray {
// has the name already been set for the indicator? // has the name already been set for the indicator?
private volatile boolean setName = false; private volatile boolean setName = false;
// appindicators DO NOT support anything other than PLAIN gtk-menus (which we hack to support swing menus) // appindicators DO NOT support anything other than PLAIN gtk-menus
// they ALSO do not support tooltips!! // they ALSO do not support tooltips!!
// https://bugs.launchpad.net/indicator-application/+bug/527458/comments/12 // https://bugs.launchpad.net/indicator-application/+bug/527458/comments/12
@ -110,7 +109,7 @@ class _AppIndicatorNativeTray extends Tray {
protected final protected final
void onMenuAdded(final Pointer menu) { void onMenuAdded(final Pointer menu) {
// see: https://code.launchpad.net/~mterry/libappindicator/fix-menu-leak/+merge/53247 // see: https://code.launchpad.net/~mterry/libappindicator/fix-menu-leak/+merge/53247
AppIndicator.app_indicator_set_menu(appIndicator, menu); appIndicator.app_indicator_set_menu(menu);
if (!setName) { if (!setName) {
setName = true; setName = true;
@ -126,7 +125,7 @@ class _AppIndicatorNativeTray extends Tray {
// in extension.js, so don't change it // in extension.js, so don't change it
// additionally, this is required to be set HERE (not somewhere else) // additionally, this is required to be set HERE (not somewhere else)
AppIndicator.app_indicator_set_title(appIndicator, Extension.DEFAULT_NAME); // appIndicator.app_indicator_set_title(Extension.DEFAULT_NAME);
} }
} }
@ -141,11 +140,11 @@ class _AppIndicatorNativeTray extends Tray {
if (visible && !enabled) { if (visible && !enabled) {
// STATUS_PASSIVE hides the indicator // STATUS_PASSIVE hides the indicator
AppIndicator.app_indicator_set_status(appIndicator, AppIndicator.STATUS_PASSIVE); appIndicator.app_indicator_set_status(AppIndicator.STATUS_PASSIVE);
visible = false; visible = false;
} }
else if (!visible && enabled) { else if (!visible && enabled) {
AppIndicator.app_indicator_set_status(appIndicator, AppIndicator.STATUS_ACTIVE); appIndicator.app_indicator_set_status(AppIndicator.STATUS_ACTIVE);
visible = true; visible = true;
} }
} }
@ -164,11 +163,11 @@ class _AppIndicatorNativeTray extends Tray {
@Override @Override
public public
void run() { void run() {
AppIndicator.app_indicator_set_icon(appIndicator, imageFile.getAbsolutePath()); appIndicator.app_indicator_set_icon(imageFile.getAbsolutePath());
if (!isActive) { if (!isActive) {
isActive = true; isActive = true;
AppIndicator.app_indicator_set_status(appIndicator, AppIndicator.STATUS_ACTIVE); appIndicator.app_indicator_set_status(AppIndicator.STATUS_ACTIVE);
} }
} }
}); });
@ -208,7 +207,7 @@ class _AppIndicatorNativeTray extends Tray {
appIndicator = null; appIndicator = null;
// STATUS_PASSIVE hides the indicator // STATUS_PASSIVE hides the indicator
AppIndicator.app_indicator_set_status(savedAppIndicator, AppIndicator.STATUS_PASSIVE); savedAppIndicator.app_indicator_set_status(AppIndicator.STATUS_PASSIVE);
Pointer p = savedAppIndicator.getPointer(); Pointer p = savedAppIndicator.getPointer();
Gobject.g_object_unref(p); Gobject.g_object_unref(p);