Button and image scanning (#705)

* Update TextSourceElement.equals check to match TextSourceRange.equals

* Force full query to be visible when scanning buttons or images with more text

* Update style of query parser
This commit is contained in:
toasted-nutbread 2020-08-02 18:59:35 -04:00 committed by GitHub
parent bdcdf9b1f5
commit 1184320e3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 22 deletions

View File

@ -20,6 +20,7 @@
* FrameOffsetForwarder
* PopupProxy
* TextScanner
* TextSourceElement
* api
* docSentenceExtract
*/
@ -423,27 +424,29 @@ class Frontend {
const sentenceExtent = this._options.anki.sentenceExt;
const layoutAwareScan = this._options.scanning.layoutAwareScan;
const sentence = docSentenceExtract(textSource, sentenceExtent, layoutAwareScan);
this._showPopupContent(
textSource,
optionsContext,
{
focus,
history: false,
params: {
type,
query: textSource.text(),
wildcards: 'off'
},
state: {
focusEntry: 0,
sentence,
url
},
content: {
definitions
}
const query = textSource.text();
const details = {
focus,
history: false,
params: {
type,
query,
wildcards: 'off'
},
state: {
focusEntry: 0,
sentence,
url
},
content: {
definitions
}
);
};
if (textSource instanceof TextSourceElement && textSource.fullContent !== query) {
details.params.full = textSource.fullContent;
details.params['full-visible'] = 'true';
}
this._showPopupContent(textSource, optionsContext, details);
}
_showPopupContent(textSource, optionsContext, details=null) {

View File

@ -32,6 +32,14 @@ class TextSourceRange {
this.imposterSourceElement = imposterSourceElement;
}
get startOffset() {
return this.range.startOffset;
}
get endOffset() {
return this.range.endOffset;
}
clone() {
return new TextSourceRange(this.range.cloneRange(), this.content, this.imposterContainer, this.imposterSourceElement);
}
@ -230,8 +238,7 @@ class TextSourceElement {
other instanceof TextSourceElement &&
this._element === other.element &&
this._fullContent === other.fullContent &&
this._startOffset === other.startOffset &&
this._endOffset === other.endOffset
this._startOffset === other.startOffset
);
}

View File

@ -217,6 +217,12 @@ h2 {
display: none;
}
:root[data-yomichan-page=float] #query-parser-container {
padding-left: 0.72em;
padding-right: 0.72em;
border-bottom: 0.07142857142857142em solid var(--light-border-color); /* 14px => 1px */
}
/*
* Entries