From 9ac55fb5d11e5037e808939598591d55d1368b43 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sun, 2 Apr 2017 12:08:15 -0700 Subject: support for multiple audio sources, version bump --- ext/bg/js/util.js | 90 ++++++------------------------------------------------- 1 file changed, 9 insertions(+), 81 deletions(-) (limited to 'ext/bg/js/util.js') diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js index 78258c97..05c7ff27 100644 --- a/ext/bg/js/util.js +++ b/ext/bg/js/util.js @@ -25,9 +25,6 @@ function promiseCallback(promise, callback) { return promise.then(result => { callback({result}); }).catch(error => { - /* eslint-disable */ - console.log(error); - /* eslint-enable */ callback({error}); }); } @@ -84,7 +81,7 @@ function optionsSetDefaults(options) { const defaults = { general: { enable: true, - audioPlayback: true, + audioSource: 'jpod101', audioVolume: 100, groupResults: true, softKatakana: true, @@ -137,84 +134,15 @@ function optionsSetDefaults(options) { function optionsVersion(options) { const fixups = [ + () => { }, + () => { }, + () => { }, + () => { }, () => { - const copy = (targetDict, targetKey, sourceDict, sourceKey) => { - targetDict[targetKey] = sourceDict.hasOwnProperty(sourceKey) ? sourceDict[sourceKey] : targetDict[targetKey]; - }; - - copy(options.general, 'autoStart', options, 'activateOnStartup'); - copy(options.general, 'audioPlayback', options, 'enableAudioPlayback'); - copy(options.general, 'softKatakana', options, 'enableSoftKatakanaSearch'); - copy(options.general, 'groupResults', options, 'groupTermResults'); - copy(options.general, 'showAdvanced', options, 'showAdvancedOptions'); - - copy(options.scanning, 'requireShift', options, 'holdShiftToScan'); - copy(options.scanning, 'selectText', options, 'selectMatchedText'); - copy(options.scanning, 'delay', options, 'scanDelay'); - copy(options.scanning, 'length', options, 'scanLength'); - - options.anki.enable = options.ankiMethod === 'ankiconnect'; - - copy(options.anki, 'tags', options, 'ankiCardTags'); - copy(options.anki, 'sentenceExt', options, 'sentenceExtent'); - copy(options.anki.terms, 'deck', options, 'ankiTermDeck'); - copy(options.anki.terms, 'model', options, 'ankiTermModel'); - copy(options.anki.terms, 'fields', options, 'ankiTermFields'); - copy(options.anki.kanji, 'deck', options, 'ankiKanjiDeck'); - copy(options.anki.kanji, 'model', options, 'ankiKanjiModel'); - copy(options.anki.kanji, 'fields', options, 'ankiKanjiFields'); - - for (const title in options.dictionaries) { - const dictionary = options.dictionaries[title]; - dictionary.enabled = dictionary.enableTerms || dictionary.enableKanji; - dictionary.priority = 0; - } - }, - () => { - const fixupFields = fields => { - const fixups = { - '{expression-furigana}': '{furigana}', - '{glossary-list}': '{glossary}' - }; - - for (const name in fields) { - for (const fixup in fixups) { - fields[name] = fields[name].replace(fixup, fixups[fixup]); - } - } - }; - - fixupFields(options.anki.terms.fields); - fixupFields(options.anki.kanji.fields); - }, - () => { - let hasEnabledDict = false; - for (const title in options.dictionaries) { - if (options.dictionaries[title].enabled) { - hasEnabledDict = true; - break; - } - } - - if (!hasEnabledDict) { - for (const title in options.dictionaries) { - options.dictionaries[title].enabled = true; - } - } - }, - () => { - let hasEnabledDict = false; - for (const title in options.dictionaries) { - if (options.dictionaries[title].enabled) { - hasEnabledDict = true; - break; - } - } - - if (!hasEnabledDict) { - for (const title in options.dictionaries) { - options.dictionaries[title].enabled = true; - } + if (options.general.audioPlayback) { + options.general.audioSource = 'jpod101'; + } else { + options.general.audioSource = 'disabled'; } } ]; -- cgit v1.2.3