diff options
Diffstat (limited to 'macosx/ChapterTitles.m')
-rw-r--r-- | macosx/ChapterTitles.m | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/macosx/ChapterTitles.m b/macosx/ChapterTitles.m deleted file mode 100644 index 3bef60c44..000000000 --- a/macosx/ChapterTitles.m +++ /dev/null @@ -1,138 +0,0 @@ -/* ChapterTitles.m $ - - This file is part of the HandBrake source code. - Homepage: <http://handbrake.fr/>. - It may be used under the terms of the GNU General Public License. */ - -#include "ChapterTitles.h" -#include "hb.h" - -@implementation ChapterTitles -- (id)init -{ - self = [super init]; - if (self != nil) - { - fTitle = NULL; - fChapterTitlesArray = [[[NSMutableArray alloc] init] retain]; - } - return self; -} - -- (void)dealloc -{ - [fChapterTitlesArray release]; - [super dealloc]; -} - -- (void)resetWithTitle:(hb_title_t *)title -{ - fTitle = title; - [fChapterTitlesArray removeAllObjects]; - - if (fTitle == NULL) - return; - - for (int i = 0; i < hb_list_count(fTitle->job->list_chapter); i++) - { - hb_chapter_t *chapter = hb_list_item(fTitle->job->list_chapter, i); - if (chapter != NULL) - { - if (chapter->title != NULL) - { - [fChapterTitlesArray addObject:[NSString - stringWithFormat:@"%s", - chapter->title]]; - } - else - { - [fChapterTitlesArray addObject:[NSString - stringWithFormat:@"Chapter %d", - i + 1]]; - } - } - } -} - -- (NSArray*)chapterTitlesArray -{ - return [NSArray arrayWithArray:fChapterTitlesArray]; -} - -- (NSUInteger)numberOfRowsInTableView:(NSTableView *)aTableView -{ - if (fTitle == NULL) - { - return 0; - } - else - { - return [fChapterTitlesArray count]; - } -} - -- (void)tableView:(NSTableView *)aTableView - setObjectValue:(id)anObject - forTableColumn:(NSTableColumn *)aTableColumn - row:(NSInteger)rowIndex -{ - if (aTableColumn != nil && [[aTableColumn identifier] intValue] == 2 && - fTitle != NULL) - { - [fChapterTitlesArray replaceObjectAtIndex:rowIndex - withObject:[NSString - stringWithString:anObject]]; - } -} - -- (id)tableView:(NSTableView *)aTableView - objectValueForTableColumn:(NSTableColumn *)aTableColumn - row:(NSInteger)rowIndex -{ - if ([[aTableColumn identifier] intValue] == 1) - { - return [NSString stringWithFormat:@"%ld", rowIndex + 1]; - } - else if (fTitle != NULL) - { - return [NSString stringWithString:[fChapterTitlesArray - objectAtIndex:rowIndex]]; - } - return @"__DATA ERROR__"; -} - -/* Method to edit the next chapter when the user presses Return. We have to use -a timer to avoid interfering with the chain of events that handles the edit. */ -- (void)controlTextDidEndEditing: (NSNotification *) notification -{ - NSTableView *chapterTable = [notification object]; - NSInteger column = [chapterTable editedColumn]; - NSInteger row = [chapterTable editedRow]; - NSInteger textMovement; - - // Edit the cell in the next row, same column - row++; - textMovement = [[[notification userInfo] objectForKey:@"NSTextMovement"] integerValue]; - if( textMovement == NSReturnTextMovement && row < [chapterTable numberOfRows] ) - { - NSArray *info = [NSArray arrayWithObjects:chapterTable, - [NSNumber numberWithInteger:column], [NSNumber numberWithInteger:row], nil]; - /* The delay is unimportant; editNextRow: won't be called until the responder - chain finishes because the event loop containing the timer is on this thread */ - [self performSelector:@selector(editNextRow:) withObject:info afterDelay:0.0]; - } -} - -- (void)editNextRow: (id) objects -{ - NSTableView *chapterTable = [objects objectAtIndex:0]; - NSInteger column = [[objects objectAtIndex:1] integerValue]; - NSInteger row = [[objects objectAtIndex:2] integerValue]; - - if( row >= 0 && row < [chapterTable numberOfRows] ) - { - [chapterTable selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; - [chapterTable editColumn:column row:row withEvent:nil select:YES]; - } -} -@end |