Rename it to "Dimension units", and make it a radio submenu.
Migrate the previous metric_length setting to this new dimension_units
one.
Update optionsutil to follow it.
Don't mangle string input values when a unit was passed.
(i.e., keep displaying them as their actual string instead of as nil).
(e.g., when current is set to a number, but default is still unset,
which translates to "not set" in showValues).
Attempting to align the numbers on the same column was a fool's errand.
Our default UI font is not monospaced, to begin with,
and to do it right, we'd need to align the rightmost number, not the
leftmost ;).
i.e., T() would need to have much fancier justification capabilities ;).
Or, err, *any* text justification features, really ^^.
We want to be able to set a custom value (i.e., more_options),
because on high-dpi devices, the scaling can lead to pretty large
differences; but more_options on a toggle is ugly and clunky.
So, switch to something more suited to what this actually sets,
which is ultimately an absolute pixel value, like margins.
Add a few more steps on the low end to fill out the bar (and because
that's where I found them most useful on high-dpi devices).
configdialog doesn't actually pass a unit argument to
name_text_hold_callback, so pull it instead from a new name_text_unit
field.
Expand said helper to support a "px" unit, which simply converts from
our arbitrary pixels to actual on-device pixels (e.g., a plain
scaleBySize).
Enable real_size_string usage when name_text_true_values is set
(it's a NOP in terms of the generated string if no unit is specified).
Using `require` didn't make much sense since most of them are only used in a single place anyway, and it takes care of a few weird interactions in the process (besides not polluting `package.loaded` with useless crap ;)).
This will make the stroke-based Chinese character keyboard compatible with Japanese kanji stroke order, with an increase of the data file by about 80kb.
This could be a temporary solution for Japanese users to type kanji before better methods are implemented.
The stroke order data are extracted from this repo: https://github.com/KanjiVG/kanjivg.
And add an OTM block to do a cleanup pass on existing DBs (which might take a while if you're severely affected, because we've seen reports of DBs north of 2GB).
* Notification: Drop the fencing from #10083; it never actually helped, and had subtle side-effects we could do without.
* VirtualKeyBoard: Flash on close, otherwise, some of the fast refresh glitches may be burned into the working buffer until a flash. Making sure we flash ourselves prevent it from sticking around on the page ;).
* util: Move `writeToSysfs` to base (i.e., `ffi/util`), as we need it there (and it actually makes more sense there anyway ;p).
* Bump base for https://github.com/koreader/koreader-base/pull/1645, which is where the actual workaround (hopefully) lives.
Re #8414, #9806, #10558
* Enable before_wifi_action & after_wifi_action on hasWifiToggle platforms (which is basically all of 'em except naked SDL).
* Decouple restoreWifiAsync from hasWifiManger, because we can do that on other platforms (namely, Kindle. Probably PB, too, but WiFi is already a mess there, and I can't test it).
* Implement restoreWifiAsync on Kindle.
* Properly flag rM as hasWifiManager & hasFastWifiStatusQuery, because it is actually both of those (it uses our wpa_supplicant backend).
* Update the KOSync checks to take these changes into account, to properly disable auto_sync if necessary.
* Really made the Network* event signaling consistent. For realz this time.
* In an effort to make the whole beforeWifiAction framework somewhat usable there, we now assume connectivity is always available on !hasWifiToggle platforms...
Fix: #10539, and for context #6489, #6733, #6534
Reorganize and reword most of the settings to make it clear what actually ties into auto sync, and what doesn't. (Specifically, what happens when a pull attempts to sync forward or backward has nothing to do with auto sync, it applies in all cases; while the periodic sync *does* require auto sync).
The main point of contention, though, is that auto sync will now *always* attempt to setup network connectivity (i.e., on resume/suspend/close). Periodic sync will *not* though (the intent being that, if you use periodic sync, you're relying on the activity check to actually keep wifi on at all times)).
Since this may lead to a large amount of nagging about wifi toggles on devices w/ NetworkManager support, it is now *disabled* by default on those devices. (And given that it wouldn't have worked because of the lack of connectivity, that doesn't really make any practical difference ;p).
Additionally, given the fact that there's no way to make this behavior viable if the "before wifi" action is left at its default of "prompt", this feature now *requires* that to be set to "turn_on" (on devices where it can, of course); attempting to toggle it on will warn about that if necessary.
This change is retroactive (OTM).
Includes an assortment of fixes and cleanups, including migrating to the new LuaSettings API, which is why there's no longer a smattering of superfluous flushes.