diff options
author | Alex Yatskov <alex@foosoft.net> | 2017-03-31 21:48:10 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2017-03-31 21:48:10 -0700 |
commit | 405e487a7347181f6f49f01839c807c84fc93e41 (patch) | |
tree | 2b5d055398e525d608b549d67b0b918b0ccba0ab /ext/fg/js | |
parent | 1d9e911648c35a65ea706fa362515ae55958000d (diff) |
ctrl + c to copy
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/display-frame.js | 27 | ||||
-rw-r--r-- | ext/fg/js/driver.js | 4 |
2 files changed, 31 insertions, 0 deletions
diff --git a/ext/fg/js/display-frame.js b/ext/fg/js/display-frame.js index 59032d0c..f6f7683e 100644 --- a/ext/fg/js/display-frame.js +++ b/ext/fg/js/display-frame.js @@ -51,6 +51,10 @@ window.displayFrame = new class extends Display { window.parent.postMessage('popupClose', '*'); } + selectionCopy() { + window.parent.postMessage('selectionCopy', '*'); + } + showOrphaned() { $('#content').hide(); $('#orphan').show(); @@ -77,4 +81,27 @@ window.displayFrame = new class extends Display { handler(params); } } + + onKeyDown(e) { + if (super.onKeyDown(e)) { + return true; + } + + const handlers = { + 67: /* c */ () => { + if (e.ctrlKey) { + this.selectionCopy(); + return true; + } + } + }; + + const handler = handlers[e.keyCode]; + if (handler && handler()) { + e.preventDefault(); + return true; + } + + return false; + } }; diff --git a/ext/fg/js/driver.js b/ext/fg/js/driver.js index 5191f18d..d4cb1532 100644 --- a/ext/fg/js/driver.js +++ b/ext/fg/js/driver.js @@ -106,6 +106,10 @@ window.driver = new class { const handlers = { popupClose: () => { this.searchClear(); + }, + + selectionCopy: () => { + document.execCommand('copy'); } }; |