Performance improvements for the status column.
parent
e58c172eeb
commit
c31eae4541
|
@ -217,21 +217,6 @@ increase/decrease as long as the user holds the left/right, plus/minus button */
|
||||||
return [key isEqualToString:@"currentEntry"] || [key isEqualToString:@"play"];
|
return [key isEqualToString:@"currentEntry"] || [key isEqualToString:@"play"];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)initShowColumn:(NSMenuItem *)showColumn withIdentifier:(NSString *)identifier
|
|
||||||
{
|
|
||||||
id tc = [playlistView tableColumnWithIdentifier:identifier];
|
|
||||||
|
|
||||||
|
|
||||||
if ([tc isHidden]) {
|
|
||||||
[showColumn setState:NSOffState];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
[showColumn setState:NSOnState];
|
|
||||||
}
|
|
||||||
|
|
||||||
[showColumn setRepresentedObject: tc];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)awakeFromNib
|
- (void)awakeFromNib
|
||||||
{
|
{
|
||||||
[mainWindow setExcludedFromWindowsMenu:YES];
|
[mainWindow setExcludedFromWindowsMenu:YES];
|
||||||
|
@ -247,15 +232,6 @@ increase/decrease as long as the user holds the left/right, plus/minus button */
|
||||||
[repeatButton setToolTip:NSLocalizedString(@"RepeatButtonTooltip", @"")];
|
[repeatButton setToolTip:NSLocalizedString(@"RepeatButtonTooltip", @"")];
|
||||||
[fileButton setToolTip:NSLocalizedString(@"FileButtonTooltip", @"")];
|
[fileButton setToolTip:NSLocalizedString(@"FileButtonTooltip", @"")];
|
||||||
|
|
||||||
[self initShowColumn: showIndexColumn withIdentifier: @"index"];
|
|
||||||
[self initShowColumn: showTitleColumn withIdentifier: @"title"];
|
|
||||||
[self initShowColumn: showArtistColumn withIdentifier: @"artist"];
|
|
||||||
[self initShowColumn: showAlbumColumn withIdentifier: @"album"];
|
|
||||||
[self initShowColumn: showGenreColumn withIdentifier: @"genre"];
|
|
||||||
[self initShowColumn: showLengthColumn withIdentifier: @"length"];
|
|
||||||
[self initShowColumn: showTrackColumn withIdentifier: @"track"];
|
|
||||||
[self initShowColumn: showYearColumn withIdentifier: @"year"];
|
|
||||||
|
|
||||||
[self registerHotKeys];
|
[self registerHotKeys];
|
||||||
|
|
||||||
[fileTreeWindowController init];
|
[fileTreeWindowController init];
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
- (IBAction)sortByPath:(id)sender;
|
- (IBAction)sortByPath:(id)sender;
|
||||||
- (IBAction)shufflePlaylist:(id)sender;
|
- (IBAction)shufflePlaylist:(id)sender;
|
||||||
- (BOOL)validateMenuItem:(NSMenuItem *)item;
|
|
||||||
|
|
||||||
- (IBAction)toggleColumn:(id)sender;
|
- (IBAction)toggleColumn:(id)sender;
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
#import "PlaybackController.h"
|
#import "PlaybackController.h"
|
||||||
#import "PlaylistController.h"
|
#import "PlaylistController.h"
|
||||||
|
|
||||||
#import "PlaylistHeaderView.h"
|
|
||||||
|
|
||||||
#import "IndexFormatter.h"
|
#import "IndexFormatter.h"
|
||||||
#import "SecondsFormatter.h"
|
#import "SecondsFormatter.h"
|
||||||
#import "PlaylistEntry.h"
|
#import "PlaylistEntry.h"
|
||||||
|
@ -33,6 +31,7 @@
|
||||||
toObject:[NSUserDefaultsController sharedUserDefaultsController]
|
toObject:[NSUserDefaultsController sharedUserDefaultsController]
|
||||||
withKeyPath:@"values.fontSize"
|
withKeyPath:@"values.fontSize"
|
||||||
options:bindOptions];
|
options:bindOptions];
|
||||||
|
|
||||||
for(NSTableColumn *col in [self tableColumns]) {
|
for(NSTableColumn *col in [self tableColumns]) {
|
||||||
[[col dataCell] setControlSize:s];
|
[[col dataCell] setControlSize:s];
|
||||||
[[col dataCell] setFont:f];
|
[[col dataCell] setFont:f];
|
||||||
|
@ -44,15 +43,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NSTableHeaderView *currentTableHeaderView = [self headerView];
|
|
||||||
PlaylistHeaderView *customTableHeaderView = [[PlaylistHeaderView alloc] init];
|
|
||||||
|
|
||||||
[customTableHeaderView setFrame:[currentTableHeaderView frame]];
|
|
||||||
[customTableHeaderView setBounds:[currentTableHeaderView bounds]];
|
|
||||||
// [self setColumnAutoresizingStyle:NSTableViewNoColumnAutoresizing];
|
|
||||||
|
|
||||||
[self setHeaderView:customTableHeaderView];
|
|
||||||
|
|
||||||
//Set up formatters
|
//Set up formatters
|
||||||
NSFormatter *secondsFormatter = [[SecondsFormatter alloc] init];
|
NSFormatter *secondsFormatter = [[SecondsFormatter alloc] init];
|
||||||
[[[self tableColumnWithIdentifier:@"length"] dataCell] setFormatter:secondsFormatter];
|
[[[self tableColumnWithIdentifier:@"length"] dataCell] setFormatter:secondsFormatter];
|
||||||
|
|
|
@ -10,7 +10,13 @@
|
||||||
|
|
||||||
|
|
||||||
@interface StatusImageTransformer : NSObject {
|
@interface StatusImageTransformer : NSObject {
|
||||||
|
NSImage *playImage;
|
||||||
|
NSImage *queueImage;
|
||||||
|
NSImage *errorImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@property(retain) NSImage *playImage;
|
||||||
|
@property(retain) NSImage *queueImage;
|
||||||
|
@property(retain) NSImage *errorImage;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -12,25 +12,39 @@
|
||||||
|
|
||||||
@implementation StatusImageTransformer
|
@implementation StatusImageTransformer
|
||||||
|
|
||||||
|
@synthesize playImage;
|
||||||
|
@synthesize queueImage;
|
||||||
|
@synthesize errorImage;
|
||||||
|
|
||||||
+ (Class)transformedValueClass { return [NSImage class]; }
|
+ (Class)transformedValueClass { return [NSImage class]; }
|
||||||
+ (BOOL)allowsReverseTransformation { return NO; }
|
+ (BOOL)allowsReverseTransformation { return NO; }
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self)
|
||||||
|
{
|
||||||
|
self.playImage = [NSImage imageNamed:@"play"];
|
||||||
|
self.queueImage = [NSImage imageNamed:@"NSAddTemplate"];
|
||||||
|
self.errorImage = [NSImage imageNamed:@"NSStopProgressTemplate"];
|
||||||
|
}
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
// Convert from string to RepeatMode
|
// Convert from string to RepeatMode
|
||||||
- (id)transformedValue:(id)value {
|
- (id)transformedValue:(id)value {
|
||||||
NSLog(@"Transforming value: %@", value);
|
|
||||||
|
|
||||||
if (value == nil) return nil;
|
if (value == nil) return nil;
|
||||||
|
|
||||||
PlaylistEntryStatus status = [value integerValue];
|
PlaylistEntryStatus status = [value integerValue];
|
||||||
NSLog(@"STATUS IS %i", status);
|
|
||||||
if (status == kCogEntryPlaying) {
|
if (status == kCogEntryPlaying) {
|
||||||
return [NSImage imageNamed:@"play"];
|
return self.playImage;
|
||||||
}
|
}
|
||||||
else if (status == kCogEntryQueued) {
|
else if (status == kCogEntryQueued) {
|
||||||
return [NSImage imageNamed:@"NSAddTemplate"];
|
return self.queueImage;
|
||||||
}
|
}
|
||||||
else if (status == kCogEntryError) {
|
else if (status == kCogEntryError) {
|
||||||
return [NSImage imageNamed:@"NSStopProgressTemplate"];
|
return self.errorImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil;
|
return nil;
|
||||||
|
|
Loading…
Reference in New Issue