aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-03-25 18:18:31 -0700
committerAlex Yatskov <alex@foosoft.net>2017-03-25 18:18:31 -0700
commit063f3d4dbf8c896f4f7b022cfae6e2b907769251 (patch)
treec09403cc7a7985f64e5a2f0f7fd86c499833edc5
parent9d31801b73ad3f2a273f20aecda0e7157c481d46 (diff)
version bump, finishing up keyboard shortcuts1.1.8
-rw-r--r--ext/bg/js/templates.js4
-rw-r--r--ext/bg/popup.html6
-rw-r--r--ext/manifest.json2
-rw-r--r--ext/mixed/js/display.js62
-rw-r--r--tmpl/kanji.html2
-rw-r--r--tmpl/terms.html2
6 files changed, 56 insertions, 22 deletions
diff --git a/ext/bg/js/templates.js b/ext/bg/js/templates.js
index 1afe124f..0346e4c7 100644
--- a/ext/bg/js/templates.js
+++ b/ext/bg/js/templates.js
@@ -284,7 +284,7 @@ templates['fields.html'] = template({"1":function(container,depth0,helpers,parti
templates['kanji.html'] = template({"1":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : {};
- return "<div class=\"entry\" data-type=\"kanji\">\n <div class=\"actions\">\n <img src=\"/mixed/img/entry-current.png\" class=\"current\" title=\"Current entry (Up/Down/Home/End/PgUp/PgDn)\" alt>\n"
+ return "<div class=\"entry\" data-type=\"kanji\">\n <div class=\"actions\">\n <img src=\"/mixed/img/entry-current.png\" class=\"current\" title=\"Current entry (Alt + Up/Down/Home/End/PgUp/PgDn)\" alt>\n"
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.addable : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.source : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " </div>\n\n <div class=\"glyph\">"
@@ -442,7 +442,7 @@ templates['terms.html'] = template({"1":function(container,depth0,helpers,partia
},"12":function(container,depth0,helpers,partials,data) {
var stack1, alias1=depth0 != null ? depth0 : {};
- return "<div class=\"entry\" data-type=\"term\">\n <div class=\"actions\">\n <img src=\"/mixed/img/entry-current.png\" class=\"current\" title=\"Current entry (Up/Down/Home/End/PgUp/PgDn)\" alt>\n"
+ return "<div class=\"entry\" data-type=\"term\">\n <div class=\"actions\">\n <img src=\"/mixed/img/entry-current.png\" class=\"current\" title=\"Current entry (Alt + Up/Down/Home/End/PgUp/PgDn)\" alt>\n"
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.addable : depth0),{"name":"if","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.playback : depth0),{"name":"if","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " </div>\n\n"
diff --git a/ext/bg/popup.html b/ext/bg/popup.html
index 22fc0d40..e223e241 100644
--- a/ext/bg/popup.html
+++ b/ext/bg/popup.html
@@ -18,12 +18,12 @@
</head>
<body>
<p>
- <input type="checkbox" id="enable-search">
+ <input type="checkbox" id="enable-search" title="Toggle (Alt + Delete)">
</p>
<p>
<div class="btn-group" style="white-space: nowrap">
- <button type="button" id="open-search" title="Search" class="btn btn-default btn-xs glyphicon glyphicon-search"></button>
- <button type="button" id="open-options" title="Options" class="btn btn-default btn-xs glyphicon glyphicon-wrench"></button>
+ <button type="button" id="open-search" title="Search (Alt + Insert)" class="btn btn-default btn-xs glyphicon glyphicon-search"></button>
+ <button type="button" id="open-options" title="Options (Alt + End)" class="btn btn-default btn-xs glyphicon glyphicon-wrench"></button>
<button type="button" id="open-help" title="Help" class="btn btn-default btn-xs glyphicon glyphicon-question-sign"></button>
</div>
</p>
diff --git a/ext/manifest.json b/ext/manifest.json
index e759c4dc..ae7cf8e3 100644
--- a/ext/manifest.json
+++ b/ext/manifest.json
@@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "Yomichan",
- "version": "1.1.7",
+ "version": "1.1.8",
"description": "Japanese dictionary with Anki integration",
"icons": {"16": "mixed/img/icon16.png", "48": "mixed/img/icon48.png", "128": "mixed/img/icon128.png"},
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js
index 1b629dec..db14a43c 100644
--- a/ext/mixed/js/display.js
+++ b/ext/mixed/js/display.js
@@ -212,59 +212,93 @@ class Display {
const handlers = {
27: /* escape */ () => {
this.clearSearch();
+ return true;
},
33: /* page up */ () => {
- this.entryScroll(this.index - 3, true);
+ if (e.altKey) {
+ this.entryScroll(this.index - 3, true);
+ return true;
+ }
},
34: /* page down */ () => {
- this.entryScroll(this.index + 3, true);
+ if (e.altKey) {
+ this.entryScroll(this.index + 3, true);
+ return true;
+ }
},
35: /* end */ () => {
- this.entryScroll(this.definitions.length - 1, true);
+ if (e.altKey) {
+ this.entryScroll(this.definitions.length - 1, true);
+ return true;
+ }
},
36: /* home */ () => {
- this.entryScroll(0, true);
+ if (e.altKey) {
+ this.entryScroll(0, true);
+ return true;
+ }
},
38: /* up */ () => {
- this.entryScroll(this.index - 1, true);
+ if (e.altKey) {
+ this.entryScroll(this.index - 1, true);
+ return true;
+ }
},
40: /* down */ () => {
- this.entryScroll(this.index + 1, true);
+ if (e.altKey) {
+ this.entryScroll(this.index + 1, true);
+ return true;
+ }
},
66: /* b */ () => {
- this.sourceBack();
+ if (e.altKey) {
+ this.sourceBack();
+ return true;
+ }
},
69: /* e */ () => {
- noteTryAdd('term-kanji');
+ if (e.altKey) {
+ noteTryAdd('term-kanji');
+ return true;
+ }
},
75: /* k */ () => {
- noteTryAdd('kanji');
+ if (e.altKey) {
+ noteTryAdd('kanji');
+ return true;
+ }
},
82: /* r */ () => {
- noteTryAdd('term-kana');
+ if (e.altKey) {
+ noteTryAdd('term-kana');
+ return true;
+ }
},
80: /* p */ () => {
- if ($('.entry').eq(this.index).data('type') === 'term') {
- this.audioPlay(this.definitions[this.index]);
+ if (e.altKey) {
+ if ($('.entry').eq(this.index).data('type') === 'term') {
+ this.audioPlay(this.definitions[this.index]);
+ }
+
+ return true;
}
}
};
const handler = handlers[e.keyCode];
- if (handler && (e.altKey || !['e', 'k', 'p'].includes(e.keyCode))) {
+ if (handler && handler()) {
e.preventDefault();
- handler();
}
}
diff --git a/tmpl/kanji.html b/tmpl/kanji.html
index 7a2df8db..acd79036 100644
--- a/tmpl/kanji.html
+++ b/tmpl/kanji.html
@@ -1,7 +1,7 @@
{{#*inline "kanji"}}
<div class="entry" data-type="kanji">
<div class="actions">
- <img src="/mixed/img/entry-current.png" class="current" title="Current entry (Up/Down/Home/End/PgUp/PgDn)" alt>
+ <img src="/mixed/img/entry-current.png" class="current" title="Current entry (Alt + Up/Down/Home/End/PgUp/PgDn)" alt>
{{#if addable}}
<a href="#" class="action-add-note pending disabled" data-mode="kanji"><img src="/mixed/img/add-kanji.png" title="Add Kanji (Alt + K)" alt></a>
{{/if}}
diff --git a/tmpl/terms.html b/tmpl/terms.html
index 83b16106..dc50efe2 100644
--- a/tmpl/terms.html
+++ b/tmpl/terms.html
@@ -20,7 +20,7 @@
{{#*inline "term"}}
<div class="entry" data-type="term">
<div class="actions">
- <img src="/mixed/img/entry-current.png" class="current" title="Current entry (Up/Down/Home/End/PgUp/PgDn)" alt>
+ <img src="/mixed/img/entry-current.png" class="current" title="Current entry (Alt + Up/Down/Home/End/PgUp/PgDn)" alt>
{{#if addable}}
<a href="#" class="action-add-note pending disabled" data-mode="term-kanji"><img src="/mixed/img/add-term-kanji.png" title="Add expression (Alt + E)" alt></a>
<a href="#" class="action-add-note pending disabled" data-mode="term-kana"><img src="/mixed/img/add-term-kana.png" title="Add reading (Alt + R)" alt></a>