+
+- (void)setColumn: (NSString *)o_column state: (NSInteger)i_state
+{
+ NSTableColumn * o_work_tc;
+
+ if (i_state == NSOnState)
+ {
+ o_work_tc = [[NSTableColumn alloc] initWithIdentifier: o_column];
+ [o_work_tc setEditable: NO];
+ [[o_work_tc dataCell] setFont: [NSFont controlContentFontOfSize:11.]];
+
+ /* we cannot use a makro here, because gettext isn't clever enough for that */
+ if ([o_column isEqualToString: TRACKNUM_COLUMN])
+ {
+ [o_work_tc setMaxWidth: 20.];
+ [[o_work_tc headerCell] setStringValue: @"#"];
+ }
+ else if ([o_column isEqualToString: TITLE_COLUMN])
+ {
+ [[o_work_tc headerCell] setStringValue: _NS("Name")];
+ [o_work_tc setResizingMask: NSTableColumnAutoresizingMask | NSTableColumnUserResizingMask];
+ }
+ else if ([o_column isEqualToString: ARTIST_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Author")];
+ else if ([o_column isEqualToString: DURATION_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Duration")];
+ else if ([o_column isEqualToString: GENRE_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Genre")];
+ else if ([o_column isEqualToString: ALBUM_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Album")];
+ else if ([o_column isEqualToString: DESCRIPTION_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Description")];
+ else if ([o_column isEqualToString: DATE_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Date")];
+ else if ([o_column isEqualToString: LANGUAGE_COLUMN])
+ [[o_work_tc headerCell] setStringValue: _NS("Language")];
+
+ [o_outline_view addTableColumn: o_work_tc];
+ [o_work_tc release];
+ [o_outline_view reloadData];
+ [o_outline_view setNeedsDisplay: YES];
+ }
+ else
+ [o_outline_view removeTableColumn: [o_outline_view tableColumnWithIdentifier: o_column]];
+}
+
+- (void)saveTableColumns
+{
+ NSMutableArray * o_arrayToSave = [[NSMutableArray alloc] init];
+ NSArray * o_columns = [[NSArray alloc] initWithArray:[o_outline_view tableColumns]];
+ NSUInteger count = [o_columns count];
+ NSTableColumn * o_currentColumn;
+ for (NSUInteger i = 0; i < count; i++)
+ {
+ o_currentColumn = [o_columns objectAtIndex: i];
+ [o_arrayToSave addObject: [NSArray arrayWithObjects: [o_currentColumn identifier], [NSNumber numberWithFloat: [o_currentColumn width]], nil]];
+ }
+ [[NSUserDefaults standardUserDefaults] setObject: o_arrayToSave forKey:@"PlaylistColumnSelection"];
+ [[NSUserDefaults standardUserDefaults] synchronize];
+ [o_columns release];
+ [o_arrayToSave release];
+}
+