diff --git a/js/preview/screenshot.js b/js/preview/screenshot.js
index 24c10f20..5b7b7280 100644
--- a/js/preview/screenshot.js
+++ b/js/preview/screenshot.js
@@ -166,9 +166,9 @@ const Screencam = {
center.innerHTML = `
${img.naturalWidth} x ${img.naturalHeight}px, ${size_text}, ${is_gif ? 'GIF' : 'PNG'}
`;
center.appendChild(img);
- let buttons = [tl('dialog.save'), tl('dialog.cancel')]
+ let buttons = ['dialog.save', 'dialog.cancel'];
if (!is_gif) {
- buttons.splice(0, 0, tl('message.screenshot.clipboard'))
+ buttons = ['message.screenshot.clipboard', 'dialog.save', 'menu.texture.edit', 'dialog.cancel'];
}
let dialog = new Dialog({
title: 'message.screenshot.title',
@@ -178,9 +178,10 @@ const Screencam = {
center
],
buttons,
- onButton(result) {
+ onButton(result_index) {
+ let result = buttons[result_index];
- if (result === 0 && buttons.length == 3) {
+ if (result === 'message.screenshot.clipboard') {
if (navigator.clipboard && navigator.clipboard.write) {
fetch(dataUrl).then(async data => {
const blob = await data.blob();
@@ -194,7 +195,7 @@ const Screencam = {
Blockbench.showQuickMessage('message.screenshot.right_click');
return false;
}
- } else if (result === buttons.length-2) {
+ } else if (result === 'dialog.save') {
Blockbench.export({
resource_id: 'screenshot',
extensions: [is_gif ? 'gif' : 'png'],
@@ -203,6 +204,9 @@ const Screencam = {
name: Project ? Project.name.replace(/\.geo$/, '') : 'screenshot',
content: is_gif ? (isApp ? Buffer(dataUrl.split(',')[1], 'base64') : blob) : dataUrl,
})
+ } else if (result === 'menu.texture.edit') {
+ Codecs.image.load(dataUrl, '', [img.naturalWidth, img.naturalHeight]);
+ Texture.all[0].name = 'screenshot';
}
}
})