Ensure settings exist for all installed dictionaries (#922)
This commit is contained in:
parent
51904761ce
commit
e6a1bcc0f5
@ -196,6 +196,7 @@ class DictionaryController {
|
|||||||
}
|
}
|
||||||
this._dictionaryEntries = [];
|
this._dictionaryEntries = [];
|
||||||
|
|
||||||
|
await this._ensureDictionarySettings(dictionaries);
|
||||||
for (const dictionary of dictionaries) {
|
for (const dictionary of dictionaries) {
|
||||||
this._createDictionaryEntry(dictionary);
|
this._createDictionaryEntry(dictionary);
|
||||||
}
|
}
|
||||||
@ -393,4 +394,32 @@ class DictionaryController {
|
|||||||
}
|
}
|
||||||
await this._settingsController.modifyGlobalSettings(targets);
|
await this._settingsController.modifyGlobalSettings(targets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async _ensureDictionarySettings(dictionaries2) {
|
||||||
|
const optionsFull = await this._settingsController.getOptionsFull();
|
||||||
|
const {profiles} = optionsFull;
|
||||||
|
const targets = [];
|
||||||
|
for (const {title} of dictionaries2) {
|
||||||
|
for (let i = 0, ii = profiles.length; i < ii; ++i) {
|
||||||
|
const {options: {dictionaries: dictionaryOptions}} = profiles[i];
|
||||||
|
if (Object.prototype.hasOwnProperty.call(dictionaryOptions, title)) { continue; }
|
||||||
|
|
||||||
|
const path = ObjectPropertyAccessor.getPathString(['profiles', i, 'options', 'dictionaries', title]);
|
||||||
|
targets.push({
|
||||||
|
action: 'set',
|
||||||
|
path,
|
||||||
|
value: {
|
||||||
|
enabled: false,
|
||||||
|
allowSecondarySearches: false,
|
||||||
|
priority: 0
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targets.length > 0) {
|
||||||
|
const r = await this._settingsController.modifyGlobalSettings(targets);
|
||||||
|
console.log(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user