Revision: 15686
          http://sourceforge.net/p/skim-app/code/15686
Author:   hofman
Date:     2025-10-07 15:46:39 +0000 (Tue, 07 Oct 2025)
Log Message:
-----------
make service name optional in share command, default to mail

Modified Paths:
--------------
    trunk/NSDocument_SKExtensions.m
    trunk/SKMainDocument.m
    trunk/Skim.sdef

Modified: trunk/NSDocument_SKExtensions.m
===================================================================
--- trunk/NSDocument_SKExtensions.m     2025-10-07 15:26:04 UTC (rev 15685)
+++ trunk/NSDocument_SKExtensions.m     2025-10-07 15:46:39 UTC (rev 15686)
@@ -430,12 +430,6 @@
 }
 
 - (void)handleShareScriptCommand:(NSScriptCommand *)command {
-    NSString *name = [[command evaluatedArguments] objectForKey:@"Service"];
-    if (name == nil) {
-        [command setScriptErrorNumber:NSRequiredArgumentsMissingScriptError];
-        return;
-    }
-    
     NSURL *fileURL = [self fileURL];
     if (fileURL == nil) {
         NSBeep();
@@ -442,14 +436,20 @@
         return;
     }
     
-    NSArray *services = [NSSharingService sharingServicesForItems:@[fileURL]];
-    NSUInteger i = [[services valueForKey:@"title"] indexOfObject:name];
-    if (i == NSNotFound) {
-        NSBeep();
-        return;
+    NSSharingService *service = nil;
+    NSString *name = [[command evaluatedArguments] objectForKey:@"Service"];
+    if (name == nil) {
+        service = [NSSharingService 
sharingServiceNamed:NSSharingServiceNameComposeEmail];
+    } else {
+        NSArray *services = [NSSharingService 
sharingServicesForItems:@[fileURL]];
+        NSUInteger i = [[services valueForKey:@"title"] indexOfObject:name];
+        if (i == NSNotFound) {
+            NSBeep();
+            return;
+        }
+        service = [services objectAtIndex:i];
     }
     
-    NSSharingService *service = [services objectAtIndex:i];
     [service setSubject:[self displayName]];
     [service performWithItems:@[fileURL]];
 }

Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m      2025-10-07 15:26:04 UTC (rev 15685)
+++ trunk/SKMainDocument.m      2025-10-07 15:46:39 UTC (rev 15686)
@@ -2190,12 +2190,6 @@
 }
 
 - (void)handleShareScriptCommand:(NSScriptCommand *)command {
-    NSString *name = [[command evaluatedArguments] objectForKey:@"Service"];
-    if (name == nil) {
-        [command setScriptErrorNumber:NSRequiredArgumentsMissingScriptError];
-        return;
-    }
-    
     NSURL *fileURL = [self fileURL];
     if (fileURL == nil) {
         NSBeep();
@@ -2202,16 +2196,21 @@
         return;
     }
     
-    NSArray *services = [NSSharingService sharingServicesForItems:@[fileURL]];
-    NSUInteger i = [[services valueForKey:@"title"] indexOfObject:name];
-    if (i == NSNotFound) {
-        NSBeep();
-        return;
+    NSSharingService *service = nil;
+    NSString *name = [[command evaluatedArguments] objectForKey:@"Service"];
+    if (name == nil) {
+        service = [NSSharingService 
sharingServiceNamed:NSSharingServiceNameComposeEmail];
+    } else {
+        NSArray *services = [NSSharingService 
sharingServicesForItems:@[fileURL]];
+        NSUInteger i = [[services valueForKey:@"title"] indexOfObject:name];
+        if (i == NSNotFound) {
+            NSBeep();
+            return;
+        }
+        service = [services objectAtIndex:i];
     }
     
-    NSSharingService *service = [services objectAtIndex:i];
     BOOL shouldArchive = ([self hasNotes] || [[self presentationOptions] 
count] > 0);
-    
     NSString *typeName = [self fileType];
     if (shouldArchive == NO && [typeName 
isEqualToString:SKDocumentTypePDFBundle])
         typeName = SKDocumentTypePDF;

Modified: trunk/Skim.sdef
===================================================================
--- trunk/Skim.sdef     2025-10-07 15:26:04 UTC (rev 15685)
+++ trunk/Skim.sdef     2025-10-07 15:46:39 UTC (rev 15686)
@@ -605,7 +605,7 @@
 
         <command name="share" code="SKIMShar"
             description="Share a document using a service.">
-            <direct-parameter type="document"
+            <direct-parameter type="document" optional="yes"
                 description="The document to share."/>
             <parameter name="using" code="Usng" type="text"
                 description="The name of the service to use.">

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to