001 package org.shiftone.jrat.desktop.action.file; 002 003 import org.shiftone.jrat.desktop.DesktopPreferences; 004 import org.shiftone.jrat.desktop.util.Errors; 005 import org.shiftone.jrat.util.log.Logger; 006 007 import javax.swing.*; 008 import java.awt.*; 009 import java.awt.event.ActionEvent; 010 import java.awt.event.KeyEvent; 011 import java.util.prefs.Preferences; 012 013 /** 014 * @author (jeff@shiftone.org) Jeff Drost 015 */ 016 public class ClearPreferencesAction extends AbstractAction { 017 018 private static final Logger LOG = Logger.getLogger(ClearPreferencesAction.class); 019 private final Component component; 020 021 public ClearPreferencesAction(Component component) { 022 super("Clear All Preferences"); 023 putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_P)); 024 this.component = component; 025 } 026 027 public void actionPerformed(ActionEvent event) { 028 try { 029 Preferences desktop = Preferences.userNodeForPackage(DesktopPreferences.class); 030 Preferences jrat = desktop.parent(); 031 // leaving the shiftone node 032 jrat.removeNode(); 033 } catch (Exception e) { 034 Errors.showError(component, e, "Failed to clear preferences"); 035 } 036 } 037 }