Commit Graph

1724 Commits

Author SHA1 Message Date
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
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
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
55df9dc7cd
Fix numpad enter functioning differently than enter on the search page (#1289) 2021-01-22 20:46:48 -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
d668b653a6
Move popup-menu.js (#1280) 2021-01-20 20:15:41 -05:00
toasted-nutbread
ccf28ed055
Menu refactor (#1277)
* Rename menuOpened event to menuOpen

* Rename menuClosed event to menuClose

* Rename close event

* Assign _isClosed

* Reuse event detail

* Expose PopupMenu.openMenus

* Rename and expose properties

* Add cancelable argument to close

* Update menuOpen detail

* Update menuClose detail
2021-01-19 20:52:57 -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
85c723b85f
Backend options update (#1274)
* Update how _onCommandToggleTextScanning changes settings

* Make getFullOptions/getOptions private

* Remove unused isPrepared
2021-01-18 17:25:49 -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
0420a29d77
Command refactor (#1271)
* Change selectors

* Change openHelpPage to openInfoPage
2021-01-18 14:22:48 -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
887150e012
Audio system improvements (#1268)
* Simplify API

* Move fallback audio
2021-01-17 23:05:15 -05:00
toasted-nutbread
d21de9df00
Update copyHostSelection to be popup-only (#1267) 2021-01-17 19:35:01 -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
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
a39eede04b
If scopes are now empty but weren't previously, add all valid scopes (#1259) 2021-01-16 22:37:58 -05:00
toasted-nutbread
86e4e53372
Update keyboard shortcut controller (#1258)
* Change attribute

* Update hidden style

* Hide scope checkboxes when they are not supported for that action
2021-01-16 22:31:30 -05:00
toasted-nutbread
d89f23261c
Update default settings page (#1254)
* Update settings v2 to be the default for existing users

* Update information on the old settings page

* Update information on the new settings page

* Update tests
2021-01-16 16:55:40 -05:00
toasted-nutbread
b560019af4
Shorten options upgrade list (#1252) 2021-01-16 15:35:21 -05:00
toasted-nutbread
b234294540
Stroke count marker (#1251)
* Add stroke-count definition

* Update options

* Update documentation

* Add helper
2021-01-16 15:29:42 -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
f7c3b0010c
Update extension shortcuts (#1246)
* Update commands

* Add command to open the popup window
2021-01-16 11:33:34 -05:00
toasted-nutbread
8766744aa4
Popup window options (#1245)
* Add popupWindow options

* Add toBoolean converter

* Add settings

* Use new options

* Add test link

* Fix window state not working

* Make the window section advanced only
2021-01-16 10:22:24 -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
0a1664ba29
Separate close hotkey (#1242)
* Add focusSearchBox hotkey

* Update close hotkey action

* Update hotkeys
2021-01-15 20:19:56 -05:00
toasted-nutbread
9f202313c7
Fix note context on settings page (#1241) 2021-01-15 17:30:43 -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
d9f5d21d15
Fix profile conditions issues (#1239)
* Add an event for when the number of profile conditions changes

* Update count

* Fix stale data being used

* Add "Remove group" option
2021-01-14 22:01:01 -05:00
toasted-nutbread
29b6c98e9f
Clarify some settings descriptions (#1238)
* Clarify the meaning of the 'None' option; rename to 'No key'

* Clarify Auto-hide search popup

* Clarify Scan delay

* Move Support inputs for devices with touch screens; make advanced
2021-01-14 21:33:41 -05:00
toasted-nutbread
a97fbcde83
Add reset input to profile condition (#1237)
* Add _setType and _setOperator

* Add reset value menu option
2021-01-14 21:18:22 -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
39741bf1d2
Convert getDefaultOptions to a utility function (#1235) 2021-01-14 19:14:29 -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
33aeae4110
Search key handling refactor (#1233)
* Move super invocation

* Move active element check

* Simplify key handling

* Remove unused
2021-01-14 18:30:16 -05:00
toasted-nutbread
351d9b2e8e
Update KeyboardMouseInputField (#1232)
* Assign missing type

* Update KeyboardMouseInputField to use an array instead of a string

* Use "modifiers" instead of "value" or "inputs"

* Simplify

* Add support for using keys

* Use bool args instead of a string
2021-01-14 17:54:09 -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
toasted-nutbread
25080ac82e
Change popupActionBarLocation to top (#1222) 2021-01-10 16:49:40 -05:00
toasted-nutbread
f6a38f40dc
Customizable sentence parsing (#1217)
* Add new sentenceParsing options

* Update TextScanner.setOptions

* Assign terminator/quote maps

* Pass sentence parsing info to extractSentence

* Simplify setting

* Add setting for enableTerminationCharacters

* Create new settings for sentence termination characters
2021-01-10 14:43:06 -05:00
toasted-nutbread
da1e1e5c5b
Sentence parsing options (#1214)
* Rename options.anki.sentenceExt to options.sentenceParsing.scanExtent

* Create sentence parsing icon

* Create new sentence parsing section
2021-01-09 21:25:04 -05:00
toasted-nutbread
b20622b2c8
Core refactor (#1207)
* Copy set intersection functions

* Remove unused functions

* Simplify url check

* Remove parseUrl

* Simplify stringReverse

* Remove hasOwn due to infrequent use

* Rename errorToJson/jsonToError to de/serializeError

For clarity on intended use.

* Fix time argument on timeout

* Add missing return value

* Throw an error for unexpected argument values

* Add documentation comments
2021-01-07 21:36:20 -05:00
toasted-nutbread
3760b22a25
Fix AnkiCardController using stale data (#1204) 2021-01-06 18:16:51 -05:00
toasted-nutbread
8c92c1cbc2
Refactor anki note generation (#1202)
* Create _injectAnkiNoteMedia function

* Remove unused code path

* Simplify modeOptions
2021-01-03 19:40:12 -05:00
toasted-nutbread
8e304b83c6
Translator regex replacements (#1199)
* Add support for regex replacements during the translation process

* Allow assignment of textReplacements

* Rename

* Set up test data

* Write expected data

* Set up options

* Prevent infinite loop if regex matches empty string

* Implement setting controller

* Add support for testing pattern replacements
2021-01-03 12:12:55 -05:00