Commit 57bfe1f6e7673616a9afe3a855447833537af331
add 'Copy Link Ref' to context menu
Matt McKegg committed on 3/18/2017, 5:30:58 AMParent: 5751bfc7a66e62b9d47d5cc86f6a753fae3f41a0
Files changed
lib/context-menu-and-spellcheck.js | changed |
lib/context-menu-and-spellcheck.js | ||
---|---|---|
@@ -1,7 +1,8 @@ | ||
1 | 1 | var {remote, shell, clipboard, ipcRenderer} = require('electron') |
2 | 2 | var {SpellCheckHandler, ContextMenuListener, ContextMenuBuilder} = require('electron-spellchecker') |
3 | 3 | var {MenuItem, Menu} = remote |
4 | +var ref = require('ssb-ref') | |
4 | 5 | |
5 | 6 | window.spellCheckHandler = new SpellCheckHandler() |
6 | 7 | window.spellCheckHandler.attachToInput() |
7 | 8 | |
@@ -13,8 +14,9 @@ | ||
13 | 14 | contextMenuBuilder.buildMenuForLink = function (menuInfo) { |
14 | 15 | var menu = new Menu() |
15 | 16 | var isEmailAddress = menuInfo.linkURL.startsWith('mailto:') |
16 | 17 | var isFile = menuInfo.linkURL.startsWith('file:') |
18 | + var extractedRef = ref.extract(menuInfo.linkURL) | |
17 | 19 | |
18 | 20 | if (!isFile) { |
19 | 21 | var copyLink = new MenuItem({ |
20 | 22 | label: isEmailAddress ? this.stringTable.copyMail() : this.stringTable.copyLinkUrl(), |
@@ -34,8 +36,19 @@ | ||
34 | 36 | menu.append(copyLink) |
35 | 37 | menu.append(openLink) |
36 | 38 | } |
37 | 39 | |
40 | + if (extractedRef) { | |
41 | + var copyRef = new MenuItem({ | |
42 | + label: `Copy Link Ref (${extractedRef.slice(0, 10)}...)`, | |
43 | + click: () => { | |
44 | + // Omit the mailto: portion of the link; we just want the address | |
45 | + clipboard.writeText(extractedRef) | |
46 | + } | |
47 | + }) | |
48 | + menu.append(copyRef) | |
49 | + } | |
50 | + | |
38 | 51 | if (this.isSrcUrlValid(menuInfo)) { |
39 | 52 | if (!isFile) this.addSeparator(menu) |
40 | 53 | this.addImageItems(menu, menuInfo) |
41 | 54 | } |
Built with git-ssb-web