Revision: 13708
          http://sourceforge.net/p/skim-app/code/13708
Author:   hofman
Date:     2023-10-30 15:51:47 +0000 (Mon, 30 Oct 2023)
Log Message:
-----------
convenience methods to join strings with a dash

Modified Paths:
--------------
    trunk/NSString_SKExtensions.h
    trunk/NSString_SKExtensions.m
    trunk/PDFPage_SKExtensions.m
    trunk/SKApplication.m
    trunk/SKNoteWindowController.m
    trunk/SKSnapshotWindowController.m

Modified: trunk/NSString_SKExtensions.h
===================================================================
--- trunk/NSString_SKExtensions.h       2023-10-30 15:07:44 UTC (rev 13707)
+++ trunk/NSString_SKExtensions.h       2023-10-30 15:51:47 UTC (rev 13708)
@@ -48,6 +48,9 @@
 
 - (NSString *)stringByAppendingEllipsis;
 
+- (NSString *)stringByAppendingEmDashAndString:(NSString *)aString;
+- (NSString *)stringByAppendingDashAndString:(NSString *)aString;
+
 - (NSString *)stringByBackslashEscapingCharactersFromSet:(NSCharacterSet 
*)charSet;
 - (NSString *)stringByEscapingShellChars;
 - (NSString *)stringByEscapingDoubleQuotes;

Modified: trunk/NSString_SKExtensions.m
===================================================================
--- trunk/NSString_SKExtensions.m       2023-10-30 15:07:44 UTC (rev 13707)
+++ trunk/NSString_SKExtensions.m       2023-10-30 15:51:47 UTC (rev 13708)
@@ -50,6 +50,8 @@
 
 #define STACK_BUFFER_SIZE 256
 
+#define EM_DASH_CHARACTER (unichar)0x2014
+
 static inline
 CFStringRef 
__SKStringCreateByCollapsingAndTrimmingWhitespaceAndNewlines(CFAllocatorRef 
allocator, CFStringRef aString)
 {
@@ -235,6 +237,14 @@
     return [NSString stringWithFormat:NSLocalizedString(@"%@\u2026", "format 
for appending ellipsis character..."), self];
 }
 
+- (NSString *)stringByAppendingEmDashAndString:(NSString *)aString {
+    return [self stringByAppendingFormat:@" %C %@",  EM_DASH_CHARACTER, 
aString];
+}
+
+- (NSString *)stringByAppendingDashAndString:(NSString *)aString {
+    return [self stringByAppendingFormat:@" - %@", aString];
+}
+
 - (NSString *)stringByBackslashEscapingCharactersFromSet:(NSCharacterSet 
*)charSet {
     NSUInteger location = [self rangeOfCharacterFromSet:charSet].location;
     if (location == NSNotFound)

Modified: trunk/PDFPage_SKExtensions.m
===================================================================
--- trunk/PDFPage_SKExtensions.m        2023-10-30 15:07:44 UTC (rev 13707)
+++ trunk/PDFPage_SKExtensions.m        2023-10-30 15:51:47 UTC (rev 13708)
@@ -60,6 +60,7 @@
 #import "SKRuntime.h"
 #import "NSPasteboard_SKExtensions.h"
 #import "NSURL_SKExtensions.h"
+#import "NSString_SKExtensions.h"
 #import "SKLine.h"
 
 NSString *SKPDFPageBoundsDidChangeNotification = 
@"SKPDFPageBoundsDidChangeNotification";
@@ -365,7 +366,7 @@
         }
         
         NSURL *dropDestination = [pboard pasteLocationURL];
-        NSString *filename = [NSString stringWithFormat:@"%@ %c %@", ([[[self 
containingDocument] displayName] stringByDeletingPathExtension] ?: @"PDF"), 
'-', [NSString stringWithFormat:NSLocalizedString(@"Page %@", @""), label]];
+        NSString *filename = [([[[self containingDocument] displayName] 
stringByDeletingPathExtension] ?: @"PDF") 
stringByAppendingDashAndString:[NSString 
stringWithFormat:NSLocalizedString(@"Page %@", @""), label]];
         NSURL *fileURL = [dropDestination URLByAppendingPathComponent:filename 
isDirectory:NO];
         fileURL = [[fileURL URLByAppendingPathExtension:pathExt] 
uniqueFileURL];
         if ([data writeToURL:fileURL atomically:YES])
@@ -394,7 +395,7 @@
         }];
         label = [labels componentsJoinedByString:@", "];
     }
-    NSString *filename = [NSString stringWithFormat:@"%@ %c %@", ([[[self 
containingDocument] displayName] stringByDeletingPathExtension] ?: @"PDF"), 
'-', [NSString stringWithFormat:NSLocalizedString(@"Page %@", @""), label]];
+    NSString *filename = [([[[self containingDocument] displayName] 
stringByDeletingPathExtension] ?: @"PDF") 
stringByAppendingDashAndString:[NSString 
stringWithFormat:NSLocalizedString(@"Page %@", @""), label]];
     NSString *pathExt = [[self document] allowsPrinting] ? @"pdf" : @"tiff";
     return [filename stringByAppendingPathExtension:pathExt];
 }

Modified: trunk/SKApplication.m
===================================================================
--- trunk/SKApplication.m       2023-10-30 15:07:44 UTC (rev 13707)
+++ trunk/SKApplication.m       2023-10-30 15:51:47 UTC (rev 13708)
@@ -41,11 +41,10 @@
 #import "NSResponder_SKExtensions.h"
 #import "NSDocument_SKExtensions.h"
 #import "NSEvent_SKExtensions.h"
+#import "NSString_SKExtensions.h"
 #import "SKDownloadController.h"
 #import "SKPreferenceController.h"
 
