Commit Graph

885 Commits

Author SHA1 Message Date
siikamiika
70418202cf make search page checkbox options persist 2019-10-27 20:11:23 +02:00
siikamiika
48776145d6 add workaround to Chrome clipboard.readText
For some reason this doesn't work on Firefox, so keep using the new API
for Firefox
2019-10-27 15:46:27 +02:00
siikamiika
d3f51690f8 make clipboardRead an optional permission 2019-10-27 01:51:18 +03:00
siikamiika
7ee87265cd refactor and tune wanakana toggling 2019-10-27 01:26:17 +03:00
siikamiika
01ffb052e6 simplify search history state handling 2019-10-26 19:32:41 +03:00
siikamiika
bbbd23c842 add button to enable/disable wanakana IME 2019-10-26 19:12:13 +03:00
siikamiika
303205dc12 keep url query in history 2019-10-26 18:42:57 +03:00
siikamiika
704864b7b2 add clipboard monitor to search page
Related to issue #262 about APIs
2019-10-26 18:15:28 +03:00
siikamiika
bebd70b4e2 remember search history 2019-10-26 16:39:43 +03:00
siikamiika
50769feea7 ignore more keys on search page 2019-10-26 15:15:12 +03:00
siikamiika
9132814ccf focus and scroll to input only when it's needed 2019-10-26 14:30:36 +03:00
siikamiika
fe8eb76928 tweak ignored keys on search page 2019-10-26 03:39:08 +03:00
siikamiika
3a70346eb3 fix various unwanted focus issues on search page
Don't focus input if a modifier or specific keys are pressed
2019-10-26 03:26:24 +03:00
siikamiika
a716a52cab make non-hotkey keys focus input on search page
The issue was that scanning on search page introduced a way to lose
focus of the query input, and the new feature that the search page
hotkey focuses an existing search page instead of opening a new one made
it more obvious.

Now every key that isn't a hotkey focuses the query input, and typing
text into the box scrolls it into view in case it wasn't there when
searching.

There is an accessibility issue that this can cause, because now tab
also focuses the query input before it focuses the next element. I
didn't implement a workaround for that because it would have been more
complicated than this simple fix.

Fixes #263
2019-10-26 01:26:56 +03:00
Danny
aeac7bf2a8
Proper spacing for Anki in {furigana-plain}
This should fix #264 

