diff options
Diffstat (limited to 'srcs/juloo.keyboard2/ExtraKeysPreference.java')
| -rw-r--r-- | srcs/juloo.keyboard2/ExtraKeysPreference.java | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeysPreference.java b/srcs/juloo.keyboard2/ExtraKeysPreference.java deleted file mode 100644 index 3e8b74b..0000000 --- a/srcs/juloo.keyboard2/ExtraKeysPreference.java +++ /dev/null @@ -1,176 +0,0 @@ -package juloo.keyboard2; - -import android.content.Context; -import android.content.SharedPreferences; -import android.content.res.Resources; -import android.preference.CheckBoxPreference; -import android.preference.PreferenceCategory; -import android.util.AttributeSet; -import android.view.View; -import android.widget.TextView; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -/** This class implements the "extra keys" preference but also defines the - possible extra keys. */ -public class ExtraKeysPreference extends PreferenceCategory -{ - /** Array of the keys that can be selected. */ - public static String[] extra_keys = new String[] - { - "alt", - "meta", - "voice_typing", - "accent_aigu", - "accent_grave", - "accent_double_aigu", - "accent_dot_above", - "accent_circonflexe", - "accent_tilde", - "accent_cedille", - "accent_trema", - "accent_ring", - "accent_caron", - "accent_macron", - "accent_ogonek", - "accent_breve", - "accent_slash", - "accent_bar", - "accent_dot_below", - "accent_hook_above", - "accent_horn", - "€", - "ß", - "£", - "§", - "†", - "ª", - "º", - "page_up", - "page_down", - "home", - "end", - "switch_greekmath", - "capslock", - "copy", - "paste", - "cut", - "selectAll", - "shareText", - "pasteAsPlainText", - "undo", - "redo", - "superscript", - "subscript", - }; - - /** Whether an extra key is enabled by default. */ - public static boolean default_checked(String name) - { - switch (name) - { - case "voice_typing": - return true; - default: - return false; - } - } - - /** 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; - case "copy": id = R.string.key_descr_copy; break; - case "paste": id = R.string.key_descr_paste; break; - case "cut": id = R.string.key_descr_cut; break; - case "selectAll": id = R.string.key_descr_selectAll; break; - case "shareText": id = R.string.key_descr_shareText; break; - case "pasteAsPlainText": id = R.string.key_descr_pasteAsPlainText; break; - case "undo": id = R.string.key_descr_undo; break; - case "redo": id = R.string.key_descr_redo; break; - case "ª": id = R.string.key_descr_ª; break; - case "º": id = R.string.key_descr_º; break; - case "superscript": id = R.string.key_descr_superscript; break; - case "subscript": id = R.string.key_descr_subscript; break; - case "page_up": id = R.string.key_descr_page_up; break; - case "page_down": id = R.string.key_descr_page_down; break; - case "home": id = R.string.key_descr_home; break; - case "end": id = R.string.key_descr_end; break; - } - if (id == 0) - return null; - return res.getString(id); - } - - /** Get the set of enabled extra keys. */ - public static Map<KeyValue, KeyboardData.PreferredPos> get_extra_keys(SharedPreferences prefs) - { - Map<KeyValue, KeyboardData.PreferredPos> ks = - new HashMap<KeyValue, KeyboardData.PreferredPos>(); - for (String key_name : extra_keys) - { - if (prefs.getBoolean(pref_key_of_key_name(key_name), - default_checked(key_name))) - ks.put(KeyValue.getKeyByName(key_name), KeyboardData.PreferredPos.DEFAULT); - } - return ks; - } - - boolean _attached = false; /** Whether it has already been attached. */ - - public ExtraKeysPreference(Context context, AttributeSet attrs) - { - super(context, attrs); - setOrderingAsAdded(true); - } - - @Override - protected void onAttachedToActivity() - { - if (_attached) - return; - _attached = true; - for (String key_name : extra_keys) - addPreference(new ExtraKeyCheckBoxPreference(getContext(), key_name, - default_checked(key_name))); - } - - public static String pref_key_of_key_name(String key_name) - { - return "extra_key_" + key_name; - } - - static class ExtraKeyCheckBoxPreference extends CheckBoxPreference - { - boolean _key_font; - - public ExtraKeyCheckBoxPreference(Context ctx, String key_name, - boolean default_checked) - { - super(ctx); - KeyValue kv = KeyValue.getKeyByName(key_name); - String title = kv.getString(); - String descr = key_description(ctx.getResources(), key_name); - if (descr != null) - title += " (" + descr + ")"; - setKey(pref_key_of_key_name(key_name)); - setDefaultValue(default_checked); - setTitle(title); - _key_font = kv.hasFlags(KeyValue.FLAG_KEY_FONT); - } - - @Override - protected void onBindView(View view) - { - super.onBindView(view); - TextView title = (TextView)view.findViewById(android.R.id.title); - title.setTypeface(_key_font ? Theme.getKeyFont(getContext()) : null); - } - } -} |
