Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,71 @@
'use strict';
/* jshint node: true */
var utils = require('utils');
// All layouts for handwriting should be contained.
// When adding a new handwriting IME, add its layout here.
const allHandwritingLayouts = ['zh-Hans-Handwriting'];
// Check whether pre-installed layouts contain layout for handwriting.
function checkHandwriting(allLayouts) {
for (var i = 0; i < allHandwritingLayouts.length; i++) {
for (var j = 0; j < allLayouts.length; j++) {
if (allHandwritingLayouts[i] == allLayouts[j]) {
return true;
}
}
}
return false;
}
function addSettings(appDirPath, distDirPath, enabledFeatures) {
var settings = utils.getFile(appDirPath, 'settings.html');
var content = utils.getFileContent(settings);
var domDoc = utils.getDocument(content);
// Add scripts and modify html for handwriting and user dictionary settings.
// If parse handwriting-settings.html to dom element, and
// add it to container with container.appendChild(), we met
// an error:
// "Exception: HierarchyRequestError: Node cannot be inserted at
// the specified point in the hierarchy"
// Is it a bug?
var baseViewScriptElemInHead =
domDoc.head.querySelector('script[src="js/settings/base_view.js"]');
var insertScript = function (src) {
var script = domDoc.createElement('script');
script.defer = 'defer';
script.src = src;
domDoc.head.insertBefore(script, baseViewScriptElemInHead.nextSibling);
};
if (enabledFeatures.handwriting) {
insertScript('js/settings/handwriting_settings_view.js');
var hwSettings = utils.getFile(appDirPath, 'handwriting-settings.html');
var hwContent = utils.getFileContent(hwSettings);
domDoc.getElementById('general-container').innerHTML += hwContent;
}
if (enabledFeatures.userDict) {
insertScript('js/settings/user_dictionary_edit_dialog.js');
insertScript('js/settings/user_dictionary_list_panel.js');
insertScript('js/settings/word_list_converter.js');
insertScript('js/settings/user_dictionary.js');
var udSettings = utils.getFile(appDirPath, 'user-dictionary-settings.html');
var udContent = utils.getFileContent(udSettings);
domDoc.querySelector('#general-container #general-settings ul').innerHTML +=
udContent;
}
var sDoc = utils.serializeDocument(domDoc);
utils.writeContent(utils.getFile(distDirPath, 'settings.html'), sDoc);
}
exports.checkHandwriting = checkHandwriting;
exports.addSettings = addSettings;