1 19 package org.netbeans.modules.versioning.diff; 20 21 import org.openide.util.actions.SystemAction; 22 import org.openide.util.HelpCtx; 23 import org.openide.awt.Mnemonics; 24 import org.openide.awt.DynamicMenuContent; 25 import org.netbeans.modules.versioning.VersioningConfig; 26 27 import javax.swing.*; 28 import java.awt.event.ActionEvent ; 29 import java.util.prefs.Preferences ; 30 import org.openide.util.NbBundle; 31 32 37 public class ShowDiffSidebarAction extends SystemAction implements DynamicMenuContent { 38 39 private JCheckBoxMenuItem [] menuItems; 40 41 public JComponent[] getMenuPresenters() { 42 createItems(); 43 updateState(); 44 return menuItems; 45 } 46 47 public JComponent[] synchMenuPresenters(JComponent[] items) { 48 updateState(); 49 return items; 50 } 51 52 private void updateState() { 53 menuItems[0].setSelected(VersioningConfig.getDefault().getPreferences().getBoolean(DiffSidebarManager.SIDEBAR_ENABLED, true)); 54 } 55 56 private void createItems() { 57 if (menuItems == null) { 58 menuItems = new JCheckBoxMenuItem[1]; 59 menuItems[0] = new JCheckBoxMenuItem(this); 60 menuItems[0].setIcon(null); 61 Mnemonics.setLocalizedText(menuItems[0], NbBundle.getMessage(ShowDiffSidebarAction.class, "CTL_ShowDiffSidebar")); 62 } 63 } 64 65 public String getName() { 66 return NbBundle.getMessage(ShowDiffSidebarAction.class, "CTL_ShowDiffSidebar"); 67 } 68 69 public boolean isEnabled() { 70 return true; 71 } 72 73 public HelpCtx getHelpCtx() { 74 return new HelpCtx(ShowDiffSidebarAction.class); 75 } 76 77 public void actionPerformed(ActionEvent e) { 78 Preferences prefs = VersioningConfig.getDefault().getPreferences(); 79 prefs.putBoolean(DiffSidebarManager.SIDEBAR_ENABLED, !prefs.getBoolean(DiffSidebarManager.SIDEBAR_ENABLED, true)); 80 } 81 } 82 | Popular Tags |