aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/service/keybindings/KeybindingsService.java
blob: 07d589de7206e5985a617b43753d3987a82227df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
 * Jitsi, the OpenSource Java VoIP and Instant Messaging client.
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */
package net.java.sip.communicator.service.keybindings;

import java.awt.*;
import java.util.*;
import java.util.List;

/**
 * The <tt>KeybindingService</tt> handles the distribution of configurable and
 * persistent keybinding sets.
 * @author Damian Johnson
 */
public interface KeybindingsService
{
    /**
     * Provides the bindings associated with a given category. This may be null
     * if the default bindings failed to be loaded.
     * @param category segment of the UI for which bindings should be retrieved
     * @return mappings of keystrokes to the string representation of their
     *         actions
     */
    KeybindingSet getBindings(KeybindingSet.Category category);

    /**
     * Provides the bindings associated with the global category.
     *
     * @return global keybinding set
     */
    GlobalKeybindingSet getGlobalBindings();

    /**
     * Returns list of global shortcuts from the configuration file.
     *
     * @return list of global shortcuts.
     */
    public Map<String, List<AWTKeyStroke>> getGlobalShortcutFromConfiguration();

    /**
     * Save the configuration file.
     */
    public void saveGlobalShortcutFromConfiguration();
}