source: josm/trunk/src/org/openstreetmap/josm/gui/preferences/shortcut/ShortcutPreference.java

Last change on this file was 13431, checked in by Don-vip, 8 years ago

fix #15950 - Preferences Help button should go directly to selected Preferences tab Help page

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.preferences.shortcut;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import javax.swing.JPanel;
7
8import org.openstreetmap.josm.gui.help.HelpUtil;
9import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
10import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
11import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
12import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
13import org.openstreetmap.josm.tools.GBC;
14import org.openstreetmap.josm.tools.Shortcut;
15
16/**
17 * Keyboard shortcut preferences.
18 */
19public final class ShortcutPreference extends DefaultTabPreferenceSetting {
20
21 private String defaultFilter;
22
23 /**
24 * Factory used to create a new {@code ShortcutPreference}.
25 */
26 public static class Factory implements PreferenceSettingFactory {
27 @Override
28 public PreferenceSetting createPreferenceSetting() {
29 return new ShortcutPreference();
30 }
31 }
32
33 private ShortcutPreference() {
34 super(/* ICON(preferences/) */ "shortcuts", tr("Keyboard Shortcuts"), tr("Changing keyboard shortcuts manually."));
35 }
36
37 @Override
38 public void addGui(PreferenceTabbedPane gui) {
39 JPanel p = gui.createPreferenceTab(this);
40
41 PrefJPanel prefpanel = new PrefJPanel();
42 p.add(prefpanel, GBC.eol().fill(GBC.BOTH));
43 if (defaultFilter != null) {
44 prefpanel.filter(defaultFilter);
45 }
46 }
47
48 @Override
49 public boolean ok() {
50 return Shortcut.savePrefs();
51 }
52
53 /**
54 * Sets the default filter used to show only shortcuts with descriptions containing given substring.
55 * @param substring The substring used to filter
56 * @see PrefJPanel#filter(String)
57 */
58 public void setDefaultFilter(String substring) {
59 defaultFilter = substring;
60 }
61
62 @Override
63 public String getHelpContext() {
64 return HelpUtil.ht("/Preferences/Shortcuts");
65 }
66}
Note: See TracBrowser for help on using the repository browser.