summaryrefslogtreecommitdiffstats
path: root/macosx/ChapterTitles.m
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/ChapterTitles.m')
-rw-r--r--macosx/ChapterTitles.m99
1 files changed, 99 insertions, 0 deletions
diff --git a/macosx/ChapterTitles.m b/macosx/ChapterTitles.m
new file mode 100644
index 000000000..26f71913d
--- /dev/null
+++ b/macosx/ChapterTitles.m
@@ -0,0 +1,99 @@
+/* ChapterTitles.m $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.m0k.org/>.
+ 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;
+ }
+
+ return self;
+}
+
+- (void)resetWithTitle:(hb_title_t *)title
+{
+ int i;
+ NSString *chapterString;
+ int count = hb_list_count( title->list_chapter );
+
+ for( i = 0; i < count; i++ )
+ {
+ hb_chapter_t *chapter = hb_list_item( title->list_chapter, i );
+
+ if( chapter != NULL && chapter->title[0] == '\0' )
+ {
+ chapterString = [NSString stringWithFormat:@"Chapter %2d",(i+1)];
+
+ strncpy( chapter->title, [chapterString UTF8String], 1023);
+ chapter->title[1023] = '\0';
+ }
+ }
+
+ fTitle = title;
+}
+
+- (int)numberOfRowsInTableView:(NSTableView *)aTableView
+{
+ if( fTitle == NULL )
+ {
+ return 0;
+ }
+ else
+ {
+ return hb_list_count( fTitle->list_chapter );
+ }
+}
+
+- (void)tableView:(NSTableView *)aTableView
+ setObjectValue:(id)anObject
+ forTableColumn:(NSTableColumn *)aTableColumn
+ row:(int)rowIndex
+{
+ if(aTableColumn != nil && [[aTableColumn identifier] intValue] == 2)
+ {
+ hb_chapter_t *chapter = hb_list_item( fTitle->list_chapter, rowIndex );
+
+ if( chapter != NULL )
+ {
+ strncpy( chapter->title, [anObject UTF8String], 1023);
+ chapter->title[1023] = '\0';
+ }
+ }
+}
+
+- (id)tableView:(NSTableView *)aTableView
+ objectValueForTableColumn:(NSTableColumn *)aTableColumn
+ row:(int)rowIndex
+{
+ NSString *cellEntry;
+
+ if([[aTableColumn identifier] intValue] == 1)
+ {
+ cellEntry = [NSString stringWithFormat:@"%d",rowIndex+1];
+ }
+ else
+ {
+ hb_chapter_t *chapter = hb_list_item( fTitle->list_chapter, rowIndex );
+
+ if( chapter != NULL )
+ {
+ cellEntry = [NSString stringWithUTF8String:chapter->title];
+ }
+ else
+ {
+ cellEntry = @"__DATA ERROR__";
+ }
+ }
+
+ return cellEntry;
+}
+@end