diff options
Diffstat (limited to 'ext/bg/js/settings/dictionary-controller.js')
| -rw-r--r-- | ext/bg/js/settings/dictionary-controller.js | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/ext/bg/js/settings/dictionary-controller.js b/ext/bg/js/settings/dictionary-controller.js index e5a07f9d..7a71a02a 100644 --- a/ext/bg/js/settings/dictionary-controller.js +++ b/ext/bg/js/settings/dictionary-controller.js @@ -351,6 +351,7 @@ class DictionaryController {              };              await this._deleteDictionaryInternal(dictionaryTitle, onProgress); +            await this._deleteDictionarySettings(dictionaryTitle);          } catch (e) {              yomichan.logError(e);          } finally { @@ -389,4 +390,18 @@ class DictionaryController {          await dictionaryDatabase.prepare();          return dictionaryDatabase;      } + +    async _deleteDictionarySettings(dictionaryTitle) { +        const optionsFull = await this._settingsController.getOptionsFull(); +        const {profiles} = optionsFull; +        const targets = []; +        for (let i = 0, ii = profiles.length; i < ii; ++i) { +            const {options: {dictionaries}} = profiles[i]; +            if (Object.prototype.hasOwnProperty.call(dictionaries, dictionaryTitle)) { +                const path = ObjectPropertyAccessor.getPathString(['profiles', i, 'options', 'dictionaries', dictionaryTitle]); +                targets.push({action: 'delete', path}); +            } +        } +        await this._settingsController.modifyGlobalSettings(targets); +    }  } |