Commit Graph

639 Commits

Author SHA1 Message Date
toasted-nutbread
166451b8f7
Improve popup window ownership (#1364)
* Update frameInformationGet to also return the tab ID

* Add tabId to Frontend

* Pass tabId/frameId to Display

* Pass ownership information using setContent

* Remove ownerFrameId for Popup classes

* Use frameId instead of ownerFrameId for screenshotting

* Use contentOrigin instead of owner

* Update _invokeContentOrigin implementation
2021-02-09 22:56:04 -05:00
toasted-nutbread
0f5fb804d0
Mecab test (#1361)
* Update Mecab API

* Add testMecab API function

* Add a test button for the Mecab component
2021-02-08 19:40:49 -05:00
toasted-nutbread
bb8a521dff
Remove unused api functions (#1354)
* Remove screenshotGet

* Remove downloadDefinitionAudio

* Remove clipboardGetImage
2021-02-08 17:53:02 -05:00
toasted-nutbread
73e91b3b62
Refactor FrameOffsetForwarder (#1353)
* Add getChildFrameElement to FrameAncestryHandler

* Add isRootFrame

* Initialize _frameOffset to [0, 0]

* Update FrameOffsetForwarder implementation

* Update documentation
2021-02-08 17:52:56 -05:00
toasted-nutbread
008809e0e7
Enforce language (#1344)
* Assign text content and a language

* Remove _appendMultilineText

* Assign lang for createTextNode content

* Add language attributes to HTML pages
2021-02-08 17:52:35 -05:00
toasted-nutbread
9f5cbaac5a
Frame ancestry handler refactor (#1352)
* Validate source window before handling messages

* Add unregisterHandler to CrossFrameAPI

* Refactor the process FrameAncestryHandler uses to get ancestor frame IDs

* Store a mapping of child frame information

* Update getFrameAncestryInfo to only run once
2021-02-06 16:19:55 -05:00
toasted-nutbread
d0b8b605db
Add note errors (#1329)
* Update _addAnkiNote to track errors

* Change comparison

* Update anki note adding to show errors

* Fix template

* Show errors when Anki card creation behaves unexpectedly

* Update some errors related to anki media injection

* Update addAnkiNote error handling

* Improve Anki errors

* Simplify error messages related to template rendering
2021-01-30 12:33:29 -05:00
toasted-nutbread
a81787c55b
Remove the dictionary tag from the definitionTags (#1324)
* Remove dictionary tag from term definitionTags and kanji tags

* Update test data

* Update templates

* Update tests

* Update information
2021-01-28 21:33:30 -05:00
toasted-nutbread
34fed22ccb
Fix clipboard monitor not persisting (#1315)
* Add optionsUpdated event to Display

* Update this._clipboardMonitorEnabled

* Update settings to ensure no unexpected behaviour
2021-01-25 22:18:31 -05:00
toasted-nutbread
981f73b562
Clipboard lookup skip option (#1314)
* Add autoSearchClipboardContent option

* Hide header if there is any search text

* Add setting for autoSearchClipboardContent

* Add support for autoSearchClipboardContent
2021-01-25 22:05:06 -05:00
toasted-nutbread
5215c6b8b4
Update comm message errors to include what the action was (#1312) 2021-01-25 18:44:49 -05:00
toasted-nutbread
a0657e1bab
Various firefox fixes (#1306)
* Fix for chrome.commands not being present on Firefox's embedded float.html

* Fix _getSearchContext mishandling _optionsContextOverride
2021-01-24 14:20:17 -05:00
toasted-nutbread
ebfef0c748
Multiple custom audio sources (#1303)
* Fix label

* Fix icon size being flexible

* Add schema

* Add customSourceType option

* Update settings

* Pass customSourceType to the audio downloader

* Implement custom audio JSON mode
2021-01-23 22:46:00 -05:00
toasted-nutbread
ef577b8875
Audio button menu (#1302)
* Fix popup menus not stoping events

* Ensure non-stale use of buttons

* Enable popup menus on the popup/search pages

* Add audio menu
2021-01-23 21:13:01 -05:00
toasted-nutbread
9fbdb9757b
Update popup menu structure (#1301)
* Wrap menu items in popup-menu-body

* Use bodyNode instead of node

* Update selector

* Update _setPosition to not use items
2021-01-23 21:07:45 -05:00
toasted-nutbread
85c039850c
Audio play button status badge (#1300)
* Add plus-thick.svg

* Add success-color variable

* Fix icon display

* Add badge

* Add missing audioResolved

* Update audio badge

* Expose attribute
2021-01-23 20:24:52 -05:00
toasted-nutbread
323c2e8bf3
Add missing audio field (#1296) 2021-01-23 15:11:10 -05:00
toasted-nutbread
e999db0f10
More display audio refactoring (#1293)
* Add _getExpressionAndReading utility

* Add _getExpressionReadingKey utility

* Add _getAudioOptions

* Separate some logic into _createAudioFromInfoList

* Update cache data format so that it can be accessed synchronously

* Allow sources to be manually specified

* Add options to enable playback of a specific entry of a source
2021-01-23 11:18:45 -05:00
toasted-nutbread
349d9a3611
Update display audio cache (#1292)
* Use a standard map

* Wrap function

* Improve cache to support multiple different source arrays

For the same reading/expression

* Rename variable

* Use null instead of an error
2021-01-23 00:31:23 -05:00
toasted-nutbread
7fbfef513d
Display audio update (#1291)
* Move createExpressionAudio to DisplayAudio

* Move createAudioFromInfo to DisplayAudio

* Update TextToSpeechAudio
2021-01-22 22:10:27 -05:00
toasted-nutbread
a51a591c40
Update audio validity checks to be based on the source (#1290) 2021-01-22 21:09:43 -05:00
toasted-nutbread
cf57c4e38d
Simplify CacheMap (#1287)
* Simplify CacheMap, removing support for array path keys

* Update keys

* Update JsonSchemaValidator

* Update AudioSystem
2021-01-21 22:49:54 -05:00
toasted-nutbread
0bc5a4a971
Update data-menu-position to be space separated instead of comma separated (#1286) 2021-01-21 19:57:43 -05:00
toasted-nutbread
d668b653a6
Move popup-menu.js (#1280) 2021-01-20 20:15:41 -05:00
toasted-nutbread
3c51bf2a0b
Fix DisplayGenerator not working on pitch-accents-preview.html (#1276) 2021-01-19 20:48:10 -05:00
toasted-nutbread
21fce9f3d9
Audio system refactoring (#1275)
* Simplify details

* Simplify audio creation

* Return an array of sources instead of a single item

* Use sourceIndex instead of index

* Rename APIs

* Return more info about the source

* Return source instead of sourceIndex
2021-01-18 22:01:08 -05:00
toasted-nutbread
cbc5ab5696
Hotkey help controller (#1272)
* Create HotkeyHelpController

* Expose getAllTemplates

* Update hotkeys on the context page

* Update hotkeys on the display pages

* Fix display issue where a hotkey used to be defined but no longer is
2021-01-18 15:23:49 -05:00
toasted-nutbread
b0f0ecd7df
Hotkey util (#1270)
* Create HotkeyUtil

* Create tests

* Use HotkeyUtil

* Fix issues
2021-01-18 13:52:07 -05:00
toasted-nutbread
25568637fe
Display audio (#1269)
* Update display definition/definition node handling

* Separate display audio controls into a separate class
2021-01-18 00:16:40 -05:00
toasted-nutbread
887150e012
Audio system improvements (#1268)
* Simplify API

* Move fallback audio
2021-01-17 23:05:15 -05:00
toasted-nutbread
c875ca728f
Add support for frontend hotkeys; add scanSelectedText action (#1266)
* Add support for frontend hotkeys; add scanSelectedText action

* Remove unused global

* Remove duplicate hotkey handler script
2021-01-17 19:28:42 -05:00
toasted-nutbread
de5d3ec3ad
Remove _onMessage (#1265) 2021-01-17 18:43:16 -05:00
toasted-nutbread
04d53e5642
Optimize hotkey registration (#1264) 2021-01-17 17:05:06 -05:00
toasted-nutbread
14b4aee07d
Hotkey forwarding support (#1263)
* Add support for allowing HotkeyHandler to forward hotkeys

* Update hotkey registration

* Pass HotkeyHandler instance into Display* constructor

* Implement hotkey forwarding
2021-01-17 16:55:45 -05:00
toasted-nutbread
be590004fe
Text scanner improvements (#1261)
* Add support for allowing TextScanner.search to force focus

* Simplify query parser searched event forwarding

* Defer fallback creation

* Simplify event listeners

* Change type to pointerType

* Change cause to eventType

* Change empty to passive; make .search function passive

* Remove unused input index
2021-01-17 11:43:05 -05:00
toasted-nutbread
5d9d96996e
Optimize hotkey handler to not hook any events if cannot do anything (#1260) 2021-01-16 23:07:21 -05:00
toasted-nutbread
30ce81b36c
Update TextScanner.search to return the event details object (#1257) 2021-01-16 21:53:52 -05:00
toasted-nutbread
0cbbe48694
Add check to ignore hotkey registrations with null key (#1256) 2021-01-16 21:52:32 -05:00
toasted-nutbread
0ac3577119
Refactor hotkey handling (#1250)
* Create HotkeyHandler

* Update Display to use HotkeyHandler
2021-01-16 14:54:35 -05:00
toasted-nutbread
dc4d659184
Update hotkey issues (#1244)
* Scroll to the bottom when adding inputs

* Skip if empty action
2021-01-15 21:19:22 -05:00
toasted-nutbread
1c5e53a7ac
Add hotkeys to change dictionary (#1243)
* Add nextEntryDifferentDictionary and previousEntryDifferentDictionary hotkeys

* Update settings
2021-01-15 21:11:09 -05:00
toasted-nutbread
0a1664ba29
Separate close hotkey (#1242)
* Add focusSearchBox hotkey

* Update close hotkey action

* Update hotkeys
2021-01-15 20:19:56 -05:00
toasted-nutbread
1dcfbf6ba6
Support suspending new anki cards (#1240)
* Add new option: anki.suspendNewCards

* Update Anki APIs

* Suspend card based on options

* Add setting

* Disable wrap for toggle property
2021-01-14 22:42:11 -05:00
toasted-nutbread
84d3af0f8d
Hotkeys (#1236)
* Set up hotkey inputs

* Improve key display

* Add setInput

* Add KeyboardShortcutController

* Update how display handles hotkeys
2021-01-14 20:56:18 -05:00
toasted-nutbread
c1e4741f22
Use code instead of key (#1234)
* Update KeyboardMouseInputField to use .code instead of .key

* Update Display to use .code instead of .key

* Remove unused function
2021-01-14 19:08:05 -05:00
toasted-nutbread
5ae3acf6ff
Anki note data abstraction (#1228)
* Create AnkiNoteData

* Create AnkiNoteDataDefinitionProxyHandler

* Update media injection

* Create AnkiNoteDataDefinitionSecondaryProperties

* Update note context format

* Expose url and cloze on definition

* Simplify for understandability

* Remove unused _createNoteData

* Update public object

* Remove trims on sentence, since it should already be trimmed

* Fix unused global
2021-01-12 22:47:07 -05:00
toasted-nutbread
b7c9fa1057
Refactor note document title (#1227)
* Pass url into setContent

* Update where url is checked from

* Add documentTitle to state information

* Update how _getNoteContext gets the document title

* Update how url is fetched for options context

* Pass document title in to 'searched' event
2021-01-12 18:04:26 -05:00
toasted-nutbread
983e2c7936
Refactor text scanner options context generation (#1225)
* Refactor how options context is created and updated

* Udpate TextScanner/QueryParser to use getSearchContext instead of getOptionsContext
2021-01-11 23:13:35 -05:00
toasted-nutbread
5e87a490f7
Refactor display anki functions (#1224)
* Refactor note adding/viewing functions

* Move _addDefinition

* Update where anki field templates are assigned

* Update _createNote to not include options/templates arguments

* Simplify getAnkiNoteInfo to not require duplicateScope
2021-01-11 18:37:07 -05:00
toasted-nutbread
4ed9493645
Refactor anki note building (#1223)
* Move TemplateRendererProxy creation into AnkiNoteBuilder

* Simplify _stringReplaceAsync

* Organize note generation

* Rename API

* Make the template rendering function more generic
2021-01-10 19:28:50 -05:00