Note it does not address broken segmentation, just representation
within Anki itself to work properly.
2019-10-23 07:46:43 -04:00
toasted-nutbread
7a3315d75d Use chrome.runtime.getURL instead of chrome.extension.getURL 2019-10-22 20:23:03 -04:00
Alex Yatskov
d8f9c2e1d4
Merge pull request #261 from toasted-nutbread/search-button-reuse-tab
Reuse open search tab when clicking search button
2019-10-20 11:06:23 -07:00
toasted-nutbread
362a1ed9e4 Catch exception thrown on Edge 2019-10-20 10:58:22 -04:00
toasted-nutbread
ce92591b63 Fix window focus not always working 2019-10-19 22:55:32 -04:00
toasted-nutbread
7abc7fd0e7 Use links instead of buttons on context page 2019-10-19 22:54:58 -04:00
toasted-nutbread
205498ef3b Validate chrome.windows exists before usage 2019-10-19 22:45:29 -04:00
toasted-nutbread
ffb6ff9325 Allow multiple options pages to be opened on middle click 2019-10-19 22:34:47 -04:00
toasted-nutbread
d9ae34821c Add support for middle clicks opening new tabs on the context buttons 2019-10-19 22:30:16 -04:00
toasted-nutbread
dbec4bffda Make the search button reuse an open search tab if it exists 2019-10-19 22:28:23 -04:00
toasted-nutbread
eea95eb130 Simplify score to term frequency conversion 2019-10-19 14:18:57 -04:00
toasted-nutbread
96e4bf1735 Use native IndexedDB APIs for findTagForTitle 2019-10-19 13:41:18 -04:00
toasted-nutbread
610c2b9cca Move tagCache out of Database and into Translator 2019-10-19 13:32:05 -04:00
toasted-nutbread
6f5fa6771b Remove unused database functions 2019-10-19 12:44:23 -04:00
toasted-nutbread
97de7883a3 Update getMergedSecondarySearchResults to use findTermsExactBulk 2019-10-19 12:42:26 -04:00
toasted-nutbread
4446cbeabb Create getMergedSecondarySearchResults 2019-10-19 12:28:33 -04:00
toasted-nutbread
96f37fd9dc Create function for body of findTermsMerged's sequencedDefinitions loop 2019-10-19 12:16:38 -04:00
toasted-nutbread
a08cbebeb3 Use findTermsBySequenceBulk instead of findTermsBySequence 2019-10-19 11:34:12 -04:00
toasted-nutbread
a25167df73 Use findKanjiBulk and findKanjiMetaBulk in Translator.findKanji 2019-10-19 10:39:08 -04:00
toasted-nutbread
d212d0aba1 Add additional database bulk methods 2019-10-19 10:19:12 -04:00
toasted-nutbread
9364a7cb4e Create function for creating kanji data and meta 2019-10-18 23:16:33 -04:00
toasted-nutbread
6743b785c9 Remove temp createResult 2019-10-18 23:09:00 -04:00
toasted-nutbread
31ae00d0d3 Add missing validate calls 2019-10-18 23:04:06 -04:00
toasted-nutbread
127a728675 Remove unused functions 2019-10-18 21:58:28 -04:00
toasted-nutbread
598cd32946 Update *show* APIs to unified showContent and setContent 2019-10-17 18:40:43 -04:00
toasted-nutbread
16521fec93 Assign first popup on the search page as a depth of 1 2019-10-15 20:23:25 -04:00
toasted-nutbread
099909287f Show warning messages if persistant storage fails
Only Firefox seems to support persistent storage properly.
2019-10-15 19:22:30 -04:00
toasted-nutbread
4443ad370e Catch error when trying to persist storage
This happens on Firefox Mobile
2019-10-13 18:41:16 -04:00
toasted-nutbread
d42a07dc0b Improve layout of context.html on Firefox Mobile 2019-10-13 18:23:59 -04:00
toasted-nutbread
17e2f825f4 Add warning message for Mac users about App Nap 2019-10-13 17:32:28 -04:00
toasted-nutbread
cb236a7430 Add apiGetEnvironmentInfo function 2019-10-13 17:20:55 -04:00
toasted-nutbread
4f8c84d524 Fix Japanese voice ordering on Firefox for Android 2019-10-13 16:30:31 -04:00
toasted-nutbread
f8e666b70c Fix backend handling errors incorrectly 2019-10-13 16:08:15 -04:00
siikamiika
f3ab7673f9 add css class for dictionary name
Can be used for dictionary specific styling
2019-10-13 21:50:29 +03:00
toasted-nutbread
7bae3824e7 Add support for text-to-speech playback 2019-10-13 12:21:19 -04:00
toasted-nutbread
69b28571bd audioBuildUrl => audioGetUrl and simplify 2019-10-13 12:20:56 -04:00
toasted-nutbread
54d4c65854 Rename audioGetFromSources's createAudioObject argument to download 2019-10-13 12:20:56 -04:00
toasted-nutbread
21a2730cde Add option for text-to-speech 2019-10-13 12:20:56 -04:00
toasted-nutbread
1b96e69ea2 Placeholder and improve consistency of stylesheet rule priorities 2019-10-13 12:12:52 -04:00
toasted-nutbread
42d67249c9 Update the popup preview to show live updates to outer CSS changes 2019-10-13 12:12:52 -04:00
toasted-nutbread
c9158a37b5 Allow outer popup stylesheets to be injected 2019-10-13 12:12:51 -04:00
toasted-nutbread
3272948284 Adds setting for controlling the outer style of the popup 2019-10-13 12:12:51 -04:00
toasted-nutbread
b086fca69f Add separate theme option for outer popup style 2019-10-12 19:00:24 -04:00
toasted-nutbread
1da60aae2d Update live preview custom CSS on input event 2019-10-12 19:00:24 -04:00
toasted-nutbread
883226b045 Update how custom CSS is applied 2019-10-12 19:00:24 -04:00
toasted-nutbread
696ea80e06 Add option for popup theme 2019-10-12 15:44:35 -04:00
toasted-nutbread
be7fa57d5c Add support for a popup preview 2019-10-12 15:44:32 -04:00
toasted-nutbread
537d2ef532 Remove Display.dependencies 2019-10-12 15:31:29 -04:00
toasted-nutbread
6da7683552 Don't pass options around for calls to termsShow, kanjiShow, etc. 2019-10-12 15:31:29 -04:00
toasted-nutbread
3e249e19ac Update Display initialization process 2019-10-12 15:31:29 -04:00
toasted-nutbread
cc72514ce6 Frontend updates 2019-10-11 23:24:51 -04:00
toasted-nutbread
a6903d68a4 Revert default audio source behaviour
This more closely matches the upgrade process
2019-10-11 23:24:51 -04:00
toasted-nutbread
70bceb5b56 Improve display of storage stats 2019-10-11 19:48:43 -04:00
toasted-nutbread
6014fe5344 Add support for persistent storage 2019-10-11 19:44:13 -04:00
toasted-nutbread
2bfc7e3972 Fix order of {screenshot} tag 2019-10-11 19:44:13 -04:00
toasted-nutbread
6208d6c93b Add UI for editing audio playback sources 2019-10-10 21:36:09 -04:00
toasted-nutbread
1dc8bf77ca Add input setting for custom audio source 2019-10-10 21:30:38 -04:00
toasted-nutbread
27c8430915 Implement custom audio source 2019-10-10 21:30:38 -04:00
toasted-nutbread
1d516b3b24 Implement audio fallbacks 2019-10-10 21:30:38 -04:00
toasted-nutbread
8ae1da4277 Update audio options format 2019-10-10 21:30:35 -04:00
toasted-nutbread
22b218d172 Pass optionsContext to audioBuildUrl handlers 2019-10-09 22:03:56 -04:00
toasted-nutbread
60a80418d7 Update how audio URLs are constructed 2019-10-09 21:54:58 -04:00
toasted-nutbread
7ce54864f3 Show the viewer button for anki notes which already exist 2019-10-09 20:31:09 -04:00
toasted-nutbread
97f5b7139f Add findNoteIds to AnkiConnect 2019-10-09 20:27:05 -04:00
toasted-nutbread
c5d6b9452d Create utility function for logging errors 2019-10-08 22:38:05 -04:00
toasted-nutbread
6a6e200ef9 Update rejections to use Error 2019-10-08 21:44:25 -04:00
toasted-nutbread
88de427184 Throw Error instead of string 2019-10-08 21:32:08 -04:00
toasted-nutbread
bf5d301685 Only use foreground api.js/util.js 2019-10-08 20:01:03 -04:00
toasted-nutbread
1074c33f20 Add support for query parameter in URL on search page 2019-10-08 20:01:03 -04:00
toasted-nutbread
176f6a248b Fix findTermMetaBulk trying to use undefined row.id 2019-10-07 22:34:40 -04:00
toasted-nutbread
7c826fdd0b Switch from using PNGs to SVGs 2019-10-06 21:28:43 -04:00
toasted-nutbread
50a47348a7 Optimize internal data structure used by the Deinflector class 2019-10-05 18:28:30 -04:00
Alex Yatskov
46ab36180f
Merge pull request #233 from toasted-nutbread/static-handlers
Static handlers
2019-10-05 09:20:45 -07:00
Alex Yatskov
a369f8d0a4
Merge pull request #229 from toasted-nutbread/database-optimizations
Database optimizations
2019-10-05 09:18:09 -07:00
toasted-nutbread
0d6177398d Use static object for api command handlers 2019-10-02 21:12:24 -04:00
toasted-nutbread
10458c63e7 Use static object for backend message handlers 2019-10-02 21:12:23 -04:00
Alex Yatskov
3c3a2c9474
Merge pull request #230 from toasted-nutbread/edge-fixes
Use toIterable for cross-window origin objects
2019-09-30 19:54:27 -07:00
toasted-nutbread
44119eea2c Fix deinflections not being handled correctly 2019-09-30 22:09:16 -04:00
toasted-nutbread
8b7558a757 Use toIterable for cross-window origin objects 2019-09-29 15:26:57 -04:00
toasted-nutbread
e18b8438ae Updated button styles 2019-09-29 12:33:16 -04:00
toasted-nutbread
1286b5115f Use bulk database searches 2019-09-28 22:05:10 -04:00
toasted-nutbread
664a318d7f Use non-async function for cache lookups 2019-09-28 21:54:18 -04:00
toasted-nutbread
a4f8a459de Create common function for creating term object 2019-09-28 21:49:08 -04:00
toasted-nutbread
1a8cb78391 Add version information 2019-09-28 16:04:22 -04:00
toasted-nutbread
95a7fd81f5 Use raw element references for container and spinner 2019-09-27 21:41:00 -04:00
toasted-nutbread
b61fc81012 Remove jQuery usage from search.js 2019-09-27 21:16:10 -04:00
toasted-nutbread
9a243630a5 Improve slide up animation 2019-09-27 21:16:10 -04:00
odehjoseph
62b95a656f Add option to enable Alt+B lookup 2019-09-26 21:33:33 -07:00
toasted-nutbread
352d214203 Isolate objects to background window 2019-09-18 19:14:04 -04:00
toasted-nutbread
dcfe722ba6 Add support for using optionsContext to select which profile to use 2019-09-18 19:14:04 -04:00
toasted-nutbread
8c4fb28a30 Add support creating profile usage conditions 2019-09-18 19:14:01 -04:00
toasted-nutbread
9fb89d8f7d Isolate to background window 2019-09-15 16:04:26 -04:00
toasted-nutbread
8b7e293eae Remove profile without popup when shift key is pressed
Also removes duplicate click listener.
2019-09-15 15:58:19 -04:00
toasted-nutbread
34ddbf25fe Implement profile order changing 2019-09-15 15:58:19 -04:00
toasted-nutbread
1f77506f43 Implement profile copy 2019-09-15 15:58:19 -04:00
toasted-nutbread
c002e1bbd2 Update dictionaries for all profile options 2019-09-15 15:58:19 -04:00
toasted-nutbread
6c571bf828 Add UI for profiles 2019-09-15 15:56:53 -04:00
toasted-nutbread
c8171f5ec7 Add preliminary support for profiles 2019-09-15 15:56:53 -04:00
toasted-nutbread
6358b655ae Isolate options objects created via settings.js
Prevents dead objects created by different windows.
2019-09-14 16:21:41 -04:00
Alex Yatskov
60b32a4a1a
Merge pull request #206 from toasted-nutbread/fix-incorrect-function-name
Replace profileCreateDefaultFieldTemplates with optionsFieldTemplates
2019-09-12 19:47:52 -07:00
toasted-nutbread
c38c7fbda1 Replace profileCreateDefaultFieldTemplates with optionsFieldTemplates 2019-09-11 19:56:13 -04:00
toasted-nutbread
84bd9ff93b Update settings if a different source triggers optionsUpdate 2019-09-10 21:58:53 -04:00
toasted-nutbread
71b700cd22 Add checkbox for options.general.enable 2019-09-10 21:45:43 -04:00
toasted-nutbread
87e513dd77 Fix options reference being changed 2019-09-10 21:44:32 -04:00
toasted-nutbread
1f8c7358cb Create function for setting up form event listeners 2019-09-10 21:43:52 -04:00
toasted-nutbread
36b39e2f65 Create formWrite function 2019-09-10 21:43:51 -04:00
toasted-nutbread
c4e6d7e3d1 Add utility method for checking if a value is a standard object 2019-09-10 20:09:33 -04:00
toasted-nutbread
05ce350792 Use apiOptionsSave instead of optionsSave 2019-09-10 20:09:33 -04:00
toasted-nutbread
4686a31a0a Use apiOptionsGet instead of optionsLoad 2019-09-10 20:09:33 -04:00
toasted-nutbread
99cec1d23f Change how formRead works
The function now modifies values in-place.
2019-09-10 20:09:33 -04:00
toasted-nutbread
8175f80183 Remove calls to apiOptionsGetSync
Use apiOptionsGet everywhere to ensure options is initialized.
2019-09-10 20:09:33 -04:00
toasted-nutbread
1b2a1e50eb Add getOptions function to backend 2019-09-10 20:09:33 -04:00
toasted-nutbread
bc8793eb56 Add a context object for all calls to fetch options 2019-09-10 20:09:33 -04:00
toasted-nutbread
aae971a09e Pass options directly to translator.findTerms* 2019-09-10 20:09:33 -04:00
toasted-nutbread
91bc31d758 Change how options updates are handled on the frontend
Only an 'optionsUpdate' signal is now sent to the frontend with empty data. The frontend then responds by performing apiOptionsGet to update the options. This makes it so that there is only a single function which is responsible for requesting options from the backend.
2019-09-10 20:09:33 -04:00
Alex Yatskov
cc53510883
Merge pull request #204 from toasted-nutbread/settings-improvements
Settings improvements
2019-09-08 19:34:39 -07:00
toasted-nutbread
eb98dfb1a8 Simplify logic for how option updates are propagated 2019-09-06 21:23:35 -04:00
toasted-nutbread
7db2c66105 Use consistent structure for params 2019-09-06 21:23:35 -04:00
toasted-nutbread
13b184707b Remove unnecessary functions
apiOptionsSet not required in bg/js/api.js after optionsSave; optionsSave already invokes apiOptionsSet.
apiOptionsSet not required in fg/js/api.js since it's never invoked by the foreground.
optionsSet handler not required in bg/js/backend.js since the message is never sent by the foreground.
2019-09-06 21:23:35 -04:00
toasted-nutbread
35ca0f35dd Create common function for utilBackend().options 2019-09-06 21:23:35 -04:00
toasted-nutbread
a74cdbff1d Change update process 2019-09-06 19:55:58 -04:00
Alex Yatskov
6dc44e3f33
Merge pull request #202 from toasted-nutbread/temporary-object-optimization
Temporary object optimization
2019-09-05 19:46:14 -07:00
toasted-nutbread
5ddbb0373f Add function to create default options 2019-09-05 20:57:52 -04:00
toasted-nutbread
ec110fa1b7 Add some validation to options loading 2019-09-05 20:57:52 -04:00
toasted-nutbread
1c767711bb Prevent infinite loops for corrupt options 2019-09-05 20:57:52 -04:00
toasted-nutbread
b90dea0e6d Use string.substr instead of string.split 2019-09-02 20:25:30 -04:00
toasted-nutbread
fc4a961412 Replace some instances of Array.concat
.push or .unshift can accomplish the same operation without constructing new arrays.
2019-09-02 20:25:30 -04:00
toasted-nutbread
71471d08e5 Add option to enable/disable scanning of source expressions in popups 2019-09-02 19:33:52 -04:00
toasted-nutbread
53aad0bef6 Fix messaging issues when iframes are present in the document 2019-09-02 19:33:28 -04:00
toasted-nutbread
42ec3e2a43 Add support for popup on the search page 2019-09-02 19:33:28 -04:00
toasted-nutbread
1a9348ec27 Add option for maximum nested popup depth 2019-09-02 19:32:08 -04:00
toasted-nutbread
5c4614f585 Add support for showing recursive popups 2019-09-02 19:31:42 -04:00
toasted-nutbread
171e3f1097 Add option for enabling deep scanning 2019-09-02 11:43:48 -04:00
toasted-nutbread
85472d9407 Add option for position of popup for horizontal text 2019-08-31 11:57:09 -04:00
toasted-nutbread
68af0d86c3 Improve popup position for vertical text 2019-08-31 11:57:07 -04:00
toasted-nutbread
7ba71de5e7 Replace double quotes with single quotes 2019-08-29 20:45:07 -04:00