aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-04-09 20:32:32 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-04-10 12:01:07 +0900
commit7f0c503afc9a130da73503e97108d2ca5ae328ad (patch)
tree5b21e70cec17d1352da5f42e3af0a89c01e70184 /java
parented3bac91f242850c6d1833a5f8981b9cc208c5dd (diff)
downloadlatinime-7f0c503afc9a130da73503e97108d2ca5ae328ad.tar.gz
latinime-7f0c503afc9a130da73503e97108d2ca5ae328ad.tar.xz
latinime-7f0c503afc9a130da73503e97108d2ca5ae328ad.zip
Use !icon/<icon_name> notation for more keys spec
Change-Id: I616e6c1ac603d2eb7a5c99ec70d5411371d15f3e
Diffstat (limited to 'java')
-rw-r--r--java/res/values/attrs.xml3
-rw-r--r--java/res/values/donottranslate-more-keys.xml2
-rw-r--r--java/res/xml-sw600dp/key_styles_common.xml2
-rw-r--r--java/res/xml-sw768dp/key_styles_common.xml2
-rw-r--r--java/res/xml/key_styles_common.xml2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java9
6 files changed, 12 insertions, 8 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index d574b9edb..573ec68b7 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -300,6 +300,7 @@
<flag name="disableAdditionalMoreKeys" value="0x80000000" />
</attr>
<!-- The icon to display on the key instead of the label. -->
+ <!-- TODO: Use string format !icon/name. -->
<attr name="keyIcon" format="enum">
<!-- This should be aligned with the KeyboardIconsSet.ICON_* -->
<enum name="iconUndefined" value="0" />
@@ -319,11 +320,13 @@
<enum name="iconZwjKey" value="16" />
</attr>
<!-- The icon for disabled key -->
+ <!-- TODO: Use string format !icon/name. -->
<attr name="keyIconDisabled" format="enum">
<!-- This should be aligned with the KeyboardIconsSet.ICON_* -->
<enum name="iconDisabledShortcutKey" value="12" />
</attr>
<!-- The icon to show in the popup preview. -->
+ <!-- TODO: Use string format !icon/name. -->
<attr name="keyIconPreview" format="enum">
<!-- This should be aligned with the KeyboardIconsSet.ICON_* -->
<enum name="iconPreviewTabKey" value="13" />
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
index 5e97edc1e..14c278af9 100644
--- a/java/res/values/donottranslate-more-keys.xml
+++ b/java/res/values/donottranslate-more-keys.xml
@@ -120,7 +120,7 @@
U+2205: "∅" EMPTY SET -->
<string name="more_keys_for_symbols_0">&#x207F;,&#x2205;</string>
<string name="more_keys_for_am_pm">!fixedColumnOrder!2,!hasLabels!,\@string/label_time_am,\@string/label_time_pm</string>
- <string name="settings_as_more_key">\@icon/settingsKey|!code/key_settings</string>
+ <string name="settings_as_more_key">!icon/settingsKey|!code/key_settings</string>
<string name="keylabel_for_comma">,</string>
<string name="more_keys_for_comma"></string>
<string name="action_next_as_more_key">!hasLabels!,\@string/label_next_key|!code/key_action_next</string>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index 3cec9aab7..b0f610912 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -84,7 +84,7 @@
latin:styleName="zwnjKeyStyle"
latin:code="0x200C"
latin:keyIcon="iconZwnjKey"
- latin:moreKeys="\@icon/zwjKey|&#x200D;"
+ latin:moreKeys="!icon/zwjKey|&#x200D;"
latin:keyLabelFlags="hasPopupHint"
latin:keyActionFlags="noKeyPreview" />
<key-style
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index c3ad195bc..aa9cd692a 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -83,7 +83,7 @@
latin:styleName="zwnjKeyStyle"
latin:code="0x200C"
latin:keyIcon="iconZwnjKey"
- latin:moreKeys="\@icon/zwjKey|&#x200D;"
+ latin:moreKeys="!icon/zwjKey|&#x200D;"
latin:keyLabelFlags="hasPopupHint"
latin:keyActionFlags="noKeyPreview" />
<key-style
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index bd002fdac..b0b87a810 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -113,7 +113,7 @@
latin:styleName="zwnjKeyStyle"
latin:code="0x200C"
latin:keyIcon="iconZwnjKey"
- latin:moreKeys="\@icon/zwjKey|&#x200D;"
+ latin:moreKeys="!icon/zwjKey|&#x200D;"
latin:keyLabelFlags="hasPopupHint"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" />
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 84965bfe7..288fb4556 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -32,10 +32,11 @@ import java.util.Arrays;
* - String resource can be embedded into specification @string/name. This is done before parsing
* comma.
* Each "more key" specification is one of the following:
- * - A single letter (Letter)
* - Label optionally followed by keyOutputText or code (keyLabel|keyOutputText).
- * - Icon followed by keyOutputText or a string representation of codes
- * (@icon/icon_name|!code/key_code)
+ * - Icon followed by keyOutputText or code (!icon/icon_name|!code/code_name)
+ * - Icon should be a string representation of icon (!icon/icon_name).
+ * - Code should be a code point presented by hexadecimal string prefixed with "0x".
+ * Or a string representation of code (!code/code_name).
* Special character, comma ',' backslash '\', and bar '|' can be escaped by '\' character.
* Note that the character '@' and '\' are also parsed by XML parser and CSV parser as well.
* See {@link KeyboardIconsSet} about icon_name.
@@ -52,7 +53,7 @@ public class KeySpecParser {
private static final char SUFFIX_SLASH = '/';
private static final String PREFIX_STRING = PREFIX_AT + "string" + SUFFIX_SLASH;
private static final char LABEL_END = '|';
- private static final String PREFIX_ICON = PREFIX_AT + "icon" + SUFFIX_SLASH;
+ private static final String PREFIX_ICON = "!icon/";
private static final String PREFIX_CODE = "!code/";
private static final String PREFIX_HEX = "0x";
private static final String ADDITIONAL_MORE_KEY_MARKER = "%";