OSDN Git Service

Fix hb_log to truncate the message at the correct point, fixes 1244.
[handbrake-jp/handbrake-jp-git.git] / macosx / ChapterTitles.m
1 /*  ChapterTitles.m $
2
3    This file is part of the HandBrake source code.
4    Homepage: <http://handbrake.m0k.org/>.
5    It may be used under the terms of the GNU General Public License. */
6    
7 #include "ChapterTitles.h"
8 #include "hb.h"
9
10 @implementation ChapterTitles
11 - (id)init 
12 {
13     self = [super init];
14     if( self != nil )
15     {
16         fTitle = NULL;
17     }
18     
19     return self;
20 }
21
22 - (void)resetWithTitle:(hb_title_t *)title
23 {
24     int i;
25     NSString *chapterString;
26     
27     fTitle = title;
28
29     if (!title)
30         return;
31
32     int count = hb_list_count( title->list_chapter );
33
34     for( i = 0; i < count; i++ )
35     {
36         hb_chapter_t *chapter = hb_list_item( title->list_chapter, i );
37         
38         if( chapter != NULL && chapter->title[0] == '\0' )
39         {
40             chapterString = [NSString stringWithFormat:@"Chapter %2d",(i+1)];
41     
42             strncpy( chapter->title, [chapterString UTF8String], 1023);
43             chapter->title[1023] = '\0';
44         }
45     }
46     
47 }
48
49 - (int)numberOfRowsInTableView:(NSTableView *)aTableView
50 {
51     if( fTitle == NULL )
52     {
53         return 0;
54     }
55     else
56     {
57         return hb_list_count( fTitle->list_chapter );
58     }
59 }
60
61 - (void)tableView:(NSTableView *)aTableView
62         setObjectValue:(id)anObject
63         forTableColumn:(NSTableColumn *)aTableColumn
64         row:(int)rowIndex
65 {
66     if(aTableColumn != nil && [[aTableColumn identifier] intValue] == 2)
67     {
68         hb_chapter_t *chapter = hb_list_item( fTitle->list_chapter, rowIndex );
69         
70         if( chapter != NULL )
71         {
72             strncpy( chapter->title, [anObject UTF8String], 1023);
73             chapter->title[1023] = '\0';
74         }
75     }
76 }
77
78 - (id)tableView:(NSTableView *)aTableView
79       objectValueForTableColumn:(NSTableColumn *)aTableColumn
80       row:(int)rowIndex
81 {
82     NSString *cellEntry;
83
84     if([[aTableColumn identifier] intValue] == 1)
85     {
86         cellEntry = [NSString stringWithFormat:@"%d",rowIndex+1];
87     }
88     else
89     {
90         hb_chapter_t *chapter = hb_list_item( fTitle->list_chapter, rowIndex );
91         
92         if( chapter != NULL )
93         {
94             cellEntry = [NSString stringWithUTF8String:chapter->title];
95         }
96         else
97         {
98             cellEntry = @"__DATA ERROR__";
99         }
100     }
101     
102     return cellEntry;
103 }
104 @end