-#define EM_DASH_CHARACTER (unichar)0x2014
-
 NSString *SKApplicationStartsTerminatingNotification = 
@"SKApplicationStartsTerminatingNotification";
 
 @implementation SKApplication
@@ -169,7 +168,7 @@
         return;
     
     if ([[aWindow windowController] isKindOfClass:[SKPreferenceController 
class]])
-        aString = [NSString stringWithFormat:@"%@ %C %@", 
NSLocalizedString(@"Preferences", @"Window description"), EM_DASH_CHARACTER, 
aString];
+        aString = [NSLocalizedString(@"Preferences", @"Window description") 
stringByAppendingEmDashAndString:aString];
     
     [super addWindowsItem:aWindow title:aString filename:isFilename];
     
@@ -181,7 +180,7 @@
         return;
     
     if ([[aWindow windowController] isKindOfClass:[SKPreferenceController 
class]])
-        aString = [NSString stringWithFormat:@"%@ %C %@", 
NSLocalizedString(@"Preferences", @"Window description"), EM_DASH_CHARACTER, 
aString];
+        aString = [NSLocalizedString(@"Preferences", @"Window description") 
stringByAppendingEmDashAndString:aString];
     
     [super changeWindowsItem:aWindow title:aString filename:isFilename];
     

Modified: trunk/SKNoteWindowController.m
===================================================================
--- trunk/SKNoteWindowController.m      2023-10-30 15:07:44 UTC (rev 13707)
+++ trunk/SKNoteWindowController.m      2023-10-30 15:51:47 UTC (rev 13708)
@@ -65,8 +65,6 @@
 #import "SKChainedUndoManager.h"
 #import "SKApplicationController.h"
 
-#define EM_DASH_CHARACTER (unichar)0x2014
-
 #define SKNoteWindowFrameAutosaveName @"SKNoteWindow"
 #define SKAnyNoteWindowFrameAutosaveName @"SKAnyNoteWindow"
 
@@ -311,7 +309,7 @@
 }
 
 - (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName {
-    return [NSString stringWithFormat:@"%@ %C %@", [[[self note] type] 
typeName], EM_DASH_CHARACTER, [[self note] string] ?: @""];
+    return [[[[self note] type] typeName] 
stringByAppendingEmDashAndString:[[self note] string] ?: @""];
 }
 
 - (BOOL)isNoteWindowController { return YES; }

Modified: trunk/SKSnapshotWindowController.m
===================================================================
--- trunk/SKSnapshotWindowController.m  2023-10-30 15:07:44 UTC (rev 13707)
+++ trunk/SKSnapshotWindowController.m  2023-10-30 15:51:47 UTC (rev 13708)
@@ -62,9 +62,8 @@
 #import "NSScreen_SKExtensions.h"
 #import "SKApplication.h"
 #import "PDFDocument_SKExtensions.h"
+#import "NSString_SKExtensions.h"
 
-#define EM_DASH_CHARACTER (unichar)0x2014
-
 #define SMALL_DELAY 0.1
 #define RESIZE_TIME_FACTOR 1.0
 
@@ -137,7 +136,7 @@
 }
 
 - (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName {
-    return [NSString stringWithFormat:@"%@ %C %@", displayName, 
EM_DASH_CHARACTER, [NSString stringWithFormat:NSLocalizedString(@"Page %@", 
@""), [self pageLabel]]];
+    return [displayName stringByAppendingEmDashAndString:[NSString 
stringWithFormat:NSLocalizedString(@"Page %@", @""), [self pageLabel]]];
 }
 
 - (void)setNeedsDisplayInRect:(NSRect)rect ofPage:(PDFPage *)page {
@@ -699,7 +698,7 @@
     if ([type isEqualToString:(NSString *)kPasteboardTypeFileURLPromise]) {
         NSURL *dropDestination = [pboard pasteLocationURL];
         PDFPage *page = [[[self pdfView] document] pageAtIndex:[self 
pageIndex]];
-        NSString *filename = [NSString stringWithFormat:@"%@ %c %@", ([[[self 
document] displayName] stringByDeletingPathExtension] ?: @"PDF"), '-', 
[NSString stringWithFormat:NSLocalizedString(@"Page %@", @""), [page 
displayLabel]]];
+        NSString *filename = [([[[self document] displayName] 
stringByDeletingPathExtension] ?: @"PDF") 
stringByAppendingDashAndString:[NSString 
stringWithFormat:NSLocalizedString(@"Page %@", @""), [page displayLabel]]];
         NSURL *fileURL = [[dropDestination 
URLByAppendingPathComponent:filename isDirectory:NO] 
URLByAppendingPathExtension:@"tiff"];
         fileURL = [fileURL uniqueFileURL];
         if ([[[self thumbnailWithSize:0.0] TIFFRepresentation] 
writeToURL:fileURL atomically:YES])
@@ -713,7 +712,7 @@
 
 - (NSString *)filePromiseProvider:(NSFilePromiseProvider *)filePromiseProvider 
fileNameForType:(NSString *)fileType {
     PDFPage *page = [[[self pdfView] document] pageAtIndex:[self pageIndex]];
-    NSString *filename = [NSString stringWithFormat:@"%@ %c %@", ([[[self 
document] displayName] stringByDeletingPathExtension] ?: @"PDF"), '-', 
[NSString stringWithFormat:NSLocalizedString(@"Page %@", @""), [page 
displayLabel]]];
+    NSString *filename = [([[[self document] displayName] 
stringByDeletingPathExtension] ?: @"PDF") 
stringByAppendingDashAndString:[NSString 
stringWithFormat:NSLocalizedString(@"Page %@", @""), [page displayLabel]]];
     return [filename stringByAppendingPathExtension:@"tiff"];
 }
 

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