Changeset 4465

Show
Ignore:
Timestamp:
02/01/07 11:32:29 (2 years ago)
Author:
morris
Message:

Update for WiredAdditions?

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Footagehead/trunk/English.lproj/MainMenu.nib/classes.nib

    r3944 r4465  
    2424                setAsDesktopPicture = id;  
    2525                slideshow = id;  
     26                toggleStatusBar = id;  
    2627                zoom = id;  
    2728            };  
     
    2930            LANGUAGE = ObjC;  
    3031            OUTLETS = { 
     32                "_contentBox" = NSBox;  
    3133                "_fileTableColumn" = NSTableColumn;  
    3234                "_fullscreenImageView" = FHImageView;  
     
    5456                "_scrollView" = NSScrollView;  
    5557                "_splitView" = WISplitView;  
     58                "_statusBox" = NSBox;  
    5659                "_tableView" = WITableView;  
     60                "_toggleStatusBarMenuItem" = NSMenuItem;  
     61                "_viewMenu" = NSMenu;  
    5762                "_zoomButton" = NSButton;  
    5863            };  
  • Footagehead/trunk/English.lproj/MainMenu.nib/info.nib

    r4095 r4465  
    44<dict> 
    55        <key>IBDocumentLocation</key> 
    6         <string>891 10 395 374 0 0 1920 1178 </string> 
     6        <string>860 245 395 374 0 0 1920 1178 </string> 
    77        <key>IBEditorPositions</key> 
    88        <dict> 
    99                <key>29</key> 
    10                 <string>373 800 317 44 0 0 1920 1178 </string> 
     10                <string>854 978 365 44 0 0 1920 1178 </string> 
    1111                <key>592</key> 
    1212                <string>118 501 223 118 0 0 1280 1002 </string> 
    1313        </dict> 
    1414        <key>IBFramework Version</key> 
    15         <string>443.0</string> 
     15        <string>446.1</string> 
    1616        <key>IBOldestOS</key> 
    1717        <integer>3</integer> 
    1818        <key>IBOpenObjects</key> 
    1919        <array> 
     20                <integer>29</integer> 
     21                <integer>21</integer> 
    2022                <integer>302</integer> 
    2123        </array> 
    2224        <key>IBSystem Version</key> 
    23         <string>8I127</string> 
     25        <string>8L127</string> 
    2426</dict> 
    2527</plist> 
  • Footagehead/trunk/English.lproj/ReleaseNotes.rtf

    r4369 r4465  
    425425\f0\b \cf3 \ 
    426426\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural 
    427 \cf2 1.2.2 
     427\cf2 1.2.3 
     428\f1\b0 \cf0 \ 
     429- Add support for LHA/LZH/tar formats\ 
     430 
     431\f0\b \cf2 \ 
     4321.2.2 
    428433\f1\b0 \cf0 \ 
    429434- Fix a bug that prevented auto switch from working\ 
  • Footagehead/trunk/FHController.h

    r4085 r4465  
    3333        IBOutlet NSMenuItem                             *_openSpotlightMenuItem; 
    3434         
     35        IBOutlet NSMenu                                 *_viewMenu; 
     36        IBOutlet NSMenuItem                             *_toggleStatusBarMenuItem; 
     37         
     38        IBOutlet NSBox                                  *_contentBox; 
     39        IBOutlet NSBox                                  *_statusBox; 
     40 
    3541        IBOutlet WISplitView                    *_splitView; 
    3642        IBOutlet NSView                                 *_leftView; 
     
    111117- (IBAction)setAsDesktopPicture:(id)sender; 
    112118- (IBAction)delete:(id)sender; 
     119- (IBAction)toggleStatusBar:(id)sender; 
    113120 
    114121@end 
  • Footagehead/trunk/FHController.m

    r4368 r4465  
    7272- (void)_updateFullscreenStatus; 
    7373- (void)_updateTableView; 
     74 
     75- (void)_toggleStatusBar:(BOOL)show; 
    7476 
    7577@end 
     
    788790} 
    789791 
     792 
     793 
     794#pragma mark - 
     795 
     796- (void)_toggleStatusBar:(BOOL)show { 
     797        NSRect          windowFrame, contentFrame; 
     798        float           height; 
     799         
     800        windowFrame             = [[self window] frame]; 
     801        contentFrame    = [_contentBox frame]; 
     802        height                  = [_statusBox frame].size.height; 
     803         
     804        if(show) { 
     805                contentFrame.origin.y           = height; 
     806                windowFrame.origin.y            -= height; 
     807                windowFrame.size.height         += height; 
     808        } else { 
     809                contentFrame.origin.y           = 0.0; 
     810                windowFrame.origin.y            += height; 
     811                windowFrame.size.height         -= height; 
     812        } 
     813         
     814        [_statusBox setHidden:!show]; 
     815        [_contentBox setFrameOrigin:contentFrame.origin]; 
     816         
     817        NSLog(@"1 %@", NSStringFromRect([_contentBox frame])); 
     818 
     819        [[[self window] contentView] setAutoresizesSubviews:NO]; 
     820//      [_contentBox setAutoresizingMask:NSViewNotSizable]; 
     821        [[self window] setFrame:windowFrame display:YES animate:YES]; 
     822//      [_contentBox setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; 
     823        [[[self window] contentView] setAutoresizesSubviews:YES]; 
     824 
     825        NSLog(@"2 %@", NSStringFromRect([_contentBox frame])); 
     826} 
     827 
    790828@end 
    791829 
     
    847885        // --- set up URL panel 
    848886        [_openURLPopUpButton selectItemWithTag:[FHSettings intForKey:FHHTMLImageType]]; 
     887         
     888        // --- set up status bar 
     889        if(![FHSettings boolForKey:FHShowStatusBar]) 
     890                [self _toggleStatusBar:NO]; 
    849891 
    850892        // --- create locks 
     
    11141156 
    11151157        return handled; 
     1158} 
     1159 
     1160 
     1161 
     1162- (void)menuNeedsUpdate:(NSMenu *)menu { 
     1163        if(menu == _viewMenu) { 
     1164                [_toggleStatusBarMenuItem setTitle:![FHSettings boolForKey:FHShowStatusBar] 
     1165                        ? NSLS(@"Show Status Bar", @"Menu item title") 
     1166                        : NSLS(@"Hide Status Bar", @"Menu item title")]; 
     1167        } 
    11161168} 
    11171169 
     
    11831235        [_openURLPanel close]; 
    11841236         
    1185         if(returnCode == NSRunStoppedResponse) { 
     1237        if(returnCode == NSAlertDefaultReturn) { 
    11861238                [FHSettings setInt:[_openURLPopUpButton tagOfSelectedItem] forKey:FHHTMLImageType]; 
    11871239 
     
    12091261        [_openSpotlightPanel close]; 
    12101262         
    1211         if(returnCode == NSRunStoppedResponse) { 
     1263        if(returnCode == NSAlertDefaultReturn) { 
    12121264                url = [[WIURL alloc] initWithScheme:@"spotlight" host:@"localhost" port:0]; 
    12131265                [url setPath:[NSSWF:@"/%@", [_openSpotlightTextView string]]]; 
     
    15191571        [_screenPanel close]; 
    15201572         
    1521         if(returnCode == NSRunStoppedResponse) { 
     1573        if(returnCode == NSAlertDefaultReturn) { 
    15221574                // --- save in prefs 
    15231575                [FHSettings setInt:[_screenPopUpButton indexOfSelectedItem] forKey:FHFullscreenScreen]; 
     
    16211673 
    16221674 
     1675- (IBAction)toggleStatusBar:(id)sender { 
     1676        BOOL    show; 
     1677         
     1678        show = [FHSettings boolForKey:FHShowStatusBar]; 
     1679         
     1680        [self _toggleStatusBar:!show]; 
     1681         
     1682        [FHSettings setBool:!show forKey:FHShowStatusBar]; 
     1683} 
     1684 
     1685 
     1686 
    16231687#pragma mark - 
    16241688 
  • Footagehead/trunk/FHFeedHandler.m

    r3400 r4465  
    3232#import "FHHTMLParser.h" 
    3333 
    34 @interface FHFeedHandler(Private) 
    35  
    3634enum FHFeedParseMode { 
    3735        FHFeedParseHeader, 
     
    4139 
    4240 
    43 - (void)parse; 
    44 - (void)parseImageHeaderInTree:(CFXMLTreeRef)imageTree; 
     41@interface FHFeedHandler(Private) 
     42 
     43- (void)_parse; 
     44- (void)_parseImageHeaderInTree:(CFXMLTreeRef)imageTree; 
    4545 
    4646@end 
    4747 
    4848 
    49 @implementation FHFeedHandler 
    50  
    51 + (Class)handlerForURL:(WIURL *)url { 
    52         NSString        *host; 
    53          
    54         host = [url host]; 
    55          
    56         if([host hasSuffix:@"flickr.com"]) 
    57                 return [FHFlickrHandler class]; 
    58          
    59         return self; 
    60 
    61  
    62  
    63  
    64 #pragma mark - 
    65  
    66 - (id)initHandlerWithURL:(WIURL *)url feed:(CFXMLTreeRef)feed { 
    67         CFXMLNodeRef    node; 
    68         NSString                *name; 
    69         FHFeedFormat    format; 
    70          
    71         format = FHFeedUnknown; 
    72          
    73         if(CFTreeGetChildCount(feed) >= 2) { 
    74                 node = CFXMLTreeGetNode(CFTreeGetChildAtIndex(feed, 1)); 
    75                 name = (NSString *) CFXMLNodeGetString(node); 
    76          
    77                 if([name isEqualToString:@"rss"]) 
    78                         format = FHFeedRSS; 
    79                 else if([name isEqualToString:@"feed"]) 
    80                         format = FHFeedAtom; 
    81         } 
    82  
    83         return [self initHandlerWithURL:url feed:feed format:format]; 
    84 
    85  
    86  
    87  
    88 - (id)initHandlerWithURL:(WIURL *)url feed:(CFXMLTreeRef)feed format:(FHFeedFormat)format { 
    89         CFXMLTreeRef    rssTree; 
    90          
    91         self = [super initHandlerWithURL:url]; 
    92          
    93         _feed = (CFXMLTreeRef) CFRetain(feed); 
    94         _format = format; 
    95  
    96         if(_format == FHFeedRSS) { 
    97                 rssTree = [self treeWithName:@"rss" inTree:_feed]; 
    98                  
    99                 if(!rssTree) 
    100                         rssTree = [self treeWithName:@"rdf:RDF" inTree:_feed]; 
    101                  
    102                 if(!rssTree) { 
    103                         [self release]; 
    104                          
    105                         return NULL; 
    106                 } 
    107                  
    108                 _contentTree = [self treeWithName:@"channel" inTree:rssTree]; 
    109                  
    110                 if(!_contentTree) 
    111                         _contentTree = [self treeWithName:@"rss:channel" inTree:rssTree]; 
    112                  
    113                 if(!_contentTree) { 
    114                         [self release]; 
    115                          
    116                         return NULL; 
    117                 } 
    118         } 
    119          
    120         [self parse]; 
    121                  
    122         return self; 
    123 
    124  
    125  
    126  
    127 - (void)dealloc { 
    128         CFRelease(_feed); 
    129          
    130         [super dealloc]; 
    131 
    132  
    133  
    134  
    135 #pragma mark - 
    136 - (void)parse { 
     49@implementation FHFeedHandler(Private) 
     50 
     51- (void)_parse { 
    13752        NSMutableDictionary             *items; 
    13853        NSString                                *dividerKey, *name, *itemName; 
     
    16075                if(mode == FHFeedParseHeader) { 
    16176                        if([name isEqualTo:@"image"]) 
    162                                 [self parseImageHeaderInTree:tree]; 
     77                                [self _parseImageHeaderInTree:tree]; 
    16378                         
    16479                        [_header setObject:[self valueOfTree:tree] forKey:name]; 
     
    18499 
    185100 
    186 - (void)parseImageHeaderInTree:(CFXMLTreeRef)imageTree { 
     101- (void)_parseImageHeaderInTree:(CFXMLTreeRef)imageTree { 
    187102        NSString                *name; 
    188103        CFXMLTreeRef    tree; 
     
    197112                name = (NSString *) CFXMLNodeGetString(node); 
    198113                 
    199                 [_header setObject: [self valueOfTree:tree] forKey:[@"image" stringByAppendingString:name]]; 
    200         } 
     114                [_header setObject:[self valueOfTree:tree] forKey:[@"image" stringByAppendingString:name]]; 
     115        } 
     116
     117 
     118@end 
     119 
     120 
     121@implementation FHFeedHandler 
     122 
     123+ (Class)handlerForURL:(WIURL *)url { 
     124        NSString        *host; 
     125         
     126        host = [url host]; 
     127         
     128        if([host hasSuffix:@"flickr.com"]) 
     129                return [FHFlickrHandler class]; 
     130         
     131        return self; 
    201132} 
    202133 
     
    205136#pragma mark - 
    206137 
     138- (id)initHandlerWithURL:(WIURL *)url feed:(CFXMLTreeRef)feed { 
     139        CFXMLNodeRef    node; 
     140        NSString                *name; 
     141        FHFeedFormat    format; 
     142         
     143        format = FHFeedUnknown; 
     144         
     145        if(CFTreeGetChildCount(feed) >= 2) { 
     146                node = CFXMLTreeGetNode(CFTreeGetChildAtIndex(feed, 1)); 
     147                name = (NSString *) CFXMLNodeGetString(node); 
     148         
     149                if([name isEqualToString:@"rss"]) 
     150                        format = FHFeedRSS; 
     151                else if([name isEqualToString:@"feed"]) 
     152                        format = FHFeedAtom; 
     153        } 
     154 
     155        return [self initHandlerWithURL:url feed:feed format:format]; 
     156} 
     157 
     158 
     159 
     160- (id)initHandlerWithURL:(WIURL *)url feed:(CFXMLTreeRef)feed format:(FHFeedFormat)format { 
     161        CFXMLTreeRef    rssTree; 
     162         
     163        self = [super initHandlerWithURL:url]; 
     164         
     165        _feed = (CFXMLTreeRef) CFRetain(feed); 
     166        _format = format; 
     167 
     168        if(_format == FHFeedRSS) { 
     169                rssTree = [self treeWithName:@"rss" inTree:_feed]; 
     170                 
     171                if(!rssTree) 
     172                        rssTree = [self treeWithName:@"rdf:RDF" inTree:_feed]; 
     173                 
     174                if(!rssTree) { 
     175                        [self release]; 
     176                         
     177                        return NULL; 
     178                } 
     179                 
     180                _contentTree = [self treeWithName:@"channel" inTree:rssTree]; 
     181                 
     182                if(!_contentTree) 
     183                        _contentTree = [self treeWithName:@"rss:channel" inTree:rssTree]; 
     184                 
     185                if(!_contentTree) { 
     186                        [self release]; 
     187                         
     188                        return NULL; 
     189                } 
     190        } 
     191         
     192        [self _parse]; 
     193                 
     194        return self; 
     195} 
     196 
     197 
     198 
     199- (void)dealloc { 
     200        CFRelease(_feed); 
     201         
     202        [super dealloc]; 
     203} 
     204 
     205 
     206 
     207#pragma mark - 
    207208 
    208209- (NSString *)itemDividerKey { 
  • Footagehead/trunk/FHHandler.m

    r4418 r4465  
    6565        } 
    6666 
    67  
    6867        return classes; 
    6968} 
  • Footagehead/trunk/FHLHAHandler.m

    r4419 r4465  
    3737                types = [[NSArray alloc] initWithObjects: 
    3838                        @"lha", @"LHA", 
    39                         @"lzh", @"LZH", 
    4039                        NULL]; 
    4140        } 
  • Footagehead/trunk/FHSettings.h

    r3944 r4465  
    4444#define FHHTMLImageOnlyInline                                   1 
    4545#define FHHTMLImageOnlyLinks                                    2 
     46#define FHShowStatusBar                                         @"FHShowStatusBar" 
    4647 
    4748@end 
  • Footagehead/trunk/FHSettings.m

    r3944 r4465  
    5353                [NSNumber numberWithInt:FHHTMLImageBothInlineAndLinks], 
    5454                        FHHTMLImageType, 
     55                [NSNumber numberWithBool:YES], 
     56                        FHShowStatusBar, 
    5557                NULL]; 
    5658} 
  • Footagehead/trunk/Footagehead.xcodeproj/project.pbxproj

    r4418 r4465  
    256256                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; 
    257257                        proxyType = 1; 
    258                         remoteGlobalIDString = 778F0B450B64C46900E3CD47 /* lha */
     258                        remoteGlobalIDString = 778F0B450B64C46900E3CD47
    259259                        remoteInfo = lha; 
    260260                }; 
     
    845845                                77EAADD8084B546D006C9F69 /* FHURLHandler.m */, 
    846846                                77EAADD9084B546D006C9F69 /* FHURLHandler.h */, 
     847                                A519AA32084BA91B00EFF2EA /* FHFeedHandler.m */, 
     848                                A519AA33084BA91B00EFF2EA /* FHFeedHandler.h */, 
    847849                                A519AA10084BA8FB00EFF2EA /* Feed Handlers */, 
    848850                                A5B1F9AA067BCF0100111D0A /* FHHTMLHandler.m */, 
     
    857859                        isa = PBXGroup; 
    858860                        children = ( 
    859                                 A519AA32084BA91B00EFF2EA /* FHFeedHandler.m */, 
    860                                 A519AA33084BA91B00EFF2EA /* FHFeedHandler.h */, 
    861861                                77EAC0D3084C6D1F006C9F69 /* FHFlickrHandler.m */, 
    862862                                77EAC0D2084C6D1F006C9F69 /* FHFlickrHandler.h */,