source: trunk/Cocoa/DockCam/DockCamStatus.m @ 551

Last change on this file since 551 was 143, checked in by Nicholas Riley, 17 years ago

DockCam?.m: Updated for CURLHandle 1.7. Still leaking like a sieve.

DockCamStatus?.m: Removed an extraneous character which interfered with
compilation.

File size: 2.4 KB
Line 
1//
2//  DockCamStatus.m
3//  DockCam
4//
5//  Created by Nicholas Riley on Thu Jun 27 2002.
6//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
7//
8
9#import "DockCamStatus.h"
10#import "DockCamPrefs.h"
11
12@implementation DockCamStatus
13
14- (void)awakeFromNib;
15{
16    NSEnumerator *e = [[statusForm cells] objectEnumerator];
17    NSCell *cell;
18    while ( (cell = [e nextObject]) != nil) {
19        [cell setFont: [NSFont systemFontOfSize: [NSFont smallSystemFontSize]]];
20    }
21
22    // XXX workaround for bug in 10.1.5 (and earlier?): autosave name set in IB doesn't show up
23    [self setWindowFrameAutosaveName: @"DockCam Status"];
24    [[self window] setHidesOnDeactivate: YES];
25       
26    if ([DockCamPrefs boolForPref: DCShowStatus])
27        [self showWindow: self];
28}
29
30- (IBAction)showWindow:(id)sender;
31{
32    [DockCamPrefs setBool: YES forPref: DCShowStatus];
33    [showHideStatusItem setAction: @selector(hideWindow:)];
34    [showHideStatusItem setTitle: @"Hide Status"];
35    // No need to subscribe to notifications, as the delegate we're already subscribed
36    [[self window] orderFront: self];
37}
38
39- (IBAction)hideWindow:(id)sender;
40{
41    [[self window] orderOut: sender];
42    [DockCamPrefs setBool: NO forPref: DCShowStatus];
43    [showHideStatusItem setAction: @selector(showWindow:)];
44    [showHideStatusItem setTitle: @"Show Status"];
45}
46
47- (void)windowWillClose:(NSNotification *)aNotification;
48{
49    [self hideWindow: self];
50}
51
52#pragma mark status changes
53
54- (void)setLocation:(NSURL *)location;
55{
56    [locationCell setStringValue: [location absoluteString]];
57    [actualSize setStringValue: @""];
58    [retrievedDate setStringValue: @"never"];
59    [failedDate setStringValue: @"never"];
60    [failedReason setStringValue: @""];
61}
62
63- (void)setStatus:(NSString *)status;
64{
65    [statusCell setStringValue: status];
66}
67
68- (void)setRetrievedWithSize:(NSSize)size;
69{
70    static const unichar timesUnichar = 0x00d7;
71    [retrievedDate setObjectValue: [NSDate date]];
72    [self setStatus: @"Image retrieved successfully"];
73    [actualSize setStringValue: [NSString stringWithFormat: @"%.0f %@ %.0f pixels",
74        size.width, [NSString stringWithCharacters: &timesUnichar length: 1], size.height]];
75}
76
77- (void)setFailedWithReason:(NSString *)reason;
78{
79    [failedDate setObjectValue: [NSDate date]];
80    [failedReason setStringValue: reason];
81    [self setStatus: @"Image retrieval failed"];
82    if (![[self window] isVisible])
83        [self showWindow: self];
84}
85
86@end
Note: See TracBrowser for help on using the repository browser.