diff options
| author | Jules Aguillon | 2022-10-23 21:51:43 +0200 |
|---|---|---|
| committer | Jules Aguillon | 2022-10-23 21:51:43 +0200 |
| commit | ff0c0354d6395f58da6d7c4d4b5b724fa054e38f (patch) | |
| tree | 053a57e118d8a53a6e558659d4c8d8412ee0cfcb /srcs | |
| parent | 344df4c5c187653248b39a698f534e4d9d251ead (diff) | |
| download | unexpected-keyboard-ff0c0354d6395f58da6d7c4d4b5b724fa054e38f.tar.gz unexpected-keyboard-ff0c0354d6395f58da6d7c4d4b5b724fa054e38f.zip | |
Show keys description in settings
The symbols alone might be hard to understand when scrolling through the
"extra keys" option.
Diffstat (limited to 'srcs')
| -rw-r--r-- | srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java | 8 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyValue.java | 19 |
2 files changed, 25 insertions, 2 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java index e66c2cc..c75ed08 100644 --- a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java +++ b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java @@ -57,10 +57,14 @@ public class ExtraKeyCheckBoxPreference extends CheckBoxPreference int index = a.getInteger(R.styleable.ExtraKeyCheckBoxPreference_index, 0); a.recycle(); String key_name = extra_keys[index]; + KeyValue kv = KeyValue.getKeyByName(key_name); + String title = kv.getString(); + String descr = KeyValue.getKeyDescription(key_name); + if (descr != null) + title += " (" + descr + ")"; setKey(pref_key_of_key_name(key_name)); setDefaultValue(default_checked(key_name)); - KeyValue kv = KeyValue.getKeyByName(key_name); - setTitle(kv.getString()); + setTitle(title); _key_font = kv.hasFlags(KeyValue.FLAG_KEY_FONT); } diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index d6e1ce8..0587278 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -342,6 +342,25 @@ final class KeyValue addPlaceholderKey("f12_placeholder"); } + static final HashMap<String, String> keys_descr = new HashMap<String, String>(); + + /* Some keys have a description attached. Return [null] if otherwise. */ + public static String getKeyDescription(String name) + { + return keys_descr.get(name); + } + + static void addKeyDescr(String name, String descr) + { + keys_descr.put(name, descr); + } + + static { + /* Keys description is shown in the settings. */ + addKeyDescr("capslock", "Caps lock"); + addKeyDescr("switch_greekmath", "Greek & math symbols"); + } + // Substitute for [assert], which has no effect on Android. private static void check(boolean b) { |
