131 lines
3.4 KiB
Objective-C
131 lines
3.4 KiB
Objective-C
//
|
|
// PreferencesController.m
|
|
// iLyrics
|
|
//
|
|
// Created by Kim Wittenburg on 14.06.12.
|
|
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
|
|
//
|
|
//TODO: Implement Auto-Lyricds Interval
|
|
//TODO: Set the title of the window when the toolbar button selection changed
|
|
|
|
#import "PreferencesController.h"
|
|
|
|
@implementation PreferencesController {
|
|
NSMutableArray *hosters;
|
|
AutoLyrics *autoLyrics;
|
|
}
|
|
@synthesize generalView;
|
|
@synthesize autoLyricsView;
|
|
@synthesize toggleAutoLyricsButton;
|
|
@synthesize replaceOldCheckBox;
|
|
@synthesize preferencesWindow;
|
|
@synthesize generalButton;
|
|
@synthesize hosterTable;
|
|
|
|
-(id)init {
|
|
autoLyrics = [AutoLyrics autoLyrics];
|
|
hosters = [[NSMutableArray alloc] init];
|
|
return [super init];
|
|
}
|
|
|
|
#pragma mark -
|
|
#pragma mark Window Delegate Methods
|
|
|
|
-(void)awakeFromNib {
|
|
if ([autoLyrics enabled]) {
|
|
[self enableAutoLyrics:toggleAutoLyricsButton];
|
|
} else {
|
|
[self disableAutoLyrics:toggleAutoLyricsButton];
|
|
}
|
|
if ([autoLyrics replaceOldLyrics]) {
|
|
[replaceOldCheckBox setState:NSOnState];
|
|
} else {
|
|
[replaceOldCheckBox setState:NSOffState];
|
|
}
|
|
[[preferencesWindow toolbar] setSelectedItemIdentifier:@"general"];
|
|
[self showGeneralPreferences:nil];
|
|
}
|
|
|
|
#pragma mark -
|
|
#pragma mark Properties
|
|
|
|
-(NSArray *)hosters {
|
|
return hosters;
|
|
}
|
|
|
|
-(void)setHosters:(NSArray *)hstrs {
|
|
hosters = [NSMutableArray arrayWithArray:hstrs];
|
|
[hosterTable reloadData];
|
|
}
|
|
|
|
#pragma mark Modifying hosters
|
|
|
|
-(void)addHoster:(id<LyricsHoster>)hoster {
|
|
[hosters addObject:hoster];
|
|
[hosterTable reloadData];
|
|
}
|
|
|
|
-(void)removeHoster:(id<LyricsHoster>)hoster {
|
|
[hosters removeObject:hoster];
|
|
[hosterTable reloadData];
|
|
}
|
|
|
|
- (IBAction)showGeneralPreferences:(id)sender {
|
|
[self changeContentViewTo:generalView];
|
|
}
|
|
|
|
-(IBAction)showAutoLyricsPreferences:(id)sender {
|
|
[self changeContentViewTo:autoLyricsView];
|
|
}
|
|
|
|
- (IBAction)toggleAutoLyrics:(id)sender {
|
|
if ([autoLyrics enabled]) {
|
|
[self disableAutoLyrics:sender];
|
|
} else {
|
|
[self enableAutoLyrics:sender];
|
|
}
|
|
}
|
|
|
|
-(void)enableAutoLyrics: (id) sender{
|
|
[autoLyrics setEnabled:YES];
|
|
[sender setTitle:NSLocalizedString(@"iLyrics.text.disableAutoLyrics", @"")];
|
|
}
|
|
|
|
-(void)disableAutoLyrics: (id) sender {
|
|
[autoLyrics setEnabled:NO];
|
|
[sender setTitle:NSLocalizedString(@"iLyrics.text.enableAutoLyrics", @"")];
|
|
}
|
|
|
|
- (IBAction)changeAutoLyricsInterval:(id)sender {
|
|
NSLog(@"%i", [sender intValue]);
|
|
}
|
|
|
|
- (IBAction)toggleReplaceOldLyrics:(id)sender {
|
|
[autoLyrics setReplaceOldLyrics:[sender state] == NSOnState];
|
|
}
|
|
|
|
- (void)changeContentViewTo: (NSView *)view {
|
|
[preferencesWindow setContentView:view];
|
|
//[preferencesWindow setFrame:[view frame] display:YES animate:YES];
|
|
}
|
|
|
|
#pragma mark -
|
|
#pragma mark Table Data Source
|
|
-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
|
|
return [hosters count];
|
|
}
|
|
|
|
-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
|
|
if ([[tableColumn identifier] isEqualToString:@"hoster"]) {
|
|
return [[hosters objectAtIndex:row] name];
|
|
} else {
|
|
NSDate *version = [[hosters objectAtIndex:row] hosterVersion];
|
|
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
|
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
|
|
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
|
|
return [dateFormatter stringFromDate:version];
|
|
}
|
|
}
|
|
|
|
@end
|