Changeset 587 for trunk/Cocoa/Pester


Ignore:
Timestamp:
09/20/09 21:08:13 (15 years ago)
Author:
Nicholas Riley
Message:

Fix some problems/deprecation identified by compiling with the 10.6 SDK.

Location:
trunk/Cocoa/Pester/Source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cocoa/Pester/Source/NJRFSObjectSelector.m

    r558 r587  
    111111}
    112112
    113 - (void)revealInFinder:(id<NSMenuItem>)sender;
     113- (void)revealInFinder:(NSMenuItem *)sender;
    114114{
    115115    NSString *path = [sender representedObject];
  • trunk/Cocoa/Pester/Source/NJRQTMediaPopUpButton.m

    r576 r587  
    568568    while ( (type = [e nextObject]) != nil) {
    569569        if ([type hasPrefix: @"CorePasteboardFlavorType 0x"]) {
    570             const char *osTypeHex = [[type substringFromIndex: [type rangeOfString: @"0x" options: NSBackwardsSearch].location] lossyCString];
     570            const char *osTypeHex = [[type substringFromIndex: [type rangeOfString: @"0x" options: NSBackwardsSearch].location] UTF8String];
    571571            OSType osType;
    572572            sscanf(osTypeHex, "%lx", &osType);
  • trunk/Cocoa/Pester/Source/NSImage-OAExtensions.h

    r102 r587  
    1414@interface NSImage (OAExtensions)
    1515
    16 + (NSImage *)imageNamed:(NSString *)imageName inBundleForClass:(Class)aClass;
    1716+ (NSImage *)imageNamed:(NSString *)imageName inBundle:(NSBundle *)aBundle;
    18 + (NSImage *)imageForFileType:(NSString *)fileType;
    19     // Caching wrapper for -[NSWorkspace iconForFileType:].  This method is not thread-safe at the moment.
    20 + (NSImage *)draggingIconWithTitle:(NSString *)title andImage:(NSImage *)image;
    21 
    22 - (void)drawFlippedInRect:(NSRect)rect operation:(NSCompositingOperation)op fraction:(float)delta;
    23 - (void)drawFlippedInRect:(NSRect)rect operation:(NSCompositingOperation)op;
    24 
    25     // Puts the image on the pasteboard as TIFF, and also supplies data from any PDF, EPS, or PICT representations available. Returns the number of types added to the pasteboard and adds their names to notThese. This routine uses -addTypes:owner:, so the pasteboard must have previously been set up using -declareTypes:owner.
    26 - (int)addDataToPasteboard:(NSPasteboard *)aPasteboard exceptTypes:(NSMutableSet *)notThese;
    2717
    2818@end
  • trunk/Cocoa/Pester/Source/NSImage-OAExtensions.m

    r555 r587  
    1313
    1414@implementation NSImage (OAExtensions)
    15 
    16 + (NSImage *)imageNamed:(NSString *)imageName inBundleForClass:(Class)aClass;
    17 {
    18     return [self imageNamed:imageName inBundle:[NSBundle bundleForClass:aClass]];
    19 }
    2015
    2116+ (NSImage *)imageNamed:(NSString *)imageName inBundle:(NSBundle *)aBundle;
     
    3833}
    3934
    40 + (NSImage *)imageForFileType:(NSString *)fileType;
    41     // It turns out that -[NSWorkspace iconForFileType:] doesn't cache previously returned values, so we cache them here.
    42 {
    43     static NSMutableDictionary *imageDictionary = nil;
    44     id image;
    45 
    46     // ASSERT_IN_MAIN_THREAD(@"+imageForFileType: is not thread-safe; must be called from the main thread");
    47     // We could fix this by adding locks around imageDictionary
    48 
    49     if (!fileType)
    50         return nil;
    51        
    52     if (imageDictionary == nil)
    53         imageDictionary = [[NSMutableDictionary alloc] init];
    54 
    55     image = [imageDictionary objectForKey:fileType];
    56     if (image == nil) {
    57 #ifdef DEBUG
    58         // Make sure that our caching doesn't go insane (and that we don't ask it to cache insane stuff)
    59         NSLog(@"Caching workspace image for file type '%@'", fileType);
    60 #endif
    61         image = [[NSWorkspace sharedWorkspace] iconForFileType:fileType];
    62         if (image == nil)
    63             image = [NSNull null];
    64         [imageDictionary setObject:image forKey:fileType];
    65     }
    66     return image != [NSNull null] ? image : nil;
    67 }
    68 
    69 #define X_SPACE_BETWEEN_ICON_AND_TEXT_BOX 2
    70 #define X_TEXT_BOX_BORDER 2
    71 #define Y_TEXT_BOX_BORDER 2
    72 static NSDictionary *titleFontAttributes;
    73 
    74 + (NSImage *)draggingIconWithTitle:(NSString *)title andImage:(NSImage *)image;
    75 {
    76     NSImage *drawImage;
    77     NSSize imageSize, totalSize;
    78     NSSize titleSize, titleBoxSize;
    79     NSRect titleBox;
    80     NSPoint textPoint;
    81 
    82     NSParameterAssert(image != nil);
    83     imageSize = [image size];
    84 
    85     if (!titleFontAttributes)
    86         titleFontAttributes = [[NSDictionary alloc] initWithObjectsAndKeys:[NSFont systemFontOfSize:12.0], NSFontAttributeName, [NSColor textColor], NSForegroundColorAttributeName, nil];
    87 
    88     if (!title || [title length] == 0)
    89         return image;
    90    
    91     titleSize = [title sizeWithAttributes:titleFontAttributes];
    92     titleBoxSize = NSMakeSize(titleSize.width + 2.0 * X_TEXT_BOX_BORDER, titleSize.height + Y_TEXT_BOX_BORDER);
    93 
    94     totalSize = NSMakeSize(imageSize.width + X_SPACE_BETWEEN_ICON_AND_TEXT_BOX + titleBoxSize.width, MAX(imageSize.height, titleBoxSize.height));
    95 
    96     drawImage = [[NSImage alloc] initWithSize:totalSize];
    97     [drawImage setFlipped:YES];
    98 
    99     [drawImage lockFocus];
    100 
    101     // Draw transparent background
    102     [[NSColor colorWithDeviceWhite:1.0 alpha:0.0] set];
    103     NSRectFill(NSMakeRect(0, 0, totalSize.width, totalSize.height));
    104 
    105     // Draw icon
    106     [image compositeToPoint:NSMakePoint(0.0, rint(totalSize.height / 2.0 + imageSize.height / 2.0)) operation:NSCompositeSourceOver];
    107    
    108     // Draw box around title
    109     titleBox = NSMakeRect(imageSize.width + X_SPACE_BETWEEN_ICON_AND_TEXT_BOX, floor((totalSize.height - titleBoxSize.height)/2.0), titleBoxSize.width, titleBoxSize.height);
    110     [[[NSColor selectedTextBackgroundColor] colorWithAlphaComponent:0.5] set];
    111     NSRectFill(titleBox);
    112 
    113     // Draw title
    114     textPoint = NSMakePoint(imageSize.width + X_SPACE_BETWEEN_ICON_AND_TEXT_BOX + X_TEXT_BOX_BORDER, Y_TEXT_BOX_BORDER - 1);
    115 
    116     [title drawAtPoint:textPoint withAttributes:titleFontAttributes];
    117 
    118     [drawImage unlockFocus];
    119 
    120     return [drawImage autorelease];
    121 }
    122 
    123 //
    124 
    125 - (void)drawFlippedInRect:(NSRect)rect operation:(NSCompositingOperation)op fraction:(float)delta;
    126 {
    127     CGContextRef context;
    128 
    129     context = [[NSGraphicsContext currentContext] graphicsPort];
    130     CGContextSaveGState(context); {
    131         CGContextTranslateCTM(context, 0, NSMaxY(rect));
    132         CGContextScaleCTM(context, 1, -1);
    133        
    134         rect.origin.y = 0; // We've translated ourselves so it's zero
    135         [self drawInRect:rect fromRect:NSZeroRect operation:op fraction:delta];
    136     } CGContextRestoreGState(context);
    137 
    138     /*
    139         NSAffineTransform *flipTransform;
    140         NSPoint transformedPoint;
    141         NSSize transformedSize;
    142         NSRect transformedRect;
    143 
    144         flipTransform = [[NSAffineTransform alloc] init];
    145         [flipTransform scaleXBy:1.0 yBy:-1.0];
    146 
    147         transformedPoint = [flipTransform transformPoint:rect.origin];
    148         transformedSize = [flipTransform transformSize:rect.size];
    149         [flipTransform concat];
    150         transformedRect = NSMakeRect(transformedPoint.x, transformedPoint.y + transformedSize.height, transformedSize.width, -transformedSize.height);
    151         [anImage drawInRect:transformedRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
    152         [flipTransform concat];
    153         [flipTransform release];
    154         */
    155 }
    156 
    157 - (void)drawFlippedInRect:(NSRect)rect operation:(NSCompositingOperation)op;
    158 {
    159     [self drawFlippedInRect:rect operation:op fraction:1.0];
    160 }
    161 
    162 - (int)addDataToPasteboard:(NSPasteboard *)aPasteboard exceptTypes:(NSMutableSet *)notThese
    163 {
    164     NSArray *myRepresentations;
    165     int repIndex, repCount;
    166     int count = 0;
    167 
    168     if (!notThese)
    169         notThese = [NSMutableSet set];
    170 
    171 #define IF_ADD(typename, dataOwner) if( ![notThese containsObject:(typename)] && [aPasteboard addTypes:[NSArray arrayWithObject:(typename)] owner:(dataOwner)] > 0 )
    172 
    173 #define ADD_CHEAP_DATA(typename, expr) IF_ADD(typename, nil) { [aPasteboard setData:(expr) forType:(typename)]; [notThese addObject:(typename)]; count ++; }
    174        
    175     /* If we have image representations lying around that already have data in some concrete format, add that data to the pasteboard. */
    176     myRepresentations = [self representations];
    177     repCount = [myRepresentations count];
    178     for(repIndex = 0; repIndex < repCount; repIndex ++) {
    179         NSImageRep *aRep = [myRepresentations objectAtIndex:repIndex];
    180            
    181         if ([aRep respondsToSelector:@selector(PDFRepresentation)]) {
    182             ADD_CHEAP_DATA(NSPDFPboardType, [(NSPDFImageRep *)aRep PDFRepresentation]);
    183         }
    184 
    185         if ([aRep respondsToSelector:@selector(PICTRepresentation)]) {
    186             ADD_CHEAP_DATA(NSPICTPboardType, [(NSPICTImageRep *)aRep PICTRepresentation]);
    187         }
    188 
    189         if ([aRep respondsToSelector:@selector(EPSRepresentation)]) {
    190             ADD_CHEAP_DATA(NSPostScriptPboardType, [(NSEPSImageRep *)aRep EPSRepresentation]);
    191         }
    192     }
    193    
    194     /* Always offer to convert to TIFF. Do this lazily, though, since we probably have to extract it from a bitmap image rep. */
    195     IF_ADD(NSTIFFPboardType, self) {
    196         count ++;
    197     }
    198 
    199     return count;
    200 }
    201 
    202 - (void)pasteboard:(NSPasteboard *)aPasteboard provideDataForType:(NSString *)wanted
    203 {
    204     if ([wanted isEqual:NSTIFFPboardType]) {
    205         [aPasteboard setData:[self TIFFRepresentation] forType:NSTIFFPboardType];
    206     }
    207 }
    208 
    209 
    210 
    21135@end
  • trunk/Cocoa/Pester/Source/PSAlarm.m

    r551 r587  
    116116    if ([string isEqualToString: @"PSAlarmSnooze"]) return PSAlarmSnooze;
    117117    if ([string isEqualToString: @"PSAlarmExpired"]) return PSAlarmExpired;
    118     NSLog(@"unknown alarm type string: %@", string);
    119     return nil;
     118    return PSAlarmInvalid;
    120119}
    121120
  • trunk/Cocoa/Pester/Source/PSAlarmSetController.m

    r579 r587  
    2323#import "NSAttributedString-NJRExtensions.h"
    2424#import "NSCalendarDate-NJRExtensions.h"
    25 #import <Carbon/Carbon.h>
    2625
    2726#import "PSAlerts.h"
  • trunk/Cocoa/Pester/Source/PSApplication.m

    r522 r587  
    1919#import "NJRHotKey.h"
    2020#import "NSWindowCollectionBehavior.h"
    21 
    22 #import <Carbon/Carbon.h>
    2321
    2422@implementation PSApplication
  • trunk/Cocoa/Pester/Source/PSTimer.m

    r364 r587  
    231231            // NSLog(@"going to sleep, setting timer %@", PSTimerOnWake);
    232232            @try {
     233                // XXX replaced by dateByAddingTimeInterval: in 10.5 and later
    233234                [PSPowerManager setWakeTime: [[PSTimerOnWake fireDate] addTimeInterval: -15]];
    234235            } @catch (NSException *exception) {
Note: See TracChangeset for help on using the changeset viewer.