diff options
Diffstat (limited to 'ext/bg')
| -rw-r--r-- | ext/bg/data/options-schema.json | 7 | ||||
| -rw-r--r-- | ext/bg/js/options.js | 3 | ||||
| -rw-r--r-- | ext/bg/js/search-query-parser.js | 8 | ||||
| -rw-r--r-- | ext/bg/search.html | 1 | ||||
| -rw-r--r-- | ext/bg/settings-popup-preview.html | 1 | ||||
| -rw-r--r-- | ext/bg/settings.html | 4 | 
6 files changed, 19 insertions, 5 deletions
| diff --git a/ext/bg/data/options-schema.json b/ext/bg/data/options-schema.json index 0379fa75..5885e036 100644 --- a/ext/bg/data/options-schema.json +++ b/ext/bg/data/options-schema.json @@ -321,7 +321,8 @@                                      "enablePopupSearch",                                      "enableOnPopupExpressions",                                      "enableOnSearchPage", -                                    "enableSearchTags" +                                    "enableSearchTags", +                                    "layoutAwareScan"                                  ],                                  "properties": {                                      "middleMouse": { @@ -383,6 +384,10 @@                                      "enableSearchTags": {                                          "type": "boolean",                                          "default": false +                                    }, +                                    "layoutAwareScan": { +                                        "type": "boolean", +                                        "default": false                                      }                                  }                              }, diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index 97368a0b..170e4799 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -203,7 +203,8 @@ function profileOptionsCreateDefaults() {              enablePopupSearch: false,              enableOnPopupExpressions: false,              enableOnSearchPage: true, -            enableSearchTags: false +            enableSearchTags: false, +            layoutAwareScan: false          },          translation: { diff --git a/ext/bg/js/search-query-parser.js b/ext/bg/js/search-query-parser.js index addfc686..97e98b40 100644 --- a/ext/bg/js/search-query-parser.js +++ b/ext/bg/js/search-query-parser.js @@ -75,15 +75,17 @@ class QueryParser {      async _search(textSource, cause) {          if (textSource === null) { return null; } -        const searchText = this._textScanner.getTextSourceContent(textSource, this._options.scanning.length); +        const {length: scanLength, layoutAwareScan} = this._options.scanning; +        const searchText = this._textScanner.getTextSourceContent(textSource, scanLength, layoutAwareScan);          if (searchText.length === 0) { return null; }          const {definitions, length} = await api.termsFind(searchText, {}, this._getOptionsContext());          if (definitions.length === 0) { return null; } -        const sentence = docSentenceExtract(textSource, this._options.anki.sentenceExt); +        const sentenceExtent = this._options.anki.sentenceExt; +        const sentence = docSentenceExtract(textSource, sentenceExtent, layoutAwareScan); -        textSource.setEndOffset(length); +        textSource.setEndOffset(length, layoutAwareScan);          this._setContent('terms', {definitions, context: {              focus: false, diff --git a/ext/bg/search.html b/ext/bg/search.html index de08cdae..4a28dd88 100644 --- a/ext/bg/search.html +++ b/ext/bg/search.html @@ -79,6 +79,7 @@          <script src="/bg/js/dictionary.js"></script>          <script src="/bg/js/handlebars.js"></script>          <script src="/fg/js/document.js"></script> +        <script src="/fg/js/dom-text-scanner.js"></script>          <script src="/fg/js/source.js"></script>          <script src="/mixed/js/audio-system.js"></script>          <script src="/mixed/js/display-context.js"></script> diff --git a/ext/bg/settings-popup-preview.html b/ext/bg/settings-popup-preview.html index fe92f24f..5eecd005 100644 --- a/ext/bg/settings-popup-preview.html +++ b/ext/bg/settings-popup-preview.html @@ -126,6 +126,7 @@          <script src="/mixed/js/text-scanner.js"></script>          <script src="/fg/js/document.js"></script> +        <script src="/fg/js/dom-text-scanner.js"></script>          <script src="/fg/js/popup.js"></script>          <script src="/fg/js/source.js"></script>          <script src="/fg/js/popup-factory.js"></script> diff --git a/ext/bg/settings.html b/ext/bg/settings.html index 118a13b9..77b61aef 100644 --- a/ext/bg/settings.html +++ b/ext/bg/settings.html @@ -400,6 +400,10 @@                      <label><input type="checkbox" id="auto-hide-results" data-setting="scanning.autoHideResults"> Automatically hide results</label>                  </div> +                <div class="checkbox"> +                    <label><input type="checkbox" id="layout-aware-scan" data-setting="scanning.layoutAwareScan"> Layout-aware scan</label> +                </div> +                  <div class="checkbox options-advanced">                      <label><input type="checkbox" id="deep-dom-scan" data-setting="scanning.deepDomScan"> Deep DOM scan</label>                  </div> |