mirror of
https://github.com/Julow/Unexpected-Keyboard.git
synced 2025-06-27 05:02:00 +02:00
Implement the option
This commit is contained in:
parent
459a8eab7d
commit
8018bae620
@ -30,6 +30,7 @@ public final class Config
|
||||
// From the 'numpad_layout' option, also apply to the numeric pane.
|
||||
public boolean inverse_numpad = false;
|
||||
public boolean add_number_row;
|
||||
public boolean number_row_symbols;
|
||||
public float swipe_dist_px;
|
||||
public float slide_step_px;
|
||||
// Let the system handle vibration when false.
|
||||
@ -122,7 +123,9 @@ public final class Config
|
||||
}
|
||||
layouts = LayoutsPreference.load_from_preferences(res, _prefs);
|
||||
inverse_numpad = _prefs.getString("numpad_layout", "default").equals("low_first");
|
||||
add_number_row = _prefs.getString("number_row", "default").equals("no_number_row");
|
||||
String number_row = _prefs.getString("number_row", "no_number_row");
|
||||
add_number_row = !number_row.equals("no_number_row");
|
||||
number_row_symbols = number_row.equals("symbols");
|
||||
// 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.
|
||||
@ -284,7 +287,7 @@ public final class Config
|
||||
e.putInt("version", CONFIG_VERSION);
|
||||
// Migrations might run on an empty [prefs] for new installs, in this case
|
||||
// they set the default values of complex options.
|
||||
switch (saved_version) // Fallback switch
|
||||
switch (saved_version)
|
||||
{
|
||||
case 0:
|
||||
// Primary, secondary and custom layout options are merged into the new
|
||||
@ -298,7 +301,12 @@ public final class Config
|
||||
if (custom_layout != null && !custom_layout.equals(""))
|
||||
l.add(LayoutsPreference.CustomLayout.parse(custom_layout));
|
||||
LayoutsPreference.save_to_preferences(e, l);
|
||||
// Fallthrough
|
||||
case 1:
|
||||
boolean add_number_row = prefs.getBoolean("number_row", false);
|
||||
e.putString("number_row", add_number_row ? "no_symbols" : "no_number_row");
|
||||
// Fallthrough
|
||||
case 2:
|
||||
default: break;
|
||||
}
|
||||
e.apply();
|
||||
|
@ -177,14 +177,9 @@ public final class KeyboardData
|
||||
|
||||
private static Map<Integer, KeyboardData> _layoutCache = new HashMap<Integer, KeyboardData>();
|
||||
|
||||
public static Row load_bottom_row(Resources res) throws Exception
|
||||
public static Row load_row(Resources res, int res_id) throws Exception
|
||||
{
|
||||
return parse_row(res.getXml(R.xml.bottom_row));
|
||||
}
|
||||
|
||||
public static Row load_number_row(Resources res) throws Exception
|
||||
{
|
||||
return parse_row(res.getXml(R.xml.number_row));
|
||||
return parse_row(res.getXml(res_id));
|
||||
}
|
||||
|
||||
public static KeyboardData load_num_pad(Resources res) throws Exception
|
||||
|
@ -11,7 +11,8 @@ public final class LayoutModifier
|
||||
{
|
||||
static Config globalConfig;
|
||||
static KeyboardData.Row bottom_row;
|
||||
static KeyboardData.Row number_row;
|
||||
static KeyboardData.Row number_row_no_symbols;
|
||||
static KeyboardData.Row number_row_symbols;
|
||||
static KeyboardData num_pad;
|
||||
|
||||
/** Update the layout according to the configuration.
|
||||
@ -44,7 +45,7 @@ public final class LayoutModifier
|
||||
}
|
||||
else if (globalConfig.add_number_row && !kw.embedded_number_row) // The numpad removes the number row
|
||||
{
|
||||
added_number_row = modify_number_row(number_row, kw);
|
||||
added_number_row = modify_number_row(globalConfig.number_row_symbols ? number_row_symbols : number_row_no_symbols, kw);
|
||||
remove_keys.addAll(added_number_row.getKeys(0).keySet());
|
||||
}
|
||||
// Add the bottom row before computing the extra keys
|
||||
@ -204,8 +205,9 @@ public final class LayoutModifier
|
||||
globalConfig = globalConfig_;
|
||||
try
|
||||
{
|
||||
number_row = KeyboardData.load_number_row(res);
|
||||
bottom_row = KeyboardData.load_bottom_row(res);
|
||||
number_row_no_symbols = KeyboardData.load_row(res, R.xml.number_row_no_symbols);
|
||||
number_row_symbols = KeyboardData.load_row(res, R.xml.number_row);
|
||||
bottom_row = KeyboardData.load_row(res, R.xml.bottom_row);
|
||||
num_pad = KeyboardData.load_num_pad(res);
|
||||
}
|
||||
catch (Exception e)
|
||||
|
Loading…
x
Reference in New Issue
Block a user