Changeset 877

Show
Ignore:
Timestamp:
07/05/04 01:59:06 (5 years ago)
Author:
morris
Message:

add a new primitive FHHandler -images and make the fullscreen view only view images

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Footagehead/trunk/FHController.m

    r876 r877  
    1 /* $Id: FHController.m,v 1.8 2004/07/04 23:37:37 morris Exp $ */ 
     1/* $Id: FHController.m,v 1.9 2004/07/04 23:59:06 morris Exp $ */ 
    22 
    33/* 
     
    253253- (void)windowWillClose:(NSNotification *)notification { 
    254254        if([notification object] == _fullscreenWindow) { 
    255                 FHBrowserCell           *cell; 
     255                FHBrowserCell   *cell; 
     256                int                             row; 
     257                 
     258                // --- get file 
     259                row = [_fullscreenWindow position]; 
     260                row = [[_handler files] indexOfObject:[[_handler images] objectAtIndex:row]]; 
    256261                 
    257262                // --- select where fullscreen exited 
    258                 cell = [_browserView cellAtRow:[_fullscreenWindow position] column:0]; 
    259                 [_browserView selectCell:cell]; 
     263                if(row >= 0) { 
     264                        cell = [_browserView cellAtRow:row column:0]; 
     265                        [_browserView selectCell:cell]; 
     266                } 
    260267                 
    261268                // --- clear self 
     
    798805        if(image) { 
    799806                if(!NSEqualSizes([image size], NSZeroSize)) { 
    800                         // --- get files 
    801                         files = [_handler files]; 
    802                         row = [files indexOfObject:file]; 
    803  
    804807                        // --- hide cursor 
    805808                        [NSCursor setHiddenUntilMouseMoves:YES]; 
    806809                         
    807810                        if(_fullscreenWindow) { 
    808                                 if(row == [_fullscreenWindow position]) { 
     811                                if([[_handler images] indexOfObject:file] == [_fullscreenWindow position]) { 
    809812                                        // --- display image 
    810813                                        [_fullscreenImageView setImage:[image smoothedImage]]; 
     
    820823                                } 
    821824                        } else { 
    822                                 if(row == [_browserView selectedRow]) { 
     825                                if([[_handler files] indexOfObject:file] == [_browserView selectedRow]) { 
    823826                                        // --- display image 
    824827                                        [_imageView setImage:[image smoothedImage]]; 
  • Footagehead/trunk/FHFullscreenWindow.h

    r867 r877  
    1 /* $Id: FHFullscreenWindow.h,v 1.4 2004/06/14 23:33:32 morris Exp $ */ 
     1/* $Id: FHFullscreenWindow.h,v 1.5 2004/07/04 23:59:06 morris Exp $ */ 
    22 
    33/* 
     
    2727 */ 
    2828 
    29 @class FHController, FHImageView; 
     29@class FHController, FHFile, FHImageView; 
    3030 
    3131@interface FHFullscreenWindow : NSWindow { 
     
    3535 
    3636 
     37- (FHFile *)                            file; 
    3738- (int)                                         position; 
    3839- (NSTimer *)                           timer; 
  • Footagehead/trunk/FHFullscreenWindow.m

    r875 r877  
    1 /* $Id: FHFullscreenWindow.m,v 1.5 2004/07/04 22:38:10 morris Exp $ */ 
     1/* $Id: FHFullscreenWindow.m,v 1.6 2004/07/04 23:59:06 morris Exp $ */ 
    22 
    33/* 
     
    4040        // --- set position 
    4141        _position = [[[self delegate] browserView] selectedRow]; 
     42        _position = [[[[self delegate] handler] images] indexOfObject: 
     43                 [[[[self delegate] handler] files] objectAtIndex:_position]]; 
    4244         
    4345        if(_position < 0) 
     
    4648        [[[self delegate] fullscreenImageView] setText:[NSString stringWithFormat: 
    4749                @"%@ - %u/%u", 
    48                 [[[[[self delegate] handler] files] objectAtIndex:_position] name], 
     50                [[[[[self delegate] handler] images] objectAtIndex:_position] name], 
    4951                _position + 1, 
    50                 [[[[self delegate] handler] files] count]]]; 
     52                [[[[self delegate] handler] images] count]]]; 
    5153         
    5254        // --- load image 
    53         [[self delegate] loadImage:[[[[self delegate] handler] files] objectAtIndex:_position]]; 
     55        [[self delegate] loadImage:[[[[self delegate] handler] images] objectAtIndex:_position]]; 
    5456 
    5557        // --- show window 
     
    7779 
    7880- (void)sendEvent:(NSEvent *)event { 
    79         BOOL            handled = NO, reload = NO; 
     81        BOOL            handled = NO, load = NO; 
    8082         
    8183        if([event type] == NSKeyDown && [[event characters] length] > 0) { 
     
    110112                                _position--; 
    111113                                 
    112                                 reload = YES; 
     114                                load = YES; 
    113115                                handled = YES; 
    114116                        } 
    115117                } 
    116                 else if(_position + 1 < [[[[self delegate] handler] files] count]) { 
     118                else if(_position + 1 < [[[[self delegate] handler] images] count]) { 
    117119                        _position++; 
    118120                         
    119                         reload = YES; 
     121                        load = YES; 
    120122                        handled = YES; 
    121123                } 
    122124        } 
    123125        else if([event type] == NSLeftMouseDown) { 
    124                 if(_position + 1 < [[[[self delegate] handler] files] count]) { 
     126                if(_position + 1 < [[[[self delegate] handler] images] count]) { 
    125127                        _position++; 
    126128 
    127                         reload = YES; 
     129                        load = YES; 
    128130                        handled = YES; 
    129131                } 
     
    133135                        _position--; 
    134136 
    135                         reload = YES; 
    136                         handled = YES; 
    137                 } 
    138         } 
    139          
    140         // --- reload image 
    141         if(reload) { 
     137                        load = YES; 
     138                        handled = YES; 
     139                } 
     140        } 
     141         
     142        // --- load image 
     143        if(load) { 
    142144                [[[self delegate] fullscreenImageView] setText:[NSString stringWithFormat: 
    143145                        @"%@ - %u/%u", 
    144                         [[[[[self delegate] handler] files] objectAtIndex:_position] name], 
     146                        [[[[[self delegate] handler] images] objectAtIndex:_position] name], 
    145147                        _position + 1, 
    146                         [[[[self delegate] handler] files] count]]]; 
     148                        [[[[self delegate] handler] images] count]]]; 
    147149                 
    148                 [[self delegate] loadImage:[[[[self delegate] handler] files] objectAtIndex:_position]]; 
     150                [[self delegate] loadImage:[[[[self delegate] handler] images] objectAtIndex:_position]]; 
    149151                 
    150152                if(_timer) 
     
    172174        [[[self delegate] fullscreenImageView] setText:[NSString stringWithFormat: 
    173175                @"%@ - %u/%u", 
    174                 [[[[[self delegate] handler] files] objectAtIndex:_position] name], 
     176                [[[[[self delegate] handler] images] objectAtIndex:_position] name], 
    175177                _position + 1, 
    176                 [[[[self delegate] handler] files] count]]]; 
    177          
    178         [[self delegate] loadImage:[[[[self delegate] handler] files] objectAtIndex:_position]]; 
    179  
    180         if(_timer) { 
    181                 [_timer setFireDate:[NSDate distantFuture]]; 
    182                  
    183                 if(_position + 1 == [[[[self delegate] handler] files] count]) 
    184                         [_timer invalidate]; 
    185         } 
     178                [[[[self delegate] handler] images] count]]]; 
     179         
     180        [[self delegate] loadImage:[[[[self delegate] handler] images] objectAtIndex:_position]]; 
     181 
     182        if(_position + 1 == [[[[self delegate] handler] images] count]) 
     183                [_timer invalidate]; 
     184
     185 
     186 
     187 
     188#pragma mark - 
     189 
     190- (FHFile *)file { 
     191        return [[[[self delegate] handler] images] objectAtIndex:_position]; 
    186192} 
    187193 
  • Footagehead/trunk/FHHandler.m

    r876 r877  
    1 /* $Id: FHHandler.m,v 1.3 2004/07/04 23:37:37 morris Exp $ */ 
     1/* $Id: FHHandler.m,v 1.4 2004/07/04 23:59:06 morris Exp $ */ 
    22 
    33/* 
     
    2929#import "NSFileManagerAdditions.h" 
    3030#import "NSStringAdditions.h" 
     31#import "FHFile.h" 
    3132#import "FHHandler.h" 
    3233 
     
    161162 
    162163- (NSArray *)images { 
    163         return [NSArray array]; 
     164        NSEnumerator    *enumerator; 
     165        NSArray                 *files; 
     166        FHFile                  *file; 
     167         
     168        // --- check for existing 
     169        if(_images) 
     170                return _images; 
     171         
     172        // --- get images 
     173        _images         = [[NSMutableArray alloc] initWithCapacity:20]; 
     174        files           = [self files]; 
     175        enumerator  = [files objectEnumerator]; 
     176         
     177        while((file = [enumerator nextObject])) { 
     178                if(![file isDirectory]) 
     179                        [_images addObject:file]; 
     180        } 
     181 
     182        return _images; 
    164183} 
    165184