/* * * Paros and its related class files. * * Paros is an HTTP/HTTPS proxy for assessing web application security. * Copyright (C) 2003-2004 Chinotec Technologies Company * * This program is free software; you can redistribute it and/or * modify it under the terms of the Clarified Artistic License * as published by the Free Software Foundation. * * 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 * Clarified Artistic License for more details. * * You should have received a copy of the Clarified Artistic License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ZAP: 2011/11/20 Set order // ZAP: 2012/03/17 Issue 282 Added getAuthor() // ZAP: 2012/04/25 Added @Override annotation to all appropriate methods. // ZAP: 2013/03/03 Issue 546: Remove all template Javadoc comments // ZAP: 2014/01/28 Issue 207: Support keyboard shortcuts // ZAP: 2015/03/16 Issue 1525: Further database independence changes // ZAP: 2016/06/20 Removed unnecessary/unused constructor package org.parosproxy.paros.extension.edit; import java.awt.Toolkit; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.KeyStroke; import javax.swing.text.JTextComponent; import org.parosproxy.paros.Constant; import org.parosproxy.paros.extension.ExtensionAdaptor; import org.parosproxy.paros.extension.ExtensionHook; import org.parosproxy.paros.view.FindDialog; import org.zaproxy.zap.view.ZapMenuItem; public class ExtensionEdit extends ExtensionAdaptor { private FindDialog findDialog = null; private ZapMenuItem menuFind = null; private PopupFindMenu popupFindMenu = null; public ExtensionEdit() { super("ExtensionEdit"); this.setOrder(4); } @Override public void hook(ExtensionHook extensionHook) { super.hook(extensionHook); if (getView() != null) { extensionHook.getHookMenu().addEditMenuItem(getMenuFind()); extensionHook.getHookMenu().addPopupMenuItem(getPopupMenuFind()); } } private void showFindDialog(JFrame frame, JTextComponent lastInvoker) { if (findDialog == null || findDialog.getParent() != frame) { findDialog = new FindDialog(frame, false); } findDialog.setLastInvoker(lastInvoker); findDialog.setVisible(true); } /** * This method initializes menuFind * * @return javax.swing.JMenuItem */ private ZapMenuItem getMenuFind() { if (menuFind == null) { menuFind = new ZapMenuItem("menu.edit.find", KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false)); menuFind.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { showFindDialog(getView().getMainFrame(), null); } }); } return menuFind; } /** * This method initializes popupMenuFind * * @return org.parosproxy.paros.extension.ExtensionPopupMenu */ private PopupFindMenu getPopupMenuFind() { if (popupFindMenu== null) { popupFindMenu = new PopupFindMenu(); popupFindMenu.setText(Constant.messages.getString("edit.find.popup")); // ZAP: i18n popupFindMenu.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { showFindDialog(popupFindMenu.getParentFrame(), popupFindMenu.getLastInvoker()); } }); } return popupFindMenu; } @Override public String getAuthor() { return Constant.PAROS_TEAM; } /** * No database tables used, so all supported */ @Override public boolean supportsDb(String type) { return true; } }