abouttreesummaryrefslogcommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/values-cs/strings.xml2
-rw-r--r--res/values-de/strings.xml2
-rw-r--r--res/values-es/strings.xml2
-rw-r--r--res/values-fr/strings.xml2
-rw-r--r--res/values-it/strings.xml2
-rw-r--r--res/values-ko/strings.xml2
-rw-r--r--res/values-lv/strings.xml2
-rw-r--r--res/values-pl/strings.xml2
-rw-r--r--res/values-pt/strings.xml2
-rw-r--r--res/values-ru/strings.xml2
-rw-r--r--res/values-tr/strings.xml2
-rw-r--r--res/values-zh-rCN/strings.xml2
-rw-r--r--res/values/strings.xml2
-rw-r--r--res/xml/number_row.xml13
-rw-r--r--res/xml/settings.xml1
-rw-r--r--srcs/juloo.keyboard2/Config.java8
-rw-r--r--srcs/juloo.keyboard2/KeyboardData.java14
17 files changed, 59 insertions, 3 deletions
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index fc084f6..5d03797 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -21,6 +21,8 @@
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index e810baa..b6c887e 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">Nie</string>
<string name="pref_show_numpad_landscape">Nur im Querformat</string>
<string name="pref_show_numpad_always">Immer</string>
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index e029a3c..1abfe80 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -21,6 +21,8 @@
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 773398b..cdd1977 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">Jamais</string>
<string name="pref_show_numpad_landscape">Seulement en mode paysage</string>
<string name="pref_show_numpad_always">Toujour</string>
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<string name="pref_numpad_layout">Disposition du pavé numérique</string>
<string name="pref_numpad_layout_e_high_first">Du plus haut au plus bas</string>
<string name="pref_numpad_layout_e_low_first">Du plus bas au plus haut</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index ef467bf..294693e 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -21,6 +21,8 @@
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index d11c6f7..27eb581 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -21,6 +21,8 @@
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 6854892..9abf452 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">Nekad</string>
<string name="pref_show_numpad_landscape">Tikai guleniskajā skatā</string>
<string name="pref_show_numpad_always">Vienmēr</string>
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 2313c63..685f4f8 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">Nigdy</string>
<string name="pref_show_numpad_landscape">Tylko w orientacji poziomej</string>
<string name="pref_show_numpad_always">Zawsze</string>
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<string name="pref_numpad_layout">Układ klawiatury numerycznej</string>
<string name="pref_numpad_layout_e_high_first">Od największej cyfry</string>
<string name="pref_numpad_layout_e_low_first">Od najmniejszej cyfry</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 5c3f4ed..27d7758 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -21,6 +21,8 @@
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index a845ccf..f26d0a6 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">Никогда</string>
<string name="pref_show_numpad_landscape">Только в ландшафтном режиме</string>
<string name="pref_show_numpad_always">Всегда</string>
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<string name="pref_numpad_layout">NumPad раскладка</string>
<string name="pref_numpad_layout_e_high_first">Старшие цифры сверху</string>
<string name="pref_numpad_layout_e_low_first">Младшие цифры сверху</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1e9aba4..33455b1 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -21,6 +21,8 @@
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index c3c1412..f217d58 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">从不</string>
<string name="pref_show_numpad_landscape">只在横屏显示</string>
<string name="pref_show_numpad_always">一直显示</string>
+ <!-- <string name="pref_number_row_title">Show number row</string> -->
+ <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8a717a4..0e1850a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -21,6 +21,8 @@
<string name="pref_show_numpad_never">Never</string>
<string name="pref_show_numpad_landscape">Only in landscape mode</string>
<string name="pref_show_numpad_always">Always</string>
+ <string name="pref_number_row_title">Show number row</string>
+ <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string>
<string name="pref_numpad_layout">NumPad layout</string>
<string name="pref_numpad_layout_e_high_first">High digits first</string>
<string name="pref_numpad_layout_e_low_first">Low digits first</string>
diff --git a/res/xml/number_row.xml b/res/xml/number_row.xml
new file mode 100644
index 0000000..de49a54
--- /dev/null
+++ b/res/xml/number_row.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<row height="0.75">
+ <key key0="1"/>
+ <key key0="2"/>
+ <key key0="3"/>
+ <key key0="4"/>
+ <key key0="5"/>
+ <key key0="6"/>
+ <key key0="7"/>
+ <key key0="8"/>
+ <key key0="9"/>
+ <key key0="0"/>
+</row>
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index 8633ae0..4eccb02 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -5,6 +5,7 @@
<juloo.keyboard2.LayoutListPreference android:key="second_layout" android:title="@string/pref_second_layout_title" app:defaultString="@string/pref_second_layout_none"/>
<ListPreference android:key="accents" android:title="@string/pref_accents_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_accents_entries" android:entryValues="@array/pref_accents_values"/>
<ListPreference android:key="show_numpad" android:title="@string/pref_show_numpad_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_show_numpad_entries" android:entryValues="@array/pref_show_numpad_values"/>
+ <CheckBoxPreference android:key="number_row" android:title="@string/pref_number_row_title" android:summary="@string/pref_number_row_summary" android:defaultValue="false"/>
<PreferenceScreen android:title="@string/pref_extra_keys_title">
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="0"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="1"/>
diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java
index 5ff7951..bd0db23 100644
--- a/srcs/juloo.keyboard2/Config.java
+++ b/srcs/juloo.keyboard2/Config.java
@@ -28,6 +28,7 @@ final class Config
public boolean show_numpad = false;
// From the 'numpad_layout' option, also apply to the numeric pane.
public boolean inverse_numpad = false;
+ public boolean number_row;
public float swipe_dist_px;
public float slide_step_px;
public boolean vibrateEnabled;
@@ -111,6 +112,7 @@ final class Config
second_layout = tweak_secondary_layout(layout_of_string(res, _prefs.getString("second_layout", "none")));
custom_layout = KeyboardData.load_string(_prefs.getString("custom_layout", ""));
inverse_numpad = _prefs.getString("numpad_layout", "default").equals("low_first");
+ number_row = _prefs.getBoolean("number_row", false);
// The baseline for the swipe distance correspond to approximately the
// width of a key in portrait mode, as most layouts have 10 columns.
// Multipled by the DPI ratio because most swipes are made in the diagonals.
@@ -165,6 +167,7 @@ final class Config
* - Remove "localized" keys from other locales (not in 'extra_keys')
* - Replace the action key to show the right label
* - Swap the enter and action keys
+ * - Add the optional numpad and number row
*/
public KeyboardData modify_layout(KeyboardData kw)
{
@@ -176,8 +179,11 @@ final class Config
if (extra_keys_subtype != null)
extra_keys.addAll(extra_keys_subtype);
extra_keys.addAll(extra_keys_param);
+ boolean number_row = this.number_row && !show_numpad;
if (show_numpad)
KeyboardData.num_pad.getKeys(remove_keys);
+ if (number_row)
+ KeyboardData.number_row.getKeys(remove_keys);
kw = kw.mapKeys(new KeyboardData.MapKeyValues() {
public KeyValue apply(KeyValue key, boolean localized)
{
@@ -223,6 +229,8 @@ final class Config
});
if (show_numpad)
kw = kw.addNumPad();
+ if (number_row)
+ kw = kw.addNumberRow();
if (extra_keys.size() > 0)
kw = kw.addExtraKeys(extra_keys.iterator());
return kw;
diff --git a/srcs/juloo.keyboard2/KeyboardData.java b/srcs/juloo.keyboard2/KeyboardData.java
index 5130284..078e849 100644
--- a/srcs/juloo.keyboard2/KeyboardData.java
+++ b/srcs/juloo.keyboard2/KeyboardData.java
@@ -72,6 +72,12 @@ class KeyboardData
return new KeyboardData(extendedRows, compute_max_width(extendedRows));
}
+ public KeyboardData addNumberRow()
+ {
+ rows.add(0, number_row.updateWidth(keysWidth));
+ return this;
+ }
+
public Key findKeyWithValue(KeyValue kv)
{
for (Row r : rows)
@@ -104,6 +110,7 @@ class KeyboardData
}
public static Row bottom_row;
+ public static Row number_row;
public static KeyboardData num_pad;
public static KeyboardData pin_entry;
private static Map<Integer, KeyboardData> _layoutCache = new HashMap<Integer, KeyboardData>();
@@ -112,7 +119,8 @@ class KeyboardData
{
try
{
- bottom_row = parse_bottom_row(res.getXml(R.xml.bottom_row));
+ bottom_row = parse_row(res.getXml(R.xml.bottom_row));
+ number_row = parse_row(res.getXml(R.xml.number_row));
num_pad = parse_keyboard(res.getXml(R.xml.numpad));
}
catch (Exception e)
@@ -187,10 +195,10 @@ class KeyboardData
return w;
}
- private static Row parse_bottom_row(XmlPullParser parser) throws Exception
+ private static Row parse_row(XmlPullParser parser) throws Exception
{
if (!expect_tag(parser, "row"))
- throw new Exception("Failed to parse bottom row");
+ throw new Exception("Failed to parse row");
return Row.parse(parser);
}