/* GNU GENERAL PUBLIC LICENSE Copyright (C) 2006 The Lobo Project This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either verion 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Contact info: lobochief@users.sourceforge.net */ package org.lobobrowser.primary.ext; import javax.swing.JMenu; import javax.swing.JMenuItem; public class DirectorySource { private final ActionPool actionPool; DirectorySource(final ActionPool actionPool) { this.actionPool = actionPool; } public JMenu getDirectoryMenu() { final JMenu searchMenu = new JMenu("Search"); searchMenu.setMnemonic('S'); searchMenu.add(this.getDuckDuckGoSearchMenu()); searchMenu.add(this.getGoogleSearchMenu()); searchMenu.add(this.getYahooSearchMenu()); final JMenu newsMenu = new JMenu("News & Blogs"); newsMenu.setMnemonic('N'); newsMenu.add(this.getTechNewsMenu()); newsMenu.add(this.getYahooNewsMenu()); newsMenu.add(this.getGoogleNewsMenu()); newsMenu.add(this.getCnnMenu()); newsMenu.add(this.getDiggMenu()); final JMenu infoMenu = new JMenu("Information"); infoMenu.setMnemonic('I'); infoMenu.add(this.getWikipediaMenu()); infoMenu.add(this.getWiktionaryMenu()); final JMenu softwareMenu = new JMenu("Software"); softwareMenu.setMnemonic('S'); softwareMenu.add(this.getGitHubMenu()); softwareMenu.add(this.getSourceforgeMenu()); final JMenu menu = new JMenu("Directory"); menu.setMnemonic('D'); menu.add(searchMenu); menu.add(newsMenu); menu.add(infoMenu); menu.add(softwareMenu); return menu; } private JMenuItem getDuckDuckGoSearchMenu() { return ComponentSource.menuItem("DuckDuckGo", this.actionPool.createNavigateAction("https://duckduckgo.com/html")); } private JMenuItem getGoogleSearchMenu() { return ComponentSource.menuItem("Google", this.actionPool.createNavigateAction("https://google.com")); } private JMenuItem getYahooSearchMenu() { return ComponentSource.menuItem("Yahoo!", this.actionPool.createNavigateAction("https://search.yahoo.com")); } private JMenuItem getYahooNewsMenu() { return ComponentSource.menuItem("Yahoo! News", this.actionPool.createNavigateAction("https://news.yahoo.com")); } private JMenuItem getGoogleNewsMenu() { return ComponentSource.menuItem("Google News", this.actionPool.createNavigateAction("https://news.google.com")); } private JMenuItem getCnnMenu() { return ComponentSource.menuItem("CNN", this.actionPool.createNavigateAction("http://cnn.com")); } private JMenu getTechNewsMenu() { final JMenu menu = new JMenu("Tech News"); menu.add(ComponentSource.menuItem("Hacker News", this.actionPool.createNavigateAction("https://news.ycombinator.com/news"))); menu.add(ComponentSource.menuItem("Slashdot", this.actionPool.createNavigateAction("https://slashdot.org"))); menu.add(ComponentSource.menuItem("LWN", this.actionPool.createNavigateAction("https://lwn.net/"))); menu.add(ComponentSource.menuItem("DZone", this.actionPool.createNavigateAction("http://dzone.com"))); return menu; } private JMenuItem getDiggMenu() { return ComponentSource.menuItem("Digg.com", this.actionPool.createNavigateAction("http://digg.com")); } private JMenuItem getWikipediaMenu() { return ComponentSource.menuItem("Wikipedia", this.actionPool.createNavigateAction("https://wikipedia.org")); } private JMenuItem getWiktionaryMenu() { return ComponentSource.menuItem("Wiktionary", this.actionPool.createNavigateAction("https://wiktionary.org")); } private JMenuItem getSourceforgeMenu() { return ComponentSource.menuItem("SourceForge", this.actionPool.createNavigateAction("http://sourceforge.net")); } private JMenuItem getGitHubMenu() { return ComponentSource.menuItem("GitHub", this.actionPool.createNavigateAction("https://github.com")); } }