Skip to content

Commit 4cc9ccf

Browse files
committedMay 30, 2023
Fixed bugs.
1 parent b4e7d42 commit 4cc9ccf

File tree

9 files changed

+47
-19
lines changed

9 files changed

+47
-19
lines changed
 

‎automate-sketch.sketchplugin/Contents/Resources/manifest_en.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"email": "Ashung.hung@gmail.com",
66
"homepage": "https://github.com/Ashung/Automate-Sketch",
77
"appcast": "https://ashung.github.io/Automate-Sketch/appcast.xml",
8-
"version": "93.0.20220921",
8+
"version": "96.3.20230530",
99
"identifier": "com.ashung.hung.automate_sketch",
1010
"icon": "icon.png",
1111
"suppliesData": true,
@@ -307,7 +307,7 @@
307307
"icon": "icon_runner.png"
308308
},
309309
{
310-
"name": "Artboard from Selection",
310+
"name": "Artboards from Selection",
311311
"identifier": "artboard_from_selection",
312312
"script": "Artboard/Artboard_from_Selection.js",
313313
"icon": "icon_runner.png"

‎automate-sketch.sketchplugin/Contents/Resources/manifest_zh.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"email": "Ashung.hung@gmail.com",
66
"homepage": "https://github.com/Ashung/Automate-Sketch",
77
"appcast": "https://ashung.github.io/Automate-Sketch/appcast.xml",
8-
"version": "93.0.20220921",
8+
"version": "96.3.20230530",
99
"identifier": "com.ashung.hung.automate_sketch",
1010
"icon": "icon.png",
1111
"suppliesData": true,
@@ -307,7 +307,7 @@
307307
"icon": "icon_runner.png"
308308
},
309309
{
310-
"name": "从选择对象新建画板",
310+
"name": "从选择对象新建多画板",
311311
"identifier": "artboard_from_selection",
312312
"script": "Artboard/Artboard_from_Selection.js",
313313
"icon": "icon_runner.png"

‎automate-sketch.sketchplugin/Contents/Sketch/Artboard/Paste_as_Artboard_or_Symbol_Master.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ var onRun = function(context) {
88

99
var util = require("util");
1010
var sketch = require("sketch/dom");
11+
var version = sketch.version.sketch;
1112
var message = require("sketch/ui").message;
1213
var Artboard = sketch.Artboard;
1314
var SymbolMaster = sketch.SymbolMaster;
@@ -25,7 +26,13 @@ var onRun = function(context) {
2526
document.selectedLayers.clear();
2627

2728
util.toArray(layersFromPasteboard).forEach(function(layer) {
28-
var layerInfluenceRect = layer.absoluteInfluenceRect();
29+
var layerInfluenceRect;
30+
if (version >= 96) {
31+
var relativeInfluenceRect = layer.immutableModelObject().influenceRectForBoundsInDocument(layer.documentData());
32+
layerInfluenceRect = layer.convertRect_toLayer(relativeInfluenceRect, null);
33+
} else {
34+
layerInfluenceRect = layer.absoluteInfluenceRect();
35+
}
2936
var layerRect = layer.rect();
3037
var originForNewArtboard = page.sketchObject.originForNewArtboardWithSize(layerInfluenceRect.size);
3138
layer.frame().setX(Math.round(layerRect.origin.x) - layerInfluenceRect.origin.x);

‎automate-sketch.sketchplugin/Contents/Sketch/Export/Quick_Export.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,20 @@ var onRun = function(context) {
129129
};
130130

131131
function exportLayer(document, layer, destFolder, nameFormat, preset) {
132+
var sketch = require("sketch");
133+
var version = sketch.version.sketch;
132134
preset.exportFormats().forEach(function(exportFormat) {
135+
var absoluteInfluenceRect;
136+
if (version >= 96) {
137+
var relativeInfluenceRect = layer.immutableModelObject().influenceRectForBoundsInDocument(layer.documentData());
138+
absoluteInfluenceRect = layer.convertRect_toLayer(relativeInfluenceRect, null);
139+
} else {
140+
absoluteInfluenceRect = layer.absoluteInfluenceRect();
141+
}
133142
var exportRequest = MSExportRequest.exportRequestFromLayerAncestry_exportFormat_inRect(
134143
layer.ancestry(),
135144
exportFormat,
136-
layer.absoluteInfluenceRect()
145+
absoluteInfluenceRect
137146
);
138147
var filePath = "";
139148
if (nameFormat == 1) {

‎automate-sketch.sketchplugin/Contents/Sketch/Layer/Bounds_Layer_for_Every_Selection.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ var onRun = function(context) {
7979
boundsLayerHeight = userCustomHeight;
8080
}
8181

82-
if (layer.class() == "MSLayerGroup" || layer.class() == "MSArtboardGroup") {
82+
if (layer.class() == "MSLayerGroup" || layer.class() == "MSArtboardGroup" || layer.class() == "MSSymbolMaster") {
8383
parent = layer;
8484
beforeLayer = layer.firstLayer();
8585
boundsLayerX = 0 - layer.frame().x() + Math.floor(layer.frame().x()) - boundsOffsetLeft;
@@ -111,7 +111,7 @@ var onRun = function(context) {
111111
}
112112

113113
// Artboard
114-
if (layer.class() == "MSArtboardGroup") {
114+
if (layer.class() == "MSArtboardGroup" || layer.class() == "MSSymbolMaster") {
115115
layer.frame().setX(layer.frame().x() - boundsOffsetLeft);
116116
layer.frame().setY(layer.frame().y() - boundsOffsetTop);
117117
layer.frame().setWidth(boundsLayerWidth);

‎automate-sketch.sketchplugin/Contents/Sketch/Symbol/Set_to_Original_Width_or_Height.js

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ var onRun = function(context) {
2121
var symbolMaster = layer.symbolMaster();
2222
var originalWidth = symbolMaster.frame().width();
2323
var originalHeight = symbolMaster.frame().height();
24-
2524
layer.frame().setConstrainProportions(false);
2625

2726
if (pluginIdentifier == "set_to_original_width" || pluginIdentifier == "set_to_original_size") {

‎automate-sketch.sketchplugin/Contents/Sketch/manifest.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"email": "Ashung.hung@gmail.com",
66
"homepage": "https://github.com/Ashung/Automate-Sketch",
77
"appcast": "https://ashung.github.io/Automate-Sketch/appcast.xml",
8-
"version": "93.0.20220921",
8+
"version": "96.3.20230530",
99
"identifier": "com.ashung.hung.automate_sketch",
1010
"icon": "icon.png",
1111
"suppliesData": true,
@@ -307,7 +307,7 @@
307307
"icon": "icon_runner.png"
308308
},
309309
{
310-
"name": "Artboard from Selection",
310+
"name": "Artboards from Selection",
311311
"identifier": "artboard_from_selection",
312312
"script": "Artboard/Artboard_from_Selection.js",
313313
"icon": "icon_runner.png"

‎automate-sketch.sketchplugin/Contents/Sketch/modules/Pasteboard.js

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
var sketch = require("sketch");
2+
var version = sketch.version.sketch;
13
var pasteboard = NSPasteboard.generalPasteboard();
24

35
module.exports.copy = function(text) {
@@ -6,12 +8,14 @@ module.exports.copy = function(text) {
68
};
79

810
module.exports.getPasteboardLayers = function() {
9-
var sketch = require("sketch");
1011
var document = sketch.getSelectedDocument();
11-
var version = sketch.version.sketch;
1212
var pasteboardManager = NSApp.delegate().pasteboardManager();
1313
var pasteboardLayers;
14-
if (version >= 74) {
14+
if (version >= 96) {
15+
pasteboardLayers = pasteboardManager.readPasteboardLayersFromPasteboard_document_options(
16+
pasteboard, nil, nil
17+
);
18+
} else if (version >= 74) {
1519
pasteboardLayers = pasteboardManager.readPasteboardLayersFromPasteboard_document_options(
1620
pasteboard, document.sketchObject, nil
1721
);
@@ -30,7 +34,11 @@ module.exports.getPasteboardLayers = function() {
3034
}
3135

3236
module.exports.getLayers = function() {
33-
return this.getPasteboardLayers().layers().layers();
37+
if (version >= 96) {
38+
return this.getPasteboardLayers().layers();
39+
} else {
40+
return this.getPasteboardLayers().layers().layers();
41+
}
3442
};
3543

3644
module.exports.setImage = function(nsData) {

‎automate-sketch.sketchplugin/Contents/Sketch/modules/Preview.js

+9-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var version = sketch.version.sketch;
77
* @return {NSImage}
88
*/
99
module.exports.symbol = function(symbolMaster, size) {
10-
size = size || Math.max(symbolMaster.frame().width(), symbolMaster.frame().height());
10+
// size = size || Math.max(symbolMaster.frame().width(), symbolMaster.frame().height());
1111
return artboardPreviewGenerator(symbolMaster, size, size, false);
1212
};
1313

@@ -159,16 +159,21 @@ function artboardPreviewGenerator(artboard, width, height, remove) {
159159
document.selectedPage.sketchObject.addLayer(artboard);
160160
}
161161
var exportRequest = MSExportRequest.exportRequestsFromLayerAncestry(artboard.ancestry()).firstObject();
162-
var scale = Math.min(width / artboard.frame().width(), height / artboard.frame().height());
163-
exportRequest.setScale(scale * 2);
162+
// var scale = Math.min(width / artboard.frame().width(), height / artboard.frame().height());
163+
// exportRequest.setScale(scale * 2);
164164
var colorSpace;
165165
if (version >= 86) {
166166
colorSpace = document.sketchObject.colorSpace().CGColorSpace();
167167
} else {
168168
colorSpace = document.sketchObject.colorSpace();
169169
}
170170
var exporter = MSExporter.exporterForRequest_colorSpace(exportRequest, colorSpace);
171-
var image = exporter.image();
171+
var image;
172+
if (version >= 96) {
173+
image = NSImage.alloc().initWithData(exporter.data());
174+
} else {
175+
image = exporter.image();
176+
}
172177
if (remove) {
173178
artboard.removeFromParent();
174179
}

0 commit comments

Comments
 (0)
Please sign in to comment.