X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Futil%2FUserMenuLink.java;h=8416f220b43ebf6441acabe5bcde3c23e89c4d65;hb=3200c28bdc2f274178a62a372dbd2f2cd12855ed;hp=01f0b469485926b95d740b4bb378a686d3fe2d29;hpb=549706fe2a8f595d95f5f021dcd43e892254f99a;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/util/UserMenuLink.java b/org.argeo.cms.ui/src/org/argeo/cms/util/UserMenuLink.java index 01f0b4694..8416f220b 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/util/UserMenuLink.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/util/UserMenuLink.java @@ -28,12 +28,12 @@ public class UserMenuLink extends MenuLink { setLabel(CurrentUser.getDisplayName()); } Label link = (Label) ((Composite) super.createUi(parent, context)).getChildren()[0]; - link.addMouseListener(new UserMenuLinkController()); + link.addMouseListener(new UserMenuLinkController(context)); return link.getParent(); } - protected UserMenu createUserMenu(Control source) { - return new UserMenu(source.getParent()); + protected UserMenu createUserMenu(Control source,Node context) { + return new UserMenu(source.getParent(),context); } private class UserMenuLinkController implements MouseListener, DisposeListener { @@ -42,6 +42,12 @@ public class UserMenuLink extends MenuLink { private UserMenu userMenu = null; private long lastDisposeTS = 0l; + private final Node context; + + public UserMenuLinkController(Node context) { + this.context = context; + } + // // MOUSE LISTENER // @@ -53,7 +59,7 @@ public class UserMenuLink extends MenuLink { long durationSinceLastDispose = System.currentTimeMillis() - lastDisposeTS; // avoid to reopen the menu, if one has clicked gain if (durationSinceLastDispose > 200) { - userMenu = createUserMenu(source); + userMenu = createUserMenu(source,context); userMenu.getShell().addDisposeListener(this); } }