Skip to content

Commit 79868f1

Browse files
Add Copy Image option (#79)
Co-authored-by: Sindre Sorhus <[email protected]>
1 parent 1310a1d commit 79868f1

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

index.d.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ declare namespace contextMenu {
4747
*/
4848
readonly copyLink?: string;
4949

50+
/**
51+
@default 'Copy Image'
52+
*/
53+
readonly copyImage?: string;
54+
5055
/**
5156
@default 'Copy Image Address'
5257
*/
@@ -78,6 +83,7 @@ declare namespace contextMenu {
7883
readonly paste: (options: ActionOptions) => MenuItem;
7984
readonly saveImage: (options: ActionOptions) => MenuItem;
8085
readonly saveImageAs: (options: ActionOptions) => MenuItem;
86+
readonly copyImage: (options: ActionOptions) => MenuItem;
8187
readonly copyImageAddress: (options: ActionOptions) => MenuItem;
8288
readonly inspect: () => MenuItem;
8389
readonly services: () => MenuItem;
@@ -119,6 +125,13 @@ declare namespace contextMenu {
119125
*/
120126
readonly showLookUpSelection?: boolean;
121127

128+
/**
129+
Show the `Copy Image` menu item when right-clicking on an image.
130+
131+
@default true
132+
*/
133+
readonly showCopyImage?: boolean;
134+
122135
/**
123136
Show the `Copy Image Address` menu item when right-clicking on an image.
124137
@@ -194,11 +207,12 @@ declare namespace contextMenu {
194207
195208
The following options are ignored when `menu` is used:
196209
210+
- `showCopyImage`
197211
- `showCopyImageAddress`
198212
- `showSaveImageAs`
199213
- `showInspectElement`
200214
201-
@default [defaultActions.cut(), defaultActions.copy(), defaultActions.paste(), defaultActions.separator(), defaultActions.saveImage(), defaultActions.saveImageAs(), defaultActions.copyImageAddress(), defaultActions.separator(), defaultActions.copyLink(), defaultActions.separator(), defaultActions.inspect()]
215+
@default [defaultActions.cut(), defaultActions.copy(), defaultActions.paste(), defaultActions.separator(), defaultActions.saveImage(), defaultActions.saveImageAs(), defaultActions.copyImage(), defaultActions.copyImageAddress(), defaultActions.separator(), defaultActions.copyLink(), defaultActions.separator(), defaultActions.inspect()]
202216
*/
203217
readonly menu?: (
204218
defaultActions: Actions,

index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,14 @@ const create = (win, options) => {
114114
});
115115
}
116116
}),
117+
copyImage: decorateMenuItem({
118+
id: 'copyImage',
119+
label: 'Copy Image',
120+
visible: props.mediaType === 'image',
121+
click() {
122+
webContents(win).copyImageAt(props.x, props.y);
123+
}
124+
}),
117125
copyImageAddress: decorateMenuItem({
118126
id: 'copyImageAddress',
119127
label: 'Copy Image Address',
@@ -157,6 +165,7 @@ const create = (win, options) => {
157165
defaultActions.separator(),
158166
defaultActions.saveImage(),
159167
options.showSaveImageAs && defaultActions.saveImageAs(),
168+
options.showCopyImage !== false && defaultActions.copyImage(),
160169
options.showCopyImageAddress && defaultActions.copyImageAddress(),
161170
defaultActions.separator(),
162171
defaultActions.copyLink(),

readme.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ Default: `true`
9393

9494
Show the `Look Up {selection}` menu item when right-clicking text on macOS.
9595

96+
#### showCopyImage
97+
98+
Type: `boolean`<br>
99+
Default: `true`
100+
101+
Show the `Copy Image` menu item when right-clicking on an image.
102+
96103
#### showCopyImageAddress
97104

98105
Type: `boolean`<br>
@@ -176,6 +183,7 @@ Even though you include an action, it will still only be shown/enabled when appr
176183
The following options are ignored when `menu` is used:
177184

178185
- `showLookUpSelection`
186+
- `showCopyImage`
179187
- `showCopyImageAddress`
180188
- `showSaveImageAs`
181189
- `showInspectElement`
@@ -190,6 +198,7 @@ Default actions:
190198
- `paste`
191199
- `saveImage`
192200
- `saveImageAs`
201+
- `copyImage`
193202
- `copyImageAddress`
194203
- `copyLink`
195204
- `inspect`

0 commit comments

Comments
 (0)