abouttreesummaryrefslogcommitdiff
path: root/srcs
diff options
context:
space:
mode:
authorJules Aguillon2023-08-05 16:45:57 +0200
committerJules Aguillon2023-08-05 16:45:57 +0200
commitae791ab2929c1b71d4af2831416aefccafc8e977 (patch)
tree48860d82e5c18623d4de193b95c77ec78f99cfd5 /srcs
parent8b9505356629f81340090cee4f8f1f0bb9c399be (diff)
downloadunexpected-keyboard-ae791ab2929c1b71d4af2831416aefccafc8e977.tar.gz
unexpected-keyboard-ae791ab2929c1b71d4af2831416aefccafc8e977.zip
Translatable key descriptions
Key descriptions are shown in the "extra keys" option and can now be translated.
Diffstat (limited to 'srcs')
-rw-r--r--srcs/juloo.keyboard2/ExtraKeysPreference.java22
-rw-r--r--srcs/juloo.keyboard2/KeyValue.java20
2 files changed, 19 insertions, 23 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeysPreference.java b/srcs/juloo.keyboard2/ExtraKeysPreference.java
index 3af1c95..54cd0a4 100644
--- a/srcs/juloo.keyboard2/ExtraKeysPreference.java
+++ b/srcs/juloo.keyboard2/ExtraKeysPreference.java
@@ -15,6 +15,7 @@ import java.util.Set;
possible extra keys. */
public class ExtraKeysPreference extends PreferenceCategory
{
+ /** Array of the keys that can be selected. */
public static String[] extra_keys = new String[]
{
"alt",
@@ -70,6 +71,21 @@ public class ExtraKeysPreference extends PreferenceCategory
}
}
+ /** Text that describe a key. Might be null. */
+ static String key_description(Resources res, String name)
+ {
+ int id = 0;
+ switch (name)
+ {
+ case "capslock": id = R.string.key_descr_capslock; break;
+ case "switch_greekmath": id = R.string.key_descr_switch_greekmath; break;
+ case "voice_typing": id = R.string.key_descr_voice_typing; break;
+ }
+ if (id == 0)
+ return null;
+ return res.getString(id);
+ }
+
/** Get the set of enabled extra keys. */
public static Set<KeyValue> get_extra_keys(SharedPreferences prefs)
{
@@ -111,13 +127,13 @@ public class ExtraKeysPreference extends PreferenceCategory
{
boolean _key_font;
- public ExtraKeyCheckBoxPreference(Context context, String key_name,
+ public ExtraKeyCheckBoxPreference(Context ctx, String key_name,
boolean default_checked)
{
- super(context);
+ super(ctx);
KeyValue kv = KeyValue.getKeyByName(key_name);
String title = kv.getString();
- String descr = KeyValue.getKeyDescription(key_name);
+ String descr = key_description(ctx.getResources(), key_name);
if (descr != null)
title += " (" + descr + ")";
setKey(pref_key_of_key_name(key_name));
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index f20c53e..a394240 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -448,26 +448,6 @@ final class KeyValue
}
}
- 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");
- addKeyDescr("voice_typing", "Voice typing");
- }
-
// Substitute for [assert], which has no effect on Android.
private static void check(boolean b)
{