package name.abuchen.portfolio.ui.util; import name.abuchen.portfolio.model.Bookmark; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; import name.abuchen.portfolio.ui.Messages; import name.abuchen.portfolio.ui.PortfolioPart; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; public class BookmarkMenu extends MenuManager { private final Security security; private final Client client; private final PortfolioPart editor; public BookmarkMenu(PortfolioPart editor, Security security) { super(Messages.MenuOpenSecurityOnSite); this.security = security; this.editor = editor; this.client = editor.getClient(); addDefaultPages(); } private void addDefaultPages() { for (Bookmark bookmark : client.getSettings().getBookmarks()) { if (bookmark.isSeparator()) { add(new Separator()); } else { add(new Action(bookmark.getLabel()) { @Override public void run() { DesktopAPI.browse(bookmark.constructURL(security)); } }); } } add(new Separator()); add(new Action(Messages.BookmarkMenu_EditBookmarks) { @Override public void run() { editor.activateView("settings.Settings", Integer.valueOf(0)); //$NON-NLS-1$ } }); } }