1
+ var replaceFromLast = function ( context ) {
2
+ var userDefaults = this . getUserDefaults ( ) ;
3
+ var urlString = userDefaults . objectForKey ( 'url' ) ;
4
+ if ( ! urlString ) {
5
+ this . replaceSymbols ( context ) ;
6
+ } else {
7
+ var url = NSURL . URLWithString ( urlString ) ;
8
+ this . replaceFromUrl ( context , url ) ;
9
+ }
10
+ }
11
+
1
12
var replaceSymbols = function ( context ) {
2
13
var decision = yesNoDialog ( 'Select the Library file you want to replace symbols from' ,
3
14
'Choose' , 'Cancel' ) ;
@@ -11,6 +22,15 @@ var replaceSymbols = function(context) {
11
22
return ;
12
23
}
13
24
25
+ var userDefaults = this . getUserDefaults ( ) ;
26
+
27
+ userDefaults . setObject_forKey ( String ( url ) , "url" ) ;
28
+ userDefaults . synchronize ( ) ;
29
+
30
+ this . replaceFromUrl ( context , url ) ;
31
+ }
32
+
33
+ var replaceFromUrl = function ( context , url ) {
14
34
var library = findLibraryByUrl ( url ) ;
15
35
if ( ! library ) {
16
36
showAlert ( 'Sorry, that file is not a Library. Add it as a Library and try again' ) ;
@@ -82,7 +102,6 @@ var replaceSymbols = function(context) {
82
102
// ensure there are no dangling overrides still pointing to local symbols
83
103
var allInstances = getAllInstances ( context . document ) ;
84
104
for ( var i = 0 ; i < allInstances . length ; ++ i ) {
85
- log ( 'updating instance ' + allInstances [ i ] ) ;
86
105
MSLayerPaster . updateOverridesOnInstance_withIDMap_ ( allInstances [ i ] , idmap ) ;
87
106
}
88
107
@@ -99,6 +118,10 @@ var replaceSymbols = function(context) {
99
118
}
100
119
}
101
120
121
+ var getUserDefaults = function ( ) {
122
+ return NSUserDefaults . alloc ( ) . initWithSuiteName ( "com.zeroheight.library-symbol-replacer" ) ;
123
+ }
124
+
102
125
var getAllInstances = function ( document ) {
103
126
var predicate = NSPredicate . predicateWithFormat ( "className == %@" , "MSSymbolInstance" ) ;
104
127
var filteredArray = NSArray . array ( )
0 commit comments